aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2018-04-06 12:26:31 +0200
committerAnders Broman <a.broman58@gmail.com>2018-04-06 11:29:02 +0000
commit64d6a7b846d4e4803382f786cde9bc4168942ca0 (patch)
treed8d9ffd1a457c13e79fb9823849250804b4f016c /epan
parent485cec5bdfc90d968b0970e657cf24435e22fe25 (diff)
NR RRC: upgrade dissector to v15.1.0
Change-Id: If34d8627e8dee0e9dd7c1dc72701aec57df68853 Reviewed-on: https://code.wireshark.org/review/26774 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> 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')
-rw-r--r--epan/dissectors/asn1/f1ap/f1ap.cnf9
-rw-r--r--epan/dissectors/asn1/f1ap/packet-f1ap-template.c2
-rw-r--r--epan/dissectors/asn1/lte-rrc/lte-rrc.cnf11
-rw-r--r--epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c5
-rw-r--r--epan/dissectors/asn1/nr-rrc/CMakeLists.txt1
-rw-r--r--epan/dissectors/asn1/nr-rrc/Makefile.am3
-rw-r--r--epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn271
-rw-r--r--epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn6030
-rw-r--r--epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn59
-rw-r--r--epan/dissectors/asn1/nr-rrc/nr-rrc.cnf146
-rw-r--r--epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c4
-rw-r--r--epan/dissectors/asn1/x2ap/x2ap.cnf4
-rw-r--r--epan/dissectors/packet-f1ap.c78
-rw-r--r--epan/dissectors/packet-lte-rrc.c52
-rw-r--r--epan/dissectors/packet-lte-rrc.h1
-rw-r--r--epan/dissectors/packet-nr-rrc.c30139
-rw-r--r--epan/dissectors/packet-nr-rrc.h7
-rw-r--r--epan/dissectors/packet-x2ap.c4
18 files changed, 27958 insertions, 8868 deletions
diff --git a/epan/dissectors/asn1/f1ap/f1ap.cnf b/epan/dissectors/asn1/f1ap/f1ap.cnf
index 585c13ae59..0e1b7463bc 100644
--- a/epan/dissectors/asn1/f1ap/f1ap.cnf
+++ b/epan/dissectors/asn1/f1ap/f1ap.cnf
@@ -394,7 +394,7 @@ BitRate DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_sec
%(DEFAULT_BODY)s
if (param_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SCG_Config_Info);
- dissect_nr_rrc_SCG_ConfigInfo_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ dissect_nr_rrc_CG_ConfigInfo_PDU(param_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY CellGroupConfig VAL_PTR = &param_tvb
@@ -428,6 +428,13 @@ BitRate DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_sec
}
}
+#.FN_BODY SIB1-message VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB1_message);
+ dissect_nr_rrc_SIB1_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
#.FN_HDR Reset
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Reset");
diff --git a/epan/dissectors/asn1/f1ap/packet-f1ap-template.c b/epan/dissectors/asn1/f1ap/packet-f1ap-template.c
index 054575e846..8e1e6301bf 100644
--- a/epan/dissectors/asn1/f1ap/packet-f1ap-template.c
+++ b/epan/dissectors/asn1/f1ap/packet-f1ap-template.c
@@ -47,6 +47,7 @@ static gint ett_f1ap = -1;
static gint ett_f1ap_ResourceCoordinationTransferContainer = -1;
static gint ett_f1ap_PLMN_Identity = -1;
static gint ett_f1ap_MIB_message = -1;
+static gint ett_f1ap_SIB1_message = -1;
static gint ett_f1ap_SCG_Config_Info = -1;
static gint ett_f1ap_CellGroupConfig = -1;
static gint ett_f1ap_TransportLayerAddress = -1;
@@ -190,6 +191,7 @@ void proto_register_f1ap(void) {
&ett_f1ap_ResourceCoordinationTransferContainer,
&ett_f1ap_PLMN_Identity,
&ett_f1ap_MIB_message,
+ &ett_f1ap_SIB1_message,
&ett_f1ap_SCG_Config_Info,
&ett_f1ap_CellGroupConfig,
&ett_f1ap_TransportLayerAddress,
diff --git a/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf b/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf
index 6c287b761d..aa87a01f6f 100644
--- a/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf
+++ b/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf
@@ -40,7 +40,6 @@ HandoverPreparationInformation-NB_PDU
RLF-Report-r9_PDU
RLF-Report-v9e0_PDU
SCG-ConfigInfo-r12_PDU
-UECapabilityInformation_PDU
UEPagingCoverageInformation_PDU
UEPagingCoverageInformation-NB_PDU
UE-EUTRA-Capability_PDU
@@ -166,6 +165,14 @@ SI-OrPSI-GERAN TYPE_PREFIX
lte_rrc_call_dissector(nas_eps_handle, nas_eps_tvb, actx->pinfo, subtree);
}
+#.FN_BODY UECapabilityEnquiry-v1510-IEs/requestedFreqBandsNR-MRDC-r15 VAL_PTR = &freq_band_list_tvb
+ tvbuff_t *freq_band_list_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (freq_band_list_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_requestedFreqBandsNR_MRDC_r15);
+ dissect_nr_rrc_FreqBandList_PDU(freq_band_list_tvb, actx->pinfo, subtree, NULL);
+ }
+
#.FN_BODY UE-CapabilityRAT-Container
/* Initialise to invalid value */
private_data_set_rat_type(actx, 0xFF);
@@ -2465,7 +2472,7 @@ P0-SL-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
if (scg_config_info_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sourceContextENDC_r15);
- dissect_nr_rrc_SCG_ConfigInfo_PDU(scg_config_info_tvb, actx->pinfo, subtree, NULL);
+ dissect_nr_rrc_ConfigRestrictInfoSCG_PDU(scg_config_info_tvb, actx->pinfo, subtree, NULL);
}
#
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 356eaa9b34..d518e0a2c3 100644
--- a/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c
+++ b/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c
@@ -294,6 +294,7 @@ static gint ett_lte_rrc_sourceRB_ConfigNR_r15 = -1;
static gint ett_lte_rrc_sourceRB_ConfigSN_NR_r15 = -1;
static gint ett_lte_rrc_sourceOtherConfigSN_NR_r15 = -1;
static gint ett_lte_rrc_sourceContextENDC_r15 = -1;
+static gint ett_lte_rrc_requestedFreqBandsNR_MRDC_r15 = -1;
static expert_field ei_lte_rrc_number_pages_le15 = EI_INIT;
static expert_field ei_lte_rrc_si_info_value_changed = EI_INIT;
@@ -348,6 +349,7 @@ 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",
@@ -4200,7 +4202,8 @@ void proto_register_lte_rrc(void) {
&ett_lte_rrc_sourceRB_ConfigNR_r15,
&ett_lte_rrc_sourceRB_ConfigSN_NR_r15,
&ett_lte_rrc_sourceOtherConfigSN_NR_r15,
- &ett_lte_rrc_sourceContextENDC_r15
+ &ett_lte_rrc_sourceContextENDC_r15,
+ &ett_lte_rrc_requestedFreqBandsNR_MRDC_r15
};
static ei_register_info ei[] = {
diff --git a/epan/dissectors/asn1/nr-rrc/CMakeLists.txt b/epan/dissectors/asn1/nr-rrc/CMakeLists.txt
index 663fc126dc..1bdcb21070 100644
--- a/epan/dissectors/asn1/nr-rrc/CMakeLists.txt
+++ b/epan/dissectors/asn1/nr-rrc/CMakeLists.txt
@@ -21,6 +21,7 @@ set( EXT_ASN_FILE_LIST
set( ASN_FILE_LIST
NR-InterNodeDefinitions.asn
NR-RRC-Definitions.asn
+ NR-UE-Variables.asn
)
set( EXTRA_DIST
diff --git a/epan/dissectors/asn1/nr-rrc/Makefile.am b/epan/dissectors/asn1/nr-rrc/Makefile.am
index a70f6d272d..94bc4c8f64 100644
--- a/epan/dissectors/asn1/nr-rrc/Makefile.am
+++ b/epan/dissectors/asn1/nr-rrc/Makefile.am
@@ -14,7 +14,8 @@ EXT_ASN_FILE_LIST =
ASN_FILE_LIST = \
NR-InterNodeDefinitions.asn \
- NR-RRC-Definitions.asn
+ NR-RRC-Definitions.asn \
+ NR-UE-Variables.asn
EXTRA_DIST = \
$(EXTRA_DIST_COMMON) \
diff --git a/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn b/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn
index c01cdd54bc..696ca6a92d 100644
--- a/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn
+++ b/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn
@@ -1,27 +1,45 @@
--- 3GPP TS 38.331 V15.0.0 (2017-12)
+-- 3GPP TS 38.331 V15.1.0 (2018-03)
NR-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
+ ARFCN-ValueNR,
+ CellIdentity,
+ CSI-RS-Index,
+ GapConfig,
+ maxBandComb,
+ maxBasebandProcComb,
+ maxNrofSCells,
+ maxNrofIndexesToReport,
+ MeasQuantityResults,
+ MeasResultSCG-Failure,
+ MeasResultCellListSFTD,
+ P-Max,
+ PhysCellId,
+ RadioBearerConfig,
RRCReconfiguration,
+ ServCellIndex,
+ SSB-Index,
+ ShortMAC-I,
UE-CapabilityRAT-ContainerList
FROM NR-RRC-Definitions;
+-- TAG_NR-INTER-NODE-DEFINITIONS-STOP
-- TAG-HANDOVER-COMMAND-START
HandoverCommand ::= SEQUENCE {
criticalExtensions CHOICE {
c1 CHOICE{
- handoverCommand-r15 HandoverCommand-r15-IEs,
+ handoverCommand HandoverCommand-IEs,
spare3 NULL, spare2 NULL, spare1 NULL
},
criticalExtensionsFuture SEQUENCE {}
}
}
-HandoverCommand-r15-IEs ::= SEQUENCE {
+HandoverCommand-IEs ::= SEQUENCE {
handoverCommandMessage OCTET STRING (CONTAINING RRCReconfiguration),
nonCriticalExtension SEQUENCE {} OPTIONAL
}
@@ -32,14 +50,14 @@ HandoverCommand-r15-IEs ::= SEQUENCE {
HandoverPreparationInformation ::= SEQUENCE {
criticalExtensions CHOICE {
c1 CHOICE{
- handoverPreparationInformation-r15 HandoverPreparationInformation-r15-IEs,
+ handoverPreparationInformation HandoverPreparationInformation-IEs,
spare3 NULL, spare2 NULL, spare1 NULL
},
criticalExtensionsFuture SEQUENCE {}
}
}
-HandoverPreparationInformation-r15-IEs ::= SEQUENCE {
+HandoverPreparationInformation-IEs ::= SEQUENCE {
ue-CapabilityRAT-List UE-CapabilityRAT-ContainerList,
sourceConfig OCTET STRING (CONTAINING RRCReconfiguration),
rrm-Config RRM-Config OPTIONAL,
@@ -51,7 +69,7 @@ AS-Context ::= SEQUENCE {
reestablishmentInfo SEQUENCE {
sourcePhysCellId PhysCellId,
targetCellShortMAC-I ShortMAC-I,
- additionalReestabInfoList AdditionalReestabInfoList OPTIONAL
+ additionalReestabInfoList ReestabNCellInfoList OPTIONAL
} OPTIONAL,
-- FFS Whether to change e.g. move all re-establishment info to Xx
configRestrictInfo ConfigRestrictInfoSCG OPTIONAL,
@@ -61,124 +79,229 @@ AS-Context ::= SEQUENCE {
ReestabNCellInfoList ::= SEQUENCE ( SIZE (1..maxCellPrep) ) OF ReestabNCellInfo
ReestabNCellInfo::= SEQUENCE{
- cellIdentity CellIdentity,
- key-gNodeB-Star BIT STRING (SIZE (256)),
- shortMAC-I ShortMAC-I
+ cellIdentity CellIdentity,
+ key-gNodeB-Star BIT STRING (SIZE (256)),
+ shortMAC-I ShortMAC-I
}
RRM-Config ::= SEQUENCE {
- ue-InactiveTime INTEGER,
+ ue-InactiveTime ENUMERATED {
+ s1, s2, s3, s5, s7, s10, s15, s20,
+ s25, s30, s40, s50, min1, min1s20c, min1s40,
+ min2, min2s30, min3, min3s30, min4, min5, min6,
+ min7, min8, min9, min10, min12, min14, min17, min20,
+ min24, min28, min33, min38, min44, min50, hr1,
+ hr1min30, hr2, hr2min30, hr3, hr3min30, hr4, hr5, hr6,
+ hr8, hr10, hr13, hr16, hr20, day1, day1hr12, day2,
+ day2hr12, day3, day4, day5, day7, day10, day14, day19,
+ day24, day30, dayMoreThan30} OPTIONAL ,
candidateCellInfoList CandidateCellInfoList OPTIONAL,
...
}
-- TAG-HANDOVER-PREPARATION-INFORMATION-STOP
--- TAG-SCG-CONFIG-START
+-- TAG-CG-CONFIG-START
-SCG-Config ::= SEQUENCE {
+CG-Config ::= SEQUENCE {
criticalExtensions CHOICE {
c1 CHOICE{
- scg-Config-r15 SCG-Config-r15-IEs,
+ cg-Config CG-Config-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
+CG-Config-IEs ::= SEQUENCE {
+ scg-CellGroupConfig OCTET STRING (CONTAINING RRCReconfiguration) OPTIONAL,
+ scg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL,
+ configRestrictModReq ConfigRestrictModReqSCG OPTIONAL,
+ drx-InfoSCG DRX-Info OPTIONAL,
+ candidateCellInfoListSN OCTET STRING (CONTAINING CandidateCellInfoList) OPTIONAL,
+ measConfigSN MeasConfigSN OPTIONAL,
+ selectedBandCombinationNR BandCombinationIndex OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+MeasConfigSN ::= SEQUENCE {
+ measuredFrequenciesFR1 SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF NR-FreqInfo OPTIONAL,
+ ...
+}
+
+NR-FreqInfo ::= SEQUENCE {
+ measuredFrequency ARFCN-ValueNR 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
+ requestedBC-MRDC BandCombinationIndex OPTIONAL,
+ requestedBPC-ListMRDC BPC-IndexList OPTIONAL,
+ requestedP-MaxFR1 P-Max OPTIONAL,
...
}
--- TAG-SCG-CONFIG-STOP
--- TAG-SCG-CONFIG-INFO-START
+BandCombinationIndex ::= INTEGER (1..maxBandComb)
-SCG-ConfigInfo ::= SEQUENCE {
- criticalExtensions CHOICE {
- c1 CHOICE{
- scg-ConfigInfo-r15 SCG-ConfigInfo-r15-IEs,
+-- TAG-CG-CONFIG-STOP
+-- TAG-CG-CONFIG-INFO-START
+
+CG-ConfigInfo ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ cg-ConfigInfo CG-ConfigInfo-IEs,
spare3 NULL, spare2 NULL, spare1 NULL
},
- criticalExtensionsFuture SEQUENCE {}
+ 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,
+CG-ConfigInfo-IEs ::= SEQUENCE {
+ ue-CapabilityInfo OCTET STRING (CONTAINING UE-CapabilityRAT-ContainerList) OPTIONAL,-- Cond SN-Addition
+ candidateCellInfoListMN CandidateCellInfoList OPTIONAL,
+ candidateCellInfoListSN OCTET STRING (CONTAINING CandidateCellInfoList) OPTIONAL,
+ measResultCellListSFTD MeasResultCellListSFTD OPTIONAL,
+ scgFailureInfo SEQUENCE {
+ failureType ENUMERATED { t310-Expiry, randomAccessProblem,
+ rlc-MaxNumRetx, scg-ChangeFailure,
+ scg-reconfigFailure,
+ srb3-IntegrityFailure},
+ measResultSCG OCTET STRING (CONTAINING MeasResultSCG-Failure)
+ } OPTIONAL,
+ configRestrictInfo ConfigRestrictInfoSCG OPTIONAL,
+ drx-InfoMCG DRX-Info OPTIONAL,
+ measConfigMN MeasConfigMN OPTIONAL,
+ sourceConfigSCG OCTET STRING (CONTAINING RRCReconfiguration) OPTIONAL,
+ scg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL,
+ mcg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+ConfigRestrictInfoSCG ::= SEQUENCE {
+ allowedBC-ListMRDC BandCombinationIndexList OPTIONAL,
+ allowedBPC-ListMRDC BPC-IndexList OPTIONAL,
+ powerCoordination-FR1 SEQUENCE {
+ p-maxNR P-Max OPTIONAL,
+ p-maxEUTRA P-Max OPTIONAL
+ } OPTIONAL,
+ servCellIndexRangeSCG SEQUENCE {
+ lowBound ServCellIndex,
+ upBound ServCellIndex
+ } OPTIONAL, -- Cond SN-Addition
+ maxMeasFreqsSCG-NR INTEGER(1..maxMeasFreqsMN) OPTIONAL,
...
}
+BandCombinationIndexList ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationIndex
+
+BPC-IndexList ::= SEQUENCE (SIZE (1..maxBasebandProcComb)) OF BPC-Index
+BPC-Index ::= INTEGER (1..maxBasebandProcComb)
+
DRX-Info ::= SEQUENCE {
- cycle INTEGER,
- offset INTEGER
+ drx-LongCycleStartOffset CHOICE {
+ ms10 INTEGER(0..9),
+ ms20 INTEGER(0..19),
+ ms32 INTEGER(0..31),
+ ms40 INTEGER(0..39),
+ ms60 INTEGER(0..59),
+ ms64 INTEGER(0..63),
+ ms70 INTEGER(0..69),
+ ms80 INTEGER(0..79),
+ ms128 INTEGER(0..127),
+ ms160 INTEGER(0..159),
+ ms256 INTEGER(0..255),
+ ms320 INTEGER(0..319),
+ ms512 INTEGER(0..511),
+ ms640 INTEGER(0..639),
+ ms1024 INTEGER(0..1023),
+ ms1280 INTEGER(0..1279),
+ ms2048 INTEGER(0..2047),
+ ms2560 INTEGER(0..2559),
+ ms5120 INTEGER(0..5119),
+ ms10240 INTEGER(0..10239)
+ },
+ shortDRX SEQUENCE {
+ drx-ShortCycle ENUMERATED {
+ ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32,
+ ms35, ms40, ms64, ms80, ms128, ms160, ms256, ms320, ms512, ms640, spare9,
+ spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 },
+ drx-ShortCycleTimer INTEGER (1..16)
+ } OPTIONAL
+}
+
+MeasConfigMN ::= SEQUENCE {
+ measuredFrequenciesMN SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF NR-FreqInfo OPTIONAL,
+ measGapConfigFR1 GapConfig OPTIONAL,
+ gapPurpose ENUMERATED {perUE, perFR1} OPTIONAL,
+ ...
}
--- TAG-SCG-CONFIG-INFO-STOP
+
+-- TAG-CG-CONFIG-INFO-STOP
+-- TAG-MEASUREMENT-TIMING-CONFIGURATION-START
+
+MeasurementTimingConfiguration ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ measTimingConf MeasurementTimingConfiguration-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+MeasurementTimingConfiguration-IEs ::= SEQUENCE {
+ measTiming MeasTimingList OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+MeasTimingList ::= SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF MeasTiming
+
+MeasTiming ::= SEQUENCE {
+ carrierFreq ARFCN-ValueNR OPTIONAL,
+ ssb-MeasurementTimingConfiguration ENUMERATED {ffsTypeAndValue} OPTIONAL,
+ ...
+}
+
+-- TAG-MEASUREMENT-TIMING-CONFIGURATION-STOP
-- TAG-CANDIDATE-CELL-INFO-LIST-START
-CandidateCellInfoList ::= SEQUENCE (SIZE (1..maxCellSCG)) OF CandidateCellInfo
+CandidateCellInfoList ::= SEQUENCE (SIZE (1.. maxNrofSCells)) OF CandidateCellInfo
-CandidateCellInfo ::= SEQUENCE {
- -- FFS whether to introduce something additional for transfer of SN configured measurements
+CandidateCellInfo ::= SEQUENCE {
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,
+ measResultCell MeasQuantityResults OPTIONAL,
+ candidateRS-IndexListSSB CandidateRS-IndexInfoListSSB OPTIONAL,
+ candidateRS-IndexListCSI-RS CandidateRS-IndexInfoListCSI-RS OPTIONAL,
...
}
-CandidateRS-IndexInfoList ::= SEQUENCE (SIZE (1..maxRS-IndexReport)) OF CandidateRS-IndexInfo -- WS modification: was CandidateBeamInfoList
+CandidateRS-IndexInfoListSSB ::= SEQUENCE (SIZE (1..maxNrofIndexesToReport)) OF CandidateRS-IndexInfoSSB
-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,
+CandidateRS-IndexInfoSSB ::= SEQUENCE {
+ ssb-Index SSB-Index,
+ measResultSSB MeasQuantityResults OPTIONAL,
+ ...
+}
+
+CandidateRS-IndexInfoListCSI-RS ::= SEQUENCE (SIZE (1..maxNrofIndexesToReport)) OF CandidateRS-IndexInfoCSI-RS
+
+CandidateRS-IndexInfoCSI-RS ::= SEQUENCE {
+ csi-RS-Index CSI-RS-Index,
+ measResultCSI-RS MeasQuantityResults OPTIONAL,
...
}
-- TAG-CANDIDATE-CELL-INFO-LIST-STOP
+-- TAG_NR-MULTIPLICITY-AND-CONSTRAINTS-START
+
+maxMeasFreqsMN INTEGER ::= 32 -- Maximum number of MN-configured measurement frequencies
+-- WS modification: already defined in NR-RRC-Definitions
+-- maxCellPrep INTEGER ::= 32 Maximum number of cells prepared for handover
--- WS modification: fake definitions for missing entries in ASN.1
-maxCellPrep INTEGER ::= 1
-maxCellSCG INTEGER ::= 1
-maxRS-IndexReport INTEGER ::= 1
-MeasResultSSTD ::= SEQUENCE {}
+-- TAG_NR-MULTIPLICITY-AND-CONSTRAINTS-STOP
+-- TAG_NR-INTER-NODE-DEFINITIONS-END-START
END
diff --git a/epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn b/epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn
index ab60b460c6..e57f82598b 100644
--- a/epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn
+++ b/epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn
@@ -1,4 +1,4 @@
--- 3GPP TS 38.331 V15.0.0 (2017-12)
+-- 3GPP TS 38.331 V15.1.0 (2018-03)
NR-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=
@@ -59,39 +59,34 @@ UL-DCCH-MessageType ::= CHOICE {
-- 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
+ -- The 6 most significant bit (MSB) of the 10 bit System Frame Number. The 4 LSB of the SFN are conveyed in the PBCH transport block
+ -- as well but outside the MIB.
+ systemFrameNumber BIT STRING (SIZE (6)),
- -- 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},
+ -- Subcarrier spacing for SIB1, Msg.2/4 for initial access and broadcast SI-messages.
+ -- If the UE acquires this MIB on a carrier frequency <6GHz, the values 15 and 30 kHz are applicable.
+ -- If the UE acquires this MIB on a carrier frequency >6GHz, the values 60 and 120 kHz are applicable.
+ subCarrierSpacingCommon ENUMERATED {scs15or60, scs30or120},
- systemFrameNumber BIT STRING (SIZE (10)),
+ -- The frequency domain offset between SSB and the overall resource block grid in number of subcarriers. (See 38.211, section 7.4.3.1)
+ -- Note: For frequencies <6 GHz a fith, this field may comprise only the 4 least significant bits of the ssb-SubcarrierOffset.
+ -- The codepoint "FFS_RAN1" indicates that this cell does not provide SIB1 and that there is hence no common CORESET.
+ ssb-SubcarrierOffset INTEGER (0..15),
- -- 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)
+ -- Position of (first) DL DM-RS. Corresponds to L1 parameter 'DL-DMRS-typeA-pos' (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
+ -- 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),
+ pdcch-ConfigSIB1 INTEGER (0..255),
- -- Indicates that UE shall not campe on this cell
+ -- Indicates that UE shall not camp 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
+ -- Controls cell reselection to intra-frequency cells when the highest ranked cell is barred, or treated as barred by the UE,
+ -- as specified in TS 38.304.
+ intraFreqReselection ENUMERATED {allowed, notAllowed},
+ spare BIT STRING (SIZE (1))
}
-- TAG-MIB-STOP
@@ -105,8 +100,10 @@ MeasurementReport ::= SEQUENCE {
}
MeasurementReport-IEs ::= SEQUENCE {
- measResults MeasResults
--- FFS
+ measResults MeasResults,
+
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
}
-- TAG-MEASUREMENTREPORT-STOP
@@ -122,20 +119,17 @@ RRCReconfiguration ::= 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
+ -- 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
+ -- Configuration of secondary cell group (EN-DC):
+ secondaryCellGroup OCTET STRING (CONTAINING CellGroupConfig) OPTIONAL, -- Need M
measConfig MeasConfig OPTIONAL, -- Need M
-
lateNonCriticalExtension OCTET STRING OPTIONAL,
- nonCriticalExtension SEQUENCE{} OPTIONAL
+ nonCriticalExtension SEQUENCE {} OPTIONAL
}
-- TAG-RRCRECONFIGURATION-STOP
@@ -150,7 +144,8 @@ RRCReconfigurationComplete ::= SEQUENCE {
}
RRCReconfigurationComplete-IEs ::= SEQUENCE {
- -- FFS
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
}
-- TAG-RRCRECONFIGURATIONCOMPLETE-STOP
@@ -160,6 +155,10 @@ SIB1 ::= SEQUENCE {
-- FFS / TODO: Add other parameters.
+ -- Frequency offset for the SSB of -5kHz (M=-1) or +5kHz (M=1). When the field is absent, the UE applies no offset (M=0).
+ -- The offset is only applicable for the frequency range 0-2.65GHz. Corresponds to parameter 'M' (see 38.101, section FFS_Section)
+ frequencyOffsetSSB ENUMERATED {khz-5, khz5} OPTIONAL, -- Need R
+
-- 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
@@ -169,116 +168,207 @@ SIB1 ::= SEQUENCE {
},
-- 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 },
+ 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
-
+ uplinkConfigCommon UplinkConfigCommon OPTIONAL,
-- FFS: How to indicate the FrequencyInfoUL for the SUL
supplementaryUplink SEQUENCE {
- frequencyInfoUL FrequencyInfoUL
+ uplinkConfigCommon UplinkConfigCommon OPTIONAL
-- 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!
+ tdd-UL-DL-Configuration TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD
+ tdd-UL-DL-configurationCommon2 TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD
+
+ pdcch-ConfigCommon PDCCH-ConfigCommon OPTIONAL,
+ pucch-ConfigCommon PUCCH-ConfigCommon OPTIONAL,
- -- 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
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
}
-- TAG-SIB1-STOP
-- TAG-SETUP-RELEASE-START
---SetupRelease { ElementTypeParam } ::= CHOICE {
--- release NULL,
--- setup ElementTypeParam
---}
+-- WS modiifcation: asn2wrs does not support this syntax; replace all occurrences
+-- SetupRelease { ElementTypeParam } ::= CHOICE {
+-- release NULL,
+-- setup ElementTypeParam
+-- }
-- TAG-SETUP-RELEASE-STOP
--- TAG-DRB-IDENTITY-START
+-- TAG-ADDITIONALSPECTRUMEMISSION-START
-DRB-Identity ::= INTEGER (4..32)
+AdditionalSpectrumEmission ::= INTEGER (0..7)
--- TAG-DRB-IDENTITY-STOP
+-- TAG-ADDITIONALSPECTRUMEMISSION-STOP
+-- TAG-ALPHA-START
+
+Alpha ::= ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1}
+
+-- TAG-ALPHA-STOP
+-- TAG-ARFCN-VALUE-NR-START
+
+ARFCN-ValueNR ::= INTEGER (0..3279165)
+
+-- TAG-ARFCN-VALUE-NR-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?
+-- Generic parameters used in Uplink- and Downlink bandwidth parts
+BWP ::= SEQUENCE {
+ -- Frequency domain location and bandwidth of this bandwidth part defined commonly in a table (FFS_Section). The location is given as
+ -- distance (in number of PRBs) to point A (absoluteFrequencyPointA in FrequencyInfoDL).
+ -- 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 bwp-Id) must have the same location (see 38.211, section REF)
+ locationAndBandwidth INTEGER (0..37949),
+ -- Subcarrier spacing to be used in this BWP for all channels and
+ -- reference signals unless explicitly configured elsewhere.
+ -- Corresponds to subcarrier spacing according to 38.211, Table 4.2-1.
+ -- The value kHz15 corresponds to µ=0, kHz30 to µ=1, and so on. Only the values 15 or 30 kHz (<6GHz), 60 or 120 kHz (>6GHz) are
+ -- applicable.
+ subcarrierSpacing SubcarrierSpacing,
+ -- 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 -- Need R
+}
+
+BWP-Uplink ::= SEQUENCE {
+ -- An identifier for this bandwidth part. Other parts of the RRC configuration use the BWP-Id to associate themselves with a particular
+ -- bandwidth part. The BWP ID=0 is always associated with the initial BWP and may hence not be used here (in other bandwidth parts).
+ -- The NW may trigger the UE to swtich UL or DL BWP using a DCI field. The four code points in that DCI field map to the RRC-configured
+ -- BWP-ID as follows: For up to 3 configured BWPs (in addition to the initial BWP) the DCI code point is equivalent to the BWP ID
+ -- (initial = 0, first dedicated = 1, ...). If the NW configures 4 dedicated bandwidth parts, they are identified by DCI code
+ -- points 0 to 3. In this case it is not possible to switch to the initial BWP using the DCI field.
+ -- Corresponds to L1 parameter 'UL-BWP-index'. (see 38.211, 38.213, section 12)
+ bwp-Id BWP-Id,
+ bwp-Common BWP-UplinkCommon OPTIONAL, -- Need M
+ bwp-Dedicated BWP-UplinkDedicated OPTIONAL, -- Need M
+ ...
+}
- -- NOTE: The changes in this section are based on RAN1 agreements (not from the official L1 parameter list):
+BWP-UplinkCommon ::= SEQUENCE {
+ genericParameters BWP,
+ -- Configuration of cell specific random access parameters which the UE uses for contention based and contention free random access
+ -- as well as for contention based beam failure recovery.
+ rach-ConfigCommon CHOICE {release NULL, setup RACH-ConfigCommon } OPTIONAL, -- Need M
+ -- Cell specific parameters for the PUSCH
+ pusch-ConfigCommon CHOICE {release NULL, setup PUSCH-ConfigCommon } OPTIONAL, -- Need M
- -- 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
+ -- Cell specific parameters for the PUCCH
+ pucch-ConfigCommon CHOICE {release NULL, setup PUCCH-ConfigCommon } OPTIONAL, -- Need M
+ ...
+}
- -- 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,
+BWP-UplinkDedicated ::= SEQUENCE {
+ -- PUCCH configuration for one BWP of the regular UL or SUL of a serving cell. If the UE is configured with SUL, the network
+ -- configures PUCCH only on the BWPs of one of the uplinks (UL or SUL).
+ pucch-Config CHOICE {release NULL, setup PUCCH-Config } OPTIONAL, -- Need M
+ -- PUSCH configuration for one BWP of the regular UL or SUL of a serving cell. If the UE is configured with SUL and
+ -- if it has a PUSCH-Config for both UL and SUL, a carrier indicator field in DCI indicates for which of the two to use an UL grant.
+ -- See also L1 parameter 'dynamicPUSCHSUL' (see 38.213, section FFS_Section)
+ pusch-Config CHOICE {release NULL, setup PUSCH-Config } OPTIONAL, -- Need M
+ -- A Configured-Grant of typ1 or type2. It may be configured for Ul or SUL but in case of type1 [FFS also type2] not for both at a time.
+ configuredGrantConfig CHOICE {release NULL, setup ConfiguredGrantConfig } OPTIONAL, -- Need M
+ -- Uplink sounding reference signal configuration
+ srs-Config CHOICE {release NULL, setup SRS-Config } OPTIONAL, -- Need M
+ -- Determines how the UE performs Beam Failure Recovery upon detection of a Beam Failure (see RadioLinkMonitoringConfig)
+ beamFailureRecoveryConfig CHOICE {release NULL, setup BeamFailureRecoveryConfig } OPTIONAL, -- Need M
+ ...
+}
+
+
+BWP-Downlink ::= SEQUENCE {
+ -- An identifier for this bandwidth part. Other parts of the RRC configuration use the BWP-Id to associate themselves with a particular
+ -- bandwidth part. The BWP ID=0 is always associated with the initial BWP and may hence not be used here. (in other bandwidth parts).
+ -- The NW may trigger the UE to swtich UL or DL BWP using a DCI field. The four code points in that DCI field map to the RRC-configured
+ -- BWP-ID as follows: For up to 3 configured BWPs (in addition to the initial BWP) the DCI code point is equivalent to the BWP ID
+ -- (initial = 0, first dedicated = 1, ...). If the NW configures 4 dedicated bandwidth parts, they are identified by DCI code
+ -- points 0 to 3. In this case it is not possible to switch to the initial BWP using the DCI field.
+ -- Corresponds to L1 parameter 'DL-BWP-index'. (see 38.211, 38.213, section 12)
+ bwp-Id BWP-Id,
+ bwp-Common BWP-DownlinkCommon OPTIONAL, -- Need M
+ bwp-Dedicated BWP-DownlinkDedicated OPTIONAL, -- Need M
+ ...
+}
+
+
+BWP-DownlinkCommon ::= SEQUENCE {
+ genericParameters BWP,
+ pdcch-ConfigCommon CHOICE {release NULL, setup PDCCH-ConfigCommon } OPTIONAL, -- Need M
+ pdsch-ConfigCommon CHOICE {release NULL, setup PDSCH-ConfigCommon } OPTIONAL, -- Need M
+ ...
+}
+
+BWP-DownlinkDedicated ::= SEQUENCE {
+ pdcch-Config CHOICE {release NULL, setup PDCCH-Config } OPTIONAL, -- Need M
+ pdsch-Config CHOICE {release NULL, setup PDSCH-Config } OPTIONAL, -- Need M
+ sps-Config CHOICE {release NULL, setup SPS-Config } OPTIONAL, -- Need M
+ radioLinkMonitoringConfig CHOICE {release NULL, setup RadioLinkMonitoringConfig } OPTIONAL, -- Need M
+ ...
+}
- -- 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-BWP-ID-START
+
+BWP-Id ::= INTEGER (0..maxNrofBWPs)
+
+-- TAG-BWP-ID-STOP
+-- TAG-BEAM-FAILURE-RECOVERY-CONFIG-START
+
+BeamFailureRecoveryConfig ::= SEQUENCE {
+ rootSequenceIndex-BFR INTEGER (0..137) OPTIONAL, -- Need M
+ -- Configuration of contention free random access occasions for BFR
+ rach-ConfigBFR RACH-ConfigGeneric OPTIONAL, -- Need M
+ -- L1-RSRP threshold used for determining whether a candidate beam may be used by the UE to attempt contention free
+ -- Random Access to recover from beam failure. The signalled threshold is applied directly for SSB, a threshold for
+ -- CSI-RS is determined by linearly scaling singalled value based on Pc_ss corresponding to the CSI-RS resource.
+ -- (see FFS_Specification, FFS_Section)
+ candidateBeamThreshold RSRP-Range OPTIONAL, -- Need M
+ -- A list of reference signals (CSI-RS and/or SSB) identifying the candidate beams for recover and the associated RA parameters
+ candidateBeamRSList SEQUENCE (SIZE(1..maxNrofCandidateBeams)) OF PRACH-ResourceDedicatedBFR OPTIONAL, -- Need M
+ -- Explicitly signalled PRACH Mask Index for RA Resource selection in TS 36.321. The mask is valid for all SSB resources
+ ra-ssb-OccasionMaskIndex INTEGER (0..15) OPTIONAL, -- Need M
+ -- Control Resource Set that the UE uses to receive the random access response for beam failure recovery.
+ -- If the field is absent the UE uses the initial CORESET (ControlResourceSetId = 0)
+ recoveryControlResourceSetId ControlResourceSetId OPTIONAL , -- Need S
+ -- Search space to use for BFR RAR. If the field is absent, the UE uses the initial Serach Space (SearchSpaceId = 0).
+ recoverySearchSpaceId SearchSpaceId OPTIONAL, -- Need S
+ ...
+}
+
+PRACH-ResourceDedicatedBFR ::= CHOICE {
+ ssb BFR-SSB-Resource,
+ csi-RS BFR-CSIRS-Resource
+}
+
+BFR-SSB-Resource ::= SEQUENCE {
+ -- The ID of an SSB transmitted by this serving cell. It determines a candidate beam for beam failure recovery (BFR)
+ ssb SSB-Index,
+ -- The preamble index that the UE shall use when performing BFR upon selecting the candidate beams identified by this SSB.
+ ra-PreambleIndex INTEGER (0..63),
+ ...
+}
+
+BFR-CSIRS-Resource ::= SEQUENCE {
+ -- The ID of a NZP-CSI-RS-Resource configured in the CSI-MeasConfig of this serving cell. This reference signal determines a candidate beam
+ -- for beam failure recovery (BFR).
+ csi-RS NZP-CSI-RS-ResourceId,
+ -- RA occasions that the UE shall use when performing BFR upon selecting the candidate beam identified by this CSI-RS. If the field is absent
+ -- the UE uses the RA occasion associated with the SSB that is QCLed with this CSI-RS.
+ -- The RA preamble index to use in the RA occasions associated with this CSI-RS. If the field is absent, the UE uses the preamble index
+ -- associated with the SSB that is QCLed with this CSI-RS.
+ ra-PreambleIndex INTEGER (0..63) OPTIONAL, -- Need R
+ ...
+}
+
+-- TAG-BEAM-FAILURE-RECOVERY-CONFIG-STOP
-- TAG-CELL-GROUP-CONFIG-START
-- Configuration of one Cell-Group:
@@ -286,308 +376,690 @@ 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,
+ rlc-BearerToAddModList SEQUENCE (SIZE(1..maxLC-ID)) OF RLC-Bearer-Config OPTIONAL, -- Need N
+ rlc-BearerToReleaseList SEQUENCE (SIZE(1..maxLC-ID)) OF LogicalChannelIdentity OPTIONAL, -- Need N
-- 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
+ physicalCellGroupConfig PhysicalCellGroupConfig OPTIONAL, -- Need M
- -- Serving Cell specific parameters (PCell and SCells)
+ -- Serving Cell specific parameters (SpCell and SCells)
spCellConfig SpCellConfig OPTIONAL, -- Need M
- sCellToAddModList SCellToAddModList OPTIONAL, -- Need M
- sCellToReleaseList SCellToReleaseList OPTIONAL -- Need M
+ sCellToAddModList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellConfig OPTIONAL, -- Need N
+ -- List of seconary serving cells to be released (not applicable for SpCells)
+ sCellToReleaseList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellIndex OPTIONAL, -- Need N
+ ...
}
-CellGroupId ::= INTEGER (1.. maxSCellGroups)
+-- The ID of a cell group. 0 identifies the master cell group. Other values identify secondary cell groups.
+-- In this version of the specification only values 0 and 1 are supported.
+-- FFS: This should be moved to be own IE section
+CellGroupId ::= INTEGER (0.. maxSecondaryCellGroups)
--- Configuration of one logical channel:
-LCH-Config ::= SEQUENCE {
+RLC-Bearer-Config ::= SEQUENCE {
+ -- ID used commonly for the MAC logical channel and for the RLC bearer.
logicalChannelIdentity LogicalChannelIdentity,
- -- Associate the logical channel with an SRB or a DRB:
- servedRadioBearer INTEGER (1..32) OPTIONAL, -- Cond LCH-SetupOnly
+ -- Associates the RLC Bearer with an SRB or a DRB. The UE shall deliver DL RLC SDUs received via the RLC entity of this
+ -- RLC bearer to the PDCP entity of the servedRadioBearer. Furthermore, the UE shall advertise and deliver uplink PDCP PDUs of the
+ -- uplink PDCP entity of the servedRadioBearer to the uplink RLC entity of this RLC bearer unless the uplink scheduling
+ -- restrictions ('moreThanOneRLC' in PDCP-Config and the restrictions in LogicalChannelConfig) forbid it to do so.
+ servedRadioBearer CHOICE {
+ srb-Identity SRB-Identity,
+ drb-Identity DRB-Identity
+ } 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
+ mac-LogicalChannelConfig LogicalChannelConfig OPTIONAL, -- Cond LCH-Setup
+ ...
}
-LogicalChannelIdentity ::= INTEGER (1..32) -- WS modification: was FFS but 38.321 defines max value as 32
+LogicalChannelIdentity ::= INTEGER (1..maxLC-ID)
-- 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.
+ -- Enables spatial bundling of HARQ ACKs. It is configured per cell group (i.e. for all the cells within the cell group) for PUCCH
+ -- reporting of HARQ-ACK. 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,
+ harq-ACK-SpatialBundlingPUCCH ENUMERATED {true} OPTIONAL, -- Need R
+
+ -- Enables spatial bundling of HARQ ACKs. It is configured per cell group (i.e. for all the cells within the cell group) for PUSCH
+ -- reporting of HARQ-ACK. 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-SpatialBundlingPUSCH ENUMERATED {true} OPTIONAL, -- Need R
+ -- The maximum transmit power to be used by the UE in this NR cell group.
+ p-NR P-Max OPTIONAL, -- Need R
+ -- The PDSCH HARQ-ACK codebook is 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)
+ pdsch-HARQ-ACK-Codebook ENUMERATED {semiStatic, dynamic},
+ -- RNTI used for SRS TPC commands on DCI. Corresponds to L1 parameter 'TPC-SRS-RNTI' (see 38.213, section 10)
+ tpc-SRS-RNTI RNTI-Value OPTIONAL, -- Need R
+ -- RNTI used for PUCCH TPC commands on DCI. Corresponds to L1 parameter 'TPC-PUCCH-RNTI' (see 38.213, section 10).
+ tpc-PUCCH-RNTI RNTI-Value OPTIONAL, -- Need R
+ -- RNTI used for PUSCH TPC commands on DCI. Corresponds to L1 parameter 'TPC-PUSCH-RNTI' (see 38.213, section 10)
+ tpc-PUSCH-RNTI RNTI-Value OPTIONAL,-- Need R
+ ...
}
-- Serving cell specific MAC and PHY parameters for a SpCell:
SpCellConfig ::= SEQUENCE {
+ -- Serving cell ID of a PSCell (the PCell of the Master Cell Group uses ID = 0)
+ servCellIndex ServCellIndex OPTIONAL, -- Cond SCG
-- 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
+ reconfigurationWithSync ReconfigurationWithSync OPTIONAL, -- Cond ReconfWithSync
+ rlf-TimersAndConstants CHOICE {release NULL, setup RLF-TimersAndConstants } OPTIONAL, -- Need M
+ rlmInSyncOutOfSyncThreshold INTEGER (0..1) OPTIONAL, -- Need M
+ spCellConfigDedicated ServingCellConfig OPTIONAL, -- Need M
+ ...
}
-C-RNTI ::= BIT STRING (SIZE (16))
-SCellToReleaseList ::= SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellIndex
-SCellToAddModList ::= SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellConfig
+ReconfigurationWithSync ::= SEQUENCE {
+ spCellConfigCommon ServingCellConfigCommon OPTIONAL, -- Need M
+ newUE-Identity RNTI-Value,
+ t304 ENUMERATED {ms50, ms100, ms150, ms200, ms500, ms1000, ms2000, ms10000},
+ rach-ConfigDedicated CHOICE {
+ uplink RACH-ConfigDedicated,
+ supplementaryUplink RACH-ConfigDedicated
+ } OPTIONAL, -- Need N
+ ...
+}
SCellConfig ::= SEQUENCE {
sCellIndex SCellIndex,
sCellConfigCommon ServingCellConfigCommon OPTIONAL, -- Cond SCellAdd
- sCellConfigDedicated ServingCellConfigDedicated OPTIONAL -- Cond SCellAddMod
+ sCellConfigDedicated ServingCellConfig OPTIONAL, -- Cond SCellAddMod
+ ...
}
-- TAG-CELL-GROUP-CONFIG-STOP
--- TAG-CELL-INDEX-LIST-START
+-- TAG-CODEBOOKCONFIG-START
+CodebookConfig ::= SEQUENCE {
+ -- 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 CHOICE {
+ typeI-SinglePanel SEQUENCE {
+ nrOfAntennaPorts CHOICE {
+ two SEQUENCE {
+ -- Codebook subset restriction for 2TX codebook
+ -- Corresponds to L1 parameter ' TypeI-SinglePanel-2Tx-CodebookSubsetRestriction' (see 38.214 section 5.2.2.2.1)
+ twoTX-CodebookSubsetRestriction BIT STRING (SIZE (6))
+ },
+ moreThanTwo SEQUENCE {
+ -- Number of antenna ports in first (n1) and second (n2) dimension and codebook subset restriction
+ -- Corresponds to L1 parameters 'CodebookConfig-N1', 'CodebookConfig-N2'
+ -- 'TypeI-SinglePanel-CodebookSubsetRestriction ' (see 38.214 section 5.2.2.2.1)
+ n1-n2 CHOICE {
+ two-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (8)),
+ two-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (64)),
+ four-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (16)),
+ three-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (96)),
+ six-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (24)),
+ four-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (128)),
+ eight-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (32)),
+ four-three-TypeI-SinglePanel-Restriction BIT STRING (SIZE (192)),
+ six-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (192)),
+ twelve-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (48)),
+ four-four-TypeI-SinglePanel-Restriction BIT STRING (SIZE (256)),
+ eight-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (256)),
+ sixteen-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (64))
+ },
+ -- 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 5.2.2.2.1)
+ typeI-SinglePanel-codebookSubsetRestriction-i2 BIT STRING (SIZE (16)) OPTIONAL
+ }
+ },
+ -- Restriction for RI for TypeI-SinglePanel-RI-Restriction
+ -- Corresponds to L1 parameter 'TypeI-SinglePanel-RI-Restriction' (see 38.214, section 5.2.2.2.1)
+ typeI-SinglePanel-ri-Restriction BIT STRING (SIZE (8))
+ },
+ typeI-MultiPanel SEQUENCE {
+ -- Codebook subset restriction for Type I Multi-panel codebook
+ -- Corresponds to L1 parameter 'TypeI-MultiPanel-CodebookSubsetRestriction' (see 38.214, section 5.2.2.2.2)
+ ng-n1-n2 CHOICE {
+ two-two-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (8)),
+ two-four-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (32)),
+ four-two-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (32)),
+ two-two-two-TypeI-MultiPanel-Restriction BIT STRING (SIZE (128)),
+ two-eight-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (64)),
+ four-four-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (64)),
+ two-four-two-TypeI-MultiPanel-Restriction BIT STRING (SIZE (256)),
+ four-two-two-TypeI-MultiPanel-Restriction BIT STRING (SIZE (256))
+ },
+ -- Restriction for RI for TypeI-MultiPanel-RI-Restriction
+ -- Corresponds to L1 parameter 'TypeI-MultiPanel-RI-Restriction' (see 38.214, section 5.2.2.2.2)
+ ri-Restriction BIT STRING (SIZE (4))
+ }
+ },
+ -- CodebookMode as specified in 38.214 section 5.2.2.2.2
+ codebookMode INTEGER (1..2)
+
+ },
+ type2 SEQUENCE {
+ subType CHOICE {
+ typeII SEQUENCE {
+ -- Number of antenna ports in first (n1) and second (n2) dimension and codebook subset restriction
+ -- Corresponds to L1 parameters 'CodebookConfig-N1', 'CodebookConfig-N2'
+ -- The CHOICE name indicates the value of n1 and n2, the CHOICE contents is the codebook subset restriction bitmap
+ -- Corresponds to L1 parameter ' TypeII-CodebookSubsetRestriction' (see 38.214 section 5.2.2.2.3)
+ -- Number of bits for codebook subset restriction is ceil(log2(nchoosek(O1*O2,4)))+8*n1*n2 where nchoosek(a,b) = a!/(b!(a-b)!)
+ n1-n2-codebookSubsetRestriction CHOICE {
+ two-one BIT STRING (SIZE (16)),
+ two-two BIT STRING (SIZE (139)),
+ four-one BIT STRING (SIZE (32)),
+ three-two BIT STRING (SIZE (59)),
+ six-one BIT STRING (SIZE (49)),
+ four-two BIT STRING (SIZE (75)),
+ eight-one BIT STRING (SIZE (65)),
+ four-three BIT STRING (SIZE (107)),
+ six-two BIT STRING (SIZE (107)),
+ twelve-one BIT STRING (SIZE (129)),
+ four-four BIT STRING (SIZE (139)),
+ eight-two BIT STRING (SIZE (139)),
+ sixteen-one BIT STRING (SIZE (129))
+ },
+ -- Restriction for RI for TypeII-RI-Restriction
+ -- Corresponds to L1 parameter 'TypeII-RI-Restriction' (see 38.214, section 5.2.2.2.3)
+ typeII-RI-Restriction BIT STRING (SIZE (2))
+ },
+ typeII-PortSelection SEQUENCE {
+ -- The size of the port selection codebook (parameter d)
+ portSelectionSamplingSize ENUMERATED {n1, n2, n3, n4} OPTIONAL, -- Cond TypeII-PortSelection
+ -- Restriction for RI for TypeII-PortSelection-RI-Restriction
+ -- Corresponds to L1 parameter 'TypeII-PortSelection-RI-Restriction' (see 38.214, section 5.2.2.4)
+ typeII-PortSelectionRI-Restriction BIT STRING (SIZE (2))
+ }
+ },
+ -- 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 {two, three, four}
+ }
+ }
+}
-CellIndexList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CellIndex
+-- TAG-CODEBOOKCONFIG-STOP
+-- TAG-CONFIGUREDGRANTCONFIG-START
-CellIndex ::= INTEGER (1..maxNrofCellMeas)
+ConfiguredGrantConfig ::= SEQUENCE {
--- TAG-CELL-INDEX-LIST-STOP
--- TAG-CONTROL-RESOURCE-INDEX-START
+ -- Frequency hopping as agreed in RAN1-AH18776
+ frequencyHopping ENUMERATED {mode1, mode2},
+ -- DMRS configuration, as agreed in RAN1-AH18776
+ cg-DMRS-Configuration DMRS-UplinkConfig,
-ControlResourceIndex ::= INTEGER (1..maxNrofControlResourceSets)
+ -- Indicates the MCS table the UE shall use for PUSCH without transform precoding, as agreed in RAN1-AH18776
+ mcs-Table ENUMERATED {qam64, qam256},
+ -- Indicates the MCS table the UE shall use for PUSCH with transform precoding, as agreed in RAN1-AH18776
+ -- When the field is absent the UE applies the value 64QAM
+ mcs-TableTransformPrecoder ENUMERATED {qam256} OPTIONAL, -- Need S
+ -- Selection between and configuration of dynamic and semi-static beta-offset, as agreed in RAN1-AH18776
+ -- Note: For Type 1 UL data transmission without grant, "uci-on-PUSCH" should be set to semiStatic
+ uci-OnPUSCH CHOICE {release NULL, setup CG-UCI-OnPUSCH },
+ -- Configuration of resource allocation type 0 and resource allocation type 1, as agreed in RAN1-AH18776
+ -- Note: For Type 1 UL data transmission without grant, "resourceAllocation" should be resourceAllocationType0 or resourceAllocationType1
+ resourceAllocation ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch },
+ -- Selection between config 1 and config 2 for RBG size for PUSCH. When the field is absent the UE applies the value config1.
+ -- Note: rbg-Size is used when the transformPrecoder parameter is disabled.
+ rbg-Size ENUMERATED {config2} OPTIONAL, -- Need S
+
+ -- Closed control loop to apply. Corresponds to L1 parameter 'PUSCH-closed-loop-index' (see 38.213, section FFS_Section)
+ powerControlLoopToUse ENUMERATED {n0, n1},
+ -- Index of the P0-PUSCH-AlphaSet to be used for this configuration
+ p0-PUSCH-Alpha P0-PUSCH-AlphaSetId,
+ -- Enable transformer precoder for type1 and type2. Absence indicates that it is disabled.
+ -- Corresponds to L1 parameter 'UL-TWG-tp' (see 38.214, section 6.1.3)
+ transformPrecoder ENUMERATED {enabled} OPTIONAL, -- Need R
+ -- The number of HARQ processes configured. It applies for both Type 1 and Type 2
+ -- Corresponds to L1 parameter 'UL-TWG-numbHARQproc' (see 38.321, section 5.8.2)
+ nrofHARQ-Processes INTEGER(1..16),
+ -- The number or repetitions of K:
+ repK ENUMERATED {n1, n2, n4, n8},
+ -- If repetitions is used, this field indicates the redundancy version (RV) sequence to use.
+ -- Corresponds to L1 parameter 'UL-TWG-RV-rep' (see 38.321, section 5.8.2)
+ repK-RV ENUMERATED {s1-0231, s2-0303, s3-0000} OPTIONAL, -- Cond RepK
+ -- Periodicity for UL transmission without UL grant for type 1 and type 2
+ -- Corresponds to L1 parameter 'UL-TWG-periodicity' (see 38.321, section 5.8.2)
+
+ -- The following periodicities are supported depending on the configured subcarrier spacing [symbols]:
+ -- 15kHz: 2, 7, n*14, where n={1, 2, 4, 5, 8, 10, 16, 20, 32, 40, 64, 80, 128, 160, 320, 640}
+ -- 30kHz: 2, 7, n*14, where n={1, 2, 4, 5, 8, 10, 16, 20, 32, 40, 64, 80, 128, 160, 256, 320, 640, 1280}
+ -- 60kHz with normal CP: 2, 7, n*14, where n={1, 2, 4, 5, 8, 10, 16, 20, 32, 40, 64, 80, 128, 160, 256, 320, 512, 640, 1280, 2560}
+ -- 60kHz with ECP: 2, 6, n*12, where n={1, 2, 4, 5, 8, 10, 16, 20, 32, 40, 64, 80, 128, 160, 256, 320, 512, 640, 1280, 2560}
+ -- 120kHz: 2, 7, n*14, where n={1, 2, 4, 5, 8, 10, 16, 20, 32, 40, 64, 80, 128, 160, 256, 320, 512, 640, 1024, 1280, 2560, 5120}
+ -- (see 38.214, Table 6.1.2.3-1)
+ periodicity ENUMERATED {
+ sym2, sym7, sym1x14, sym2x14, sym4x14, sym5x14, sym8x14, sym10x14, sym16x14, sym20x14,
+ sym32x14, sym40x14, sym64x14, sym80x14, sym128x14, sym160x14, sym256x14, sym320x14, sym512x14,
+ sym640x14, sym1024x14, sym1280x14, sym2560x14, sym5120x14,
+
+ sym6, sym1x12, sym2x12, sym4x12, sym5x12, sym8x12, sym10x12, sym16x12, sym20x12, sym32x12,
+ sym40x12, sym64x12, sym80x12, sym128x12, sym160x12, sym256x12, sym320x12, sym512x12, sym640x12,
+ sym1280x12, sym2560x12
+ },
+
+ -- If configured, the UE uses the configured grant timer (see 38.321, section 5.8.2) with this initial timer value.
+ -- Supported values are as follows in units of symbols:
+ -- For normal CP: 2, 7, {1, 2, 4, 5, 8, 10, 20, 32, 40, 64, 80, 128, 160, 256, 512, 640 } x 14
+ -- For extended CP: 2, 6, {1, 2, 4, 8, 20, 40, 80, 128, 160, 256, 320, 512, 640 } x 12
+ configuredGrantTimer ENUMERATED {
+ sym2, sym7, sym1x14, sym2x14, sym4x14, sym5x14, sym8x14, sym10x14, sym16x14, sym20x14, sym32x14,
+ sym40x14, sym64x14, sym80x14, sym128x14, sym160x14, sym256x14, sym512x14, sym640x14,
+
+ sym6, sym1x12, sym2x12, sym4x12, sym5x12, sym8x12, sym10x12, sym16x12, sym20x12, sym32x12,
+ sym40x12, sym64x12, sym80x12, sym128x12, sym256x12, sym320x12, sym512x12, sym640x12
+ } OPTIONAL, -- Need R
+ -- Selection between "configured grant" transmission with fully RRC-configured UL grant (Type1)
+ -- or with UL grant configured by DCI addressed to CS-RNTI (Type2).
+ rrc-ConfiguredUplinkGrant SEQUENCE {
+ -- Offset related to SFN=0
+ timeDomainOffset INTEGER (0..5119),
+ -- Corresponding to the DCI field of time domain resource assignment, and the maximum bit width is 4.
+ --(see 38.214, section 6.1.2 and 38.212, section 7.3.1)
+ timeDomainAllocation INTEGER (0..15), -- RAN1 indicated just "Mapping-type,Index-start-len"
+ -- Corresponding to the DCI field of freq domain resource assignment.
+ -- (see 38.214, section 6.1.2, and 38.212, section 7.3.1)
+ frequencyDomainAllocation BIT STRING (SIZE(18)),
+ -- UE-specific DMRS configuration: corresponding to the DCI field of antenna ports, and the maximum bitwidth is 5.
+ -- (see 38.214, section 6.1.2, and 38.212, section 7.3.1)
+ antennaPort INTEGER (0..31),
+ dmrs-SeqInitialization INTEGER (0..1) OPTIONAL, -- Cond NoTransformPrecoder
+ precodingAndNumberOfLayers INTEGER (0..63),
+ srs-ResourceIndicator INTEGER (0..15),
+ -- The modulation order, target code rate and TB size (see 38.214, section 6.1.2)
+ mcsAndTBS INTEGER (0..31),
+ -- Enables intra-slot frequency hopping with the given frequency hopping offset
+ -- Corresponds to L1 parameter 'UL-TWG-hopping' (see 38.214, section FFS_Section)
+
+ frequencyHoppingOffset INTEGER (1.. maxNrofPhysicalResourceBlocks-1),
+ pathlossReferenceIndex INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1),
+ ...
+ } OPTIONAL -- Cond Type1
+}
--- TAG-CONTROL-RESOURCE-INDEX-STOP
+CG-UCI-OnPUSCH ::= CHOICE {
+ dynamic SEQUENCE (SIZE (1..4)) OF BetaOffsets,
+ semiStatic BetaOffsets
+}
-CrossCarrierSchedulingConfig ::= SEQUENCE {
+-- TAG-CONFIGUREDGRANTCONFIG-STOP
+-- TAG-CONTROLRESOURCESET-START
+
+ControlResourceSet ::= SEQUENCE {
+ -- Corresponds to L1 parameter 'CORESET-ID'
+ -- Value 0 identifies the common CORESET configured in MIB and in ServingCellConfigCommon
+ -- Values 1..maxNrofControlResourceSets-1 identify CORESETs configured by dedicated signalling
+ -- The controlResourceSetId is unique among the BWPs of a ServingCell.
+ controlResourceSetId ControlResourceSetId,
- -- FFS: Indicate this separately for UL and DL (as done in LTE for LAA)
+
+ -- Frequency domain resources for the CORESET. Each bit corresponds a group of 6 RBs, with grouping starting from PRB 0, which is fully
+ -- contained in the bandwidth part within which the CORESET is configured.
+ -- The most significant bit corresponds to the group of lowest frequency which is fully contained in the bandwidth part within which the
+ -- CORESET is configured, each next subsequent lower significance bit corresponds to the next lowest frequency group fully contained within
+ -- the bandwidth part within which the CORESET is configured, if any.
+ -- Bits corresponding to a group not fully contained within the bandwidth part within which the CORESET is configured are set to zero.
+ -- Corresponds to L1 parameter 'CORESET-freq-dom'(see 38.211, section 7.3.2.2)
+ frequencyDomainResources BIT STRING (SIZE (45)),
+ -- Contiguous time duration of the CORESET in number of symbols
+ -- Corresponds to L1 parameter 'CORESET-time-duration' (see 38.211, section 7.3.2.2FFS_Section)
+ duration INTEGER (1..maxCoReSetDuration),
+ -- Mapping of Control Channel Elements (CCE) to Resource Element Groups (REG).
+ -- Corresponds to L1 parameter 'CORESET-CCE-REG-mapping-type' (see 38.211Section sections 7.3.2.2 and 7.4.1.3.2)
+ cce-REG-MappingType CHOICE {
+ interleaved SEQUENCE {
+ -- Resource Element Groups (REGs) can be bundled to create REG bundles. This parameter defines the size of such bundles.
+ -- Corresponds to L1 parameter 'CORESET-REG-bundle-size' (see 38.211, section FFS_Section)
+ reg-BundleSize ENUMERATED {n2, n3, n6},
+ -- Corresponds to L1 parameter 'CORESET-interleaver-size' (see 38.211, 38.213, section FFS_Section)
+ interleaverSize ENUMERATED {n2, n3, n6},
+ -- Corresponds to L1 parameter 'CORESET-shift-index' (see 38.211, section 7.3.2.2)
+ shiftIndex INTEGER(0..maxNrofPhysicalResourceBlocks-1)
+ },
+ nonInterleaved NULL
+ },
+ -- Precoder granularity in frequency domain.
+ -- Corresponds to L1 parameter 'CORESET-precoder-granuality' (see 38.211, sections 7.3.2.2 and 7.4.1.3.2)
+ precoderGranularity ENUMERATED {sameAsREG-bundle, allContiguousRBs},
+
+ -- A subset of the TCI states defined in TCI-States used for providing QCL relationships between the DL RS(s) in one RS Set
+ -- (TCI-State) and the PDCCH DMRS ports. Corresponds to L1 parameter 'TCI-StatesPDCCH' (see 38.214, section FFS_Section)
+ tci-StatesPDCCH SEQUENCE(SIZE (1..maxNrofTCI-StatesPDCCH)) OF TCI-StateId OPTIONAL, -- Need R
+
+ -- 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.
+ -- Corresponds to L1 parameter 'TCI-PresentInDCI' (see 38,213, section 5.1.5)
+ tci-PresentInDCI ENUMERATED {enabled} OPTIONAL, -- Need S
+
+ -- 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 '0'.
+ pdcch-DMRS-ScramblingID BIT STRING (SIZE (16)) OPTIONAL -- Need S
+}
+
+-- TAG-CONTROLRESOURCESET-STOP
+-- TAG-CONTROL-RESOURCE-SET-ID-START
+
+ControlResourceSetId ::= INTEGER (0..maxNrofControlResourceSets-1)
+
+-- TAG-CONTROL-RESOURCE-SET-ID-STOP
+
+CrossCarrierSchedulingConfig ::= SEQUENCE {
schedulingCellInfo CHOICE {
own SEQUENCE { -- No cross carrier scheduling
cif-Presence BOOLEAN
},
other SEQUENCE { -- Cross carrier scheduling
schedulingCellId ServCellIndex,
- -- 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)
- }
- }
+ } -- Cond SCellOnly
+ },
+ ...
}
--- TAG-CSI-MEAS-CONFIG-START
+-- TAG-CSI-APERIODICTRIGGERSTATELIST-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,
+CSI-AperiodicTriggerStateList ::= SEQUENCE (SIZE (1..maxNrOfCSI-AperiodicTriggers)) OF CSI-AperiodicTriggerState
- -- 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
- }
+CSI-AperiodicTriggerState ::= SEQUENCE {
+ associatedReportConfigInfoList SEQUENCE (SIZE(1..maxNrofReportConfigPerAperiodicTrigger)) OF CSI-AssociatedReportConfigInfo,
+ ...
}
+CSI-AssociatedReportConfigInfo ::= SEQUENCE {
+ -- The reportConfigId of one of the CSI-ReportConfigToAddMod configured in CSI-MeasConfig
+ reportConfigId CSI-ReportConfigId,
--- 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,
+ resourcesForChannel CHOICE {
+ nzp-CSI-RS SEQUENCE {
+ -- NZP-CSI-RS-ResourceSet for channel measurements. Entry number in nzp-CSI-RS-ResourceSetList in the CSI-ResourceConfig
+ -- indicated by resourcesForChannelMeasurement in the CSI-ReportConfig indicated by reportConfigId above
+ -- (1 corresponds to the first entry, 2 to thesecond entry, and so on).
+ resourceSet INTEGER (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig),
- -- 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,
+ -- List of references to TCI-States for providing the QCL source and QCL type for for each NZP-CSI-RS-Resource
+ -- listed in nzp-CSI-RS-Resources of the NZP-CSI-RS-ResourceSet indicated by nzp-CSI-RS-ResourcesforChannel.
+ -- First entry in qcl-info-forChannel corresponds to first entry in nzp-CSI-RS-Resources of that NZP-CSI-RS-ResourceSet,
+ -- second entry in qcl-info-forChannel corresponds to second entry in nzp-CSI-RS-Resources,
+ -- and so on. Corresponds to L1 parameter 'QCL-Info-aPeriodicReportingTrigger' (see 38.214, section 5.2.1.5.1)
+ qcl-info SEQUENCE (SIZE(1..maxNrofAP-CSI-RS-ResourcesPerSet)) OF TCI-StateId
+ },
+ -- CSI-SSB-ResourceSet for channel measurements. Entry number in csi-SSB-ResourceSetList in the CSI-ResourceConfig indicated by
+ -- resourcesForChannelMeasurement in the CSI-ReportConfig indicated by reportConfigId above (1 corresponds to the first entry, 2 to
+ -- the second entry, and so on).
+ csi-SSB-ResourceSet INTEGER (1..maxNrofCSI-SSB-ResourceSetsPerConfig)
+ },
- -- 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-IM-ResourceSet for interference measurement. Entry number in csi-IM-ResourceSetList in the CSI-ResourceConfig indicated by
+ -- csi-IM-ResourcesForInterference in the CSI-ReportConfig indicated by reportConfigId above (1 corresponds to the first entry, 2 to the second
+ -- entry, and so on).
+ -- The indicated CSI-IM-ResourceSet should have exactly the same number of resources like the NZP-CSI-RS-ResourceSet indicated in
+ -- nzp-CSI-RS-ResourcesforChannel.
+ -- This field can only be present if the CSI-ReportConfig identified by reportConfigId includes csi-IM-ResourcesForInterference.
+ csi-IM-ResourcesforInteference INTEGER(1..maxNrofCSI-IM-ResourceSetsPerConfig) OPTIONAL, --Cond CSI-IM-forInterference
+
+
+ -- NZP-CSI-RS-ResourceSet for interference measurement. Entry number in nzp-CSI-RS-ResourceSetList in the CSI-ResourceConfig indicated by
+ -- nzp-CSI-RS-ResourcesForInterference in the CSI-ReportConfig indicated by reportConfigId above (1 corresponds to the first entry,
+ -- 2 to the second entry, and so on).
+ -- The indicated NZP-CSI-RS-ResourceSet should have exactly the same number of resources like the NZP-CSI-RS-ResourceSet indicated in
+ -- nzp-CSI-RS-ResourcesforChannel.
+ -- This field can only be present if the CSI-ReportConfig identified by reportConfigId includes nzp-CSI-RS-ResourcesForInterference.
+ nzp-CSI-RS-ResourcesforInterference INTEGER (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig) OPTIONAL, --Cond LinkedNZP-CSI-RS-forInterference
+ ...
+}
-CSI-ResourceConfigId ::= INTEGER (0..maxNrofCSI-ResourceConfigurations-1)
+-- TAG-CSI-APERIODICTRIGGERSTATELIST-STOP
+-- TAG-CSI-FREQUENCYOCCUPATION-START
--- 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-FrequencyOccupation ::= SEQUENCE {
+ -- PRB where this CSI resource starts in relation to PRB 0 of the associated BWP.
+ -- Only multiples of 4 are allowed (0, 4, ...)
+ startingRB INTEGER (0..maxNrofPhysicalResourceBlocks-1),
+ -- Number of PRBs across which this CSI resource spans. Only multiples of 4 are allowed. The smallest configurable
+ -- number is the minimum of 24 and the width of the associated BWP.
+ nrofRBs INTEGER (24..maxNrofPhysicalResourceBlocks),
+ ...
}
-CSI-ResourceSetId ::= INTEGER (0..maxNrofCSI-ResourceSets-1)
+-- TAG-CSI-FREQUENCYOCCUPATION-STOP
+-- TAG-CSI-IM-RESOURCE-START
+CSI-IM-Resource ::= SEQUENCE {
+ csi-IM-ResourceId CSI-IM-ResourceId,
--- 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)
- }
+ -- The resource element pattern (Pattern0 (2,2) or Pattern1 (4,1)) with corresponding parameters.
+ -- Corresponds to L1 parameter 'CSI-IM-RE-pattern' (see 38.214, section 5.2.2.3.4)
+ csi-IM-ResourceElementPattern CHOICE {
+ pattern0 SEQUENCE {
+ -- OFDM subcarrier occupancy of the CSI-IM resource for Pattern0
+ -- Corresponds to L1 parameter 'CSI-IM-ResourceMapping' (see 38.214, section 5.2.2.3.4)
+ subcarrierLocation-p0 ENUMERATED { s0, s2, s4, s6, s8, s10 },
+ -- OFDM symbol location of the CSI-IM resource for Pattern0
+ -- Corresponds to L1 parameter 'CSI-IM-ResourceMapping' (see 38.214, section 5.2.2.3.4)
+ symbolLocation-p0 INTEGER (0..12)
+ },
+ pattern1 SEQUENCE {
+ -- OFDM subcarrier occupancy of the CSI-IM resource for Pattern1
+ -- Corresponds to L1 parameter 'CSI-IM-ResourceMapping' (see 38.214, section 5.2.2.3.4)
+ subcarrierLocation-p1 ENUMERATED { s0, s4, s8 },
+ -- OFDM symbol location of the CSI-IM resource for Pattern1
+ -- Corresponds to L1 parameter 'CSI-IM-ResourceMapping' (see 38.214, section 5.2.2.3.4)
+ symbolLocation-p1 INTEGER (0..13)
+ }
+ } OPTIONAL, --Need M
+
+ -- Frequency-occupancy of CSI-IM. Corresponds to L1 parameter 'CSI-IM-FreqBand' (see 38.214, section 5.2.2.3.2)
+ freqBand CSI-FrequencyOccupation OPTIONAL, -- Need M
+
+ -- Periodicity and slot offset for periodic/semi-persistent CSI-IM. Corresponds to L1 parameter 'CSI-IM-timeConfig'
+ periodicityAndOffset CSI-ResourcePeriodicityAndOffset OPTIONAL, --Cond PeriodicOrSemiPersistent
+ ...
}
-NZP-CSI-RS-ResourceId ::= INTEGER (0..maxNrofNZP-CSI-RS-Resources-1)
+-- TAG-CSI-IM-RESOURCE-STOP
+-- TAG-CSI-IM-RESOURCEID-START
+CSI-IM-ResourceId ::= INTEGER (0..maxNrofCSI-IM-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!
+-- TAG-CSI-IM-RESOURCEID-STOP
+-- TAG-CSI-IM-RESOURCESET-START
+CSI-IM-ResourceSet ::= SEQUENCE {
+ csi-IM-ResourceSetId CSI-IM-ResourceSetId,
+ -- CSI-IM-Resources associated with this CSI-IM-ResourceSet
+ -- Corresponds to L1 parameter 'CSI-IM-ResourceConfigList' (see 38.214, section 5.2)
+ csi-IM-Resources SEQUENCE (SIZE(1..maxNrofCSI-IM-ResourcesPerSet)) OF CSI-IM-ResourceId,
+ ...
}
+-- TAG-CSI-IM-RESOURCESET-STOP
+-- TAG-CSI-IM-RESOURCESETID-START
-ZP-CSI-RS-ResourceId ::= INTEGER (0..maxNrofZP-CSI-RS-Resources-1)
+CSI-IM-ResourceSetId ::= INTEGER (0..maxNrofCSI-IM-ResourceSets-1)
-CSI-IM-ResourceConfig ::= SEQUENCE {
- csi-IM-ResourceConfigId CSI-IM-ResourceConfigId,
+-- TAG-CSI-IM-RESOURCESETID-STOP
+-- TAG-CSI-MEAS-CONFIG-START
- -- 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},
+CSI-MeasConfig ::= SEQUENCE {
+ -- Pool of NZP-CSI-RS-Resource which can be referred to from NZP-CSI-RS-ResourceSet
+ nzp-CSI-RS-ResourceToAddModList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-Resources)) OF NZP-CSI-RS-Resource OPTIONAL, -- Need N
+ nzp-CSI-RS-ResourceToReleaseList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-Resources)) OF NZP-CSI-RS-ResourceId OPTIONAL, -- Need N
- -- 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!
-}
+ -- Pool of NZP-CSI-RS-ResourceSet which can be referred to from CSI-ResourceConfig or from MAC CEs
+ nzp-CSI-RS-ResourceSetToAddModList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourceSets)) OF NZP-CSI-RS-ResourceSet OPTIONAL, -- Need N
+ nzp-CSI-RS-ResourceSetToReleaseList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourceSets)) OF NZP-CSI-RS-ResourceSetId OPTIONAL, -- Need N
+
+ -- Pool of CSI-IM-Resource which can be referred to from CSI-IM-ResourceSet
+ csi-IM-ResourceToAddModList SEQUENCE (SIZE (1..maxNrofCSI-IM-Resources)) OF CSI-IM-Resource OPTIONAL, -- Need N
+ csi-IM-ResourceToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-IM-Resources)) OF CSI-IM-ResourceId OPTIONAL, -- Need N
+
+ -- Pool of CSI-IM-ResourceSet which can be referred to from CSI-ResourceConfig or from MAC CEs
+ csi-IM-ResourceSetToAddModList SEQUENCE (SIZE (1..maxNrofCSI-IM-ResourceSets)) OF CSI-IM-ResourceSet OPTIONAL, -- Need N
+ csi-IM-ResourceSetToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-IM-ResourceSets)) OF CSI-IM-ResourceSetId OPTIONAL, -- Need N
+
+ -- Pool of CSI-SSB-ResourceSet which can be referred to from CSI-ResourceConfig
+ csi-SSB-ResourceSetToAddModList SEQUENCE (SIZE (1..maxNrofCSI-SSB-ResourceSets)) OF CSI-SSB-ResourceSet OPTIONAL, -- Need N
+ csi-SSB-ResourceSetToAddReleaseList SEQUENCE (SIZE (1..maxNrofCSI-SSB-ResourceSets)) OF CSI-SSB-ResourceSetId OPTIONAL, -- Need N
+
+ -- Configured CSI resource settings as specified in TS 38.214 section 5.2.1.2
+ csi-ResourceConfigToAddModList SEQUENCE (SIZE (1..maxNrofCSI-ResourceConfigurations)) OF CSI-ResourceConfig OPTIONAL, -- Need N
+ csi-ResourceConfigToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-ResourceConfigurations)) OF CSI-ResourceConfigId OPTIONAL, -- Need N
-CSI-IM-ResourceConfigId ::= INTEGER (0..maxNrofCSI-IM-Resources-1)
+ -- Configured CSI report settings as specified in TS 38.214 section 5.2.1.1
+ csi-ReportConfigToAddModList SEQUENCE (SIZE (1..maxNrofCSI-ReportConfigurations)) OF CSI-ReportConfig OPTIONAL, -- Need N
+ csi-ReportConfigToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-ReportConfigurations)) OF CSI-ReportConfigId OPTIONAL, -- Need N
-CSI-SSB-Resource ::= SEQUENCE {
- -- FFS: Undefined what the IE CSI-SSB-Resource contains.
+
+ -- Size of CSI request field in DCI (bits). Corresponds to L1 parameter 'ReportTriggerSize' (see 38.214, section 5.2)
+ reportTriggerSize INTEGER (0..6) 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: How to address the MAC-CE configuration
+ aperiodicTriggerStateList CHOICE {release NULL, setup CSI-AperiodicTriggerStateList } OPTIONAL, -- Need M
+ semiPersistentOnPUSCH-TriggerStateList CHOICE {release NULL, setup CSI-SemiPersistentOnPUSCH-TriggerStateList } OPTIONAL, -- Need M
+ ...
}
+maxNrofNZP-CSI-RS-ResourceSets INTEGER ::= 64
+maxNrofNZP-CSI-RS-ResourceSets-1 INTEGER ::= 63
+
+maxNrofCSI-SSB-ResourceSets INTEGER ::= 64
+maxNrofCSI-SSB-ResourceSets-1 INTEGER ::= 63
+
+maxNrofCSI-IM-ResourceSets INTEGER ::= 64
+maxNrofCSI-IM-ResourceSets-1 INTEGER ::= 63
+
+-- TAG-CSI-MEAS-CONFIG-STOP
+-- TAG-CSI-REPORTCONFIG-START
-- Configuration of a CSI-Report sent on L1 (e.g. PUCCH) (see 38.214, section 5.2.1)
-CSI-ReportConfig ::= SEQUENCE {
+CSI-ReportConfig ::= SEQUENCE {
reportConfigId CSI-ReportConfigId,
+
+ -- Indicates in which serving cell the CSI-ResourceConfigToAddMod(s) below are to be found.
+ -- If the field is absent, the resources are on the same serving cell as this report configuration.
+ carrier ServCellIndex OPTIONAL, -- Need S
+
+ -- Resources for channel measurement. csi-ResourceConfigId of a CSI-ResourceConfig included in the configuration of the serving cell
+ -- indicated with the field "carrier" above. This CSI-ReportConfig is associated with the DL BWP indicated by bwp-Id in that CSI-ResourceConfig.
+ resourcesForChannelMeasurement CSI-ResourceConfigId,
+
+ -- CSI IM resources for interference measurement. csi-ResourceConfigId of a CSI-ResourceConfig included in the configuration of the serving cell
+ -- indicated with the field "carrier" above. The bwp-Id in that CSI-ResourceConfigToAddMod is the same value like the bwp-Id in the
+ -- CSI-ResourceConfig indicated by resourcesForChannelMeasurement.
+ csi-IM-ResourcesForInterference CSI-ResourceConfigId OPTIONAL, -- Need R
+
+ -- NZP CSI RS resources for interference measurement. csi-ResourceConfigId of a CSI-ResourceConfigToAddMod included in the configuration of the
+ -- serving cell indicated with the field "carrier" above. The bwp-Id in that CSI-ResourceConfigToAddMod is the same value like the bwp-Id in the
+ -- CSI-ResourceConfigToAddMod indicated by resourcesForChannelMeasurement.
+ nzp-CSI-RS-ResourcesForInterference CSI-ResourceConfigId OPTIONAL, -- Need R
+
-- Time domain behavior of reporting configuration
reportConfigType CHOICE {
periodic SEQUENCE {
- -- Periodicity and slot offset . Corresponds to L1 parameter 'ReportPeriodicity'and 'ReportSlotOffset'
+ -- 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)
- },
+ reportSlotConfig CSI-ReportPeriodicityAndOffset,
-- Indicates which PUCCH resource to use for reporting on PUCCH.
- pucch-CSI-ResourceIndex NULL -- WS modification: was TYPE_FFS!
+ pucch-CSI-ResourceList SEQUENCE (SIZE (1..maxNrofBWPs)) OF PUCCH-CSI-Resource
},
- semiPersistent SEQUENCE {
+ semiPersistentOnPUCCH 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)
- },
+ reportSlotConfig CSI-ReportPeriodicityAndOffset,
-- Indicates which PUCCH resource to use for reporting on PUCCH.
- pucch-CSI-ResourceIndex NULL -- WS modification: was TYPE_FFS!
+ pucch-CSI-ResourceList SEQUENCE (SIZE (1..maxNrofBWPs)) OF PUCCH-CSI-Resource
+ },
+ semiPersistentOnPUSCH SEQUENCE {
+ -- Periodicity. Corresponds to L1 parameter 'Reportperiodicity-spCSI'. (see 38.214, section 5.2.1.1?FFS_Section)
+ reportSlotConfig ENUMERATED {sl5, sl10, sl20, sl40, sl80, sl160, sl320},
+ -- Timing offset Y for aperiodic reporting using PUSCH. This field lists the allowed offset values.
+ -- A particular value is indicated in DCI. The first report is transmitted in slot n+Y, second report in n+Y+P,
+ -- where P is the configured periodicity.
+ reportSlotOffsetList SEQUENCE (SIZE (1..4)) OF INTEGER (0..7),
+ -- RNTI for SP CSI-RNTI, Corresponds to L1 parameter 'SPCSI-RNTI' (see 38.214, section 5.2.1.5.2)
+ -- FFS: RAN1 models different RNTIs as different Search Spaces with independent configurations. Align the configuration
+ -- of this one (e.g. group with monitoring periodicity, PDCCH candidate configuration, DCI-Payload size...)?
+ csi-RNTI RNTI-Value,
+ -- Index of the p0-alpha set determining the power control for this CSI report transmission.
+ -- Corresponds to L1 parameter 'SPCSI-p0alpha' (see 38.214, section FFS_Section)
+ p0alpha P0-PUSCH-AlphaSetId
},
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!
+ -- Timing offset Y for aperiodic reporting using PUSCH. This field lists the allowed offset values. A particular value is indicated in DCI.
+ -- (see 38.214, section 5.2.3)
+ -- FFS_Value: Range wasn’t final in RAN1 table.
+ -- FFS_FIXME: How are the DCI codepoints mapped to the allowed offsets?
+ reportSlotOffsetList SEQUENCE (SIZE (1..16)) OF INTEGER (0..7)
}
},
- -- The CSI related quanities to report (see 38.214, section REF)
+ -- The CSI related quanities to report. Corresponds to L1 parameter 'ReportQuantity' (see 38.214, section REF)
reportQuantity CHOICE {
- cRI-RI-PMI-CQI NULL,
- cRI-RI-i1 NULL,
- cRI-RI-i1-CQI SEQUENCE {
+ none NULL,
+ 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)
+ -- Corresponds to L1 parameter 'PDSCH-bundle-size-for-CSI' (see 38.214, section 5.2.1.4)
pdsch-BundleSizeForCSI ENUMERATED {n2, n4} OPTIONAL
},
- cRI-RI-CQI NULL,
- cRI NULL,
- cRI-RSRP NULL,
- spare1 NULL,
- spare0 NULL
+ cri-RI-CQI NULL,
+ cri-RSRP NULL,
+ ssb-Index-RSRP NULL,
+ cri-RI-LI-PMI-CQI NULL
},
- -- Reporting configuration in the frequency domain. (see 38.214, section 5.2.1)
+ -- Reporting configuration in the frequency domain. (see 38.214, section 5.2.1.4)
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
+ -- for. 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))
+ -- The number of subbands is determined according to 38.214 section 5.2.1.4. It is absent if there are less than 24 PRBs (no sub band)
+ -- and present otherwise, the number of sub bands can be from 3 (24 PRBs, sub band size 8) to 18 (72 PRBs, sub band size 4).
+ csi-ReportingBand CHOICE {
+ subbands3 BIT STRING(SIZE(3)),
+ subbands4 BIT STRING(SIZE(4)),
+ subbands5 BIT STRING(SIZE(5)),
+ subbands6 BIT STRING(SIZE(6)),
+ subbands7 BIT STRING(SIZE(7)),
+ subbands8 BIT STRING(SIZE(8)),
+ subbands9 BIT STRING(SIZE(9)),
+ subbands10 BIT STRING(SIZE(10)),
+ subbands11 BIT STRING(SIZE(11)),
+ subbands12 BIT STRING(SIZE(12)),
+ subbands13 BIT STRING(SIZE(13)),
+ subbands14 BIT STRING(SIZE(14)),
+ subbands15 BIT STRING(SIZE(15)),
+ subbands16 BIT STRING(SIZE(16)),
+ subbands17 BIT STRING(SIZE(17)),
+ subbands18 BIT STRING(SIZE(18)),
+ ...
+ } OPTIONAL -- Need S
+
},
- -- 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!
+ -- Time domain measurement restriction for the channel (signal) measurements.
+ -- Corresponds to L1 parameter 'MeasRestrictionConfig-time-channel' (see 38.214, section 5.2.1.1)
+ timeRestrictionForChannelMeasurements ENUMERATED {configured, notConfigured},
+ -- Time domain measurement restriction for interference measurements.
+ -- Corresponds to L1 parameter 'MeasRestrictionConfig-time-interference' (see 38.214, section 5.2.1.1)
+ timeRestrictionForInterferenceMeasurements ENUMERATED {configured, notConfigured},
-- 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)
+ -- Turning on/off group beam based reporting (see 38.214, section 5.2.1.4)
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 {
+ enabled NULL,
+ 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.
@@ -595,194 +1067,423 @@ CSI-ReportConfig ::= SEQUENCE {
-- 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
+ nrofReportedRS ENUMERATED {n1, n2, n3, n4} OPTIONAL -- Need S
}
},
- -- 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.
+ -- Which CQI table to use for CQI calculation. Corresponds to L1 parameter 'CQI-table' (see 38.214, section 5.2.2.1)
+ cqi-Table ENUMERATED {table1, table2, spare2, spare1} OPTIONAL,
+ -- Indicates one out of two possible BWP-dependent values for the subband size as indicated in 38.214 table 5.2.1.4-2
+ -- Corresponds to L1 parameter 'SubbandSize' (see 38.214, section 5.2.1.4)
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)
+ -- Corresponds to L1 parameter 'BLER-Target' (see 38.214, section 5.2.2.1)
-- FFS_Values (now filled with spares)
- bler-Target ENUMERATED {v0dot1, spare3, space2, spare1} OPTIONAL
-
+ bler-Target ENUMERATED {zerodot1, spare3, space2, spare1} OPTIONAL,
+ -- Port indication for RI/CQI calculation. For each CSI-RS resource in the linked ResourceConfig for channel measurement,
+ -- a port indication for each rank R, indicating which R ports to use. Applicable only for non-PMI feedback.
+ -- Corresponds to L1 parameter 'Non-PMI-PortIndication' (see 38.214, section FFS_Section)
+ -- The first entry in non-PMI-PortIndication corresponds to the NZP-CSI-RS-Resource indicated by the first entry in
+ -- nzp-CSI-RS-Resources in the NZP-CSI-RS-ResourceSet indicated in the first entry of nzp-CSI-RS-ResourceSetList of the
+ -- CSI-ResourceConfig whose CSI-ResourceConfigId is indicated in a CSI-MeasId together with the above CSI-ReportConfigId,
+ -- the second entry in non-PMI-PortIndication corresponds to the NZP-CSI-RS-Resource indicated by the second entry in
+ -- nzp-CSI-RS-Resources in the NZP-CSI-RS-ResourceSet indicated in the first entry of nzp-CSI-RS-ResourceSetList of the
+ -- same CSI-ResourceConfig, and so on until the NZP-CSI-RS-Resource indicated by the last entry in nzp-CSI-RS-Resources
+ -- in the in the NZP-CSI-RS-ResourceSet indicated in the first entry of nzp-CSI-RS-ResourceSetList of the
+ -- same CSI-ResourceConfig, then the next entry corresponds to the NZP-CSI-RS-Resource indicated by the first entry
+ -- in nzp-CSI-RS-Resources in the NZP-CSI-RS-ResourceSet indicated in the second entry of nzp-CSI-RS-ResourceSetList of the
+ -- same CSI-ResourceConfig and so on.
+ non-PMI-PortIndication SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourcesPerConfig)) OF PortIndexFor8Ranks OPTIONAL, ...
+}
+
+CSI-ReportPeriodicityAndOffset ::= CHOICE {
+ slots4 INTEGER(0..3),
+ slots5 INTEGER(0..4),
+ slots8 INTEGER(0..7),
+ slots10 INTEGER(0..9),
+ slots16 INTEGER(0..15),
+ slots20 INTEGER(0..19),
+ slots40 INTEGER(0..39),
+ slots80 INTEGER(0..79),
+ slots160 INTEGER(0..159),
+ slots320 INTEGER(0..319)
+}
+
+PUCCH-CSI-Resource ::= CHOICE {
+ uplinkBandwidthPartId BWP-Id,
+ -- PUCCH resource for the associated uplink BWP. Only PUCCH-Resource of format 2, 3 and 4 is supported.
+ pucch-Resource PUCCH-Resource
+}
+
+-- The PortIndexFor8Ranks allows to indicate port indexes for 1 to 8 ranks using a port index ranges from 0 to 31, or from 0 to 15, or from 0
+-- to 7, or from 0 to 3, or from 0 to 1, or with 0 only.
+
+PortIndexFor8Ranks ::= CHOICE {
+ portIndex8 SEQUENCE{
+ rank1-8 PortIndex8,
+ rank2-8 SEQUENCE(SIZE(1..2)) OF PortIndex8,
+ rank3-8 SEQUENCE(SIZE(1..3)) OF PortIndex8,
+ rank4-8 SEQUENCE(SIZE(1..4)) OF PortIndex8,
+ rank5-8 SEQUENCE(SIZE(1..5)) OF PortIndex8,
+ rank6-8 SEQUENCE(SIZE(1..6)) OF PortIndex8,
+ rank7-8 SEQUENCE(SIZE(1..7)) OF PortIndex8,
+ rank8-8 SEQUENCE(SIZE(1..8)) OF PortIndex8
+ },
+ portIndex4 SEQUENCE{
+ rank1-4 PortIndex4,
+ rank2-4 SEQUENCE(SIZE(1..2)) OF PortIndex4,
+ rank3-4 SEQUENCE(SIZE(1..3)) OF PortIndex4,
+ rank4-4 SEQUENCE(SIZE(1..4)) OF PortIndex4
+ },
+ portIndex2 SEQUENCE{
+ rank1-2 PortIndex2,
+ rank2-2 SEQUENCE(SIZE(1..2)) OF PortIndex2
+ },
+ portIndex1 NULL
}
-CSI-ReportConfigId ::= INTEGER (0..maxNrofCSI-ReportConfig-1)
+PortIndex8::= INTEGER (0..7)
+PortIndex4::= INTEGER (0..3)
+PortIndex2::= INTEGER (0..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
+maxNrofNZP-CSI-RS-ResourcesPerConfig INTEGER ::= 128
+-- TAG-CSI-REPORTCONFIG-STOP
+-- TAG-CSI-REPORTCONFIGID-START
+CSI-ReportConfigId ::= INTEGER (0..maxNrofCSI-ReportConfigurations-1)
- -- 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))
- }
+-- TAG-CSI-REPORTCONFIGID-STOP
+-- TAG-CSI-RESOURCECONFIG-START
+
+-- One CSI resource configuration comprising of one or more resource sets
+CSI-ResourceConfig ::= SEQUENCE {
+
+ -- Used in CSI-ReportConfig to refer to an instance of CSI-ResourceConfig
+ csi-ResourceConfigId CSI-ResourceConfigId,
+
+ -- Contains up to maxNrofNZP-CSI-RS-ResourceSetsPerConfig resource sets if ResourceConfigType is 'aperiodic' and 1 otherwise.
+ -- Corresponds to L1 parameter 'ResourceSetConfigList' (see 38.214, section 5.2.1.3.1)
+ csi-RS-ResourceSetList CHOICE {
+ nzp-CSI-RS-SSB SEQUENCE {
+ nzp-CSI-RS-ResourceSetList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig)) OF NZP-CSI-RS-ResourceSetId OPTIONAL,
+ -- List of SSB resources used for beam measurement and reporting in a resource set
+ -- Corresponds to L1 parameter 'resource-config-SS-list' (see 38,214, section FFS_Section)
+ csi-SSB-ResourceSetList SEQUENCE (SIZE (1..maxNrofCSI-SSB-ResourceSetsPerConfig)) OF CSI-SSB-ResourceSetId OPTIONAL
},
- 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))
- }
- }
- }
+ csi-IM-ResourceSetList SEQUENCE (SIZE (1..maxNrofCSI-IM-ResourceSetsPerConfig)) OF CSI-IM-ResourceSetId
+ },
+
+
+ -- The DL BWP which the CSI-RS associated with this CSI-ResourceConfig are located in.
+ -- Corresponds to L1 parameter 'BWP-Info' (see 38.214, section 5.2.1.2
+ bwp-Id BWP-Id,
+
+ -- Time domain behavior of resource configuration. Corresponds to L1 parameter 'ResourceConfigType' (see 38.214, section 5.2.2.3.5)
+ resourceType ENUMERATED { aperiodic, semiPersistent, periodic },
+ ...
}
+-- TAG-CSI-RESOURCECONFIGTOADDMOD-STOP
+-- TAG-CSI-RESOURCECONFIGID-START
+CSI-ResourceConfigId ::= INTEGER (0..maxNrofCSI-ResourceConfigurations-1)
+
+-- TAG-CSI-RESOURCECONFIGID-STOP
+-- TAG-CSI-RESOURCEPERIODICITYANDOFFSET-START
+
+CSI-ResourcePeriodicityAndOffset ::= CHOICE {
+ slots4 INTEGER (0..3),
+ slots5 INTEGER (0..4),
+ slots8 INTEGER (0..7),
+ slots10 INTEGER (0..9),
+ slots16 INTEGER (0..15),
+ slots20 INTEGER (0..19),
+ slots32 INTEGER (0..31),
+ slots40 INTEGER (0..39),
+ slots64 INTEGER (0..63),
+ slots80 INTEGER (0..79),
+ slots160 INTEGER (0..159),
+ slots320 INTEGER (0..319),
+ slots640 INTEGER (0..639)
+}
+
+-- TAG-CSI-RESIYRCEPERIODICITYANDOFFSET-STOP
+-- TAG-CSI-RS-RESOURCEMAPPING-START
+
+CSI-RS-ResourceMapping ::= SEQUENCE {
+ -- Frequency domain allocation within a physical resource block in accordance with 38.211, section 7.4.1.5.3 including table 7.4.1.5.2-1.
+ -- The number of bits that may be set to one depend on the chosen row in that table. For the choice "other", the row can be determined from
+ -- the parmeters below and from the number of bits set to 1 in frequencyDomainAllocation.
+ frequencyDomainAllocation CHOICE {
+ row1 BIT STRING (SIZE (4)),
+ row2 BIT STRING (SIZE (12)),
+ row4 BIT STRING (SIZE (3)),
+ other BIT STRING (SIZE (6))
+ },
+ -- Number of ports (see 38.214, section 5.2.2.3.1)
+ nrofPorts ENUMERATED {p1,p2,p4,p8,p12,p16,p24,p32},
+ -- Time domain allocation within a physical resource block. The field indicates the first OFDM symbol in the PRB used for CSI-RS.
+ -- Parameter l0 in 38.211, section 7.4.1.5.3. Value 2 is supported only when DL-DMRS-typeA-pos equals 3.
+ firstOFDMSymbolInTimeDomain INTEGER (0..13),
+ -- Time domain allocation within a physical resource block. Parameter l1 in 38.211, section 7.4.1.5.3.
+ firstOFDMSymbolInTimeDomain2 INTEGER (0..13) OPTIONAL, -- Need R
+ -- CDM type (see 38.214, section 5.2.2.3.1)
+ cdm-Type ENUMERATED {noCDM, fd-CDM2, cdm4-FD2-TD2, cdm8-FD2-TD4},
+ -- Density of CSI-RS resource measured in RE/port/PRB. Corresponds to L1 parameter 'CSI-RS-Density' (see 38.211, section 7.4.1.5.3)
+ -- 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.
+ -- For density = 1/2, includes 1 bit indication for RB level comb offset indicating whether odd or even RBs are occupied by CSI-RS
+ density CHOICE {
+ dot5 ENUMERATED {evenPRBs, oddPRBs},
+ one NULL,
+ three NULL,
+ spare NULL
+ },
+ -- Wideband or partial band CSI-RS. Corresponds to L1 parameter 'CSI-RS-FreqBand' (see 38.214, section 5.2.2.3.1)
+ freqBand CSI-FrequencyOccupation,
+ ...
+}
--- 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,
+-- TAG-CSI-RS-RESOURCEMAPPING-STOP
+-- TAG-CSI-SEMIPERSISTENTONPUSCHTRIGGERSTATELIST-START
- -- 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-SemiPersistentOnPUSCH-TriggerStateList ::= SEQUENCE(SIZE (1..maxNrOfSemiPersistentPUSCH-Triggers)) OF CSI-SemiPersistentOnPUSCH-TriggerState
+CSI-SemiPersistentOnPUSCH-TriggerState ::= SEQUENCE {
+ associatedReportConfigInfo CSI-ReportConfigId,
+ ...
}
-CSI-MeasId ::= INTEGER (0..maxNrofCSI-MeasId-1)
+maxNrOfSemiPersistentPUSCH-Triggers INTEGER ::= 64 -- Maximum number of triggers for semi persistent reporting on PUSCH
+
+-- TAG-CSI-SEMIPERSISTENTONPUSCHTRIGGERSTATELIST-STOP
+-- TAG-CSI-SSB-RESOURCESETID-START
+
+CSI-SSB-ResourceSetId ::= INTEGER (0..maxNrofCSI-SSB-ResourceSets-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
+-- TAG-CSI-SSB-RESOURCESETID-STOP
+-- TAG-CSI-SSB-RESOURCESET-START
- -- 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
+CSI-SSB-ResourceSet ::= SEQUENCE {
+ csi-SSB-ResourceSetId CSI-SSB-ResourceSetId,
+ csi-SSB-ResourceList SEQUENCE (SIZE(1..maxNrofCSI-SSB-ResourcePerSet)) OF SSB-Index,
+ ...
+}
- -- 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
+-- TAG-CSI-SSB-RESOURCESET-STOP
+-- TAG-DMRS-DOWNLINKCONFIG-START
- -- 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
+DMRS-DownlinkConfig ::= SEQUENCE {
+ -- Selection of the DMRS type to be used for DL (see 38.211, section 7.4.1.1.1).
+ -- If the field is absent, the UE uses DMRS type 1.
+ dmrs-Type ENUMERATED {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.
+ -- If the field is absent, the UE applies the value pos2.
+ dmrs-AdditionalPosition ENUMERATED {pos0, pos1, pos3} OPTIONAL, -- Need R
+ -- DM-RS groups that are QCL:ed, i.e. group 1 (see 38.214, section 5.1)
+ dmrs-group1 BIT STRING (SIZE (12)) OPTIONAL, -- Need R
+ -- DM-RS groups that are QCL:ed, i.e. group 2 (see 38.214, section 5.1)
+ dmrs-group2 BIT STRING (SIZE (12)) OPTIONAL, -- Need R
+ -- The maximum number of OFDM symbols for DL front loaded DMRS. 'len1' corresponds to value 1. 'len2 corresponds to value 2.
+ -- If the field is absent, the UE applies value len1.
+ -- Corresponds to L1 parameter 'DL-DMRS-max-len' (see 38.214, section 5.1)
+ maxLength ENUMERATED {len2} OPTIONAL, -- Need R
+ -- DL DMRS scrambling initalization
+ -- Corresponds to L1 parameter 'n_SCID 0' (see 38.211, section 7.4.1)
+ -- When the field is absent the UE applies the value Physical cell ID (physCellId) configured for this serving cell."
+ scramblingID0 INTEGER (0..65535) OPTIONAL, -- Need S
+ -- DL DMRS scrambling initalization. Corresponds to L1 parameter 'n_SCID 1' (see 38.211, section 7.4.1)
+ -- When the field is absent the UE applies the value (physCellId) configured for this serving cell.
+ scramblingID1 INTEGER (0..65535) OPTIONAL, -- Need S
+
+ -- Configures downlink PTRS. If absent of released, the UE assumes that downlink PTRS are not present. See 38.214 section 5.1.6.3
+ phaseTrackingRS CHOICE {release NULL, setup PTRS-DownlinkConfig } OPTIONAL, -- Need M
- -- 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
+-- TAG-DMRS-DOWNLINKCONFIG-STOP
+-- TAG-DMRS-UPLINKCONFIG-START
- -- 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
+DMRS-UplinkConfig ::= SEQUENCE {
+ -- Selection of the DMRS type to be used for UL (see section 38.211, section 6.4.1.1.3)
+ -- If the field is absent, the UE uses DMRS type 1.
+ dmrs-Type ENUMERATED {type2} OPTIONAL, -- Need R
+ -- Position for additional DM-RS in UL. Corresponds to L1 parameter 'UL-DMRS-add-pos' (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 UL.
+ -- If the field is absent, the UE applies the value pos2.
+ dmrs-AdditionalPosition ENUMERATED {pos0, pos1, pos3} OPTIONAL, -- Need R
+ -- Configures uplink PTRS (see 38.211, section x.x.x.x) FFS_Ref
+ phaseTrackingRS CHOICE {release NULL, setup PTRS-UplinkConfig } OPTIONAL, -- Need M
+ -- The maximum number of OFDM symbols for UL front loaded DMRS. 'len1' corresponds to value 1. 'len2 corresponds to value 2.
+ -- If the field is absent, the UE applies value len1.
+ -- Corresponds to L1 parameter 'UL-DMRS-max-len' (see 38.214, section 6.4.1.1.2)
+ maxLength ENUMERATED {len2} OPTIONAL, -- Need R
+
+ transformPrecoding CHOICE {
+ -- DMRS related parameters for Cyclic Prefix OFDM
+ disabled SEQUENCE {
+ -- UL DMRS scrambling initalization for CP-OFDM
+ -- Corresponds to L1 parameter 'n_SCID 0' (see 38.214, section 6.4.1.1.2)
+ -- When the field is absent the UE applies the value Physical cell ID (physCellId)
+ scramblingID0 INTEGER (0..65535) OPTIONAL, -- Need S
+ -- UL DMRS scrambling initalization for CP-OFDM.
+ -- Corresponds to L1 parameter 'n_SCID 1' (see 38.214, section 6.4.1.1.2)
+ -- When the field is absent the UE applies the value Physical cell ID (physCellId)
+ scramblingID1 INTEGER (0..65535) OPTIONAL -- Need S
+ },
+ -- DMRS related parameters for DFT-s-OFDM (Transform Precoding)
+ enabled SEQUENCE {
+ -- Parameter: N_ID^(PUSCH) for DFT-s-OFDM DMRS. If the value is absent or released, the UE uses the Physical cell ID.
+ -- Corresponds to L1 parameter 'nPUSCH-Identity-Transform precoding' (see 38.211, section FFS_Section)
+ nPUSCH-Identity INTEGER(0..1007) OPTIONAL, -- Need S
+ -- Sequence-group hopping for PUSCH can be disabled for a certain UE despite being enabled on a cell basis. For DFT-s-OFDM DMRS
+ -- If the field is released, the UE considers group hopping to be enabled.
+ -- Corresponds to L1 parameter 'Disable-sequence-group-hopping-Transform-precoding' (see 38.211, section FFS_Section)
+ disableSequenceGroupHopping ENUMERATED {disabled} OPTIONAL, -- Need S
+ -- Determines if sequence hopping is enabled or not. For DFT-s-OFDM DMRS.
+ -- If the field is released, the UE considers sequence hopping to be disabled.
+ -- Corresponds to L1 parameter 'Sequence-hopping-enabled-Transform-precoding' (see 38.211, section FFS_Section)
+ sequenceHoppingEnabled ENUMERATED {enabled} OPTIONAL -- Need S
+ }
+ },
+ ...
}
--- 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,
+-- TAG-DMRS-UPLINKCONFIG-STOP
+-- TAG-DOWNLINKPREEMPTION-START
+
+-- Configuration of downlink preemption indication on PDCCH.
+DownlinkPreemption ::= SEQUENCE {
+ -- RNTI used for indication pre-emption in DL.
+ -- Corresponds to L1 parameter 'INT-RNTI', where ”INT” stands for ”interruption” (see 38.213, section 10)
+ int-RNTI RNTI-Value,
+
+ -- Set selection for DL-preemption indication. Corresponds to L1 parameter 'int-TF-unit' (see 38.213, section 10.1)
+ -- The set determines how the UE interprets the DL preemption DCI payload.
+ timeFrequencySet ENUMERATED {set0, set1},
+
+ -- Total length of the DCI payload scrambled with INT-RNTI. The value must be an integer multiple of 14 bit.
+ -- Corresponds to L1 parameter 'INT-DCI-payload-length' (see 38.213, section 11.2)
+ dci-PayloadSize INTEGER (0..maxINT-DCI-PayloadSize),
+
+ -- Indicates (per serving cell) the position of the 14 bit INT values inside the DCI payload.
+ -- Corresponds to L1 parameter 'INT-cell-to-INT' and 'cell-to-INT' (see 38.213, section 11.2)
+ int-ConfigurationPerServingCell SEQUENCE (SIZE (1..maxNrofServingCells)) OF INT-ConfigurationPerServingCell,
...
}
-MeasResultServFreqList2NR ::= SEQUENCE (SIZE (1..maxServCell)) OF MeasResultServFreq2NR
+INT-ConfigurationPerServingCell ::= SEQUENCE {
+ servingCellId ServCellIndex,
+ -- Starting position (in number of bit) of the 14 bit INT value applicable for this serving cell (servingCellId) within the DCI
+ -- payload. Must be multiples of 14 (bit). Corresponds to L1 parameter 'INT-values' (see 38.213, section 11.2)
+ positionInDCI INTEGER (0..maxINT-DCI-PayloadSize-1)
+}
-MeasResultServFreq2NR ::= SEQUENCE {
- carrierFreq ARFCN-ValueNR,
- measResultServingCell MeasResultNR,
- measResultBestNeighServingCell MeasResultNR OPTIONAL
+-- TAG-DOWNLINKPREEMPTION-STOP
+-- TAG-DRB-IDENTITY-START
+
+DRB-Identity ::= INTEGER (1..32)
+
+-- TAG-DRB-IDENTITY-STOP
+-- TAG-EUTRA-MBSFN-SUBFRAMECONFIGLIST-START
+
+EUTRA-MBSFN-SubframeConfigList ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF EUTRA-MBSFN-SubframeConfig
+
+EUTRA-MBSFN-SubframeConfig ::= SEQUENCE {
+ -- Field as defined in MBSFN-SubframeConfig in 36.331
+ radioframeAllocationPeriod ENUMERATED {n1, n2, n4, n8, n16, n32},
+ -- Field as defined in MBSFN-SubframeConfig in 36.331
+ radioframeAllocationOffset INTEGER (0..7),
+ -- Field as defined in MBSFN-SubframeConfig in 36.331
+ subframeAllocation CHOICE {
+ -- Field as defined in MBSFN-SubframeConfig in 36.331
+ oneFrame BIT STRING (SIZE(6)),
+ -- Field as defined in MBSFN-SubframeConfig in 36.331
+ fourFrames BIT STRING (SIZE(24))
+ },
+ subframeAllocation-v1430 CHOICE {
+ -- Field as defined in MBSFN-SubframeConfig in 36.331
+ oneFrame-v1430 BIT STRING (SIZE(2)),
+ -- Field as defined in MBSFN-SubframeConfig in 36.331
+ fourFrames-v1430 BIT STRING (SIZE(8))
+ } OPTIONAL, -- Need R
+ ...
}
-MeasResultList2NR ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2NR
+-- TAG-EUTRA-MBSFN-SUBFRAMECONFIGLIST-STOP
-MeasResult2NR ::= SEQUENCE {
- carrierFreq ARFCN-ValueNR,
- measResult MeasResultListNR
+FilterCoefficient ::= ENUMERATED {
+ fc0, fc1, fc2, fc3, fc4, fc5,
+ fc6, fc7, fc8, fc9, fc11, fc13,
+ fc15, fc17, fc19, spare1, ...}
+
+-- TAG-FREQBANDINDICATORNR-START
+
+FreqBandIndicatorNR ::= INTEGER (1..1024)
+
+-- TAG-FREQBANDINDICATORNR-STOP
+-- TAG-FREQUENCY-INFO-DL-START
+
+FrequencyInfoDL ::= SEQUENCE {
+ -- Frequency of the SSB to be used for this serving cell. The frequency provided in this field identifies the position of
+ -- resource element RE=#0 (subcarrier #0) of resource block RB#10 of the SS block. The cell-defining SSB of an SpCell is always on
+ -- the sync raster. Frequencies are considered to be on the sync raster if they are also identifiable with a GSCN value (see 38.101).
+ absoluteFrequencySSB ARFCN-ValueNR,
+ -- The frequency domain offset between SSB and the overall resource block grid in number of subcarriers.
+ -- Absence of the field indicates that no offset is applied (offset = 0). For FR2 only values up to 11 are applicable.
+ -- Corresponds to L1 parameter kssb (See 38.211, section 7.4.3.1)
+ ssb-SubcarrierOffset INTEGER (1..23) OPTIONAL, -- Need S
+ -- List of one or multiple frequency bands to which this carrier(s) belongs. Multiple values are only supported in
+ -- system information but not when the FrequencyInfoDL is provided in dedicated signalling (HO or S(p)Cell addition).
+ frequencyBandList MultiFrequencyBandListNR,
+ -- Absolute frequency position of the reference resource block (Common RB 0). Its lowest subcarrier is also known as Point A.
+ -- Note that the lower edge of the actual carrier is not defined by this field but rather in the scs-SpecificCarrierList.
+ -- Corresponds to L1 parameter 'offset-ref-low-scs-ref-PRB' (see 38.211, section FFS_Section)
+ absoluteFrequencyPointA ARFCN-ValueNR,
+
+ -- A set of carriers for different subcarrier spacings (numerologies). Defined in relation to Point A.
+ -- Corresponds to L1 parameter 'offset-pointA-set' (see 38.211, section FFS_Section)
+ scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,
+ ...
}
--- TAG-FAILURE-REPORT-SCG-TO-OTHER-RAT-STOP
+-- TAG-FREQUENCY-INFO-UL-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
+ -- List of one or multiple frequency bands to which this carrier(s) belongs. Multiple values are only supported in
+ -- system information but not when the FrequencyInfoDL is provided in dedicated signalling (HO or S(p)Cell addition).
+ frequencyBandList MultiFrequencyBandListNR OPTIONAL, -- Cond FDD-OrSUL
+ -- Absolute frequency of the reference resource block (Common RB 0). Its lowest subcarrier is also known as Point A.
+ -- Corresponds to L1 parameter 'offset-ref-low-scs-ref-PRB' (see 38.211, section FFS_Section)
+ absoluteFrequencyPointA ARFCN-ValueNR OPTIONAL, -- Cond FDD-OrSUL
+ -- A set of virtual carriers for different subcarrier spacings (numerologies). Defined in relation to Point A.
+ -- Note that the lower edge of the actual carrier is not defined by this field but rather in the scs-SpecificCarrierList.
+ -- Corresponds to L1 parameter 'offset-pointA-set' (see 38.211, section FFS_Section)
+ scs-SpecificCarriers SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,
+
+ -- The additional spectrum emission requirements to be applied by the UE on this uplink.
+ -- If the field is absent, the UE applies the value FFS_RAN4. (see FFS_section, section FFS_Section)
+ additionalSpectrumEmission AdditionalSpectrumEmission OPTIONAL, -- Need S
+ -- FFS_Definition. Corresponds to parameter FFS_RAN4. (see FFS_Spec, section FFS_Section)
+ -- If the field is absent, the UE applies the value FFS_RAN4.
+ p-Max P-Max OPTIONAL, -- Need S
+ -- Enable the NR UL transmission with a 7.5KHz shift to the LTE raster. If the field is absent, the frequency shift is disabled.
+ frequencyShift7p5khz ENUMERATED {true} OPTIONAL, -- Cond FDD-OrSUL-Optional
+ ...
}
-- TAG-FREQUENCY-INFO-UL-STOP
+-- TAG-GSCN-VALUE-NR-START
+
+GSCN-ValueNR ::= INTEGER (1..28557)
+
+
+-- TAG-GSCN-VALUE-NR-STOP
+
+Hysteresis ::= INTEGER (0..30)
+
-- TAG-LOGICAL-CHANNEL-CONFIG-START
LogicalChannelConfig ::= SEQUENCE {
@@ -792,137 +1493,127 @@ LogicalChannelConfig ::= SEQUENCE {
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,
+ allowedServingCells SEQUENCE (SIZE (1..maxNrofServingCells-1)) OF ServCellIndex OPTIONAL, -- Need R
+ allowedSCS-List SEQUENCE (SIZE (1..maxSCSs)) OF SubcarrierSpacing OPTIONAL, -- Need R
+ maxPUSCH-Duration ENUMERATED { ms0p02, ms0p04, ms0p0625, ms0p125, ms0p25, ms0p5, spare2, spare1 } OPTIONAL, -- Need R
+ configuredGrantType1Allowed ENUMERATED {true} OPTIONAL, -- Need R
+ logicalChannelGroup INTEGER (0..maxLCG-ID) OPTIONAL, -- Need R
+ schedulingRequestID SchedulingRequestId OPTIONAL, -- Need R
logicalChannelSR-Mask BOOLEAN,
-
logicalChannelSR-DelayTimerApplied BOOLEAN
- } OPTIONAL -- Cond UL
+ } 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
+ drx-Config CHOICE {release NULL, setup DRX-Config } OPTIONAL, -- Need M
+
+ schedulingRequestConfig SchedulingRequestConfig OPTIONAL, -- Need M
+ bsr-Config BSR-Config OPTIONAL, -- Need M
+ tag-Config TAG-Config OPTIONAL, -- Need M
+ phr-Config CHOICE {release NULL, setup PHR-Config } OPTIONAL, -- Need M
-- 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,
+ skipUplinkTxDynamic BOOLEAN,
+ -- RNTI value for downlink SPS (see SPS-config) and uplink configured scheduling (see ConfiguredSchedulingConfig).
+ cs-RNTI CHOICE {release NULL, setup RNTI-Value } OPTIONAL -- Need M
+}
+
+DRX-Config ::= SEQUENCE {
+ drx-onDurationTimer CHOICE {
+ subMilliSeconds INTEGER (1..31),
+ milliSeconds ENUMERATED {
+ ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60,
+ ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200,
+ ms1600, 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,
+ sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9,
+ spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1},
+ drx-RetransmissionTimerUL ENUMERATED {
+ sl0, sl1, sl2, sl4, sl6, sl8, sl16, sl24, sl33, sl40, sl64, sl80, sl96, sl112, sl128,
+ sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9,
+ spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 },
+ drx-LongCycleStartOffset CHOICE {
+ ms10 INTEGER(0..9),
+ ms20 INTEGER(0..19),
+ ms32 INTEGER(0..31),
+ ms40 INTEGER(0..39),
+ ms60 INTEGER(0..59),
+ ms64 INTEGER(0..63),
+ ms70 INTEGER(0..69),
+ ms80 INTEGER(0..79),
+ ms128 INTEGER(0..127),
+ ms160 INTEGER(0..159),
+ ms256 INTEGER(0..255),
+ ms320 INTEGER(0..319),
+ ms512 INTEGER(0..511),
+ ms640 INTEGER(0..639),
+ ms1024 INTEGER(0..1023),
+ ms1280 INTEGER(0..1279),
+ ms2048 INTEGER(0..2047),
+ ms2560 INTEGER(0..2559),
+ ms5120 INTEGER(0..5119),
+ ms10240 INTEGER(0..10239)
+ },
+ -- FFS need for finer offset granulary
+ -- FFS need for shorter values for long and short cycles
+ shortDRX SEQUENCE {
+ drx-ShortCycle ENUMERATED {
+ ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32,
+ ms35, ms40, ms64, ms80, ms128, ms160, ms256, ms320, ms512, ms640, spare9,
spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 },
- -- 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}
- }
+ drx-ShortCycleTimer INTEGER (1..16)
+ } OPTIONAL, -- Need R
+ drx-SlotOffset INTEGER (0..31)
+
+}
+
+PHR-Config ::= SEQUENCE {
+ phr-PeriodicTimer ENUMERATED {sf10, sf20, sf50, sf100, sf200,sf500, sf1000, infinity},
+ phr-ProhibitTimer ENUMERATED {sf0, sf10, sf20, sf50, sf100,sf200, sf500, sf1000},
+ phr-Tx-PowerFactorChange ENUMERATED {dB1, dB3, dB6, infinity},
+ multiplePHR BOOLEAN,
+ phr-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 OPTIONAL, -- Need N
+ tag-ToAddModList SEQUENCE (SIZE (1..maxNrofTAGs)) OF TAG-ToAddMod 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)
+TAG-Id ::= INTEGER (0..maxNrofTAGs-1)
-TimeAlignmentTimer ::= ENUMERATED {ms500, ms750, ms1280, ms1920, ms2560, ms5120,ms10240, infinity}
+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
+ retxBSR-Timer ENUMERATED { sf10, sf20, sf40, sf80, sf160, sf320, sf640, sf1280, sf2560, sf5120, sf10240, spare5, spare4,
+ spare3, spare2, spare1},
+ logicalChannelSR-DelayTimer ENUMERATED { sf20, sf40, sf64, sf128, sf512, sf1024, sf2560, spare1} OPTIONAL -- Need R
}
@@ -932,37 +1623,54 @@ BSR-Config ::= SEQUENCE {
MeasConfig ::= SEQUENCE {
-- Measurement objects
- measObjectToRemoveList MeasObjectToRemoveList OPTIONAL,
- measObjectToAddModList MeasObjectToAddModList OPTIONAL,
+ measObjectToRemoveList MeasObjectToRemoveList OPTIONAL, -- Need N
+ measObjectToAddModList MeasObjectToAddModList OPTIONAL, -- Need N
-- Reporting configurations
- reportConfigToRemoveList ReportConfigToRemoveList OPTIONAL,
- reportConfigToAddModList ReportConfigToAddModList OPTIONAL,
+ reportConfigToRemoveList ReportConfigToRemoveList OPTIONAL, -- Need N
+ reportConfigToAddModList ReportConfigToAddModList OPTIONAL, -- Need N
-- Measurement identities
- measIdToRemoveList MeasIdToRemoveList OPTIONAL,
- measIdToAddModList MeasIdToAddModList OPTIONAL,
+ measIdToRemoveList MeasIdToRemoveList OPTIONAL, -- Need N
+ measIdToAddModList MeasIdToAddModList OPTIONAL, -- Need N
-- Other parameters
- -- s-Measure config
+ --s-Measure config
s-MeasureConfig CHOICE {
- ssb-rsrp RSRP-Range,
- csi-rsrp RSRP-Range
- } OPTIONAL,
+ ssb-RSRP RSRP-Range,
+ csi-RSRP RSRP-Range
+ } OPTIONAL, -- Need M
- quantityConfig QuantityConfig OPTIONAL,
+ quantityConfig QuantityConfig OPTIONAL, -- Need M
- -- Placehold for measGapConfig
- measGapConfig MeasGapConfig OPTIONAL
+ --Placehold for measGapConfig
+ measGapConfig MeasGapConfig OPTIONAL, -- Need M
+ ...
}
MeasObjectToRemoveList ::= SEQUENCE (SIZE (1..maxNrofObjectId)) OF MeasObjectId
MeasIdToRemoveList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasId
-ReportConfigToRemoveList ::= SEQUENCE (SIZE (1..maxNrofReportConfigId)) OF ReportConfigId
+ReportConfigToRemoveList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigId
-- TAG-MEAS-CONFIG-STOP
+--TAG-MEAS-GAP-CONFIG-START
+
+MeasGapConfig ::= SEQUENCE {
+ gapFR2 CHOICE {release NULL, setup GapConfig } OPTIONAL,
+ ...
+}
+
+GapConfig ::= SEQUENCE {
+ gapOffset INTEGER (0..159),
+ mgl ENUMERATED {ms1dot5, ms3, ms3dot5, ms4, ms5dot5, ms6},
+ mgrp ENUMERATED {ms20, ms40, ms80, ms160},
+ mgta ENUMERATED {ms0, ms0dot25, ms0dot5},
+ ...
+}
+
+-- TAG-MEAS-GAP-CONFIG-STOP
-- TAG-MEAS-ID-START
MeasId ::= INTEGER (1..maxNrofMeasId)
@@ -974,7 +1682,7 @@ MeasIdToAddModList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasIdToAddMod
MeasIdToAddMod ::= SEQUENCE {
measId MeasId,
- measObjectId MeasObjectId OPTIONAL,
+ measObjectId MeasObjectId,
reportConfigId ReportConfigId
}
@@ -987,67 +1695,68 @@ MeasObjectId ::= INTEGER (1..maxNrofObjectId)
-- TAG-MEAS-OBJECT-NR-START
MeasObjectNR ::= SEQUENCE {
- carrierFreq ARFCN-ValueNR,
+ ssbFrequency ARFCN-ValueNR OPTIONAL,
+ refFreqCSI-RS ARFCN-ValueNR OPTIONAL,
--RS configuration (e.g. SMTC window, CSI-RS resource, etc.)
- referenceSignalConfig ReferenceSignalConfig OPTIONAL,
+ referenceSignalConfig ReferenceSignalConfig,
--Consolidation of L1 measurements per RS index
- absThreshSS-BlocksConsolidation ThresholdNR OPTIONAL,
- absThreshCSI-RS-Consolidation ThresholdNR OPTIONAL,
+ absThreshSS-BlocksConsolidation ThresholdNR OPTIONAL, -- Need R
+ absThreshCSI-RS-Consolidation ThresholdNR OPTIONAL, -- Need R
--Config for cell measurement derivation
- nroSS-BlocksToAverage INTEGER (2..maxNroSS-BlocksToAverage) OPTIONAL,
- nroCSI-RS-ResourcesToAverage INTEGER (2..maxNroCSI-RS-ResourcesToAverage) OPTIONAL,
+ nrofSS-BlocksToAverage INTEGER (2..maxNrofSS-BlocksToAverage) OPTIONAL, -- Need R
+ nrofCSI-RS-ResourcesToAverage INTEGER (2..maxNrofCSI-RS-ResourcesToAverage) OPTIONAL, -- Need R
-- Filter coefficients applicable to this measurement object
- quantityConfigIndex INTEGER (1..maxQuantityConfigId),
+ quantityConfigIndex INTEGER (1..maxNrofQuantityConfig),
- --Frequency-specific offsets (only for events A3, A6)
+ --Frequency-specific offsets
offsetFreq Q-OffsetRangeList,
-- Cell list
- cellsToRemoveList CellIndexList OPTIONAL,
- cellsToAddModList CellsToAddModList OPTIONAL,
+ cellsToRemoveList PCI-List OPTIONAL, -- Need N
+ cellsToAddModList CellsToAddModList OPTIONAL, -- Need N
-- Black list
- blackCellsToRemoveList CellIndexList OPTIONAL,
- blackCellsToAddModList BlackCellsToAddModList OPTIONAL,
+ blackCellsToRemoveList PCI-RangeIndexList OPTIONAL, -- Need N
+ blackCellsToAddModList BlackCellsToAddModList OPTIONAL, -- Need N
-- White list
- whiteCellsToRemoveList CellIndexList OPTIONAL,
- whiteCellsToAddModList WhiteCellsToAddModList OPTIONAL
+ whiteCellsToRemoveList PCI-RangeIndexList OPTIONAL, -- Need N
+ whiteCellsToAddModList WhiteCellsToAddModList OPTIONAL, -- Need N
+ ...
}
--- FFS / TODO: To be updated based on email discussion[99#31][NR] Additional information for SSB and CSI-RS config (Ericsson)
-ReferenceSignalConfig::= SEQUENCE {
+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
- }
- },
+ -- SSB configuration for mobility (nominal SSBs, timing configuration)
+ ssb-ConfigMobility SSB-ConfigMobility OPTIONAL, -- Need M
+ -- CSI-RS resources to be used for CSI-RS based RRM measurements
+ csi-rs-ResourceConfigMobility CHOICE {release NULL, setup CSI-RS-ResourceConfigMobility } OPTIONAL-- Need M
- -- 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 {
+SSB-ConfigMobility::= SEQUENCE {
+ --Only the values 15, 30 or 60 kHz (<6GHz), 60 or 120 kHz (>6GHz) are applicable
+ subcarrierSpacing SubcarrierSpacing,
+ -- 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 SSB-ToMeasure } OPTIONAL, -- Need M
+
+ -- Indicates whether the UE can utilize serving cell timing to derive the index of SS block transmitted by neighbour cell:
+ useServingCellTimingForSync BOOLEAN,
+
-- 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!
+ -- FFS_FIXME: This does not match the L1 parameter table! They seem to intend an index to a hidden table in L1 specs.
-- (see 38.213, section REF):
periodicityAndOffset CHOICE {
sf5 INTEGER (0..4),
@@ -1059,72 +1768,103 @@ SSB-MeasurementTimingConfiguration ::= SEQUENCE {
},
-- 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
+ duration ENUMERATED { sf1, sf2, sf3, sf4, sf5 }
},
-- 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,
+ pci-List SEQUENCE (SIZE (1..maxNrofPCIsPerSMTC)) OF PhysCellId OPTIONAL, -- Need M
-- Periodicity for the given PCIs. Timing offset and Duration as provided in smtc1.
- periodicty NULL -- WS modification: was TYPE_FFS!
- } OPTIONAL -- Cond IntraFreqConnected
+ periodicity ENUMERATED {sf5, sf10, sf20, sf40, sf80, sf160, spare2, spare1}
+ } OPTIONAL,-- Cond IntraFreqConnected
+ ss-RSSI-Measurement SEQUENCE {
+ measurementSlots CHOICE {
+ kHz15 BIT STRING (SIZE(1)),
+ kHz30 BIT STRING (SIZE(2)),
+ kHz60 BIT STRING (SIZE(4)),
+ kHz120 BIT STRING (SIZE(8))
+ },
+ endSymbol INTEGER(0..13)
+ } OPTIONAL
}
-CSI-RS-ResourceConfig-Mobility ::= SEQUENCE {
+CSI-RS-ResourceConfigMobility ::= 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
+ isServingCellMO BOOLEAN,
+ -- Subcarrier spacing of CSI-RS.
+ -- Only the values 15, 30 or 60 kHz (<6GHz), 60 or 120 kHz (>6GHz) are applicable.
+ -- Corresponds to L1 parameter 'Numerology' (see 38.211, section FFS_Section)
subcarrierSpacing SubcarrierSpacing,
+ -- List of cells
+ csi-RS-CellList-Mobility SEQUENCE (SIZE (1..maxNrofCSI-RS-CellsRRM)) OF CSI-RS-CellMobility
+
+}
+
+CSI-RS-CellMobility ::= SEQUENCE {
+ cellId PhysCellId,
+
+ csi-rs-MeasurementBW SEQUENCE {
+ -- Allowed size of the measurement BW in PRBs
+ -- Corresponds to L1 parameter 'CSI-RS-measurementBW-size' (see FFS_Spec, section FFS_Section)
+ nrofPRBs ENUMERATED { size24, size48, size96, size192, size264},
+ -- Starting PRB index of the measurement bandwidth
+ -- Corresponds to L1 parameter 'CSI-RS-measurement-BW-start' (see FFS_Spec, section FFS_Section)
+ -- FFS_Value: Upper edge of value range unclear in RAN1
+ startPRB INTEGER(0..2169)
+ },
+
+ -- Frequency domain density for the 1-port CSI-RS for L3 mobility
+ -- Corresponds to L1 parameter 'Density' (see FFS_Spec, section FFS_Section)
+ density ENUMERATED {d1,d3} OPTIONAL,
- -- List of resources
+
+-- 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,
+
+CSI-RS-Resource-Mobility ::= SEQUENCE {
+ csi-RS-Index CSI-RS-Index,
-- 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)
+ ms4 INTEGER (0..31),
+ ms5 INTEGER (0..39),
+ ms10 INTEGER (0..79),
+ ms20 INTEGER (0..159),
+ ms40 INTEGER (0..319)
},
- -- 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!
+ -- Each CSI-RS resource may be associated with one SSB. If such SSB is indicated, the NW also indicates whether the UE may assume
+ -- quasi-colocation of this SSB with this CSI-RS reosurce.
+ -- Corresponds to L1 parameter 'Associated-SSB' (see FFS_Spec, section FFS_Section)
+
+ associatedSSB SEQUENCE {
+ ssb-Index SSB-Index,
+ -- The CSI-RS resource is either QCL’ed not QCL’ed with the associated SSB in spatial parameters
+ -- Corresponds to L1 parameter 'QCLed-SSB' (see FFS_Spec, section FFS_Section)
+ isQuasiColocated BOOLEAN
+ } OPTIONAL, -- Cond AssociatedSSB
+
+
+ -- Frequency domain allocation within a physical resource block in accordance with 38.211, section 7.4.1.5.3 including table 7.4.1.5.2-1.
+ -- The number of bits that may be set to one depend on the chosen row in that table. For the choice "other", the row can be determined from
+ -- the parmeters below and from the number of bits set to 1 in frequencyDomainAllocation.
+ frequencyDomainAllocation CHOICE {
+ row1 BIT STRING (SIZE (4)),
+ row2 BIT STRING (SIZE (12))
+ },
+
+
+ -- Time domain allocation within a physical resource block. The field indicates the first OFDM symbol in the PRB used for CSI-RS.
+ -- Parameter l0 in 38.211, section 7.4.1.5.3. Value 2 is supported only when DL-DMRS-typeA-pos equals 3.
+ firstOFDMSymbolInTimeDomain INTEGER (0..13),
+ -- Scrambling ID for CSI-RS(see 38.211, section 7.4.1.5.2)
+ sequenceGenerationConfig INTEGER (0..1023),
+ ...
}
-CSI-RS-ResourceId-RRM ::= INTEGER (0..maxNrofCSI-RS-ResourcesRRM-1)
+CSI-RS-Index ::= INTEGER (0..maxNrofCSI-RS-ResourcesRRM-1)
Q-OffsetRangeList ::= SEQUENCE {
rsrpOffsetSSB Q-OffsetRange DEFAULT dB0,
@@ -1135,33 +1875,42 @@ Q-OffsetRangeList ::= SEQUENCE {
sinrOffsetCSI-RS Q-OffsetRange DEFAULT dB0
}
+SSB-ToMeasure ::= 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))
+}
+
+
ThresholdNR ::= SEQUENCE{
- threshold-RSRP RSRP-Range OPTIONAL,
- threshold-RSRQ RSRQ-Range OPTIONAL,
- threshold-SINR SINR-Range OPTIONAL
+ thresholdRSRP RSRP-Range OPTIONAL,
+ thresholdRSRQ RSRQ-Range OPTIONAL,
+ thresholdSINR 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
+BlackCellsToAddModList ::= SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF BlackCellsToAddMod
BlackCellsToAddMod ::= SEQUENCE {
- cellIndex INTEGER (1..maxNrofCellMeas),
- physCellIdRange PhysCellIdRange
+ pci-RangeIndex PCI-RangeIndex,
+ pci-Range PCI-Range
}
-WhiteCellsToAddModList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF WhiteCellsToAddMod
+WhiteCellsToAddModList ::= SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF WhiteCellsToAddMod
WhiteCellsToAddMod ::= SEQUENCE {
- cellIndex INTEGER (1..maxNrofCellMeas),
- physCellIdRange PhysCellIdRange
+ pci-RangeIndex PCI-RangeIndex,
+ pci-Range PCI-Range
}
-- TAG-MEAS-OBJECT-NR-STOP
@@ -1173,7 +1922,7 @@ MeasObjectToAddMod ::= SEQUENCE {
measObjectId MeasObjectId,
measObject CHOICE {
measObjectNR MeasObjectNR,
- measObjectEUTRA MeasObjectEUTRA
+ ...
}
}
@@ -1185,251 +1934,274 @@ MeasResults ::= SEQUENCE {
measResultServingFreqList MeasResultServFreqList,
measResultNeighCells CHOICE {
measResultListNR MeasResultListNR,
- measResultListEUTRA MeasResultListEUTRA,
...
- } OPTIONAL
+ } OPTIONAL,
+ ...
}
-MeasResultServFreqList ::= SEQUENCE (SIZE (1..maxServCell)) OF MeasResultServFreq
+MeasResultServFreqList ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF MeasResultServFreq
MeasResultServFreq ::= SEQUENCE {
- servFreqId ServCellIndex OPTIONAL,
+ servFreqId ServCellIndex,
measResultServingCell MeasResultNR,
- measResultBestNeighCell 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!
+ cgi-Info ENUMERATED {ffsTypeAndValue} OPTIONAL,
measResult SEQUENCE {
cellResults SEQUENCE{
- resultsSSBCell ResultsSSBCell OPTIONAL,
- resultsCSI-RSCell ResultsCSI-RSCell OPTIONAL
+ resultsSSB-Cell MeasQuantityResults OPTIONAL,
+ resultsCSI-RS-Cell MeasQuantityResults OPTIONAL
},
rsIndexResults SEQUENCE{
- resultsSSBIndexes ResultsPerSSBIndexList OPTIONAL,
- resultsCSI-RSIndexes ResultsPerCSI-RSIndexList OPTIONAL
+ resultsSSB-Indexes ResultsPerSSB-IndexList OPTIONAL,
+ resultsCSI-RS-Indexes ResultsPerCSI-RS-IndexList 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
+MeasQuantityResults ::= SEQUENCE {
+ rsrp RSRP-Range OPTIONAL,
+ rsrq RSRQ-Range OPTIONAL,
+ sinr SINR-Range OPTIONAL
}
-ResultsPerSSBIndexList ::= SEQUENCE (SIZE (1..maxNroSSBs)) OF ResultsPerSSBIndex
+ResultsPerSSB-IndexList::= SEQUENCE (SIZE (1..maxNrofSSBs)) OF ResultsPerSSB-Index
-ResultsPerSSBIndex ::= SEQUENCE {
+ResultsPerSSB-Index ::= SEQUENCE {
ssb-Index SSB-Index,
- ss-rsrp RSRP-Range OPTIONAL,
- ss-rsrq RSRQ-Range OPTIONAL,
- ss-sinr SINR-Range OPTIONAL
+ ssb-Results MeasQuantityResults OPTIONAL
}
-ResultsPerCSI-RSIndexList ::= SEQUENCE (SIZE (1..maxNroCSI-RS)) OF ResultsPerCSI-RSIndex
+ResultsPerCSI-RS-IndexList::= SEQUENCE (SIZE (1..maxNrofCSI-RS)) OF ResultsPerCSI-RS-Index
-ResultsPerCSI-RSIndex ::= SEQUENCE {
- csi-rsIndex CSI-RSIndex,
- csi-rsrp RSRP-Range OPTIONAL,
- csi-rsrq RSRQ-Range OPTIONAL,
- csi-sinr SINR-Range OPTIONAL
+ResultsPerCSI-RS-Index ::= SEQUENCE {
+ csi-RS-Index CSI-RS-Index,
+ csi-RS-Results MeasQuantityResults OPTIONAL
}
-- TAG-MEAS-RESULTS-STOP
--- TAG-PDCCH-CONFIG-START
+-- TAG-MEAS-RESULT-SCG-FAILURE-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,
+MeasResultSCG-Failure ::= SEQUENCE {
+ measResultServFreqList MeasResultServFreqList2NR,
+ measResultNeighCells MeasResultList2NR,
+ ...
+}
- searchSpacesToAddModList SEQUENCE(SIZE (1..maxNrofSearchSpaces)) OF SearchSpace OPTIONAL,
- searchSpacesToReleaseList SEQUENCE(SIZE (1..maxNrofSearchSpaces)) OF SearchSpaceId OPTIONAL,
+MeasResultServFreqList2NR ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF MeasResultServFreq2NR
+MeasResultServFreq2NR ::= SEQUENCE {
+ ssbFrequency ARFCN-ValueNR OPTIONAL,
+ refFreqCSI-RS ARFCN-ValueNR OPTIONAL,
+ measResultServingCell MeasResultNR,
+ measResultBestNeighCell MeasResultNR 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
+MeasResultList2NR ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2NR
+MeasResult2NR ::= SEQUENCE {
+ ssbFrequency ARFCN-ValueNR OPTIONAL,
+ refFreqCSI-RS ARFCN-ValueNR OPTIONAL,
+ measResultListNR MeasResultListNR
}
--- 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,
+-- TAG-MEAS-RESULT-SCG-FAILURE-STOP
+-- TAG-MEASRESULT-CELL-LIST-SFTD-START
- -- 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,
+MeasResultCellListSFTD ::= SEQUENCE (SIZE (1..maxCellSFTD)) OF MeasResultCellSFTD
- -- 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
+MeasResultCellSFTD ::= SEQUENCE {
+ physCellId PhysCellId,
+ sfn-OffsetResult INTEGER (0..1023),
+ frameBoundaryOffsetResult INTEGER (-30720..30719),
+ rsrp-Result RSRP-Range OPTIONAL
}
--- ID of a Control Resource Set.
-ControlResourceSetId ::= INTEGER (0..maxNrofControlResourceSets-1)
+-- TAG-MEASRESULT-CELL-LIST-SFTD-STOP
+-- TAG-MULTIFREQUENCYBANDLISTNR-START
--- 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,
+MultiFrequencyBandListNR ::= SEQUENCE (SIZE (1..maxNrofMultiBands)) OF FreqBandIndicatorNR
- -- 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,
+-- TAG-MULTIFREQUENCYBANDLISTNR-STOP
+-- TAG-NZP-CSI-RS-RESOURCESET-START
+NZP-CSI-RS-ResourceSet ::= SEQUENCE {
+ nzp-CSI-ResourceSetId NZP-CSI-RS-ResourceSetId,
- -- 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,
+ -- NZP-CSI-RS-Resources assocaited with this NZP-CSI-RS resource set.
+ -- Corresponds to L1 parameter 'CSI-RS-ResourceConfigList' (see 38.214, section 5.2)
+ -- For CSI, there are at most 8 NZP CSI RS resources per resource set
+ nzp-CSI-RS-Resources SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourcesPerSet)) OF NZP-CSI-RS-ResourceId,
+
+ -- Indicates whether repetition is on/off. If set to set to 'OFF', the UE may not assume that the
+ -- NZP-CSI-RS resources within the resource set are transmitted with the same downlink spatial domain transmission filter
+ -- and with same NrofPorts in every symbol.
+ -- Corresponds to L1 parameter 'CSI-RS-ResourceRep' (see 38.214, sections 5.2.2.3.1 and 5.1.6.1.2)
+ -- Can only be configured for CSI-RS resource sets which are associated with CSI-ReportConfig with report of L1 RSRP or “no report”
+ repetition ENUMERATED { on, off } OPTIONAL,
+
+ -- Offset X between the slot containing the DCI that triggers a set of aperiodic NZP CSI-RS resources and the slot in which the
+ -- CSI-RS resource set is transmitted. When the field is absent the UE applies the value 0.
+ -- Corresponds to L1 parameter 'Aperiodic-NZP-CSI-RS-TriggeringOffset' (see 38,214, section FFS_Section)
+ aperiodicTriggeringOffset INTEGER(0..4) OPTIONAL, -- Need S
+
+ -- Indicates that the antenna port for all NZP-CSI-RS resources in the CSI-RS resource set is same.
+ -- Corresponds to L1 parameter 'TRS-Info' (see 38.214, section 5.2.2.3.1)
+ trs-Info ENUMERATED {true} 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,
+-- TAG-NZP-CSI-RS-RESOURCESET-STOP
+-- TAG-NZP-CSI-RS-RESOURCESETID-START
+NZP-CSI-RS-ResourceSetId ::= INTEGER (0..maxNrofNZP-CSI-RS-ResourceSets-1)
- -- 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}
- },
+-- TAG-NZP-CSI-RS-RESOURCESETID-STOP
+-- TAG-NZP-CSI-RS-RESOURCE-START
+NZP-CSI-RS-Resource ::= SEQUENCE {
+ nzp-CSI-RS-ResourceId NZP-CSI-RS-ResourceId,
+
+ -- OFDM symbol location(s) in a slot and subcarrier occupancy in a PRB of the CSI-RS resource
+ resourceMapping CSI-RS-ResourceMapping,
+ -- Power offset of NZP CSI-RS RE to PDSCH RE. Value in dB. Corresponds to L1 parameter Pc (see 38.214, sections 5.2.2.3.1 and 4.1)
+ powerControlOffset INTEGER(-8..15),
+ -- Power offset of NZP CSI-RS RE to SS RE. Value in dB. Corresponds to L1 parameter 'Pc_SS' (see 38.214, section 5.2.2.3.1)
+ powerControlOffsetSS ENUMERATED{db-3, db0, db3, db6} OPTIONAL,
+ -- Scrambling ID (see 38.214, section 5.2.2.3.1)
+ scramblingID ScramblingId,
+
+ -- Periodicity and slot offset sl1 corresponds to a periodicity of 1 slot, sl2 to a periodicity of two slots, and so on.
+ -- The corresponding offset is also given in number of slots. Corresponds to L1 parameter 'CSI-RS-timeConfig' (see 38.214, section 5.2.2.3.1)
+ periodicityAndOffset CSI-ResourcePeriodicityAndOffset OPTIONAL, --Cond PeriodicOrSemiPersistent
+
+ -- For a target periodic CSI-RS, contains a reference to one TCI-State in TCI-States for providing the QCL source and
+ -- QCL type. For periodic CSI-RS, the source can be SSB or another periodic-CSI-RS.
+ -- Corresponds to L1 parameter 'QCL-Info-PeriodicCSI-RS' (see 38.214, section 5.2.2.3.1)
+ qcl-InfoPeriodicCSI-RS TCI-StateId OPTIONAL, --Cond Periodic
+ ...
+}
+-- TAG-NZP-CSI-RS-RESOURCE-STOP
+-- TAG-NZP-CSI-RS-RESOURCEID-START
+NZP-CSI-RS-ResourceId ::= INTEGER (0..maxNrofNZP-CSI-RS-Resources-1)
+-- TAG-NZP-CSI-RS-RESOURCEID-STOP
+-- TAG-P-MAX-START
- -- 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
+P-Max ::= INTEGER (-30..33)
+
+-- TAG-P-MAX-STOP
+-- TAG-PCI-LIST-START
+
+PCI-List ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF PhysCellId
+
+-- TAG-PCI-LIST-STOP
+-- TAG-PCI-RANGE-START
+
+PCI-Range ::= SEQUENCE {
+ start PhysCellId,
+ range ENUMERATED {
+ n4, n8, n12, n16, n24, n32, n48, n64, n84,
+ n96, n128, n168, n252, n504, n1008,
+ spare1} OPTIONAL -- Need Nss
}
-SearchSpaceId ::= INTEGER (1..maxNrofSearchSpaces)
+-- TAG-PCI-RANGE-STOP
+-- TAG-PCI-RANGE-INDEX-START
--- Configuration of monitoring a Group-Common-PDCCH for Slot-Format-Indicators (SFI)
-SFI-PDCCH ::= SEQUENCE {
+PCI-RangeIndex ::= INTEGER (1..maxNrofPCI-Ranges)
- -- 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,
+-- TAG-PCI-RANGE-INDEX-STOP
+-- TAG-PCI-RANGE-INDEX-LIST-START
- -- 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},
+PCI-RangeIndexList ::= SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeIndex
- -- 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},
+-- TAG-PCI-Range-INDEX-LIST-STOP
+-- TAG-PDCCH-CONFIG-START
- -- 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,
+PDCCH-Config ::= SEQUENCE {
+ -- List of UE specifically configured Control Resource Sets (CORESETs) to be used by the UE.
+ -- The network configures at most 3 CORESETs per BWP per cell (including the initial CORESET).
+ controlResourceSetToAddModList SEQUENCE(SIZE (1..3)) OF ControlResourceSet OPTIONAL,
+ controlResourceSetToReleaseList SEQUENCE(SIZE (1..3)) OF ControlResourceSetId 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!
+ -- List of UE specifically configured Control Resource Sets (CORESETs).
+ -- The network configures at most 10 Search Spaces per BWP per cell (including the initial Search Space).
+ searchSpacesToAddModList SEQUENCE(SIZE (1..10)) OF SearchSpace OPTIONAL,
+ searchSpacesToReleaseList SEQUENCE(SIZE (1..10)) OF SearchSpaceId OPTIONAL,
- -- 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!
+ -- Configuration of downlink preemtption indications to be monitored in this cell.
+ -- Corresponds to L1 parameter 'Preemp-DL' (see 38.214, section 11.2)
+ -- FFS_RAN1: LS R1-1801281 indicates this is "Per Cell (but association with each configured BWP is needed)" => Unclear, keep on BWP for now.
+ downlinkPreemption CHOICE {release NULL, setup DownlinkPreemption } OPTIONAL, -- Need M
- -- 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
-}
+ -- Configuration of Slot-Format-Indicators to be monitored in this cell
--- 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.
+ -- FFS_RAN1 discusses still whether this SFI payload configuration is BWP- or Cell-Specific.
+ slotFormatIndicator CHOICE {release NULL, setup SlotFormatIndicator } OPTIONAL, -- Need M
+ -- Enable and configure reception of group TPC commands for PUSCH
+ tpc-PUSCH CHOICE {release NULL, setup PUSCH-TPC-CommandConfig } OPTIONAL, -- Need M
- -- 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
-}
+ -- Enable and configure reception of group TPC commands fpr PUCCH
+ tpc-PUCCH CHOICE {release NULL, setup PUCCH-TPC-CommandConfig } OPTIONAL, -- Cond PUCCH-CellOnly
-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-PDCCH-CONFIGCOMMON-START
+PDCCH-ConfigCommon ::= SEQUENCE {
--- TAG-PDCCH-CONFIG-STOP
+ -- A list of common control resource sets. Only CORESETs with ControlResourceSetId = 0 or 1 are allowed. The CORESET#0
+ -- corresponds to the CORESET configured in MIB (see pdcch-ConfigSIB1) and is used to provide that information to the UE
+ -- by dedicated signalling during handover and (P)SCell addition. The CORESET#1 may be configured an used for RAR
+ -- (see ra-ControlResourceSet).
+ commonControlResourcesSets SEQUENCE (SIZE(1..2)) OF ControlResourceSet OPTIONAL, -- Need R
+
+ -- A list of additional common search spaces.
+ commonSearchSpaces SEQUENCE (SIZE(1..4)) OF SearchSpace OPTIONAL, -- Need R
+
+ -- ID of the search space for SIB1 message.
+
+ -- Corresponds to L1 parameter 'rmsi-SearchSpace' (see 38.213, section 10)
+ searchSpaceSIB1 SearchSpaceId OPTIONAL, -- Need R
+ -- ID of the Search space for other system information, i.e., SIB2 and beyond.
+ -- Corresponds to L1 parameter 'osi-SearchSpace' (see 38.213, section 10)
+ -- If the field is absent, the monitoring occasions are derived as described in 38.213, section 10.1 and section 13.
+ searchSpaceOtherSystemInformation SearchSpaceId OPTIONAL, -- Need R
+
+ -- ID of the Search space for paging. Corresponds to L1 parameter 'paging-SearchSpace' (see 38.213, section 10)
+ -- If the field is absent, the monitoring occasions are derived as described in 38.213, section 10.1 and section 13.
+ pagingSearchSpace SearchSpaceId OPTIONAL, -- Need R
+
+ -- CORESET configured for random access. When the field is absent the UE uses the CORESET according to pdcch-ConfigSIB1
+ -- which is associated with ControlResourceSetId = 0.
+ -- Corresponds to L1 parameter 'rach-coreset-configuration' (see 38.211?, section FFS_Section)
+ ra-ControlResourceSet ControlResourceSetId OPTIONAL, -- Need S
+ -- ID of the Search space for random access procedure. Corresponds to L1 parameter 'ra-SearchSpace' (see 38.214?, section FFS_Section)
+ -- If the field is absent, the monitoring occasions are derived as described in 38.213, section 10.1 and section 13.
+ ra-SearchSpace SearchSpaceId OPTIONAL, -- Need R
+ ...
+
+}
+
+-- TAG-PDCCH-CONFIGCOMMON-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},
+ pdcp-SN-SizeUL ENUMERATED {len12bits, len18bits} OPTIONAL, -- Cond Setup2
+ pdcp-SN-SizeDL ENUMERATED {len12bits, len18bits} OPTIONAL, -- Cond Setup2
headerCompression CHOICE {
notUsed NULL,
rohc SEQUENCE {
@@ -1445,479 +2217,810 @@ PDCP-Config ::= SEQUENCE {
profile0x0103 BOOLEAN,
profile0x0104 BOOLEAN
},
- uplinkOnlyROHC SEQUENCE {
- maxCID INTEGER (1..16383) DEFAULT 15,
- profiles SEQUENCE {
- profile0x0006 BOOLEAN
- }
+ drb-ContinueROHC BOOLEAN
+ },
+ uplinkOnlyROHC SEQUENCE {
+ maxCID INTEGER (1..16383) DEFAULT 15,
+ profiles SEQUENCE {
+ profile0x0006 BOOLEAN
},
+ drb-ContinueROHC BOOLEAN
+ },
...
- }
},
-
- integrityProtection BOOLEAN,
-
- statusReportRequired BOOLEAN OPTIONAL -- Cond Rlc-AM
- } OPTIONAL, -- Cond DRB
+ integrityProtection ENUMERATED { enabled } OPTIONAL, -- Cond ConnectedTo5GC
+ statusReportRequired ENUMERATED { true } OPTIONAL, -- Cond Rlc-AM
+ outOfOrderDelivery BOOLEAN
+ } OPTIONAL, -- Cond DRB
-- FFS / TODO: Handle more than two secondary cell groups
moreThanOneRLC SEQUENCE {
primaryPath SEQUENCE {
- cellGroup CellGroupId,
- logicalChannel LogicalChannelIdentity
+ cellGroup CellGroupId OPTIONAL, -- Need R
+ logicalChannel LogicalChannelIdentity OPTIONAL -- Need R
},
- 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
+ ul-DataSplitThreshold UL-DataSplitThreshold OPTIONAL, -- Cond SplitBearer
+ pdcp-Duplication ENUMERATED { true } OPTIONAL -- Need R
+ } OPTIONAL, -- Cond MoreThanOneRLC
t-Reordering ENUMERATED {
- ms0, ms5, ms10, ms15, ms20, ms30, ms40, ms60, ms50, ms80, ms100, ms120, ms140, ms160, ms180, ms200, ms220,
+ ms0, ms1, ms2, ms4, ms5, ms8, ms10, ms15, ms20, ms30, ms40, ms50, ms60, ms80, ms100, ms120, ms140, ms160, ms180, ms200, ms220,
ms240, ms260, ms280, ms300, ms500, ms750, ms1000, ms1250, ms1500, ms1750, ms2000, ms2250, ms2500, ms2750,
- ms3000} OPTIONAL, -- Need R
+ ms3000, spare28, spare27, spare26, spare25, spare24, spare23, spare22, spare21, spare20,
+ spare19, spare18, spare17, spare16, spare15, spare14, spare13, spare12, spare11, spare10, spare09,
+ spare08, spare07, spare06, spare05, spare04, spare03, spare02, spare01 } OPTIONAL, -- Need S
+
- -- FFS: whether ms0 is the same like outOfOrderDelivery
- -- FFS: new values for t-Reordering
- outOfOrderDelivery BOOLEAN,
...
}
+UL-DataSplitThreshold ::= ENUMERATED {
+ b0, b100, b200, b400, b800, b1600, b3200, b6400, b12800, b25600, b51200, b102400, b204800,
+ b409600, b819200, b1228800, b1638400, b2457600, b3276800, b4096000, b4915200, b5734400,
+ b6553600, infinity, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1}
+
-- 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,
+ -- Identifer used to initalite data scrambling (c_init) for both PDSCH.
+ -- Corresponds to L1 parameter 'Data-scrambling-Identity' (see 38,214, section FFS_Section)
+ -- FFS:_Replace by tye ScramblingId used in other places?
+ dataScramblingIdentityPDSCH INTEGER (0..1007) OPTIONAL,
- -- 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!
+ -- DMRS configuration for PDSCH transmissions using PDSCH mapping type A (chosen dynamically via PDSCH-TimeDomainResourceAllocation).
+ dmrs-DownlinkForPDSCH-MappingTypeA CHOICE {release NULL, setup DMRS-DownlinkConfig } OPTIONAL, -- Need M
+ -- DMRS configuration for PDSCH transmissions using PDSCH mapping type B (chosen dynamically via PDSCH-TimeDomainResourceAllocation).
+ dmrs-DownlinkForPDSCH-MappingTypeB CHOICE {release NULL, setup DMRS-DownlinkConfig } OPTIONAL, -- Need M
- -- 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
+ -- A list of 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
- },
+ tci-StatesToAddModList SEQUENCE (SIZE(1..maxNrofTCI-States)) OF TCI-State OPTIONAL, -- Need N
+ tci-StatesToReleaseList SEQUENCE (SIZE(1..maxNrofTCI-States)) OF TCI-StateId OPTIONAL, -- Need N
+
+ -- Interleaving unit configurable between 2 and 4 PRBs
+ -- Corresponds to L1 parameter 'VRB-to-PRB-interleaver' (see 38.211, section 6.3.1.6)
+ vrb-ToPRB-Interleaver ENUMERATED {n2, n4},
+
+ -- Configuration of resource allocation type 0 and resource allocation type 1 for non-fallback DCI
+ -- Corresponds to L1 parameter 'Resouce-allocation-config' (see 38.214, section 5.1.2)
+ resourceAllocation ENUMERATED { resourceAllocationType0,
+resourceAllocationType1,
+dynamicSwitch},
+
+ -- List of time-domain configurations for timing of DL assignment to DL data. If configured, the values provided herein
+ -- override the values received in corresponding PDSCH-ConfigCommon.
+ pdsch-AllocationList SEQUENCE (SIZE(1..maxNrofDL-Allocations)) OF PDSCH-TimeDomainResourceAllocation OPTIONAL, -- Need R
+ -- Number of repetitions for data. Corresponds to L1 parameter 'aggregation-factor-DL' (see 38.214, section FFS_Section)
+ -- When the field is absent the UE applies the value 1
+ pdsch-AggregationFactor ENUMERATED { n2, n4, n8 } OPTIONAL, -- Need S
+
+ -- 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 'Resource-set-BWP' (see 38.214, section 5.1.2.2.3)
+ -- FFS: RAN1 indicates that there should be a set of patterns per cell and one per BWP => Having both seems unnecessary.
+
+ rateMatchPatternToAddModList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPattern OPTIONAL, -- Need N
+ rateMatchPatternToReleaseList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId OPTIONAL, -- Need N
+
+ -- The IDs of a first group of RateMatchPatterns defined in the rateMatchPatternToAddModList.
+ -- Corresponds to L1 parameter 'Resource-set-group-1'. (see 38.214, section FFS_Section)
+ rateMatchPatternGroup1 SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId OPTIONAL, -- Need R
+ -- The IDs of a second group of RateMatchPatterns defined in the rateMatchPatternToAddModList
+ -- Corresponds to L1 parameter 'Resource-set-group-2'. (see 38.214, section FFS_Section)
+ rateMatchPatternGroup2 SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId OPTIONAL, -- Need R
+
-- 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},
+ mcs-Table ENUMERATED {qam64, qam256},
-- 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'
+ -- Indicates the PRB bundle type and bundle size(s). If "dynamic" is chosen, the actual BundleSizeSet to use is indicated via DCI.
+ -- If a bundleSize(Set) value is absent, the UE applies the value n2. Corresponds to L1 parameter 'PRB_bundling'
-- (see 38.214, section 5.1.2.3)
- prbBundlingEnabled BOOLEAN,
+ prb-BundlingType CHOICE {
+ static SEQUENCE {
+ bundleSize ENUMERATED { n4, wideband } OPTIONAL -- Need S
+ },
+ dynamic SEQUENCE {
+ bundleSizeSet1 ENUMERATED { n4, wideband, n2-wideband, n4-wideband } OPTIONAL, -- Need S
+ bundleSizeSet2 ENUMERATED { n4, wideband } OPTIONAL -- Need S
+ }
+ },
+
+ -- A list of Zero-Power (ZP) CSI-RS resources used for PDSCH rate-matching.
+ -- Corresponds to L1 parameter 'ZP-CSI-RS-ResourceConfigList' (see 38.214, section FFS_Section)
+ zp-CSI-RS-ResourceToAddModList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Resources)) OF ZP-CSI-RS-Resource OPTIONAL, -- Need N
+ zp-CSI-RS-ResourceToReleaseList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Resources)) OF ZP-CSI-RS-ResourceId OPTIONAL, -- Need M
+
+ -- A list of sets. Each set contains a set-ID and the IDs of one or more ZP-CSI-RS-Resources (the actual resources are defined in the
+ -- zp-CSI-RS-ResourceToAddModList). The network triggers a set by indicating its set-ID (ZP-CSI-RS-ResourceSetId) in the DCI payload.
+ -- The resources referenced in these sets are confgiured with resourceType 'aperiodic'.
+ -- Corresponds to L1 parameter ' ZP-CSI-RS-ResourceSetConfigList' (see 38.214, section FFS_Section)
+ aperiodic-ZP-CSI-RS-ResourceSetsToAddModList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Sets)) OF ZP-CSI-RS-ResourceSet OPTIONAL, -- Need N
+ aperiodic-ZP-CSI-RS-ResourceSetsToReleaseList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Sets)) OF ZP-CSI-RS-ResourceSetId OPTIONAL, -- Need N
+
+ -- A list of sets. Each set contains a set-ID and the IDs of one or more ZP-CSI-RS-Resources (the actual resources are defined in the
+ -- zp-CSI-RS-ResourceToAddModList). The network triggers a set by indicating its set-ID (ZP-CSI-RS-ResourceSetId) in the MAC CE.
+ -- The resources referenced in these sets are confgiured with resourceType 'semi-persistent'.
+ -- Corresponds to L1 parameter 'SP-ZP-CSI-RS-Resource-List' (see 38.214, section 5.1.4_Section)
+ sp-ZP-CSI-RS-ResourceSetsToAddModList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Sets)) OF ZP-CSI-RS-ResourceSet OPTIONAL, -- Need N
+ sp-ZP-CSI-RS-ResourceSetsToReleaseList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Sets)) OF ZP-CSI-RS-ResourceSetId OPTIONAL, -- Need N
...
}
--- 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
+
+
+
+-- TAG-PDSCH-CONFIG-STOP
+-- TAG-PDSCH-CONFIGCOMMON-START
+
+PDSCH-ConfigCommon ::= SEQUENCE {
+
+ -- List of time-domain configurations for timing of DL assignment to DL data
+ pdsch-AllocationList SEQUENCE (SIZE(1..maxNrofDL-Allocations)) OF PDSCH-TimeDomainResourceAllocation OPTIONAL, -- Need R
+
+ ...
}
-RateMatchPattern ::= SEQUENCE {
+-- TAG-PDSCH-CONFIGCOMMON-STOP
+-- TAG-PDSCH-SERVINGCELLCONFIG-START
- -- 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)),
+PDSCH-ServingCellConfig ::= SEQUENCE {
+ -- Enables and configures code-block-group (CBG) based transmission (see 38.213, section 9.1.1)
+ codeBlockGroupTransmission CHOICE {release NULL, setup PDSCH-CodeBlockGroupTransmission } OPTIONAL, -- Need M
+ -- Accounts for overhead from CSI-RS, CORESET, etc. If the field is absent, the UE applies value xOh0.
+ -- Corresponds to L1 parameter 'Xoh-PDSCH' (see 38.214, section 5.1.3.2)
+ xOverhead ENUMERATED { xOh6, xOh12, xOh18 } OPTIONAL, -- Need S
+ -- The number of HARQ processes to be used on the PDSCH of a serving cell. n2 corresponds to 2 HARQ processes, n4 to 4 HARQ processes
+ -- and so on. If the field is absent, the UE uses 8 HARQ processes.
+ -- Corresponds to L1 parameter 'number-HARQ-process-PDSCH' (see 38.214, section REF)
+ nrofHARQ-ProcessesForPDSCH ENUMERATED {n2, n4, n6, n10, n12, n16} OPTIONAL, -- Need S
+ -- The ID of the serving cell (of the same cell group) to use for PUCCH.
+ -- If the field is absent, the UE sends the HARQ feedback on the PUCCH of the SpCell of this cell group.
+ pucch-Cell ServCellIndex OPTIONAL , -- Cond SCellAddOnly
+ ...
+}
- -- 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)),
+PDSCH-CodeBlockGroupTransmission ::= SEQUENCE {
+ -- 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 38.212, section 7.3.1.2.2)
+ codeBlockGroupFlushIndicator BOOLEAN,
+ ...
+}
- -- 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-SERVINGCELLCONFIG-STOP
+-- TAG-PDSCH-TIMEDOMAINRESOURCEALLOCATION-START
+PDSCH-TimeDomainResourceAllocation ::= SEQUENCE {
+ -- Corresponds to L1 parameter 'K0' (see 38.214, section FFS_Section)
+ -- When the field is absent the UE applies the value 0
+ k0 INTEGER (1..3) OPTIONAL, -- Need S
+ -- PDSCH mapping type. Corresponds to L1 parameter 'Mapping-type' (see 38.214, section FFS_Section)
+ mappingType ENUMERATED {typeA, typeB},
+ -- An index into a table/equation in RAN1 specs capturing valid combinations of start symbol and length (jointly encoded)
+ -- Corresponds to L1 parameter 'Index-start-len' (see 38.214, section FFS_Section)
+ startSymbolAndLength BIT STRING (SIZE (7))
}
--- TAG-PDSCH-CONFIG-STOP
+-- TAG-PDSCH-TIMEDOMAINRESOURCEALLOCATION-STOP
-- TAG-PHYS-CELL-ID-START
PhysCellId ::= INTEGER (0..1007)
-- TAG-PHYS-CELL-ID-STOP
+-- TAG-PRB-ID-START
+
+PRB-Id ::= INTEGER (0..maxNrofPhysicalResourceBlocks-1)
+
+-- TAG-PRB-ID-STOP
+-- TAG-PTRS-DOWNLINKCONFIG-START
+
+PTRS-DownlinkConfig ::= SEQUENCE {
+ -- Presence and frequency density of DL PT-RS as a function of Scheduled BW
+ -- If the field is absent, the UE uses K_PT-RS = 2.
+ -- Corresponds to L1 parameter 'DL-PTRS-frequency-density-table' (see 38.214, section 5.1)
+ frequencyDensity SEQUENCE (SIZE (2)) OF INTEGER (1..276) OPTIONAL, -- Need S
+ -- Presence and time density of DL PT-RS as a function of MCS. The value 29 is only applicable for MCS Table 5.1.3.1-1 (38.214)
+ -- If the field is absent, the UE uses L_PT-RS = 1.
+ -- Corresponds to L1 parameter 'DL-PTRS-time-density-table' (see 38.214, section 5.1)
+ timeDensity SEQUENCE (SIZE (3)) OF INTEGER (0..29) OPTIONAL, -- Need S
+ -- EPRE ratio between PTRS and PDSCH. Value 0 correspond to the codepoint ”00” in table 4.1-2. Value 1 corresponds to codepoint ”01”
+ -- If the field is not provided, the UE applies value 0. Corresponds to L1 parameter 'DL-PTRS-EPRE-ratio' (see 38.214, section 4.1)
+ epre-RatioPort1 INTEGER (0..3) OPTIONAL, -- Need S
+ -- EPRE ratio between PTRS and PDSCH. Value 0 correspond to the codepoint ”00” in table 4.1-2. Value 1 corresponds to codepoint ”01”.
+ -- If the field is not provided, the UE applies value 0. Corresponds to L1 parameter 'DL-PTRS-EPRE-ratio' (see 38.214, section 4.1)
+ epre-RatioPort2 SEQUENCE (SIZE (1..2)) OF INTEGER (0..3) OPTIONAL, -- Cond TwoPorts
+ -- Indicates the subcarrier offset for DL PTRS. If the field is absent, the UE applies the value offset00.
+ -- Corresponds to L1 parameter 'DL-PTRS-RE-offset' (see 38.214, section 5.1.6.3)
+ resourceElementOffset ENUMERATED { offset01, offset10, offset11 } OPTIONAL, -- Need S
+ ...
+}
+
+-- TAG-PTRS-DOWNLINKCONFIG-STOP
+-- TAG-PTRS-UPLINKCONFIG-START
+
+PTRS-UplinkConfig ::= SEQUENCE {
+
+ modeSpecificParameters CHOICE {
+ -- Configuration of UL PTRS for CP-OFDM
+ cp-OFDM SEQUENCE {
+ -- Presence and frequency density of UL PT-RS for CP-OFDM waveform as a function of scheduled BW
+ -- If the field is absent, the UE uses K_PT-RS = 2.
+ -- Corresponds to L1 parameter 'UL-PTRS-frequency-density-table' (see 38.214, section 6.1)
+ frequencyDensity SEQUENCE (SIZE (2)) OF INTEGER (1..276) OPTIONAL, -- Need S
+ -- Presence and time density of UL PT-RS for CP-OFDM waveform as a function of MCS
+ -- If the field is absent, the UE uses L_PT-RS = 1.
+ -- Corresponds to L1 parameter 'UL-PTRS-time-density-table' (see 38.214, section 6.1)
+ timeDensity SEQUENCE (SIZE (3)) OF INTEGER (0..29) OPTIONAL, -- Need S
+ -- The maximum number of UL PTRS ports for CP-OFDM.
+ -- Corresponds to L1 parameter 'UL-PTRS-ports' (see 38.214, section 6.2.3.1)
+ maxNrofPorts 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 ENUMERATED {offset01, offset10, offset11 } OPTIONAL, -- Need S
+ -- UL PTRS power boosting factor per PTRS port. Corresponds to L1 parameter 'UL-PTRS-power' (see 38.214, section 6.1, table 6.2.3-5)
+ ptrs-Power ENUMERATED {p00, p01, p10, p11}
+ },
+ -- Configuration of UL PTRS for DFT-S-OFDM.
+ dft-S-OFDM 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.
+ -- Corresponds to L1 parameter 'UL-PTRS-pre-DFT-density' (see 38.214, section 6.1, 6.2.3-3)
+ sampleDensity SEQUENCE (SIZE (5)) OF INTEGER (1..276),
+ -- Time density (OFDM symbol level) of PT-RS for DFT-s-OFDM. If the value is absent, the UE applies value d1.
+ -- Corresponds to L1 parameter 'UL-PTRS-time-density-transform-precoding' (see 38.214, section 6.1)
+ timeDensity ENUMERATED {d2} OPTIONAL -- Need S
+ }
+ } OPTIONAL, -- Cond M
+ ...
+}
+
+-- TAG-PTRS-UPLINKCONFIG-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
+ -- Lists for adding and releasing PUCCH resource sets (see 38.213, section 9.2)
+ resourceSetToAddModList SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets)) OF PUCCH-ResourceSet OPTIONAL, -- Need N
+ resourceSetToReleaseList SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets)) OF PUCCH-ResourceSetId OPTIONAL, -- Need N
+
+ -- Lists for adding and releasing PUCCH resources applicable for the UL BWP and serving cell in which the PUCCH-Config
+ -- is defined. The resources defined herein are referred to from other parts of the configuration to determine which
+ -- resource the UE shall use for which report.
+ resourceToAddModList SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-Resource OPTIONAL, -- Need N
+ resourceToReleaseList SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-ResourceId OPTIONAL, -- Need N
+
+ -- Parameters that are common for all PUCCH resources of format 1
+ format1 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M
+ -- Parameters that are common for all PUCCH resources of format 2
+ format2 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M
+ -- Parameters that are common for all PUCCH resources of format 3
+ format3 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M
+ -- Parameters that are common for all PUCCH resources of format 4
+ format4 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M
+
+ schedulingRequestResourceToAddModList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceConfig OPTIONAL, -- Need M
+ schedulingRequestResourceToReleaseList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceId OPTIONAL, -- Need M
+
+ multi-CSI-PUCCH-ResourceList SEQUENCE (SIZE (1..2)) OF PUCCH-ResourceId OPTIONAL,-- Need M
+
+ -- List of timiing for given PDSCH to the DL ACK. In this version of the specification only the values [0..8] are applicable.
+ -- Corresponds to L1 parameter 'Slot-timing-value-K1' (see 38.213, section FFS_Section)
+ dl-DataToUL-ACK SEQUENCE (SIZE (8)) OF INTEGER (0..15) OPTIONAL, -- Need M
+
+ -- Configuration of the spatial relation between a reference RS and PUCCH. Reference RS can be SSB/CSI-RS/SRS.
+ -- If the list has more than one element, MAC-CE selects a single element (see 38.321, section FFS_Section).
+ -- Corresponds to L1 parameter 'PUCCH-SpatialRelationInfo' (see 38.213, section FFS_Section)
+ spatialRelationInfoToAddModList SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfo OPTIONAL, -- Need N
+ spatialRelationInfoToReleaseList SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfoId OPTIONAL, -- Need N
+
+ pucch-PowerControl PUCCH-PowerControl OPTIONAL, -- Need M
+ ...
+}
+
+PUCCH-FormatConfig ::= SEQUENCE {
+ -- Enabling inter-slot frequency hopping when PUCCH Format 1, 3 or 4 is repetead over multiple slots.
+ -- The field is not applicable for format 2.
+ interslotFrequencyHopping ENUMERATED {enabled} OPTIONAL, -- Need R
+ -- Enabling 2 DMRS symbols per hop of a PUCCH Format 3 or 4 if both hops are more than X symbols when FH is enabled (X=4).
+ -- Enabling 4 DMRS sybmols for a PUCCH Format 3 or 4 with more than 2X+1 symbols when FH is disabled (X=4).
+ -- Corresponds to L1 parameter 'PUCCH-F3-F4-additional-DMRS' (see 38.213, section 9.2.1)
+ -- The field is not applicable for format 1 and 2.
+ additionalDMRS ENUMERATED {true} OPTIONAL, -- Need R
+ -- Max coding rate to determine how to feedback UCI on PUCCH for format 2, 3 or 4
+ -- Corresponds to L1 parameter 'PUCCH-F2-maximum-coderate', 'PUCCH-F3-maximum-coderate' and 'PUCCH-F4-maximum-coderate'
+ -- (see 38.213, section 9.2.5)
+ -- The field is not applicable for format 1.
+ maxCodeRate PUCCH-MaxCodeRate OPTIONAL, -- Need R
+ -- Number of slots with the same PUCCH F1, F3 or F4. When the field is absent the UE applies the value n1.
+ -- Corresponds to L1 parameter 'PUCCH-F1-number-of-slots', 'PUCCH-F3-number-of-slots' and 'PUCCH-F4-number-of-slots'
+ -- (see 38.213, section 9.2.6)
+ -- The field is not applicable for format 2.
+ nrofSlots ENUMERATED {n2,n4,n8} OPTIONAL, -- Need S
+ -- Enabling pi/2 BPSK for UCI symbols instead of QPSK for PUCCH.
+ -- Corresponds to L1 parameter 'PUCCH-PF3-PF4-pi/2PBSK' (see 38.213, section 9.2.5)
+ -- The field is not applicable for format 1 and 2.
+ pi2PBSK ENUMERATED {enabled} OPTIONAL, -- Need R
+ -- Enabling simultaneous transmission of CSI and HARQ-ACK feedback with or without SR with PUCCH Format 2, 3 or 4
+ -- Corresponds to L1 parameter 'PUCCH-F2-Simultaneous-HARQ-ACK-CSI', 'PUCCH-F3-Simultaneous-HARQ-ACK-CSI' and
+ -- 'PUCCH-F4-Simultaneous-HARQ-ACK-CSI' (see 38.213, section 9.2.5)
+ -- When the field is absent the UE applies the value OFF
+ -- The field is not applicable for format 1.
+ simultaneousHARQ-ACK-CSI ENUMERATED {true} OPTIONAL -- Need R
+}
+
+PUCCH-MaxCodeRate ::= ENUMERATED {zeroDot08, zeroDot15, zeroDot25, zeroDot35, zeroDot45, zeroDot60, zeroDot80}
+
+PUCCH-SpatialRelationInfo ::= SEQUENCE {
+ pucch-SpatialRelationInfoId PUCCH-SpatialRelationInfoId,
+ referenceSignal CHOICE {
+ ssb-Index SSB-Index,
+ csi-RS-Index NZP-CSI-RS-ResourceId,
+ srs SRS-ResourceId
+ },
+ pucch-PathlossReferenceRS-Id PUCCH-PathlossReferenceRS-Id,
+ p0-PUCCH-Id P0-PUCCH-Id,
+ closedLoopIndex ENUMERATED { i0, i1 }
+}
+
+PUCCH-SpatialRelationInfoId ::= INTEGER (1..maxNrofSpatialRelationInfos)
+
+-- A set with one or more PUCCH resources
PUCCH-ResourceSet ::= SEQUENCE {
- -- FFS What a PUCCH resource set contains and how the PUCCH resources in a set link to DCIs codepoints.
+ pucch-ResourceSetId PUCCH-ResourceSetId,
+
+ -- PUCCH resources of format0 and format1 are only allowed in the first PUCCH reosurce set,
+ -- i.e., in a PUCCH-ResourceSet with pucch-ResourceSetId = 0. This set may contain between 8 and 32 resources.
+ -- PUCCH resources of format2, format3 and format4 are only allowed in a PUCCH-ReosurceSet with pucch-ResourceSetId > 0. If present, these sets must contain 8 resources each.
+ -- The UE chooses a PUCCH-Resource from this list based on the 3-bit PUCCH resource indicator field in DCI as
+ -- speciied in 38.213, FFS_section.
+ -- Note that this list contains only a list of resource IDs. The actual resources are configured in PUCCH-Config.
+ resources SEQUENCE (SIZE (8..maxNrofPUCCH-ResourcesPerSet)) OF PUCCH-ResourceId,
+
+ -- Maximum number of payload bits minus 1 that the UE may transmit using this PUCCH resource set. In a PUCCH occurrence, the UE
+ -- chooses the first of its PUCCH-ResourceSet which supports the number of bits that the UE wants to transmit.
+ -- The field is not present in the first set (Set0) since the maximum Size of Set0 is specified to be 3 bit.
+ -- The field is not present in the last configured set since the UE derives its maximum payload size as specified in 38.213.
+ -- This field can take integer values that are multiples of 4. Corresponds to L1 parameter 'N_2' or 'N_3' (see 38.213, section 9.2)
+ maxPayloadMinus1 INTEGER (4..256) OPTIONAL -- Need R
+}
+
+PUCCH-ResourceSetId ::= INTEGER (0..maxNrofPUCCH-ResourceSets-1)
+
+PUCCH-Resource ::= SEQUENCE {
+ pucch-ResourceId PUCCH-ResourceId,
+
+ startingPRB PRB-Id,
+ -- Corresponds to the L1 parameter 'PUCCH-frequency-hopping' (see 38.213, section 9.2)
+ intraSlotFrequencyHopping ENUMERATED { enabled } OPTIONAL, -- Need R
+ -- Index of starting PRB for second hop of PUCCH in case of FH. This value is appliable for intra-slot frequency hopping.
+ -- Corresponds to L1 parameter 'PUCCH-2nd-hop-PRB' (see 38.213, section 9.2)
+ secondHopPRB PRB-Id OPTIONAL, -- Need R
+
+ -- Selection of the PUCCH format and format-specific parameters
+ format CHOICE {
+ format0 PUCCH-format0, -- Cond InFirstSetOnly
+ format1 PUCCH-format1, -- Cond InFirstSetOnly
+ format2 PUCCH-format2, -- Cond NotInFirstSet
+ format3 PUCCH-format3, -- Cond NotInFirstSet
+ format4 PUCCH-format4 -- Cond NotInFirstSet
+ }
}
+PUCCH-ResourceId ::= INTEGER (0..maxNrofPUCCH-Resources-1)
+
+
-- 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)
+-- Corresponds to L1 parameter 'PUCCH-format0' (see 38.213, section 9.2.1)
+PUCCH-format0 ::= SEQUENCE {
+ initialCyclicShift INTEGER(0..11),
+ nrofSymbols INTEGER (1..2),
+ startingSymbolIndex INTEGER(0..13)
}
-- 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)
+-- Corresponds to L1 parameter 'PUCCH-format1' (see 38.213, section 9.2.1)
PUCCH-format1 ::= SEQUENCE {
- startingSymbolIndex INTEGER(0..10),
- nrofSymbols INTEGER(4..14),
- startingPRB INTEGER(0..maxNrofPhysicalResourceBlocks-1),
- frequencyHopping BOOLEAN,
initialCyclicShift INTEGER(0..11),
+ nrofSymbols INTEGER (4..14),
+ startingSymbolIndex INTEGER(0..10),
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)
+-- Corresponds to L1 parameter 'PUCCH-format2onfig' (see 38.213, section 9.2.1)
PUCCH-format2 ::= SEQUENCE {
- startingSymbolIndex INTEGER(0..13),
- nrofSymbols ENUMERATED {n1, n2},
- startingPRB INTEGER(0..maxNrofPhysicalResourceBlocks-1),
- nrofPRBs PUCCH-F2-number-of-PRB,
- frequencyHopping BOOLEAN
+ nrofPRBs INTEGER (1..16),
+ nrofSymbols INTEGER (1..2),
+ startingSymbolIndex INTEGER(0..13)
}
-- 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)
+-- Corresponds to L1 parameter 'PUCCH-format3' (see 38.213, section 9.2.1)
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
+ -- The supported values are 1,2,3,4,5,6,8,9,10,12,15 and 16
+ nrofPRBs INTEGER (1..16),
+ nrofSymbols INTEGER (4..14),
+ startingSymbolIndex INTEGER(0..10)
}
-- 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)
+-- Corresponds to L1 parameter 'PUCCH-format4' (see 38.213, section 9.2.1)
PUCCH-format4 ::= SEQUENCE {
- startingSymbolIndex INTEGER(0..10),
- nrofSymbols INTEGER(4..14),
- startingPRB INTEGER(0..maxNrofPhysicalResourceBlocks-1),
- frequencyHopping BOOLEAN,
+ nrofSymbols INTEGER (4..14),
occ-Length ENUMERATED {n2,n4},
- occ-Index ENUMERATED {n0,n1,n2,n3}
+ occ-Index ENUMERATED {n0,n1,n2,n3},
+ startingSymbolIndex INTEGER(0..10)
}
-
-- TAG-PUCCH-CONFIG-STOP
--- TAG-PUSCH-CONFIG-START
+-- TAG-PUCCH-CONFIGCOMMON-START
+
+PUCCH-ConfigCommon ::= SEQUENCE {
+ -- An entry into a 16-row table where each row configures a set of cell-specific PUCCH resources/parameters. The UE uses
+ -- those PUCCH resources during initial access on the initial uplink BWP. Once the network provides a dedicated PUCCH-Config
+ -- for that bandwidth part the UE applies that one instead of the one provided in this field.
+ -- Corresponds to L1 parameter 'PUCCH-resource-common' (see 38.213, section 9.2)
+ pucch-ResourceCommon BIT STRING (SIZE (4)) OPTIONAL, -- Need R
+
+ -- Configuration of group- and sequence hopping for all the PUCCH formats 0, 1, 3 and 4. "neither" implies neither group
+ -- or sequence hopping is enabled. "enable" enables group hopping and disables sequence hopping. "disable"” disables group
+ -- hopping and enables sequence hopping. Corresponds to L1 parameter 'PUCCH-GroupHopping' (see 38.211, section 6.4.1.3)
+ pucch-GroupHopping ENUMERATED { neither, enable, disable },
+ -- Cell-Specific scrambling ID for group hoppping and sequence hopping if enabled.
+ -- Corresponds to L1 parameter 'HoppingID' (see 38.211, section 6.3.2.2)
+ hoppingId BIT STRING (SIZE (10)) OPTIONAL, -- Need R
+
+ -- Power control parameter P0 for PUCCH transmissions. Value in dBm. Only even values (step size 2) allowed.
+ -- Corresponds to L1 parameter 'p0-nominal-pucch' (see 38.213, section 7.2)
+ p0-nominal INTEGER (-202..24) OPTIONAL, -- Need R
-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
+-- TAG-PUCCH-CONFIGCOMMON-STOP
+-- TAG-PUCCH-POWERCONTROL-START
+PUCCH-PowerControl ::= SEQUENCE {
+
+ -- deltaF for PUCCH format 0 with 1dB step size (see 38.213, section 7.2)
+ deltaF-PUCCH-f0 INTEGER (-16..15) OPTIONAL, -- Need R
+ -- deltaF for PUCCH format 1 with 1dB step size (see 38.213, section 7.2)
+ deltaF-PUCCH-f1 INTEGER (-16..15) OPTIONAL, -- Need R
+ -- deltaF for PUCCH format 2 with 1dB step size (see 38.213, section 7.2)
+ deltaF-PUCCH-f2 INTEGER (-16..15) OPTIONAL, -- Need R
+ -- deltaF for PUCCH format 3 with 1dB step size (see 38.213, section 7.2)
+ deltaF-PUCCH-f3 INTEGER (-16..15) OPTIONAL, -- Need R
+ -- deltaF for PUCCH format 4 with 1dB step size (see 38.213, section 7.2)
+ deltaF-PUCCH-f4 INTEGER (-16..15) OPTIONAL, -- Need R
+
+ -- A set with dedicated P0 values for PUCCH, i.e., {P01, P02,... }. Corresponds to L1 parameter 'p0-pucch-set' (see 38.213, section 7.2)
+ p0-Set SEQUENCE (SIZE (1..maxNrofPUCCH-P0-PerSet)) OF P0-PUCCH OPTIONAL, -- Need M
+
+ -- A set of Reference Signals (e.g. a CSI-RS config or a SSblock) to be used for PUCCH pathloss estimation.
+ -- Up to maxNrofPUCCH-PathlossReference-RSs may be configured
+ -- FFS_CHECK: Is it possible not to configure it at all? What does the UE use then? Any SSB?
+ -- Corresponds to L1 parameter 'pucch-pathlossReference-rs-config' (see 38.213, section 7.2)
+ pathlossReferenceRSs SEQUENCE (SIZE (1..maxNrofPUCCH-PathlossReferenceRSs)) OF PUCCH-PathlossReferenceRS OPTIONAL, -- Need M
+ -- Number of PUCCH power control adjustment states maintained by the UE (i.e., g(i)). If the field is present (n2) the UE maintains
+ -- two power control states (i.e., g(i,0) and g(i,1)). Otherwise, it applies one (i.e., g(i,0)).
+ -- Corresponds to L1 parameter 'num-pucch-pcadjustment-states' (see 38.213, section 7.2)
+ twoPUCCH-PC-AdjustmentStates ENUMERATED {twoStates} 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
+-- P0 value for PUCCH. Corresponds to L1 parameter 'p0-pucch' (see 3,213, section 7.2)
+P0-PUCCH ::= SEQUENCE {
+ p0-PUCCH-Id P0-PUCCH-Id,
+ -- P0 value for PUCCH with 1dB step size.
+ p0-PUCCH-Value INTEGER (-16..15)
+}
+P0-PUCCH-Id ::= INTEGER (1..8)
+-- A reference signal (RS) configured as pathloss reference signal for PUCCH power control
+-- Corresponds to L1 parameter 'pucch-pathlossReference-rs' (see 38.213, section 7.2)
+PUCCH-PathlossReferenceRS ::= SEQUENCE {
+ pucch-PathlossReferenceRS-Id PUCCH-PathlossReferenceRS-Id,
+ referenceSignal CHOICE {
+ ssb-Index SSB-Index,
+ csi-RS-Index NZP-CSI-RS-ResourceId
+ }
+}
+-- ID for a referemce signal (RS) configured as PUCCH pathloss reference
+-- Corresponds to L1 parameter 'pucch-pathlossreference-index' (see 38.213, section 7.2)
+-- FFS_CHECK: Is this ID used anywhere except inside the PUCCH-PathlossReference-RS itself? If not, remove.
+PUCCH-PathlossReferenceRS-Id ::= INTEGER (0..maxNrofPUCCH-PathlossReferenceRSs-1)
- -- 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
+-- TAG-PUCCH-POWERCONTROL-STOP
+-- TAG-PUCCH-TPC-COMMANDCONFIG-START
+
+PUCCH-TPC-CommandConfig ::= SEQUENCE {
+ -- An index determining the position of the first bit of TPC command (applicable to the SpCell) inside the DCI format 2-2 payload.
+ tpc-IndexPCell INTEGER (1..15) OPTIONAL, -- Cond PUCCH-SCell
+ -- An index determining the position of the first bit of TPC command (applicable to the PUCCH-SCell) inside the DCI format 2-2 payload.
+ tpc-IndexPUCCH-SCell INTEGER (1..15) OPTIONAL, -- Cond PUCCH-SCellOnly
+ ...
+}
- -- 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,
+-- TAG-PUCCH-TPC-COMMANDCONFIG-STOP
+-- TAG-PUSCH-CONFIG-START
+
+PUSCH-Config ::= SEQUENCE {
+ -- Identifer used to initalite data scrambling (c_init) for both PUSCH.
+ -- Corresponds to L1 parameter 'Data-scrambling-Identity' (see 38,214, section FFS_Section)
+ dataScramblingIdentityPUSCH INTEGER (0..1007) OPTIONAL, -- Need M
+ -- Whether UE uses codebook based or non-codebook based transmission. Corresponds to L1 parameter 'ulTxConfig' (see 38.214, section 6.1.1)
+ txConfig ENUMERATED {codebook, nonCodebook},
+
+ -- DMRS configuration for PUSCH transmissions using PUSCH mapping type A (chosen dynamically via PUSCH-TimeDomainResourceAllocation).
+ dmrs-UplinkForPUSCH-MappingTypeA CHOICE {release NULL, setup DMRS-UplinkConfig } OPTIONAL, -- Need M
+ -- DMRS configuration for PUSCH transmissions using PUSCH mapping type B (chosen dynamically via PUSCH-TimeDomainResourceAllocation)
+ dmrs-UplinkForPUSCH-MappingTypeB CHOICE {release NULL, setup DMRS-UplinkConfig } OPTIONAL, -- Need M
+
+ pusch-PowerControl PUSCH-PowerControl OPTIONAL, -- Need M
-- 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
+ frequencyHopping ENUMERATED {mode1, mode2} OPTIONAL, -- Need S
+ -- Set of frequency hopping offsets used when frequency hopping is enabled for granted transmission (not msg3) and type 2
+ -- Corresponds to L1 parameter 'Frequency-hopping-offsets-set' (see 38.214, section 6.3)
+ frequencyHoppingOffsetLists SEQUENCE (SIZE (1..4)) OF INTEGER (1.. maxNrofPhysicalResourceBlocks-1) OPTIONAL, -- Need M
+ -- Configuration of resource allocation type 0 and resource allocation type 1 for non-fallback DCI
+ -- Corresponds to L1 parameter 'Resouce-allocation-config' (see 38.214, section 6.1.2)
+ resourceAllocation ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch},
+
+ -- List of time domain allocations for timing of UL assignment to UL data. If configured, the values provided herein
+ -- override the values received in corresponding PUSCH-ConfigCommon.
+ pusch-AllocationList SEQUENCE (SIZE(1..maxNrofUL-Allocations)) OF PUSCH-TimeDomainResourceAllocation OPTIONAL, -- Need R,
+ -- Number of repetitions for data. Corresponds to L1 parameter 'aggregation-factor-UL' (see 38.214, section FFS_Section)
+ -- When the field is absent the UE applies the value 1.
+ pusch-AggregationFactor ENUMERATED { n2, n4, n8 } OPTIONAL, -- Need S
-- 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},
+ mcs-Table ENUMERATED {qam256} OPTIONAL, -- Need S
-- 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.
+ mcs-TableTransformPrecoder ENUMERATED { qam256} OPTIONAL, -- Need S
+ -- The UE specific 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},
+ transformPrecoder ENUMERATED {enabled, disabled} OPTIONAL, -- Need S
+ -- Subset of PMIs addressed by TPMI, where PMIs are those supported by UEs with maximum coherence capabilities
+ -- Corresponds to L1 parameter 'ULCodebookSubset' (see 38.211, section 6.3.1.5)
+ codebookSubset ENUMERATED {fullyAndPartialAndNonCoherent, partialAndNonCoherent, nonCoherent},
+ -- Subset of PMIs addressed by TRIs from 1 to ULmaxRank. Corresponds to L1 parameter 'ULmaxRank' (see 38.211, section 6.3.1.5)
+ maxRank INTEGER (1..4),
+
+ -- Selection between config 1 and config 2 for RBG size for PUSCH. When the field is absent the UE applies the value config1.
+ -- Corresponds to L1 parameter 'RBG-size-PUSCH' (see 38.214, section 6.1.2.2.1)
+ rbg-Size ENUMERATED { config2} OPTIONAL, -- Need S
+
+ -- Selection between and configuration of dynamic and semi-static beta-offset.
+ -- If the field is absent or released, the UE applies the value 'semiStatic' and the BetaOffsets according to
+ -- FFS [BetaOffsets and/or section 9.x.x).
+ -- Corresponds to L1 parameter 'UCI-on-PUSCH' (see 38.213, section 9.3)
+ uci-OnPUSCH CHOICE {release NULL, setup UCI-OnPUSCH} OPTIONAL, -- Need M
+ -- Interleaving unit configurable between 2 and 4 PRBs
+ -- Corresponds to L1 parameter 'VRB-to-PRB-interleaver' (see 38.211, section 6.3.1.6)
+ vrb-ToPRB-Interleaver ENUMERATED {n2, n4},
+ ...
+}
- -- 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,
+UCI-OnPUSCH ::= SEQUENCE {
+ betaOffsets CHOICE {
+ dynamic SEQUENCE (SIZE (4)) OF BetaOffsets,
semiStatic BetaOffsets
- } } OPTIONAL, -- Need M
+ } OPTIONAL, -- Need M
+ -- Indicates a scaling factor to limit the number of resource elements assigned to UCI on PUSCH.
+ -- Value f0p5 corresponds to 0.5, value f0p65 corresponds to 0.65, and so on.
+ -- Corresponds to L1 parameter 'uci-on-pusch-scaling' (see 38.212, section 6.3)
+ scaling ENUMERATED { f0p5, f0p65, f0p8, f1 }
+}
- -- 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
+-- TAG-PUSCH-CONFIG-STOP
+-- TAG-PUSCH-CONFIGCOMMON-START
+
+PUSCH-ConfigCommon ::= SEQUENCE {
+ -- Sequence-group hopping can be enabled or disabled by means of this cell-specific parameter.
+ -- Corresponds to L1 parameter 'Group-hopping-enabled-Transform-precoding' (see 38.211, section FFS_Section)
+ -- This field is Cell specific
+ groupHoppingEnabledTransformPrecoding ENUMERATED {enabled} OPTIONAL, -- Need R
+
+ -- List of time domain allocations for timing of UL assignment to UL data
+ pusch-AllocationList SEQUENCE (SIZE(1..maxNrofUL-Allocations)) OF PUSCH-TimeDomainResourceAllocation OPTIONAL, -- Need R
+
+ -- ------------------------
+ -- Power control parameters
+
+ -- Power offset between msg3 and RACH preamble transmission in steps of 1dB.
+ -- Corresponds to L1 parameter 'Delta-preamble-msg3' (see 38.213, section 7.1)
+ msg3-DeltaPreamble INTEGER (-1..6) OPTIONAL, -- Need R
+
+ -- P0 value for PUSCH with grant (except msg3). Value in dBm. Only even values (step size 2) allowed.
+ -- Corresponds to L1 parameter 'p0-nominal-pusch-withgrant' (see 38.213, section 7.1)
+ -- This field is cell specific
+ p0-NominalWithGrant INTEGER (-202..24) OPTIONAL, -- Need R
+ ...
+}
+
+-- TAG-PUSCH-CONFIGCOMMON-STOP
+-- TAG-PUSCH-POWERCONTROL-START
+
+PUSCH-PowerControl ::= SEQUENCE {
+
+ -- If enabled, UE applies TPC commands via accumulation. If not enabled, UE applies the TPC command without accumulation.
+ -- If absent, TPC accumulation is enabled. Corresponds to L1 parameter 'Accumulation-enabled' (see 38.213, section 7.1)
+ tpc-Accumulation ENUMERATED { disabled } OPTIONAL, -- Need R
+
+ -- Dedicated alpha value for msg3 PUSCH. Corresponds to L1 parameter 'alpha-ue-pusch-msg3' (see 38.213, section 7.1)
+ -- When the field is absent the UE applies the value 1.
+ msg3-Alpha Alpha OPTIONAL, -- Need S
+
+ -- P0 value for UL grant-free/SPS based PUSCH. Value in dBm. Only even values (step size 2) allowed.
+ -- Corresponds to L1 parameter 'p0-nominal-pusch-withoutgrant' (see 38.213, section 7.1)
+ p0-NominalWithoutGrant INTEGER (-202..24) OPTIONAL, -- Need M,
+ -- configuration {p0-pusch,alpha} sets for PUSCH (except msg3), i.e., { {p0,alpha,index1}, {p0,alpha,index2},...}.
+ -- Corresponds to L1 parameter 'p0-push-alpha-setconfig' (see 38,213, section 7.1)
+ p0-AlphaSets SEQUENCE (SIZE (1..maxNrofP0-PUSCH-AlphaSets)) OF P0-PUSCH-AlphaSet OPTIONAL, -- Need M,
+
+ -- A set of Reference Signals (e.g. a CSI-RS config or a SSblock) to be used for PUSCH path loss estimation.
+ -- Up to maxNrofPUSCH-PathlossReferenceRSs may be configured when 'PUSCH beam indication' is present (FFS: in DCI???).
+ -- Otherwise, there may be only one entry.
+ -- Corresponds to L1 parameter 'pusch-pathlossReference-rs-config' (see 38.213, section 7.1)
+ pathlossReferenceRSToAddModList SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSs)) OF PUSCH-PathlossReferenceRS
+ OPTIONAL, -- Need N
+ pathlossReferenceRSToReleaseList SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSs)) OF PUSCH-PathlossReferenceRS-Id
+ OPTIONAL, -- Need N
+
+ -- Number of PUSCH power control adjustment states maintained by the UE (i.e., fc(i)). If the field is present (n2) the UE maintains
+ -- two power control states (i.e., fc(i,1) and fc(i,2)). Otherwise, it applies one (i.e., fc(i,1)).
+ -- Corresponds to L1 parameter 'num-pusch-pcadjustment-states' (see 38.213, section 7.1)
+ twoPUSCH-PC-AdjustmentStates ENUMERATED {twoStates} OPTIONAL, -- Need S
+
+ -- Indicates whether to apply dela MCS. When the field is absent, the UE applies Ks = 0 in delta_TFC formula for PUSCH.
+ -- Corresponds to L1 parameter 'deltaMCS-Enabled' (see 38.213, section 7.1)
+ deltaMCS ENUMERATED {enabled} OPTIONAL, -- Need S
+
+ -- A list of SRI-PUSCH-PowerControl elements among which one is selected by the SRI field in DCI.
+ -- Corresponds to L1 parameter 'SRI-PUSCHPowerControl-mapping' (see 38.213, section 7.1)
+ sri-PUSCH-MappingToAddModList SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF SRI-PUSCH-PowerControl OPTIONAL, -- Need M
+ sri-PUSCH-MappingToReleaseList SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF SRI-PUSCH-PowerControlId OPTIONAL -- Need M
+}
+
+-- A set of p0-pusch and alpha used for PUSCH with grant. 'PUSCH beam indication' (if present) gives the index of the set to
+-- be used for a particular PUSCH transmission.
+-- FFS_CHECK: Is the ”PUSCH beam indication” in DCI which schedules the PUSCH? If so, clarify in field description
+-- Corresponds to L1 parameter 'p0-pusch-alpha-set' (see 38.213, section 7.1)
+P0-PUSCH-AlphaSet ::= SEQUENCE {
+ p0-PUSCH-AlphaSetId P0-PUSCH-AlphaSetId,
+ -- P0 value for PUSCH with grant (except msg3) in steps of 1dB. Corresponds to L1 parameter 'p0-pusch' (see 38,213, section 7.1)
+ p0 INTEGER (-16..15) OPTIONAL,
+ -- alpha value for PUSCH with grant (except msg3) (see 38.213, section 7.1)
+ -- When the field is absent the UE applies the value 1
+ alpha Alpha OPTIONAL -- Need S
+}
+
+-- ID for a P0-PUSCH-AlphaSet. Corresponds to L1 parameter 'p0alphasetindex' (see 38.213, section 7.1)
+P0-PUSCH-AlphaSetId ::= INTEGER (0..maxNrofP0-PUSCH-AlphaSets-1)
+
+-- A reference signal (RS) configured as pathloss reference signal for PUSCH power control
+-- Corresponds to L1 parameter 'pusch-pathlossReference-rs' (see 38.213, section 7.1)
+PUSCH-PathlossReferenceRS ::= SEQUENCE {
+ pusch-PathlossReferenceRS-Id PUSCH-PathlossReferenceRS-Id,
+ referenceSignal CHOICE {
+ ssb-Index SSB-Index,
+ csi-RS-Index NZP-CSI-RS-ResourceId
+ }
}
+-- ID for a referemce signal (RS) configured as PUSCH pathloss reference
+-- Corresponds to L1 parameter 'pathlossreference-index' (see 38.213, section 7.1)
+-- FFS_CHECK: Is this ID used anywhere except inside the PUSCH-PathlossReference-RS itself?
+PUSCH-PathlossReferenceRS-Id ::= INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1)
+
+
+-- A set of PUSCH power control parameters associated with one SRS-ResourceIndex (SRI)
+SRI-PUSCH-PowerControl ::= SEQUENCE {
+ -- The ID of this SRI-PUSCH-PowerControl configuration. It is used as the codepoint (payload) in the SRI DCI field.
+ sri-PUSCH-PowerControlId SRI-PUSCH-PowerControlId,
+ -- The ID of PUSCH-PathlossReferenceRS as configured in the pathlossReferenceRSToAddModList in PUSCH-PowerControl.
+ sri-PUSCH-PathlossReferenceRS-Id PUSCH-PathlossReferenceRS-Id,
+ -- The ID of a P0-PUSCH-AlphaSet as configured in p0-AlphaSets in PUSCH-PowerControl.
+ sri-P0-PUSCH-AlphaSetId P0-PUSCH-AlphaSetId,
+ -- The index of the closed power control loop associated with this SRI-PUSCH-PowerControl
+ sri-PUSCH-ClosedLoopIndex ENUMERATED { i0, i1 }
+}
+
+SRI-PUSCH-PowerControlId ::= INTEGER (0..maxNrofSRI-PUSCH-Mappings-1)
+
-- 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
+ betaOffsetACK-Index1 INTEGER(0..31) OPTIONAL, -- Need S
-- 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
+ betaOffsetACK-Index2 INTEGER(0..31) OPTIONAL, -- Need S
-- 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
+ betaOffsetACK-Index3 INTEGER(0..31) OPTIONAL, -- Need S
-- 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
+ betaOffsetCSI-Part1-Index1 INTEGER(0..31) OPTIONAL, -- Need S
-- 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
+ betaOffsetCSI-Part1-Index2 INTEGER(0..31) OPTIONAL, -- Need S
-- 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
+ betaOffsetCSI-Part2-Index1 INTEGER(0..31) OPTIONAL, -- Need S
-- 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
+ betaOffsetCSI-Part2-Index2 INTEGER(0..31) OPTIONAL -- Need S
}
--- TAG-PUSCH-CONFIG-STOP
+-- TAG-PUSCH-POWERCONTROL-STOP
+-- TAG-PUSCH-SERVINGCELLCONFIG-START
+
+PUSCH-ServingCellConfig ::= SEQUENCE {
+ -- Enables and configures code-block-group (CBG) based transmission (see 38.214, section FFS_Section)
+ codeBlockGroupTransmission CHOICE {release NULL, setup PUSCH-CodeBlockGroupGransmission } OPTIONAL, -- Need M
+ -- Enables LBRM (Limited buffer rate-matching). When the field is absent the UE applies FBRM (Full buffer rate-matchingLBRM).
+ -- Corresponds to L1 parameter 'LBRM-FBRM-selection' (see 38.212, section 5.4.2)
+ rateMatching ENUMERATED {limitedBufferRM} OPTIONAL, -- Need S
+ -- Accounts for overhead from CSI-RS, CORESET, etc. If the field is absent, the UE applies the value 'xoh0'.
+ -- Corresponds to L1 parameter 'Xoh-PUSCH' (see 38.214, section 5.1.3.2)
+ xOverhead ENUMERATED {xoh6, xoh12, xoh18} OPTIONAL, -- Need S
+ ...
+}
+
+PUSCH-CodeBlockGroupGransmission ::= SEQUENCE {
+ -- Maximum number of code-block-groups (CBGs) per TB (see 38.xxx, section x.x.x, FFS_Ref)
+ -- For 2 codewords, only the values { n2, n4 } are valid.
+ maxCodeBlockGroupsPerTransportBlock ENUMERATED {n2, n4, n6, n8},
+ ...
+}
+
+-- TAG-PUSCH-SERVINGCELLCONFIG-STOP
+-- TAG-PUSCH-TIMEDOMAINRESOURCEALLOCATION-START
+
+PUSCH-TimeDomainResourceAllocation ::= SEQUENCE {
+ -- Corresponds to L1 parameter 'K2' (see 38.214, section FFS_Section)
+ -- When the field is absent the UE applies the value 01 when PUSCH SCS is 15/30KHz; 2 when PUSCH SCS is 60KHz and 3 when PUSCH SCS is 120KHz.
+ k2 INTEGER (0..7) OPTIONAL, -- Need S
+ -- Mapping type. Corresponds to L1 parameter 'Mapping-type' (see 38.214, section FFS_Section)
+ mappingType ENUMERATED {typeA, typeB},
+ -- An index into a table/equation in RAN1 specs capturing valid combinations of start symbol and length (jointly encoded)
+ -- Corresponds to L1 parameter 'Index-start-len' (see 38.214, section FFS_Section)
+ startSymbolAndLength BIT STRING (SIZE (7))
+}
+
+-- TAG-PUSCH-TIMEDOMAINRESOURCEALLOCATION-STOP
+-- TAG-PUSCH-TPC-COMMANDCONFIG-START
+
+PUSCH-TPC-CommandConfig ::= SEQUENCE {
+ -- An index determining the position of the first bit of TPC command inside the DCI format 2-2 payload.
+ tpc-Index INTEGER (1..15) OPTIONAL, -- Cond SUL
+ -- An index determining the position of the first bit of TPC command inside the DCI format 2-2 payload.
+ tpc-IndexSUL INTEGER (1..15) OPTIONAL, -- Cond SUL-Only
+ -- The serving cell to which the acquired power control commands are applicable. If the value is absent, the UE applies the
+ -- TPC commands to the serving cell on which the command has been received.
+ targetCell ServCellIndex OPTIONAL, -- Need S
+ ...
+}
+
+-- TAG-PUSCH-TPC-COMMANDCONFIG-STOP
Q-OffsetRange ::= ENUMERATED {
dB-24, dB-22, dB-20, dB-18, dB-16, dB-14,
@@ -1927,154 +3030,188 @@ Q-OffsetRange ::= ENUMERATED {
dB20, dB22, dB24}
-- TAG-QUANTITY-CONFIG-START
--- WS modification: missing QUantityConfig definiton start; let's add a fake one
-QuantityConfig ::= SEQUENCE {
- quantityConfigRSindex QuantityConfigRS OPTIONAL
+
+
+QuantityConfig ::= SEQUENCE {
+ quantityConfigNR-List QuantityConfigNR-List OPTIONAL, -- Need M
+ ...
+}
+
+QuantityConfigNR-List::= SEQUENCE (SIZE (1..maxNrofQuantityConfig)) OF QuantityConfigNR
+
+QuantityConfigNR::= SEQUENCE {
+ quantityConfigCell QuantityConfigRS,
+ quantityConfigRS-Index QuantityConfigRS OPTIONAL -- Need M
}
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!
+ -- SS Block based L3 filter configurations:
+ ssb-FilterConfig FilterConfig,
- -- 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!
+ -- CSI-RS basedL3 filter configurations:
+ cs-RS-FilterConfig FilterConfig
+}
+
+FilterConfig ::= SEQUENCE {
+ filterCoefficientRSRP FilterCoefficient DEFAULT fc4,
+ filterCoefficientRSRQ FilterCoefficient DEFAULT fc4,
+ filterCoefficientRS-SINR FilterCoefficient DEFAULT fc4
}
-- TAG-QUANTITY-CONFIG-STOP
-- TAG-RACH-CONFIG-COMMON-START
RACH-ConfigCommon ::= SEQUENCE {
-
- -- 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,
+ -- Generic RACH parameters
+ rach-ConfigGeneric RACH-ConfigGeneric,
+
+ -- Total number of preambles used for contention based and contention free random access, excluding
+ -- preambles used for other purposes (e.g. for SI request). If the field is absent, the UE may use all 64 preambles for RA.
+ totalNumberOfRA-Preambles INTEGER (1..63) OPTIONAL, -- Need S
+
+ -- Number of SSBs per RACH occasion (L1 parameter 'SSB-per-rach-occasion') and the number of Contention Based preambles per SSB
+ -- (L1 parameter 'CB-preambles-per-SSB'). By multiplying the two values, the UE determines the total number of CB preambles.
+ ssb-perRACH-OccasionAndCB-PreamblesPerSSB CHOICE {
+ oneEighth ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
+ oneFourth ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
+ oneHalf ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
+ one ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
+ two ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32},
+ four INTEGER (1..16),
+ eight INTEGER (1..8),
+ sixteen INTEGER (1..4)
+ } OPTIONAL, -- Need M
+
+ groupBconfigured SEQUENCE {
+ -- Transport Blocks size threshold in bit below which the UE shall use a contention based RA premable
+ -- of group A. (see 38.321, section 5.1.2)
+ 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
+ -- Threshold for preamble selection. Value in dB. Value minusinfinity corresponds to –infinity.
+ -- Value dB0 corresponds to 0 dB, dB5 corresponds to 5 dB and so on. (see FFS_Spec, section FFS_Section)
+ messagePowerOffsetGroupB ENUMERATED { minusinfinity, dB0, dB5, dB8, dB10, dB12, dB15, dB18},
+ -- The number of CB preambles per SSB in group A. This determines implicitly the number of CB preambles per SSB available in group B.
+ -- (see 38.321, section 5.1.1)
+ numberOfRA-PreamblesGroupA INTEGER (1..64)
+ } OPTIONAL, -- Need R
+
+ -- The initial value for the contention resolution timer (see 38.321, section 5.1.5)
+ ra-ContentionResolutionTimer ENUMERATED { sf8, sf16, sf24, sf32, sf40, sf48, sf56, sf64},
+
+ -- 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
+ rsrp-ThresholdSSB RSRP-Range OPTIONAL, -- Need R
+ -- UE may select the SS block and corresponding PRACH resource for path-loss estimation and (re)transmission on the SUL carrier
+ -- based on SS blocks that satisfy the threshold
-- Corresponds to L1 parameter 'SUL-RSRP-Threshold' (see FFS_Spec, section FFS_Section)
- sul-RSRP-Threshold NULL OPTIONAL, -- WS modification: was TYPE_FFS!
+ rsrp-ThresholdSSB-SUL RSRP-Range OPTIONAL, -- Need R
- -- 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 of PRACH. Only the values 15 or 30 kHz (<6GHz), 60 or 120 kHz (>6GHz) are applicable.
+ -- Corresponds to L1 parameter 'prach-Msg1SubcarrierSpacing' (see 38.211, section FFS_Section)
+ msg1-SubcarrierSpacing SubcarrierSpacing,
- -- Subcarrier spacing for Msg3. Corresponds to L1 parameter 'msg3-scs' (see 38.213, section 8.1)
- msg3-SubcarrierSpacing SubcarrierSpacing,
+ -- Configuration of an unrestricted set or one of two types of restricted sets, see 38.211 6.3.3.1
+ restrictedSetConfig ENUMERATED {unrestrictedSet, restrictedSetTypeA, restrictedSetTypeB},
-- 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
+ msg3-transformPrecoding ENUMERATED {enabled} OPTIONAL, -- Need R
+ ...
}
-PreambleStartIndex ::= INTEGER (0..maxRA-PreambleIndex)
-NumberofRA-Preambles ::= INTEGER (1.. maxNrOfRA-PreamblesPerSSB)
-
-- TAG-RACH-CONFIG-COMMON-STOP
+-- TAG-RACH-CONFIG-GENERIC-START
+
+RACH-ConfigGeneric ::= SEQUENCE {
+ -- PRACH configuration index. Corresponds to L1 parameter 'PRACHConfigurationIndex' (see 38.211, section 6.3.3.2)
+ prach-ConfigurationIndex INTEGER (0..255),
+ -- The number of PRACH transmission occasions FDMed in one time instance.
+ -- Corresponds to L1 parameter 'prach-FDM' (see 38.211, section FFS_Section)
+ msg1-FDM ENUMERATED {one, two, four, eight},
+ -- Offset of lowest PRACH transmission occasion in frequency domain with respective to PRB 0.
+ -- The value is configured so that the corresponding RACH resource is entirely within the bandwidth of the UL BWP.
+ -- Corresponds to L1 parameter 'prach-frequency-start' (see 38,211, section FFS_Section)
+ msg1-FrequencyStart INTEGER (0..maxNrofPhysicalResourceBlocks-1),
+ -- N-CS configuration, see Table 6.3.3.1-3 in 38.211
+ zeroCorrelationZoneConfig INTEGER(0..15),
+ -- The target power level at the network receiver side (see 38.213, section 7.4, 38.321, section 5.1.2, 5.1.3)
+ -- Only multiples of 2 dBm may be chosen (e.g. -200, -198, ...).
+ -- FFS-Value: Actual values to be updated based on input from RAN4 (see LS in R2-1800004 and R4-1803466).
+ preambleReceivedTargetPower INTEGER (-200..-74),
+ -- Max number of RA preamble transmission perfomed before declaring a failure (see 38.321, section 5.1.4, 5.1.5)
+ preambleTransMax ENUMERATED {n3, n4, n5, n6, n7, n8, n10, n20, n50, n100, n200},
+ -- Power ramping steps for PRACH (see 38.321,5.1.3)
+ powerRampingStep ENUMERATED {dB0, dB2, dB4, dB6},
+ -- Msg2 (RAR) window length in number of slots. The network configures a value lower than or euqal to 10 ms (see 38.321, section 5.1.4)
+ ra-ResponseWindow ENUMERATED {sl1, sl2, sl4, sl8, sl10, sl20, sl40, sl80}
+}
+
+-- TAG-RACH-CONFIG-GENERIC-STOP
-- TAG-RACH-CONFIG-DEDICATED-START
--- FFS: resources for msg1-based on-demand SI request
--- FFS: resources for beam failure recovery request
+-- FFS_Standlone: resources for msg1-based on-demand SI request
RACH-ConfigDedicated ::= SEQUENCE {
- -- Resources for handover to the cell
+ -- Resources for contention free random access to a given target 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
+ ssb SEQUENCE {
+ ssb-ResourceList SEQUENCE (SIZE(1..maxRA-SSB-Resources)) OF CFRA-SSB-Resource,
+ -- Explicitly signalled PRACH Mask Index for RA Resource selection in TS 36.321. The mask is valid for all SSB
+ -- resources signalled in ssb-ResourceList
+ ra-ssb-OccasionMaskIndex INTEGER (0..15)
+ },
+ csirs SEQUENCE {
+ csirs-ResourceList SEQUENCE (SIZE(1..maxRA-CSIRS-Resources)) OF CFRA-CSIRS-Resource,
+ cfra-csirs-DedicatedRACH-Threshold RSRP-Range
+ }
}
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
+ -- The ID of an SSB transmitted by this serving cell.
+ ssb SSB-Index,
+ -- The preamble index that the UE shall use when performing CF-RA upon selecting the candidate beams identified by this SSB.
+ ra-PreambleIndex INTEGER (0..63),
+ ...
}
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
+ -- The ID of a CSI-RS resource defined in the measurement object associated with this serving cell.
+ csi-RS CSI-RS-Index,
+ -- RA occasions that the UE shall use when performing CF-RA upon selecting the candidate beam identified by this CSI-RS.
+ ra-OccasionList SEQUENCE (SIZE(1..maxRA-OccasionsPerCSIRS)) OF INTEGER (0..maxRA-Occasions-1),
+ -- The RA preamble index to use in the RA occasions assoicated with this CSI-RS.
+ ra-PreambleIndex INTEGER (0..63),
+ ...
}
-- 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 SRB-ToAddModList OPTIONAL, -- Need N
+ srb3-ToRelease ENUMERATED{true} OPTIONAL, -- Need N
+ drb-ToAddModList DRB-ToAddModList OPTIONAL, -- Need N
+ drb-ToReleaseList DRB-ToReleaseList OPTIONAL, -- Need N
+ securityConfig SecurityConfig OPTIONAL, -- Cond M
+ ...
}
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
+ reestablishPDCP ENUMERATED{true} OPTIONAL, -- Need N
+ discardOnPDCP ENUMERATED{true} OPTIONAL, -- Need N
pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP
...
}
@@ -2084,16 +3221,16 @@ 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
+ eps-BearerIdentity INTEGER (0..15), -- 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
- },
+ sdap-Config SDAP-Config -- 5GC
+ } OPTIONAL, -- Cond DRBSetup
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
+ reestablishPDCP ENUMERATED{true} OPTIONAL, -- Need N
+ recoverPDCP ENUMERATED{true} OPTIONAL, -- Need N
+ pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP
...
}
@@ -2101,15 +3238,125 @@ DRB-ToReleaseList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-Identity
SecurityConfig ::= SEQUENCE {
- securityAlgorithmConfig SecurityAlgorithmConfig OPTIONAL, -- Need M
- keyToUse ENUMERATED{keNB, s-KgNB} OPTIONAL, -- Need M
+ securityAlgorithmConfig SecurityAlgorithmConfig OPTIONAL, -- Cond RBTermChange
+ keyToUse ENUMERATED{keNB, s-KgNB} OPTIONAL, -- Cond RBTermChange
...
}
-- TAG-RADIO-BEARER-CONFIG-STOP
+-- TAG-RADIOLINKMONITORINGCONFIG-START
+
+RadioLinkMonitoringConfig ::= SEQUENCE {
+ -- A list of reference signals for detecting beam failure and/or cell level radio link failure (RLF).
+ -- The network configures at most two detectionResources per BWP for the purpose "beamFailure" or "both".
+ -- If no RSs are provided for the purpose of beam failure detection, the UE performs beam monitoring based on the activated TCI-State
+ -- for PDCCH. However, if the activated TCI state refers to an aperiodic or semi-persistent CSI-RS, the gNB configures the failure
+ -- detection resources explicitly (FFS_RAN1: TBC by RAN1).
+ -- If no RSs are provided in this list at all (neither for Cell- nor for Beam-RLM), the UE performs also Cell-RLM based
+ -- on the activated TCI-State of PDCCH (FFS_RAN1: TBC by RAN1).
+ -- When the network reconfigures this field, the UE resets on-going RLF timers and counters.
+ failureDetectionResources SEQUENCE (SIZE(1..maxNrofFailureDetectionResources)) OF RadioLinkMonitoringRS OPTIONAL, -- Need M
+ -- This field determines after how many beam failure events the UE triggers beam failure recovery (see 38.321, section 5.17).
+ -- Value n1 corresponds to 1 beam failure instance, n2 corresponds to 2 beam failure instances and so on.
+ -- When the network reconfigures this field, the UE resets on-going RLF timers and counters.
+ -- If the field is absent, the UE does not trigger beam failure recovery.
+ beamFailureInstanceMaxCount ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10} OPTIONAL, -- Need S
+ -- Timer for beam failure detection (see 38.321, section FFS_Section). See also the BeamFailureRecoveryConfig IE.
+ -- Value in number of "periods of Beam Failure Detection" Reference Signal. Value pbfd1 corresponds to 1 period of Beam Failure
+ -- Detection Reference Signal, value pbfd2 corresponds to 2 periods of Beam Failure Detection Reference Signal and so on.
+ -- When the network reconfigures this field, the UE resets on-going RLF timers and counters.
+ beamFailureDetectionTimer ENUMERATED {pbfd1, pbfd2, pbfd3, pbfd4, pbfd5, pbfd6, pbfd8, pbfd10} OPTIONAL, -- Need R
+ ...
+}
+
+RadioLinkMonitoringRS ::= SEQUENCE {
+ -- Determines whether the UE shall monitor the associated reference signal for the purpose of cell- and/or beam failure detection.
+ purpose ENUMERATED {beamFailure, rlf, both},
+ -- A reference signal that the UE shall use for radio link monitoring. The network provides an ssb-Index only if
+ -- the purpose is set to rlf.
+ detectionResource CHOICE {
+ ssb-Index SSB-Index,
+ csi-RS-Index NZP-CSI-RS-ResourceId
+ },
+ ...
+}
+
+-- TAG-RADIOLINKMONITORINGCONFIG-STOP
+-- TAG-RATEMATCHPATTERN-START
+RateMatchPattern ::= SEQUENCE {
+ rateMatchPatternId RateMatchPatternId,
+
+ patternType CHOICE {
+ bitmaps 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)
+ -- FFS: Why not split it into two BIT STRINGs of 14 bit each?
+ symbolsInResourceBlock CHOICE {
+ oneSlot BIT STRING (SIZE (14)),
+ twoSlots BIT STRING (SIZE (28))
+ },
+
+ -- A time domain repetition pattern. at which the symbolsInResourceBlock
+ -- pattern recurs. This slot pattern repeats itself continuously. 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)
+ periodicityAndPattern CHOICE {
+ n2 BIT STRING (SIZE (2)),
+ n4 BIT STRING (SIZE (4)),
+ n5 BIT STRING (SIZE (5)),
+ n8 BIT STRING (SIZE (8)),
+ n10 BIT STRING (SIZE (10)),
+ n20 BIT STRING (SIZE (20)),
+ n40 BIT STRING (SIZE (40))
+ } OPTIONAL, -- Need S
+ ...
+ },
+ -- This ControlResourceSet us used as a PDSCH rate matching pattern, i.e., PDSCH reception rate matches around it.
+ controlResourceSet ControlResourceSetId
+ },
+ -- The SubcarrierSpacing for this resource pattern. If the field is absent, the UE applies the SCS of the associcated BWP.
+ -- The value kHz15 corresponds to µ=0, kHz30 to µ=1, and so on. Only the values 15 or 30 kHz (<6GHz), 60 or 120 kHz (>6GHz) are
+ -- applicable. Corresponds to L1 parameter 'resource-pattern-scs' (see 38.214, section FFS_Section)
+ subcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond CellLevel
+ -- FFS_Description, FFS_Section
+ mode ENUMERATED { dynamic, semiStatic },
+ ...
+}
+
+-- TAG-RATEMATCHPATTERN-STOP
+-- TAG-RATEMATCHPATTERNID-START
+
+RateMatchPatternId ::= INTEGER (0..maxNrofRateMatchPatterns-1)
+
+-- TAG-RATEMATCHPATTERNID-STOP
+-- TAG-RATEMATCHPATTERNLTE-CRS-START
+
+RateMatchPatternLTE-CRS ::= SEQUENCE {
+ -- Center of the LTE carrier. Corresponds to L1 parameter 'center-subcarrier-location' (see 38.214, section 5.1.4)
+ carrierFreqDL INTEGER (0..16383),
+ -- BW of the LTE carrier in numbewr of PRBs. Corresponds to L1 parameter 'BW' (see 38.214, section 5.1.4)
+ carrierBandwidthDL ENUMERATED {n6, n15, n25, n50, n75, n100, spare2, spare1},
+ -- LTE MBSFN subframe configuration. Corresponds to L1 parameter 'MBSFN-subframconfig' (see 38.214, section 5.1.4)
+ -- FFS_ASN1: Import the LTE MBSFN-SubframeConfigList
+ mbsfn-SubframeConfigList EUTRA-MBSFN-SubframeConfigList OPTIONAL, -- Need M
+ -- 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}
+}
+
+-- TAG-RATEMATCHPATTERNLTE-CRS-STOP
-- TAG-REPORT-CONFIG-ID-START
-ReportConfigId ::= INTEGER (1..maxNrofReportConfigId)
+ReportConfigId ::= INTEGER (1..maxReportConfigId)
-- TAG-REPORT-CONFIG-ID-STOP
-- TAG-REPORT-CONFIG-START
@@ -2118,12 +3365,13 @@ ReportConfigNR ::= SEQUENCE {
reportType CHOICE {
periodical PeriodicalReportConfig,
eventTriggered EventTriggerConfig,
- reportCGI NULL, -- WS modification: was Type_FFS!
+-- reportCGI is to be completed before the end of Rel-15.
+ reportCGI ENUMERATED {ffsTypeAndValue},
...
}
}
--- FFS / TODO: Consider separating trgger configuration (trigger, periodic, ...) from report congiguration.
+-- FFS / TODO: Consider separating trgger configuration (trigger, periodic, ...) from report configuration.
-- Current structure allows easier definiton of new events and new report types e.g. CGI, etc.
EventTriggerConfig::= SEQUENCE {
eventId CHOICE {
@@ -2144,14 +3392,14 @@ EventTriggerConfig::= SEQUENCE {
reportOnLeave BOOLEAN,
hysteresis Hysteresis,
timeToTrigger TimeToTrigger,
- useWhiteCellList BOOLEAN OPTIONAL
+ useWhiteCellList BOOLEAN
},
eventA4 SEQUENCE {
a4-Threshold MeasTriggerQuantity,
reportOnLeave BOOLEAN,
hysteresis Hysteresis,
timeToTrigger TimeToTrigger,
- useWhiteCellList BOOLEAN OPTIONAL
+ useWhiteCellList BOOLEAN
},
eventA5 SEQUENCE {
a5-Threshold1 MeasTriggerQuantity,
@@ -2159,67 +3407,74 @@ EventTriggerConfig::= SEQUENCE {
reportOnLeave BOOLEAN,
hysteresis Hysteresis,
timeToTrigger TimeToTrigger,
- useWhiteCellList BOOLEAN OPTIONAL
+ useWhiteCellList BOOLEAN
},
eventA6 SEQUENCE {
a6-Offset MeasTriggerQuantityOffset,
reportOnLeave BOOLEAN,
hysteresis Hysteresis,
timeToTrigger TimeToTrigger,
- useWhiteCellList BOOLEAN OPTIONAL
- }
+ useWhiteCellList BOOLEAN
+ },
+ ...
},
- rsType ENUMERATED {ss, csi-rs},
+ rsType NR-RS-Type,
-- Common reporting config (at least to periodical and eventTriggered)
reportInterval ReportInterval,
- reportAmount ENUMERATED {ffs}, -- WS modification: was FFS!
+ reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
-- Cell reporting configuration
reportQuantityCell MeasReportQuantity,
maxReportCells INTEGER (1..maxCellReport),
-- RS index reporting configuration
- reportQuantityRsIndexes MeasReportQuantity OPTIONAL,
- maxNroIndexesToReport INTEGER (1..maxNroIndexesToReport) OPTIONAL,
- onlyReportBeamIds BOOLEAN OPTIONAL,
-
+ reportQuantityRsIndexes MeasReportQuantity OPTIONAL, -- Need M
+ maxNrofRSIndexesToReport INTEGER (1..maxNrofIndexesToReport) OPTIONAL, -- Need M
+ includeBeamMeasurements BOOLEAN,
-- If configured the UE includes the best neighbour cells per serving frequency
- reportAddNeighMeas NULL -- WS modification: was TYPE_FFS!
+ reportAddNeighMeas ENUMERATED {setup} OPTIONAL, -- Need R
+ ...
+
}
PeriodicalReportConfig ::= SEQUENCE {
- rsType ENUMERATED {ssb, csi-rs},
+ rsType NR-RS-Type,
-- Common reporting config (at least to periodical and eventTriggered)
reportInterval ReportInterval,
- reportAmount ENUMERATED {ffs}, -- WS modification: was FFS!
+ reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
-- Cell reporting configuration
reportQuantityCell MeasReportQuantity,
maxReportCells INTEGER (1..maxCellReport),
-- RS index reporting configuration
- reportQuantityRsIndexes MeasReportQuantity OPTIONAL,
- maxNroRsIndexesToReport INTEGER (1..maxNroIndexesToReport) OPTIONAL,
- onlyReportBeamIds BOOLEAN OPTIONAL
+ reportQuantityRsIndexes MeasReportQuantity OPTIONAL, -- Need R
+ maxNrofRsIndexesToReport INTEGER (1..maxNrofIndexesToReport) OPTIONAL, -- Need R
+ includeBeamMeasurements BOOLEAN,
+ useWhiteCellList BOOLEAN,
+ ...
+
}
-MeasTriggerQuantity::= CHOICE {
- rsrp RSRPRange,
- rsrq RSRQRange,
- sinr SINRRange
+NR-RS-Type ::= ENUMERATED {ssb, csi-rs}
+
+MeasTriggerQuantity ::= CHOICE {
+ rsrp RSRP-Range,
+ rsrq RSRQ-Range,
+ sinr SINR-Range
}
-MeasTriggerQuantityOffset::= CHOICE {
- rsrp INTEGER (0), -- WS modification: was FFS!
- rsrq INTEGER (0), -- WS modification: was FFS!
- sinr INTEGER (0) -- WS modification: was FFS!
+MeasTriggerQuantityOffset ::= CHOICE {
+ rsrp INTEGER (-30..30),
+ rsrq INTEGER (-30..30),
+ sinr INTEGER (-30..30)
}
-MeasReportQuantity::= SEQUENCE {
+MeasReportQuantity ::= SEQUENCE {
rsrp BOOLEAN,
rsrq BOOLEAN,
sinr BOOLEAN
@@ -2235,11 +3490,15 @@ ReportConfigToAddMod ::= SEQUENCE {
reportConfigId ReportConfigId,
reportConfig CHOICE {
reportConfigNR ReportConfigNR,
- reportConfigEUTRA ReportConfigEUTRA
+ ...
}
}
-- TAG- REPORT-CONFIG-TO-ADD-MOD-LIST-STOP
+
+ReportInterval ::= ENUMERATED {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, ms20480, ms40960, min1,
+ min6, min12, min30 }
+
-- TAG-RLC-CONFIG-START
RLC-Config ::= CHOICE {
@@ -2261,7 +3520,7 @@ RLC-Config ::= CHOICE {
}
UL-AM-RLC ::= SEQUENCE {
- sn-FieldLength SN-FieldLength-AM,
+ sn-FieldLength SN-FieldLengthAM,
t-PollRetransmit T-PollRetransmit,
pollPDU PollPDU,
pollByte PollByte,
@@ -2269,17 +3528,17 @@ UL-AM-RLC ::= SEQUENCE {
}
DL-AM-RLC ::= SEQUENCE {
- sn-FieldLength SN-FieldLength-AM,
+ sn-FieldLength SN-FieldLengthAM,
t-Reassembly T-Reassembly,
t-StatusProhibit T-StatusProhibit
}
UL-UM-RLC ::= SEQUENCE {
- sn-FieldLength SN-FieldLength-UM
+ sn-FieldLength SN-FieldLengthUM
}
DL-UM-RLC ::= SEQUENCE {
- sn-FieldLength SN-FieldLength-UM,
+ sn-FieldLength SN-FieldLengthUM,
t-Reassembly T-Reassembly
}
@@ -2333,66 +3592,258 @@ T-StatusProhibit ::= ENUMERATED {
ms350, ms400, ms450, ms500, ms800, ms1000,
ms1200, ms1600, ms2000, ms2400, spare2, spare1}
-SN-FieldLength-UM ::= ENUMERATED {size6, size12}
-SN-FieldLength-AM ::= ENUMERATED {size12, size18}
+SN-FieldLengthUM ::= ENUMERATED {size6, size12}
+SN-FieldLengthAM ::= 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.
+RLF-TimersAndConstants ::= SEQUENCE {
+ t310 ENUMERATED {ms0, ms50, ms100, ms200, ms500, ms1000, ms2000, ms4000, ms6000},
+ n310 ENUMERATED {n1, n2, n3, n4, n6, n8, n10, n20},
+ n311 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10},
+ ...
}
-- TAG-RLF-TIMERS-AND-CONSTANTS-STOP
+-- TAG-RNTI-VALUE-START
+
+RNTI-Value ::= INTEGER (0..65535)
+
+-- TAG-RNTI-VALUE-STOP
+-- TAG-RSRP-RANGE-START
+
+RSRP-Range ::= INTEGER(0..124)
+
+-- TAG-RSRP-RANGE-STOP
+-- TAG-RSRQ-RANGE-START
+
+RSRQ-Range ::= INTEGER(0..127)
+
+-- TAG-RSRQ-RANGE-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.
+-- The value range is shared across the Cell Groups
SCellIndex ::= INTEGER (1..31)
--- TAG-SCELLINDEX-STOP
+-- TAG-SCELL-INDEX-STOP
-- TAG-SCHEDULING-REQUEST-CONFIG-START
SchedulingRequestConfig ::= SEQUENCE {
schedulingRequestToAddModList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestToAddMod OPTIONAL, -- Need N
- schedulingRequestToReleaseList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestId OPTIONAL -- Need N
+ schedulingRequestToReleaseList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestId OPTIONAL -- Need N
}
SchedulingRequestToAddMod ::= SEQUENCE {
- schedulingRequestID SchedulingRequestId,
+ sr-ConfigIndex SchedulingRequestId,
- sr-prohibitTimer ENUMERATED {ms1, ms2, ms4, ms8, ms16, ms32, ms64, ms128},
+ sr-ProhibitTimer ENUMERATED {ms1, ms2, ms4, ms8, ms16, ms32, ms64, ms128} OPTIONAL, -- Need S
sr-TransMax ENUMERATED { n4, n8, n16, n32, n64, spare3, spare2, spare1}
}
--- FFS_TODO: provide resources for each SchedulingRequestID in ServingCellConfigDedicated (TBD whether directly, in PUCCH-Config, in each BWP)
+SchedulingRequestId ::= INTEGER (0..7)
+
+-- FFS_TODO: provide resources for each SchedulingRequestID in ServingCellConfig (TBD whether directly, in PUCCH-Config, in each BWP)
-- TAG-SCHEDULING-REQUEST-CONFIG-STOP
+-- TAG-SCHEDULING-REQUEST-RESOURCE-CONFIG-START
+
+SchedulingRequestResourceConfig ::= SEQUENCE {
+ schedulingRequestResourceId SchedulingRequestResourceId,
+ -- The ID of the SchedulingRequestConfig that uses this scheduling request resource.
+ schedulingRequestID SchedulingRequestId,
+ -- SR periodicity and offset in number of slots. Corresponds to L1 parameter 'SR-periodicity' and 'SR-offset' (see 38.213, section 9.2.2)
+ -- The following periodicities may be configured depending on the chosen subcarrier spacing:
+ -- SCS = 15 kHz: 2sym, 7sym, 1sl, 2sl, 4sl, 5sl, 8sl, 10sl, 16sl, 20sl, 40sl, 80sl
+ -- SCS = 30 kHz: 2sym, 7sym, 1sl, 2sl, 4sl, 8sl, 10sl, 16sl, 20sl, 40sl, 80sl, 160sl
+ -- SCS = 60 kHz: 2sym, 7sym/6sym, 1sl, 2sl, 4sl, 8sl, 16sl, 20sl, 40sl, 80sl, 160sl, 320sl
+ -- SCS = 120 kHz: 2sym, 7sym, 1sl, 2sl, 4sl, 8sl, 16sl, 40sl, 80sl, 160sl, 320sl, sl640
+ -- sym6or7 corresponds to 6 symbols if extended cyclic prefix and a SCS of 60 kHz are configured, otherwise it corresponds to 7 symbols.
+ -- For periodicities sym2, sym7 and sl1 the UE assumes an offset of 0 slots.
+ periodicityAndOffset CHOICE {
+ sym2 NULL,
+ sym6or7 NULL,
+ sl1 NULL, -- Recurs in every slot
+ sl2 INTEGER (0..1),
+ sl4 INTEGER (0..3),
+ sl5 INTEGER (0..4),
+ sl8 INTEGER (0..7),
+ sl10 INTEGER (0..9),
+ sl16 INTEGER (0..15),
+ sl20 INTEGER (0..19),
+ sl40 INTEGER (0..39),
+ sl80 INTEGER (0..79),
+ sl160 INTEGER (0..159),
+ sl320 INTEGER (0..319),
+ sl640 INTEGER (0..639)
+ } OPTIONAL, -- Need M
+ -- ID of the PUCCH resource in which the UE shall send the scheduling request. The
+ -- actual PUCCH-Resource is configured in PUCCH-Config of the same UL BWP and serving cell as this SchedulingRequestResourceConfig.
+ -- The network configures a PUCCH-Resource of PUCCH-format0 or PUCCH-format1
+ -- (other formats not supported). Corresponds to L1 parameter 'SR-resource' (see 38.213, section 9.2.2)
+ resource PUCCH-ResourceId OPTIONAL -- Need M
+}
+
+-- TAG-SCHEDULING-REQUEST-RESOURCE-CONFIG-STOP
+-- TAG-SCHEDULINGREQUESTRESOURCEID-START
+
+SchedulingRequestResourceId ::= INTEGER (1..maxNrofSR-Resources)
+
+-- TAG-SCHEDULINGREQUESTRESOURCEID-STOP
+-- TAG-SCRAMBLING-ID-START
+
+ScramblingId ::= INTEGER (0..1023)
+
+-- TAG-SCRAMBLING-ID-STOP
+-- TAG-SCS-SPECIFIC-CARRIER-START
+
+SCS-SpecificCarrier ::= SEQUENCE {
+ -- Offset in frequency domain between Point A (lowest subcarrier of common RB 0) and the lowest usable subcarrier on this carrier
+ -- in number of PRBs (using the subcarrierSpacing defined for this carrier). The maximum value corresponds to 275*8-1.
+ -- Corresponds to L1 parameter 'offset-pointA-low-scs' (see 38.211, section FFS_Section)
+ offsetToCarrier INTEGER (0..2199),
+ -- Subcarrier spacing of this carrier. It is used to convert the offsetToCarrier into an actual frequency.
+ -- Only the values 15 or 30 kHz (<6GHz), 60 or 120 kHz (>6GHz) are applicable.
+ -- Corresponds to L1 parameter 'ref-scs' (see 38.211, section FFS_Section)
+ subcarrierSpacing SubcarrierSpacing,
+ -- Corresponds to L1 parameter k0 (see 38.211, section 5.3.1). n-6 corresponds to value -6, n0 corresponds to value 0 and n6 corresponds
+ -- to value +6.
+ k0 ENUMERATED {n-6, n0, n6},
+ -- Width of this carrier in number of PRBs (using the subcarrierSpacing defined for this carrier)
+ -- Corresponds to L1 parameter 'BW' (see 38.211, section FFS_Section)
+ carrierBandwidth INTEGER (1..maxNrofPhysicalResourceBlocks),
+ ...
+}
+
+-- TAG-SCS-SPECIFIC-CARRIER-STOP
-- TAG-SDAP-CONFIG-START
SDAP-Config ::= SEQUENCE {
- -- FFS / TODO: Definition of PDUsessionID to be added
- pduSession PDUsessionID,
+ pdu-Session PDU-SessionID,
-- FFS: separate configuration for UL and DL
- sdap-Header-DL ENUMERATED {present, absent},
- sdap-Header-UL ENUMERATED {present, absent},
+ sdap-HeaderDL ENUMERATED {present, absent},
+ sdap-HeaderUL 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
+ -- A list of QoS-Flow-IDs that the UE shall map to the DRB of this SDAP-Config.
+ mappedQoS-FlowsToAdd SEQUENCE (SIZE (1..maxNrofQFIs)) OF QFI OPTIONAL, -- Need N
+ -- A list of QoS-Flow-IDs that the UE shall no longer map to the DRB of this SDAP-Config.
+ mappedQoS-FlowsToRelease SEQUENCE (SIZE (1..maxNrofQFIs)) OF QFI OPTIONAL, -- Need N
...
}
-
QFI ::= INTEGER (0..maxQFI)
+PDU-SessionID ::= INTEGER (0..255)
+
-- TAG-SDAP-CONFIG-STOP
+-- TAG-SEARCHSPACE-START
+
+SearchSpace ::= SEQUENCE {
+ -- Identity of the search space. SearchSpaceId = 0 identifies the SearchSpace configured via PBCH (MIB) or ServingCellConfigCommon.
+ -- The searchSpaceId is unique among the BWPs of a Serving Cell.
+ searchSpaceId SearchSpaceId,
+
+ -- The CORESET applicable for this SearchSpace.
+ -- Value 0 identifies the common CORESET configured in MIB and in ServingCellConfigCommon
+ -- Values 1..maxNrofControlResourceSets-1 identify CORESETs configured by dedicated signalling
+ controlResourceSetId ControlResourceSetId OPTIONAL, -- Cond SetupOnly
+
+ -- 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)
+ monitoringSlotPeriodicityAndOffset CHOICE {
+ sl1 NULL,
+ sl2 INTEGER (0..1),
+ sl4 INTEGER (0..3),
+ sl5 INTEGER (0..4),
+ sl8 INTEGER (0..7),
+ sl10 INTEGER (0..9),
+ sl16 INTEGER (0..15),
+ sl20 INTEGER (0..19)
+ } OPTIONAL, -- Cond Setup
+
+ -- 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, -- Cond Setup
+
+ -- Number of PDCCH candidates per aggregation level. Corresponds to L1 parameter 'Aggregation-level-1' to 'Aggregation-level-8'.
+ -- The number of candidates and aggregation levels configured here applies to all formats unless a particular value is specified or
+ -- a format-specific value is provided (see inside searchSpaceType).
+ -- (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},
+ aggregationLevel16 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8}
+ } OPTIONAL, -- Cond Setup
+
+ -- Indicates whether this is a common search space (present) or a UE specific search space as well as DCI formats to monitor for.
+ searchSpaceType CHOICE {
+ -- Configures this search space as common search space (CSS) and DCI formats to monitor.
+ common SEQUENCE {
+ -- If configured, the UE monitors the DCI formats 0_0 and 1_0 with CRC scrambled by C-RNTI, CS-RNTI (if configured),
+ -- SP-CSI-RNTI (if configured), RA-RNTI, TC-RNTI, P-RNTI, SI-RNTI
+ dci-Format0-0-AndFormat1-0 SEQUENCE {
+ ...
+ } OPTIONAL, -- Need R
+ -- If configured, UE monitors the DCI format format 2_0 with CRC scrambled by SFI-RNTI
+ dci-Format2-0 SEQUENCE {
+ -- The number of PDCCH candidates specifically for format 2-0 for the configured aggregation level.
+ -- If an aggregation level is absent, the UE does not search for any candidates with that aggregation level.
+ -- Corresponds to L1 parameters 'SFI-Num-PDCCH-cand' and 'SFI-Aggregation-Level' (see 38.213, section 11.1.1).
+ nrofCandidates-SFI SEQUENCE {
+ aggregationLevel1 ENUMERATED {n1, n2} OPTIONAL, -- Need R
+ aggregationLevel2 ENUMERATED {n1, n2} OPTIONAL, -- Need R
+ aggregationLevel4 ENUMERATED {n1, n2} OPTIONAL, -- Need R
+ aggregationLevel8 ENUMERATED {n1, n2} OPTIONAL, -- Need R
+ aggregationLevel16 ENUMERATED {n1, n2} OPTIONAL -- Need R
+ },
+ ...
+ } OPTIONAL, -- Need R
+ -- If configured, UE monitors the DCI format format 2_1 with CRC scrambled by INT-RNTI
+ dci-Format2-1 SEQUENCE {
+ ...
+ } OPTIONAL, -- Need R
+ -- If configured, UE monitors the DCI format 2_2 with CRC scrambled by TPC-PUSCH-RNTI or TPC-PUCCH-RNTI
+ dci-Format2-2 SEQUENCE {
+ ...
+ } OPTIONAL, -- Need R
+ -- If configured, UE monitors the DCI format 2_3 with CRC scrambled by TPC-SRS-RNTI
+ dci-Format2-3 SEQUENCE {
+ -- Monitoring periodicity of SRS PDCCH in number of slots for DCI format 2-3.
+ -- Corresponds to L1 parameter 'SRS-monitoring-periodicity' (see 38.212, 38.213, section 7.3.1, 11.3)
+ monitoringPeriodicity ENUMERATED {n1, n2, n4, n5, n8, n10, n16, n20 } OPTIONAL, -- Cond Setup
+
+ -- The number of PDCCH candidates for DCI format 2-3 for the configured aggregation level.
+ -- Corresponds to L1 parameter 'SRS-Num-PDCCH-cand' (see 38.212, 38.213, section 7.3.1, 11.3)
+ nrofPDCCH-Candidates ENUMERATED {n1, n2},
+ ...
+ } OPTIONAL -- Need R
+ },
+ -- Configures this search space as UE specific search space (USS). The UE monitors the DCI format with CRC scrambled
+ -- by C-RNTI, CS-RNTI (if configured), TC-RNTI (if a certain condition is met), and SP-CSI-RNTI (if configured)
+ ue-Specific SEQUENCE {
+ -- Indicates whether the UE monitors in this USS for DCI formats 0-0 and 1-0 or for formats 0-1 and 1-1.
+ dci-Formats ENUMERATED {formats0-0-And-1-0, formats0-1-And-1-1},
+ ...
+ }
+ } OPTIONAL -- Cond Setup
+}
+-- TAG-SEARCHSPACE-STOP
+-- TAG-SEARCHSPACEID-START
+
+SearchSpaceId ::= INTEGER (0..maxNrofSearchSpaces-1)
+
+-- TAG-SEARCHSPACEID-STOP
+-- TAG-SECURITY-ALGORITHM-CONFIG-START
SecurityAlgorithmConfig ::= SEQUENCE {
cipheringAlgorithm CipheringAlgorithm,
- integrityProtAlgorithm IntegrityProtAlgorithm
-
+ integrityProtAlgorithm IntegrityProtAlgorithm OPTIONAL, -- Need R
+ ...
}
IntegrityProtAlgorithm ::= ENUMERATED {
@@ -2403,269 +3854,327 @@ CipheringAlgorithm ::= ENUMERATED {
nea0, nea1, nea2, nea3, spare4, spare3,
spare2, spare1, ...}
+-- TAG-SECURITY-ALGORITHM-CONFIG-STOP
-- TAG-SERV-CELL-INDEX-START
-ServCellIndex ::= INTEGER (0..16)
+ServCellIndex ::= INTEGER (0..maxNrofServingCells-1)
-- TAG-SERV-CELL-INDEX-STOP
--- TAG-SERVING-CELL-CONFIG-COMMON-START
+-- TAG-SERVING-CELL-CONFIG-START
-ServingCellConfigCommon ::= SEQUENCE {
+ServingCellConfig ::= SEQUENCE {
+ -- L1 parameters:
- -- 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
+ tdd-UL-DL-ConfigurationDedicated TDD-UL-DL-ConfigDedicated OPTIONAL, -- Cond TDD
- -- 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
+ -- The dedicated (UE-specific) configuration for the initial downlink bandwidth-part.
+ initialDownlinkBWP BWP-DownlinkDedicated OPTIONAL, -- Cond ServCellAdd
+ -- List of additional downlink bandwidth parts to be released. (see 38.211, 38.213, section 12).
+ downlinkBWP-ToReleaseList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id OPTIONAL, -- Need N
+ -- List of additional downlink bandwidth parts to be added or modified. (see 38.211, 38.213, section 12).
+ downlinkBWP-ToAddModList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Downlink OPTIONAL, -- Need N
- -- 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,
+ -- If configured for an SpCell, this field contains the ID of the DL BWP to be activated upon performing the reconfiguration
+ -- in which it is received. If the field is absent, the RRC reconfiguration does not impose a BWP switch (corresponds to L1
+ -- parameter 'active-BWP-DL-Pcell').
+ -- If configured for an SCell, this field contains the ID of the downlink bandwidth part to be used upon MAC-activation of an SCell.
+ -- If not provided, the UE uses the default BWP.
+ -- The initial bandwidth part is referred to by BWP-Id = 0.
+ firstActiveDownlinkBWP-Id BWP-Id OPTIONAL, -- Need R
- -- 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,
+ -- The duration in ms after which the UE falls back to the default Bandwidth Part. (see 38.321, section 5.15)
+ -- The value 0.5 ms is only applicable for carriers >6 GHz.
+ -- When the network releases the timer configuration, the UE stops the timer without swithching to the default BWP.
+ bwp-InactivityTimer ENUMERATED {ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40,ms50, ms60, ms80,
+ ms100, ms200, ms300, ms500, ms750, ms1280, ms1920, ms2560, spare10, spare9,
+ spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 } OPTIONAL, -- Need R
- -- 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,
+ -- Corresponds to L1 parameter 'default-DL-BWP'. The initial bandwidth part is referred to by BWP-Id = 0.
+ -- 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 uses the the initial BWP as default BWP.
+ -- (see 38.211, 38.213, section 12 and 38.321, section 5.15)
+ defaultDownlinkBWP-Id BWP-Id 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,
+ uplinkConfig UplinkConfig OPTIONAL, -- Cond ServCellAdd-UL
+ supplementaryUplink UplinkConfig OPTIONAL, -- Cond ServCellAdd-SUL
- -- 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},
+ -- PDSCH releated parameters that are not BWP-specific.
+ pdsch-ServingCellConfig CHOICE {release NULL, setup PDSCH-ServingCellConfig } OPTIONAL, -- Need M
+ csi-MeasConfig CHOICE {release NULL, setup CSI-MeasConfig } OPTIONAL, -- Need M
- -- 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
+ -- Includes parameters for configuration of carrier based SRS switching
+ -- Corresponds to L1 parameter 'SRS-CarrierSwitching' (see 38,214, section FFS_Section)
+ carrierSwitching CHOICE {release NULL, setup SRS-CarrierSwitching } OPTIONAL, -- Need M
+ -- MAC parameters:
+ sCellDeactivationTimer ENUMERATED {ms20, ms40, ms80, ms160, ms200, ms240, ms320, ms400, ms480, ms520, ms640,
+ ms720, ms840, ms1280, spare2,spare1} OPTIONAL, -- Cond ServingCellWithoutPUCCH
- 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,
+ -- Indicates whether this SCell is cross-carrier scheduled by another serving cell.
+ crossCarrierSchedulingConfig CrossCarrierSchedulingConfig OPTIONAL, -- Need M
- -- 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,
+ -- 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, -- Need R
- -- 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,
+ -- 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 SCellOnly
+}
- -- 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,
+UplinkConfig ::= SEQUENCE {
+ -- Configuration of UL BWPs (including BWP-specific parameters:
- -- 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
+ -- The dedicated (UE-specific) configuration for the initial uplink bandwidth-part.
+ initialUplinkBWP BWP-UplinkDedicated OPTIONAL, -- Cond ServCellAdd
- -- 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),
+ -- The additional 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.
+ uplinkBWP-ToReleaseList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id OPTIONAL, -- Need N
+ uplinkBWP-ToAddModList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Uplink OPTIONAL, -- Need N
- -- 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
+ -- If configured for an SpCell, this field contains the ID of the DL BWP to be activated upon performing the reconfiguration
+ -- in which it is received. If the field is absent, the RRC reconfiguration does not impose a BWP switch (corresponds to
+ -- L1 parameter 'active-BWP-UL-Pcell').
+ -- If configured for an SCell, this field contains the 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.
+ -- The initial bandwidth part is referred to by BandiwdthPartId = 0.
+ firstActiveUplinkBWP-Id BWP-Id OPTIONAL, -- Need R
- -- =====================================
- -- 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,
+ -- Configuration that is common across the UL BWPs:
+ -- PUSCH related parameters that are not BWP-specific.
+ pusch-ServingCellConfig CHOICE {release NULL, setup PUSCH-ServingCellConfig } OPTIONAL, -- Need M
+ ...
}
--- TAG-SERVING-CELL-CONFIG-COMMON-STOP
--- TAG-SERVING-CELL-CONFIG-DEDICATED-START
+-- TAG-SERVING-CELL-CONFIG-STOP
+-- TAG-SERVING-CELL-CONFIG-COMMON-START
-ServingCellConfigDedicated ::= SEQUENCE {
- -- L1 parameters:
+ServingCellConfigCommon ::= SEQUENCE {
+ physCellId PhysCellId OPTIONAL, -- Cond HOAndServCellAdd,
+ frequencyInfoDL FrequencyInfoDL OPTIONAL, -- Cond InterFreqHOAndServCellAdd
+ -- The initial downlink BWP configuration for a SpCell (PCell of MCG or SCG).
+ initialDownlinkBWP BWP-DownlinkCommon OPTIONAL, -- Cond ServCellAdd
- 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),
+ uplinkConfigCommon UplinkConfigCommon OPTIONAL, -- Cond ServCellAdd-UL
+ supplementaryUplinkConfig UplinkConfigCommon OPTIONAL, -- Cond ServCellAdd-SUL
- -- 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,
+ -- Indicates the time domain positions of the transmitted SS-blocks in an SS-burst. The first/ leftmost bit corresponds to SS/PBCH
+ -- block index 0, the second bit corresponds to SS/PBCH block index 1, and so on. Value 0 in the bitmap indicates that the
+ -- corresponding SS/PBCH block is not transmitted while value 1 indicates that the corresponding SS/PBCH block is transmitted.
+ -- Corresponds to L1 parameter 'SSB-Transmitted' (see 38.213, section 4.1)
+ 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 R,
+ -- The SSB periodicity in msec for the rate matching purpose. If the field is absent, the UE applies the value ms5.
+ -- (see 38.211, section [7.4.3.1])
+ ssb-periodicityServingCell ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, spare2, spare1 } OPTIONAL, -- Need S
+ -- Position of (first) DL DM-RS (see 38.211, section 7.4.1.1.1)
+ dmrs-TypeA-Position ENUMERATED {pos2, pos3},
- -- 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
+ -- Parameters to determine an LTE CRS pattern that the UE shall rate match around.
+ lte-CRS-ToMatchAround CHOICE {release NULL, setup RateMatchPatternLTE-CRS } OPTIONAL, -- Need M
- bandwidthParts BandwidthParts OPTIONAL,
+ -- Resources patterns which the UE should rate match PDSCH around. The UE rate matches around the union of all resources
+ -- indicated in the nested bitmaps. Rate match patterns defined here on cell level apply only to PDSCH of the same numerology.
+ -- Corresponds to L1 parameter 'Resource-set-cekk' (see 38.214, section 5.1.2.2.3)
+ rateMatchPatternToAddModList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPattern OPTIONAL, -- Need N
+ rateMatchPatternToReleaseList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId OPTIONAL, -- Need N
- -- 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
+ -- 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.
+ -- Only the values 15 or 30 kHz (<6GHz), 120 or 240 kHz (>6GHz) are applicable.
+ subcarrierSpacing SubcarrierSpacing OPTIONAL, -- Need S
+ -- A cell-specific TDD UL/DL configuration. Corresponds to L1 parameter 'UL-DL-configuration-common' (see 38.213, section 11.1)
+ tdd-UL-DL-ConfigurationCommon TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD
+ -- A second cell-specific TDD UL/DL configuration. When tdd-UL-DL-ConfigurationCommon2 is configured, the cell specific DL/UL
+ -- pattern is a concatenation of the pattern specified in tdd-UL-DL-ConfigurationCommon and the pattern specified in
+ -- tdd-UL-DL-ConfigurationCommon2. Corresponds to L1 parameter 'UL-DL-configuration-common-Set2' (see 38.211, section 11.1)
+ tdd-UL-DL-ConfigurationCommon2 TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD
+ -- 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),
+ ...
+}
- pdcch-Config PDCCH-Config OPTIONAL,
- pdsch-Config PDSCH-Config OPTIONAL,
+UplinkConfigCommon ::= SEQUENCE {
+ -- Absolute uplink frequency configuration and subcarrier specific virtual carriers.
+ frequencyInfoUL FrequencyInfoUL OPTIONAL, -- Cond InterFreqHOAndServCellAdd
+ -- The initial uplink BWP configuration for a SpCell (PCell of MCG or SCG). Corresponds to L1 parameter 'initial-UL-BWP'.
+ -- (see 38.331, section FFS_Section).
+ initialUplinkBWP BWP-UplinkCommon OPTIONAL -- Cond ServCellAdd
+}
- -- FFS in RAN1: Tracking Reference Signals configuration: TRS-Config?
- csi-MeasConfig CSI-MeasConfig OPTIONAL,
+-- TAG-SERVING-CELL-CONFIG-COMMON-STOP
+-- TAG-SINR-RANGE-START
- pucch-Config PUCCH-Config OPTIONAL,
- pusch-Config PUSCH-Config OPTIONAL,
- srs-Config SRS-Config OPTIONAL,
+SINR-Range ::= INTEGER(0..127)
- -- MAC parameters:
- -- FFS: Is it per BWP?
+-- TAG-SINR-RANGE-STOP
+-- TAG-SLOTFORMATCOMBINATIONSPERCELL-START
+-- The SlotFormatCombinations applicable for one serving cell. Corresponds to L1 parameter 'cell-to-SFI' (see 38.213, section 11.1.1)
+SlotFormatCombinationsPerCell ::= SEQUENCE {
+ -- The ID of the serving cell for which the slotFormatCombinations are applicable
+ servingCellId ServCellIndex,
- -- FFS: Resources for scheduling request (per BWP)
+ -- Reference subcarrier spacing for this Slot Format Combination. Corresponds to L1 parameter 'SFI-scs' (see 38.213, section FFS_Section)
+ subcarrierSpacing SubcarrierSpacing,
+ -- Reference subcarrier spacing for a Slot Format Combination on an FDD or SUL cell.
+ -- Corresponds to L1 parameter 'SFI-scs2' (see 38.213, section FFS_Section).
+ -- For FDD, subcarrierSpacing (SFI-scs) is the reference SCS for DL BWP and subcarrierSpacing2 (SFI-scs2) is the reference SCS for UL BWP.
+ -- For SUL, subcarrierSpacing (SFI-scs) is the reference SCS for non-SUL carrier and subcarrierSpacing2 (SFI-scs2) is the reference
+ -- SCS for SUL carrier.
+ subcarrierSpacing2 SubcarrierSpacing OPTIONAL, -- Need R
- 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
+ -- A list with SlotFormatCombinations. Each SlotFormatCombination comprises of one or more SlotFormats (see 38.211, section 4.3.2)
+ -- FFS_CHECK: RAN1 indicates that the combinations could be of two different types... but they don't specify the second
+ slotFormatCombinations SEQUENCE (SIZE (1..maxNrofSlotFormatCombinationsPerSet)) OF SlotFormatCombination OPTIONAL,
- -- 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,
+ -- The (starting) position (bit) of the slotFormatCombinationId (SFI-Index) for this serving cell (servingCellId) within the DCI payload.
+ -- Corresponds to L1 parameter 'SFI-values' (see 38.213, section FFS_Section)
+ positionInDCI INTEGER(0..maxSFI-DCI-PayloadSize-1) 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
+SlotFormatCombination ::= SEQUENCE {
+ -- This ID is used in the DCI payload to dynamically select this SlotFormatCombination.
+ -- Corresponds to L1 parameter 'SFI-index' (see 38.213, section FFS_Section)
+ slotFormatCombinationId SlotFormatCombinationId,
+ -- Slot formats that occur in consecutive slots in time domain order as listed here. The the slot formats are
+ -- defined in 38.211, table 4.3.2-3 and numbered with 0..255.
+ slotFormats SEQUENCE (SIZE (1..maxNrofSlotFormatsPerCombination)) OF INTEGER (0..255)
}
--- TAG-SERVING-CELL-CONFIG-DEDICATED-STOP
--- TAG-SRB-IDENTITY-START
+-- 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..maxNrofSlotFormatCombinationsPerSet-1)
-SRB-Identity ::= INTEGER (1..3)
+-- TAG-SLOTFORMATCOMBINATIONSPERCELL-STOP
+-- TAG-SLOTFORMATINDICATOR-START
--- TAG-SRB-IDENTITY-STOP
+SlotFormatIndicator ::= SEQUENCE {
+ -- RNTI used for SFI on the given cell
+ -- Corresponds to L1 parameter 'SFI-RNTI' (see 38.213, section 11.1.1)
+ sfi-RNTI RNTI-Value,
+
+ -- Total length of the DCI payload scrambled with SFI-RNTI.
+ -- Corresponds to L1 parameter 'SFI-DCI-payload-length' (see 38.213, section 11.1.1)
+ dci-PayloadSize INTEGER (1..maxSFI-DCI-PayloadSize),
+
+ -- A list of SlotFormatCombinations for the UE's serving cells.
+ -- Corresponds to L1 parameter 'SFI-cell-to-SFI' (see 38.213, section 11.1.1)
+ slotFormatCombToAddModList SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF SlotFormatCombinationsPerCell OPTIONAL, -- Need N
+ slotFormatCombToReleaseList SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF ServCellIndex OPTIONAL, -- Need N
+ ...
+}
+
+-- TAG-SLOTFORMATINDICATOR-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
+-- Downlink 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
+ -- Periodicity for DL SPS
+ -- Corresponds to L1 parameter 'semiPersistSchedIntervalDL' (see 38.214 and 38.321, section FFS_Section)
+ -- FFS-Value: Support also shorter periodicities for DL?
+ periodicity ENUMERATED {ms10, ms20, ms32, ms40, ms64, ms80, ms128, ms160, ms320, ms640,
+ spare6, spare5, spare4, spare3, spare2, spare1},
+ -- Number of configured HARQ processes for SPS DL. Corresponds to L1 parameter 'numberOfConfSPS-Processes' (see 38.214, section FFS_Section)
+ nrofHARQ-Processes INTEGER (1..8),
+ -- HARQ resource for PUCCH for DL SPS. The network configures the resource either as format0 or format1. (see 38.214, section FFS_Section)
+ n1PUCCH-AN PUCCH-Resource OPTIONAL -- Need M
}
-- TAG-SPS-CONFIG-STOP
+-- TAG-SRB-IDENTITY-START
+
+SRB-Identity ::= INTEGER (1..3)
+
+-- TAG-SRB-IDENTITY-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-ResourceSetToReleaseList SEQUENCE (SIZE(0..maxNrofSRS-ResourceSets)) OF SRS-ResourceSetId OPTIONAL, -- Need N
+ srs-ResourceSetToAddModList SEQUENCE (SIZE(0..maxNrofSRS-ResourceSets)) OF SRS-ResourceSet OPTIONAL, -- Need N
- 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
+ srs-ResourceToReleaseList SEQUENCE (SIZE(1..maxNrofSRS-Resources)) OF SRS-ResourceId OPTIONAL, -- Need N
+ srs-ResourceToAddModList SEQUENCE (SIZE(1..maxNrofSRS-Resources)) OF SRS-Resource OPTIONAL, -- Need N
- -- 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
+ -- If absent, UE applies TPC commands via accumulation. If disabled, UE applies the TPC command without accumulation
+ -- (this applies to SRS when a separate closed loop is configured for SRS)
+ -- Corresponds to L1 parameter 'Accumulation-enabled-srs' (see 38,213, section 7.3)
+ tpc-Accumulation ENUMERATED {disabled} OPTIONAL, -- Need S
+ ...
}
--- A set of SRS resources
SRS-ResourceSet ::= SEQUENCE {
+ -- The ID of this resource set. It is unique in the context of the BWP in which the parent SRS-Config is defined.
srs-ResourceSetId SRS-ResourceSetId,
- srs-ResourcesIds SEQUENCE (SIZE(1..maxNrofSRS-ResourcesPerSet)) OF SRS-ResourceId,
+ -- The IDs of the SRS-Reosurces used in this SRS-ResourceSet
+ srs-ResourceIdList SEQUENCE (SIZE(1..maxNrofSRS-ResourcesPerSet)) OF SRS-ResourceId OPTIONAL, -- Cond Setup
- -- 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!
+ resourceType CHOICE {
+ aperiodic SEQUENCE {
+ -- The DCI "code point" upon which the UE shall transmit SRS according to this SRS resource set configuration.
+ -- Corresponds to L1 parameter 'AperiodicSRS-ResourceTrigger' (see 38.214, section 6.1.1.2)
+ aperiodicSRS-ResourceTrigger INTEGER (0..maxNrofSRS-TriggerStates-1),
+ -- ID of CSI-RS resource associated with this SRS resource set. (see 38.214, section 6.1.1.2)
+ csi-RS NZP-CSI-RS-ResourceId,
+ -- An offset in number of slots between the triggering DCI and the actual transmission of this SRS-ResourceSet.
+ -- If the field is absent the UE applies no offset (value 0)
+ slotOffset INTEGER (1..8) OPTIONAL, -- Need S
+ ...
+ },
+ semi-persistent SEQUENCE {
+ -- ID of CSI-RS resource associated with this SRS resource set in non-codebook based operation.
+ -- Corresponds to L1 parameter 'SRS-AssocCSIRS' (see 38.214, section 6.2.1)
+ associatedCSI-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond nonCodebook
+ ...
+ },
+ periodic SEQUENCE {
+ -- ID of CSI-RS resource associated with this SRS resource set in non-codebook based operation.
+ -- Corresponds to L1 parameter 'SRS-AssocCSIRS' (see 38.214, section 6.2.1)
+ associatedCSI-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond nonCodebook
+ ...
+ }
+ },
+ -- Indicates if the SRS resource set is used for beam management vs. used for either codebook based or non-codebook based transmission.
+ -- Corresponds to L1 parameter 'SRS-SetUse' (see 38.214, section 6.2.1)
+ -- FFS_CHECK: Isn't codebook/noncodebook already known from the ulTxConfig in the SRS-Config? If so, isn't the only distinction
+ -- in the set between BeamManagement, AtennaSwitching and "Other”? Or what happens if SRS-Config=Codebook but a Set=NonCodebook?
+ usage ENUMERATED {beamManagement, codebook, nonCodebook, antennaSwitching},
+
+ -- alpha value for SRS power control. Corresponds to L1 parameter 'alpha-srs' (see 38.213, section 7.3)
+ -- When the field is absent the UE applies the value 1
+ alpha Alpha OPTIONAL, -- Need S
+ -- P0 value for SRS power control. The value is in dBm. Only even values (step size 2) are allowed.
+ -- Corresponds to L1 parameter 'p0-srs' (see 38.213, section 7.3)
+ p0 INTEGER (-202..24) OPTIONAL, -- Cond Setup
+ -- A reference signal (e.g. a CSI-RS config or a SSblock) to be used for SRS path loss estimation.
+ -- Corresponds to L1 parameter 'srs-pathlossReference-rs-config' (see 38.213, section 7.3)
+ pathlossReferenceRS CHOICE {
+ ssb-Index SSB-Index,
+ csi-RS-Index NZP-CSI-RS-ResourceId
+ } OPTIONAL, -- Need M
+ -- Indicates whether hsrs,c(i) = fc(i,1) or hsrs,c(i) = fc(i,2) (if twoPUSCH-PC-AdjustmentStates are configured)
+ -- or serarate close loop is configured for SRS. This parameter is applicable only for Uls on which UE also transmits PUSCH.
+ -- If absent or release, the UE applies the value sameAs-Fci1
+ -- Corresponds to L1 parameter 'srs-pcadjustment-state-config' (see 38.213, section 7.3)
+ srs-PowerControlAdjustmentStates ENUMERATED { sameAsFci2, separateClosedLoop} OPTIONAL, -- Need S
+ ...
}
SRS-ResourceSetId ::= INTEGER (0..maxNrofSRS-ResourceSets-1)
@@ -2673,205 +4182,1071 @@ 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!
+ -- The PTRS port index for this SRS resource for non-codebook based UL MIMO. This is only applicable when the corresponding
+ -- PTRS-UplinkConfig is set to CP-OFDM. The ptrs-PortIndex configured here must be smaller than or equal to the maxNnrofPorts
+ -- configured in the PTRS-UplinkConfig.
+ -- Corresponds to L1 parameter 'UL-PTRS-SRS-mapping-non-CB' (see 38.214, section 6.1)
+ ptrs-PortIndex ENUMERATED {n0, n1 } OPTIONAL, -- Need R
+ -- Comb value (2 or 4) and comb offset (0..combValue-1). Corresponds to L1 parameter 'SRS-TransmissionComb' (see 38.214, section 6.2.1)
+ transmissionComb CHOICE {
+ n2 SEQUENCE {
+ combOffset-n2 INTEGER (0..1),
+ -- Cyclic shift configuration. Corresponds to L1 parameter 'SRS-CyclicShiftConfig' (see 38.214, section 6.2.1)
+ cyclicShift-n2 INTEGER (0..7)
+ },
+ n4 SEQUENCE {
+ combOffset-n4 INTEGER (0..3),
+ -- Cyclic shift configuration. Corresponds to L1 parameter 'SRS-CyclicShiftConfig' (see 38.214, section 6.2.1)
+ cyclicShift-n4 INTEGER (0..11)
+ }
+ },
+ -- OFDM symbol location of the SRS resource within a slot including number of OFDM symbols (N = 1, 2 or 4 per SRS resource),
+ -- startPosition (SRSSymbolStartPosition = 0..5; "0" refers to the last symbol, "1" refers to the second last symbol) and
+ -- RepetitionFactor (r = 1, 2 or 4).
+ -- Corresponds to L1 parameter 'SRS-ResourceMapping' (see 38.214, section 6.2.1 and 38.211, section 6.4.1.4).
+ -- FFS: Apparently, RAN1 considers replacing these three fields by a table in RAN1 specs and a corresponding index in ASN.1?!
+ resourceMapping SEQUENCE {
+ startPosition INTEGER (0..5),
+ nrofSymbols ENUMERATED {n1, n2, n4},
+ repetitionFactor ENUMERATED {n1, n2, n4}
+ },
-- 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
+ freqDomainPosition INTEGER (0..67),
+ freqDomainShift INTEGER (0..268),
+ -- 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
+ freqHopping SEQUENCE {
+ c-SRS INTEGER (0..63),
+ b-SRS INTEGER (0..3),
+ b-hop INTEGER (0..3)
+ },
+ -- Parameter(s) for configuring group or sequence hopping
-- 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)
+ groupOrSequenceHopping ENUMERATED { neither, groupHopping, sequenceHopping },
+ -- Time domain behavior of SRS resource configuration.
+ -- Corresponds to L1 parameter 'SRS-ResourceConfigType' (see 38.214, section 6.2.1).
+ -- For codebook based uplink transmission, the network configures SRS resources in the same resource set with the same
+ -- time domain behavior on periodic, aperiodic and semi-persistent SRS.
-- FFS: Add configuration parameters for the different SRS resource types?
resourceType CHOICE {
aperiodic SEQUENCE {
+ ...
},
semi-persistent SEQUENCE {
+ -- Periodicity and slot offset for for this SRS resource. All values in "number of slots".
+ -- sl1 corresponds to a periodicity of 1 slot, value sl2 corresponds to a periodicity of 2 slots, and so on.
+ -- For each periodicity the corresponding offset is given in number of slots. For periodicity sl1 the offset is 0 slots.
+ -- Corresponds to L1 parameter 'SRS-SlotConfig' (see 38.214, section 6.2.1)
+ periodicityAndOffset-sp SRS-PeriodicityAndOffset,
+ ...
},
periodic SEQUENCE {
+ -- Periodicity and slot offset for for this SRS resource. All values in "number of slots"
+ -- sl1 corresponds to a periodicity of 1 slot, value sl2 corresponds to a periodicity of 2 slots, and so on.
+ -- For each periodicity the corresponding offset is given in number of slots. For periodicity sl1 the offset is 0 slots.
+ -- Corresponds to L1 parameter 'SRS-SlotConfig' (see 38.214, section 6.2.1)
+ periodicityAndOffset-p SRS-PeriodicityAndOffset,
+ ...
}
- } 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
+ -- Sequence ID used to initialize psedo random group and sequence hopping.
+ -- Corresponds to L1 parameter 'SRS-SequenceId' (see 38.214, section 6.2.1)
+ sequenceId BIT STRING (SIZE (10)),
+
-- 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
+ spatialRelationInfo CHOICE {
+ ssb-Index SSB-Index,
+ csi-RS-Index NZP-CSI-RS-ResourceId,
+ srs SRS-ResourceId
+ } OPTIONAL, -- Need R
+ ...
}
SRS-ResourceId ::= INTEGER (0..maxNrofSRS-Resources-1)
+SRS-PeriodicityAndOffset ::= CHOICE {
+ sl1 NULL,
+ sl2 INTEGER(0..1),
+ sl4 INTEGER(0..3),
+ sl5 INTEGER(0..4),
+ sl8 INTEGER(0..7),
+ sl10 INTEGER(0..9),
+ sl16 INTEGER(0..15),
+ sl20 INTEGER(0..19),
+ sl32 INTEGER(0..31),
+ sl40 INTEGER(0..39),
+ sl64 INTEGER(0..63),
+ sl80 INTEGER(0..79),
+ sl160 INTEGER(0..159),
+ sl320 INTEGER(0..319),
+ sl640 INTEGER(0..639),
+ sl1280 INTEGER(0..1279),
+ sl2560 INTEGER(0..2559)
+}
+
-- TAG-SRS-CONFIG-STOP
--- TAG-SUBCARRIER-SPACING-START
+-- TAG-SRS-CARRIERSWITCHING-START
+SRS-CarrierSwitching ::= SEQUENCE {
+
+ -- Indicates the serving cell whose UL transmission may be interrupted during SRS transmission on a PUSCH-less cell.
+ -- During SRS transmission on a PUSCH-less cell, the UE may temporarily suspend the UL transmission on a serving cell with PUSCH
+ -- in the same CG to allow the PUSCH-less cell to transmit SRS. (see 38.214, section 6.2.1.3)
+ srs-SwitchFromServCellIndex INTEGER (0..31) OPTIONAL, -- Cond Setup
+
+ -- Network configures the UE with either typeA-SRS-TPC-PDCCH-Group or typeB-SRS-TPC-PDCCH-Group, if any.
+ srs-TPC-PDCCH-Group CHOICE {
+ -- Type A trigger configuration for SRS transmission on a PUSCH-less SCell.
+ -- Corresponds to L1 parameter 'typeA-SRS-TPC-PDCCH-Group' (see 38.212, 38.213, section 7.3.1, 11.3)
+ typeA SEQUENCE (SIZE (1..32)) OF SRS-TPC-PDCCH-Config,
+ -- Type B trigger configuration for SRS transmission on a PUSCH-less SCell.
+ -- Corresponds to L1 parameter 'typeB-SRS-TPC-PDCCH-Config' (see 38.212, 38.213, section 7.3.1, 11.3)
+ typeB SRS-TPC-PDCCH-Config
+ } OPTIONAL, -- Cond Setup
+
+ -- Maps a specific cell to a given SFI value within the DCI message
+ -- Corresponds to L1 parameter 'SRS-cell-to-SFI' (see 38.212, 38.213, section 7.3.1, 11.3)
+ srs-CellToSFI SEQUENCE (SIZE (1..maxNrofServingCells)) OF SlotFormatCombinationsPerCell OPTIONAL, -- Cond Setup
+
+ -- A set of serving cells for monitoring PDCCH conveying SRS DCI format with CRC scrambled by TPC-SRS-RNTI
+ -- Corresponds to L1 parameter 'SRS-monitoring-cells' (see 38.212, 38.213, section 7.3.1, 11.3)
+ monitoringCells SEQUENCE (SIZE (1..maxNrofServingCells)) OF ServCellIndex OPTIONAL, -- Cond Setup
+ ...
+}
--- 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}
+-- One trigger configuration for SRS-Carrier Switching. (see 38.212, 38.213, section 7.3.1, 11.3)
+SRS-TPC-PDCCH-Config ::= SEQUENCE {
+ -- The starting bit position of a block within the group DCI with SRS request fields (optional) and TPC commands
+ -- for a PUSCH-less SCell. (see 38.212, 38.213, section 7.3.1, 11.3)
+ startingBitOfFormat2-3 INTEGER (1..31) OPTIONAL, -- Cond Setup
+ -- The type of a field within the group DCI with SRS request fields (optional) for a PUSCH-less SCell,
+ -- which indicates how many bits in the field are for SRS request (0 or 1/2).
+ -- Note that for Type A, there is a common SRS request field for all SCells in the set, but each SCell has its
+ -- own TPC command bits. See TS 38.212. Network configures this field with the same value for all PUSCH-less SCells.
+ -- (see 38.212, 38.213, section 7.3.1, 11.3)
+ fieldTypeFormat2-3 INTEGER (0..1) OPTIONAL, -- Cond Setup
+ -- A list of paris of [cc-SetIndex; cc-IndexInOneCC-Set] (see 38.212, 38.213, section 7.3.1, 11.3)
+ -- FFS: Improve description. What is a "CC"? Where is a CC-Set defined? ...
+ srs-CC-SetIndexlist SEQUENCE (SIZE(1..4)) OF SRS-CC-SetIndex OPTIONAL -- Cond Setup
+}
--- 15 or 30 kHz (<6GHz), 120 and 240 kHz (>6GHz).
-SubcarrierSpacingSSB ::= ENUMERATED {kHz15, kHz30, kHz120, kHz240}
+SRS-CC-SetIndex ::= SEQUENCE {
+ -- Indicates the CC set index for Type A associated (see 38.212, 38.213, section 7.3.1, 11.3)
+ cc-SetIndex INTEGER (0..3) OPTIONAL, -- Cond Setup
+ -- Indicates the CC index in one CC set for Type A (see 38.212, 38.213, section 7.3.1, 11.3)
+ cc-IndexInOneCC-Set INTEGER (0..7) OPTIONAL -- Cond Setup
+}
+
+-- TAG-SRS-CARRIERSWITCHING-STOP
+-- TAG-SSB-INDEX-START
+
+SSB-Index ::= INTEGER (0..63)
+
+-- TAG-SSB-INDEX-STOP
+-- TAG-SUBCARRIER-SPACING-START
+
+-- The subcarrier spacing supported in NR. Restrictions applicable for certain frequencies, channels or signals are clarified
+-- in the fields that use this IE.
+SubcarrierSpacing ::= ENUMERATED {kHz15, kHz30, kHz60, kHz120, kHz240, spare3, spare2, spare1}
-SubcarrierSpacingRACH ::= NULL -- WS modification: was TYPE_FFS!
-- TAG-SUBCARRIER-SPACING-STOP
+-- TAG-TCI-STATE-START
+
+TCI-State ::= SEQUENCE {
+ tci-StateId TCI-StateId,
+ qcl-Type1 QCL-Info,
+ qcl-Type2 QCL-Info OPTIONAL, -- Need R
+ nrofPTRS-Ports ENUMERATED {n1, n2} OPTIONAL, -- Need R
+ ...
+}
+
+QCL-Info ::= SEQUENCE {
+
+ -- The carrier which the RS is located in. If the field is absent, it applies to the serving cell in which the TCI-State is configured
+ cell ServCellIndex OPTIONAL, -- Need R
+
+ -- The DL BWP which the RS is located in.
+ bwp-Id BWP-Id OPTIONAL, -- Cond CSI-RS-Indicated
+ -- Cond NZP-CSI-RS-Indicated: mandatory if csi-rs or csi-RS-for-tracking is included, absent otherwise
+ referenceSignal CHOICE {
+ csi-rs NZP-CSI-RS-ResourceId,
+ ssb SSB-Index,
+ -- A set of CSI-RS resources for tracking
+ csi-RS-for-tracking NZP-CSI-RS-ResourceSetId
+ },
+ qcl-Type ENUMERATED {typeA, typeB, typeC, typeD},
+ ...
+}
+
+-- TAG-TCI-STATE-STOP
+-- TAG-TCI-STATEID-START
+
+TCI-StateId ::= INTEGER (0..maxNrofTCI-States-1)
+
+-- TAG-TCI-STATEID-STOP
+-- TAG-TDD-UL-DL-CONFIG-START
+
+TDD-UL-DL-ConfigCommon ::= SEQUENCE {
+ -- Reference SCS used to determine the time domain boundaries in the UL-DL pattern which must be common across all subcarrier specific
+ -- virtual carriers, i.e., independent of the actual subcarrier spacing using for data transmission.
+ -- Only the values 15 or 30 kHz (<6GHz), 60 or 120 kHz (>6GHz) are applicable.
+ -- Corresponds to L1 parameter 'reference-SCS' (see 38.211, section FFS_Section)
+ referenceSubcarrierSpacing SubcarrierSpacing OPTIONAL,
+ -- Periodicity of the DL-UL pattern. Corresponds to L1 parameter 'DL-UL-transmission-periodicity' (see 38.211, section FFS_Section)
+ dl-UL-TransmissionPeriodicity ENUMERATED {ms0p5, ms0p625, ms1, ms1p25, ms2, ms2p5, 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, Table 4.3.2-1)
+ nrofDownlinkSlots INTEGER (0..maxNrofSlots) OPTIONAL,
+
+ -- Number of consecutive DL symbols in the beginning of the slot following the last full DL slot (as derived from nrofDownlinkSlots).
+ -- If the field is absent or released, there is no partial-downlink slot.
+ -- Corresponds to L1 parameter 'number-of-DL-symbols-common' (see 38.211, section FFS_Section).
+ nrofDownlinkSymbols INTEGER (0..maxNrofSymbols-1) OPTIONAL, -- Need R
+
+ -- 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, Table 4.3.2-1)
+ nrofUplinkSlots INTEGER (0..maxNrofSlots) OPTIONAL,
+
+ -- Number of consecutive UL symbols in the end of the slot preceding the first full UL slot (as derived from nrofUplinkSlots).
+ -- If the field is absent or released, there is no partial-uplink slot.
+ -- Corresponds to L1 parameter 'number-of-UL-symbols-common' (see 38.211, section FFS_Section)
+ nrofUplinkSymbols INTEGER (0..maxNrofSymbols-1) OPTIONAL -- Need R
+}
+
+TDD-UL-DL-ConfigDedicated ::= 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.
+ -- FFS_CHECK: This list will grow very large if used for many slots.
+ slotSpecificConfigurationsToAddModList SEQUENCE (SIZE (1..maxNrofSlots)) OF TDD-UL-DL-SlotConfig OPTIONAL, -- Need N
+ slotSpecificConfigurationsToreleaseList SEQUENCE (SIZE (1..maxNrofSlots)) OF TDD-UL-DL-SlotIndex OPTIONAL -- Need N
+}
+
+TDD-UL-DL-SlotConfig ::= SEQUENCE {
+ -- Identifies a slot within a dl-UL-TransmissionPeriodicity (given in tdd-UL-DL-configurationCommon)
+ slotIndex TDD-UL-DL-SlotIndex,
+
+ -- The direction (downlink or uplink) for the symbols in this slot. "allDownlink" indicates that all symbols in this slot are used
+ -- for downlink; "allUplink" indicates that all symbols in this slot are used for uplink; "explicit" indicates explicitly how many symbols
+ -- in the beginning and end of this slot are allocated to downlink and uplink, respectively.
+ symbols CHOICE {
+ allDownlink NULL,
+ allUplink NULL,
+ explicit SEQUENCE {
+ -- Number of consecutive DL symbols in the beginning of the slot identified by slotIndex.
+ -- If the field is absent the UE assumes that there are no leading DL symbols.
+ -- Corresponds to L1 parameter 'number-of-DL-symbols-dedicated' (see 38.211, section FFS_Section)
+ nrofDownlinkSymbols INTEGER (1..maxNrofSymbols-1) OPTIONAL, -- Need S
+
+ -- Number of consecutive UL symbols in the end of the slot identified by slotIndex.
+ -- If the field is absent the UE assumes that there are no trailing UL symbols.
+ -- Corresponds to L1 parameter 'number-of-UL-symbols-dedicated' (see 38.211, section FFS_Section)
+ nrofUplinkSymbols INTEGER (1..maxNrofSymbols-1) OPTIONAL -- Need S
+ }
+ }
+}
+
+TDD-UL-DL-SlotIndex ::= INTEGER (0..maxNrofSlots-1)
+
+-- TAG-TDD-UL-DL-CONFIG-STOP
+
+TimeToTrigger ::= ENUMERATED {
+ ms0, ms40, ms64, ms80, ms100, ms128, ms160, ms256,
+ ms320, ms480, ms512, ms640, ms1024, ms1280, ms2560,
+ ms5120}
+
+-- TAG-ZP-CSI-RS-RESOURCE-START
+
+ZP-CSI-RS-Resource ::= SEQUENCE {
+ -- ZP CSI-RS resource configuration ID
+ -- Corresponds to L1 parameter 'ZP-CSI-RS-ResourceConfigId' (see 38.214, section 5.1.4.2)
+ zp-CSI-RS-ResourceId ZP-CSI-RS-ResourceId,
+ -- OFDM symbol and subcarrier occupancy of the ZP-CSI-RS resource within a slot
+ resourceMapping CSI-RS-ResourceMapping,
+ -- Periodicity and slot offset for periodic/semi-persistent ZP-CSI-RS
+ -- Corresponds to L1 parameter 'ZP-CSI-RS-timeConfig' (see 38.214, section 5.1.4.2)
+ periodicityAndOffset CSI-ResourcePeriodicityAndOffset OPTIONAL, --Cond PeriodicOrSemiPersistent
+
+ ...
+}
+
+ZP-CSI-RS-ResourceId ::= INTEGER (0..maxNrofZP-CSI-RS-Resources-1)
+
+-- TAG-ZP-CSI-RS-RESOURCE-STOP
+-- TAG-ZP-CSI-RS-RESOURCESET-START
+
+ZP-CSI-RS-ResourceSet ::= SEQUENCE {
+ zp-CSI-RS-ResourceSetId ZP-CSI-RS-ResourceSetId,
+ -- The list of ZP-CSI-RS-ResourceId identifying the ZP-CSI-RS-Resource elements belonging to this set.
+ zp-CSI-RS-ResourceIdList SEQUENCE (SIZE(1..maxNrofZP-CSI-RS-ResourcesPerSet)) OF ZP-CSI-RS-ResourceId,
+ -- Time domain behavior of ZP-CSI-RS resource configuration.
+ -- Corresponds to L1 parameter 'ZP-CSI-RS-ResourceConfigType' (see 38.214, section 5.1.4.2)
+ resourceType ENUMERATED {aperiodic, semiPersistent, periodic},
+ ...
+}
+
+-- TAG-ZP-CSI-RS-RESOURCESET-STOP
+-- TAG-ZP-CSI-RS-RESOURCESETID-START
+
+ZP-CSI-RS-ResourceSetId ::= INTEGER (0..maxNrofZP-CSI-RS-ResourceSets-1)
+
+-- TAG-ZP-CSI-RS-RESOURCESETID-STOP
+-- TAG-BANDCOMBINATIONLIST-START
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
+ bandAndDL-ParametersList BandAndDL-ParametersList,
+ bandCombinationsUL BIT STRING (SIZE (1.. maxBandComb)),
+ bandCombinationParametersList SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationParameters OPTIONAL
}
+BandAndDL-ParametersList ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandAndDL-Parameters
-RAT-Type ::= ENUMERATED {nr, mrdc, spare1, ...}
+BandAndDL-Parameters ::= CHOICE {
+ bandAndDL-ParametersEUTRA BandAndDL-ParametersEUTRA,
+ bandAndDL-ParametersNR BandAndDL-ParametersNR
+}
+BandCombinationParameters ::= SEQUENCE {
+ ca-ParametersNR CA-ParametersNR OPTIONAL,
+ mrdc-Parameters MRDC-Parameters OPTIONAL
+}
--- FFS utra, geran-cs, geran-ps and cdma2000-1XRTT
+CA-ParametersNR ::= SEQUENCE {
+ multipleTimingAdvances ENUMERATED {supported} OPTIONAL,
+-- R4 2-5: Simultaneous reception and transmission for inter band CA (TDD-TDD or TDD-FDD)
+ simultaneousRxTxInterBandCA ENUMERATED {supported} OPTIONAL,
+-- BCS related to R4 2-1 and Updated CA BW class in R4-1803374
+ supportedBandwidthCombinationSet BIT STRING (SIZE (1..32)) OPTIONAL
+}
-UE-CapabilityRAT-ContainerList ::=SEQUENCE (SIZE (0.. maxRAT-CapabilityContainers)) OF UE-CapabilityRAT-Container
+MRDC-Parameters ::= SEQUENCE {
+ singleUL-Transmission ENUMERATED {supported} OPTIONAL,
+-- R4 1-10: Support of EN-DC with LTE-NR coexistence in UL sharing from UE perspective
+ ul-SharingEUTRA-NR ENUMERATED {supported} OPTIONAL,
+-- R4 1-11: Switching time between LTE UL and NR UL for EN-DC with LTE-NR coexistence in UL sharing from UE perspective
+ ul-SwitchingTimeEUTRA-NR ENUMERATED {type1, type2} OPTIONAL,
+-- R4 2-4: Simultaneous reception and transmission for inter-band EN-DC (TDD-TDD or TDD-FDD)
+ simultaneousRxTxInterBandENDC ENUMERATED {supported} OPTIONAL,
+-- R4 2-6: Asynchronous FDD-FDD intra-band EN-DC
+ asyncIntraBandENDC ENUMERATED {supported} OPTIONAL,
+ basebandProcesingCombinationMRDC BasebandProcessingCombinationMRDC
+}
-UE-CapabilityRAT-Container ::= SEQUENCE {
- rat-Type RAT-Type,
- ueCapabilityRAT-Container OCTET STRING
+BandAndDL-ParametersEUTRA ::= SEQUENCE {
+ bandEUTRA FreqBandIndicatorEUTRA,
+ ca-BandwidthClassDL-EUTRA CA-BandwidthClassEUTRA OPTIONAL,
+ intraBandContiguousCC-InfoDL-EUTRA-List SEQUENCE (SIZE (1.. maxNrofServingCellsEUTRA)) OF IntraBandContiguousCC-InfoDL-EUTRA OPTIONAL
}
+BandAndDL-ParametersNR ::= SEQUENCE {
+ bandNR FreqBandIndicatorNR,
+ ca-BandwidthClassDL CA-BandwidthClassNR OPTIONAL,
+-- R4 2-3: Non-contiguous intra-band CA frequency separation class for FR2 as in the RAN4 LS R4-1803363
+ intraBandFreqSeparationDL FreqSeparationClass OPTIONAL,
+ intraBandContiguousCC-InfoDL-List SEQUENCE (SIZE (1.. maxNrofServingCells)) OF IntraBandContiguousCC-InfoDL OPTIONAL
+}
-UE-MRDC-Capability ::= SEQUENCE {
- measParameters-MRDC MeasParameters-MRDC,
- rf-Parameters-MRDC RF-Parameters-MRDC,
- phyLayerParameters-MRDC PhyLayerParameters-MRDC
- -- FFS on other parameters
+IntraBandContiguousCC-InfoDL ::= SEQUENCE {
+-- Related to RAN4 LS R2-1804078
+ maxNumberMIMO-LayersPDSCH MIMO-LayersDL OPTIONAL
}
-RF-Parameters-MRDC ::= SEQUENCE {
- supportedBandCombination BandCombinationList
- -- FFS on other parameters
+IntraBandContiguousCC-InfoDL-EUTRA ::= SEQUENCE {
+-- Related to RAN4 LS R2-1804078
+ mimo-CapabilityDL ENUMERATED {twoLayers, fourLayers, eightLayers} OPTIONAL
}
-PhyLayerParameters-MRDC ::= SEQUENCE {
- supportedBasebandProcessingCombination-MRDC BasebandProcessingCombination-MRDC
- -- FFS if supportedBasebandProcessingCombination-MRDC is included here or BandCombinationList
- -- FFS on other parameters
+-- TAG-BANDCOMBINATIONLIST-STOP
+-- TAG-BANDCOMBINATIONPARAMETERSULLIST-START
+
+BandCombinationParametersUL-List ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationParametersUL
+
+BandCombinationParametersUL ::= SEQUENCE (SIZE (1.. maxSimultaneousBands)) OF BandParametersUL
+
+BandParametersUL ::= CHOICE {
+ bandParametersUL-EUTRA BandParametersUL-EUTRA,
+ bandParametersUL-NR BandParametersUL-NR
}
-BasebandProcessingCombination-MRDC ::= SEQUENCE (SIZE (1..maxBasebandProcComb)) OF LinkedBasebandProcessingCombination
+BandParametersUL-EUTRA ::= SEQUENCE {
+ ca-BandwidthClassUL-EUTRA CA-BandwidthClassEUTRA OPTIONAL,
+ intraBandContiguousCC-InfoUL-EUTRA-List SEQUENCE (SIZE (1.. maxNrofServingCellsEUTRA)) OF IntraBandContiguousCC-InfoUL-EUTRA OPTIONAL
+}
-LinkedBasebandProcessingCombination ::= SEQUENCE {
- basebandProcessingCombinationIndex BasebandProcessingCombinationIndex,
- basebandProcessingCombinationLinkedIndex SEQUENCE (SIZE (1..maxBasebandProcComb)) OF BasebandProcessingCombinationIndex
+BandParametersUL-NR ::= SEQUENCE {
+ ca-BandwidthClassUL CA-BandwidthClassNR OPTIONAL,
+-- R4 2-3: Non-contiguous intra-band CA frequency separation class for FR2 as in the RAN4 LS R4-1803363
+ intraBandFreqSeparationUL FreqSeparationClass OPTIONAL,
+ intraBandContiguousCC-InfoUL-List SEQUENCE (SIZE (1.. maxNrofServingCells)) OF IntraBandContiguousCC-InfoUL OPTIONAL
}
-BasebandProcessingCombinationIndex ::= INTEGER (1..maxBasebandProcComb)
+IntraBandContiguousCC-InfoUL ::= SEQUENCE {
+-- Related to RAN4 LS R2-1804078
+ maxNumberMIMO-LayersCB-PUSCH MIMO-LayersUL OPTIONAL,
+ maxNumberMIMO-LayersNonCB-PUSCH MIMO-LayersUL OPTIONAL
+}
-MeasParameters-MRDC ::= SEQUENCE {
- intraCarrierConcurrentMeas ENUMERATED {supported} OPTIONAL,
- independentGapConfig ENUMERATED {supported} OPTIONAL,
- sstd-MeasType1 ENUMERATED {supported} OPTIONAL
+IntraBandContiguousCC-InfoUL-EUTRA ::= SEQUENCE {
+-- Related to RAN4 LS R2-1804078
+ mimo-CapabilityUL ENUMERATED {twoLayers, fourLayers} 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
+-- TAG-BANDCOMBINATIONPARAMETERSULLIST-STOP
+-- TAG-BASEBANDCOMBINATIONPARAMETERSULLIST-START
+
+BasebandCombinationParametersUL-List ::= SEQUENCE (SIZE (1..maxBasebandProcComb)) OF BasebandCombinationParametersUL
+
+BasebandCombinationParametersUL ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BasebandParametersPerBandUL
+
+BasebandParametersPerBandUL ::= SEQUENCE {
+ ca-BandwidthClassUL CA-BandwidthClassNR,
+ freqRange ENUMERATED {fr1, fr2},
+ basebandParametersPerCC-UL SEQUENCE (SIZE (1.. maxNrofServingCells)) OF BasebandParametersPerCC-UL
}
-PhyLayerParameters ::= SEQUENCE {
- supportedBasebandProcessingCombination SupportedBasebandProcessingCombination
- -- FFS on other parameters
+BasebandParametersPerCC-UL ::= SEQUENCE {
+-- R4 2-2: Simultaneous reception or transmission with same or different numerologies in CA
+-- It is expressed by the combination of SCS whether simultaneous RxTx is supported or not.
+ supportedSubcarrierSpacingUL SubcarrierSpacing,
+-- Accoding to the RAN4 LS R4-1803563, maximum Bandwidth supported per CC is added in BPC
+-- FFS how to work together with BCS and max BW for each CC to be defined for each CA band combination in the RAN4 spec.
+ supportedBandwidthUL CHOICE {
+ fr1 ENUMERATED {mhz5, mhz10, mhz15, mhz20, mhz25, mhz30, mhz40, mhz50, mhz60, mhz80, mhz100},
+ fr2 ENUMERATED {mhz50, mhz100, mhz200, mhz400}
+ },
+ -- R2-1800012. To be confirmed by RAN1
+ scalingFactor0dot75 ENUMERATED {supported} OPTIONAL,
+-- R1 2-14: Codebook based PUSCH MIMO transmission. Absence of this field implies that CB-based PUSCH is not supported.
+ maxNumberMIMO-LayersCB-PUSCH MIMO-LayersUL OPTIONAL,
+-- R1 2-15: Non-codebook based PUSCH MIMO transmission. Absence of this field implies that Non-CB-based PUSCH is not supported.
+ maxNumberMIMO-LayersNonCB-PUSCH MIMO-LayersUL OPTIONAL,
+-- Accoding to the RAN4 LS R4-1803563, modulation order is added per CC granularity in BPC
+-- FFS whether all of modulation order specified in the spec need to be signalled.
+-- FFS how to address the requirements agreed by RAN4, e.g. mandaotry w/o capabiltiy for 64QAM. mandaotry with capabiltiy for DL 256QAM in FR1.
+ supportedModulationOrderUL ModulationOrder OPTIONAL,
+-- R1 2-53: SRS resources
+ supportedSRS-Resources SRS-Resources OPTIONAL,
+-- R1 2-55: SRS Tx switch
+ srs-TxSwitch SRS-TxSwitch OPTIONAL,
+-- R1 2-57: Support low latency CSI feedback
+ lowLatencyCSI-Feedback ENUMERATED {supported} OPTIONAL,
+-- R1 5-12 & 5-12a: Up to 2/7 PUSCHs per slot for different TBs
+ pusch-DifferentTB-PerSlot SEQUENCE {
+ scs-15kHz ENUMERATED {upto2, upto7} OPTIONAL,
+ scs-30kHz ENUMERATED {upto2, upto7} OPTIONAL,
+ scs-60kHz ENUMERATED {upto2, upto7} OPTIONAL,
+ scs-120kHz ENUMERATED {upto2, upto7} OPTIONAL
+ } OPTIONAL,
+-- R1 6-7: Two PUCCH group
+ twoPUCCH-Group ENUMERATED {supported} OPTIONAL,
+-- R1 6-8: Different numerology across PUCCH groups
+ diffNumerologyAcrossPUCCH-Group ENUMERATED {supported} OPTIONAL,
+-- R1 6-9: Different numerologies across carriers within the same PUCCH group
+ diffNumerologyWithinPUCCH-Group ENUMERATED {supported} OPTIONAL,
+-- R1 6-10: Cross carrier scheduling
+ crossCarrierScheduling ENUMERATED {supported} OPTIONAL,
+-- R1 6-11: Number of supported TAGs
+ supportedNumberTAG ENUMERATED {n2, n3, n4} OPTIONAL,
+-- R1 6-18: Supplemental uplink with dynamic switch
+ dynamicSwitchSUL ENUMERATED {supported} OPTIONAL,
+-- R1 6-19: Simultaneous transmission of SRS on an SUL/non-SUL carrier and PUSCH/PUCCH/SRS/PRACH on the other UL carrier in the same cell
+-- Details on the channel/signal combination are to be described in TS 38.306
+ simultaneousTxSUL-NonSUL ENUMERATED {supported} OPTIONAL,
+-- R1 6-22: UL search space sharing for CA
+ searchSpaceSharingCA-UL ENUMERATED {supported} OPTIONAL
+}
+
+-- TAG-BASEBANDCOMBINATIONPARAMETERSULLIST-STOP
+-- TAG-BASEBANDPROCESSINGCOMBINATIONMRDC-START
+
+BasebandProcessingCombinationMRDC ::= SEQUENCE (SIZE (1..maxBasebandProcComb)) OF BasebandProcessingCombinationLink
+
+BasebandProcessingCombinationLink ::= SEQUENCE {
+ basebandProcessingCombinationIndexMN BasebandProcessingCombinationIndex,
+ basebandProcessingCombinationLinkedIndexSN SEQUENCE (SIZE (1..maxBasebandProcComb)) OF BasebandProcessingCombinationIndex
}
-RF-Parameters ::= SEQUENCE {
- supportedBandListNR SupportedBandListNR,
- supportedBandCombination BandCombinationList,
- intraBandAsyncFDD ENUMERATED {supported} OPTIONAL
- -- FFS Whether intraBandAsyncFDD is included per UE or per band combination
+BasebandProcessingCombinationIndex ::= INTEGER (1..maxBasebandProcComb)
+
+-- TAG-BASEBANDPROCESSINGCOMBINATIONMRDC-STOP
+-- TAG-CA-BANDWIDTHCLASSNR-START
+
+-- Updated based on R4-1803374
+CA-BandwidthClassNR ::= ENUMERATED {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, ...}
+
+-- TAG-CA-BANDWIDTHCLASSNR-STOP
+-- TAG-CA-BANDWIDTHCLASSEUTRA-START
+
+CA-BandwidthClassEUTRA ::= ENUMERATED {a, b, c, d, e, f, ...}
+
+-- TAG-CA-BANDWIDTHCLASSEUTRA-STOP
+-- TAG-FREQ-BAND-INDICATOR-EUTRA-START
+
+FreqBandIndicatorEUTRA ::= INTEGER (1..maxBandsEUTRA)
+
+-- TAG-FREQ-BAND-INDICATOR-EUTRA-STOP
+-- TAG-FREQBANDLIST-START
+
+FreqBandList ::= SEQUENCE (SIZE (1..maxBandsMRDC)) OF FreqBandInformation
+
+FreqBandInformation ::= CHOICE {
+ bandEUTRA FreqBandIndicatorEUTRA,
+ bandNR FreqBandIndicatorNR
}
-SupportedBandListNR ::= SEQUENCE (SIZE (1..maxBands)) OF BandNR
+-- TAG-FREQBANDLIST-STOP
+-- TAG-FREQSEPARATIONCLASS-START
+
+FreqSeparationClass ::= ENUMERATED {c1, c2, c3, ...}
+
+-- TAG-FREQSEPARATIONCLASS-STOP
+-- TAG-MIMO-LAYERS-START
+
+MIMO-LayersDL ::= ENUMERATED {twoLayers, fourLayers, eightLayers}
+
+MIMO-LayersUL ::= ENUMERATED {oneLayer, twoLayers, fourLayers}
+
+-- TAG-MIMO-LAYERS-STOP
+-- TAG-MODULATION-ORDER-START
+
+ModulationOrder ::= ENUMERATED {bpsk-halfpi, bpsk, qpsk, qam16, qam64, qam256}
-SupportedBandCombination ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination
+-- TAG-MODULATION-ORDER-STOP
+-- TAG-RAT-TYPE-START
+
+RAT-Type ::= ENUMERATED {nr, eutra-nr, spare2, spare1, ...}
+
+-- TAG-RAT-TYPE-STOP
+-- TAG-SUPPORTEDBASEBANDPROCESSINGCOMBINATION-START
SupportedBasebandProcessingCombination ::= SEQUENCE (SIZE (1..maxBasebandProcComb)) OF BasebandProcessingCombination
BasebandProcessingCombination ::= SEQUENCE {
- basebandParametersPerBand SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BasebandParametersPerBand
- -- FFS on other parameters
+ basebandParametersDL SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BasebandParametersPerBandDL,
+ basebandParametersUL BIT STRING (SIZE (1..maxBasebandProcComb))}
+
+BasebandParametersPerBandDL ::= SEQUENCE {
+ ca-BandwidthClassDL CA-BandwidthClassNR,
+ freqRange ENUMERATED {fr1, fr2},
+ basebandParametersPerCC-DL SEQUENCE (SIZE (1.. maxNrofServingCells)) OF BasebandParametersPerCC-DL
+}
+
+BasebandParametersPerCC-DL ::= SEQUENCE {
+-- R4 2-2: Simultaneous reception or transmission with same or different numerologies in CA
+-- It is expressed by the combination of SCS whether simultaneous RxTx is supported or not.
+ supportedSubcarrierSpacingDL SubcarrierSpacing,
+-- Accoding to the RAN4 LS R4-1803563, maximum Bandwidth supported per CC is added in BPC
+-- FFS how to work together with BCS and max BW for each CC to be defined for each CA band combination in the RAN4 spec.
+ supportedBandwidthDL CHOICE {
+ fr1 ENUMERATED {mhz5, mhz10, mhz15, mhz20, mhz25, mhz30, mhz40, mhz50, mhz60, mhz80, mhz100},
+ fr2 ENUMERATED {mhz50, mhz100, mhz200, mhz400}
+ },
+-- R2-1800012. To be confirmed by RAN1
+ scalingFactor0dot75 ENUMERATED {supported} OPTIONAL,
+-- R1 2-2: PDSCH beam switching
+ timeDurationForQCL SEQUENCE {
+ scs-60kHz ENUMERATED {s7, s14, s28} OPTIONAL,
+ sch-120kHz ENUMERATED {s14, s28} OPTIONAL
+ } OPTIONAL,
+-- R1 1-10: Support of SCell without SS/PBCH block
+ scellWithoutSSB ENUMERATED {supported} OPTIONAL,
+-- R1 1-11: Support of CSI-RS RRM measurement for SCell without SS/PBCH block
+ csi-RS-MeasSCellWithoutSSB ENUMERATED {supported} OPTIONAL,
+-- R1 2-3: PDSCH MIMO layers. Absence of this field implies support of one layer.
+ maxNumberMIMO-LayersPDSCH MIMO-LayersDL OPTIONAL,
+-- Accoding to the RAN4 LS R4-1803563, modulation order is added per CC granularity in BPC
+-- FFS whether all of modulation order specified in the spec need to be signalled.
+-- FFS how to address the requirements agreed by RAN4, e.g. mandaotry w/o capabiltiy for 64QAM. mandaotry with capabiltiy for DL 256QAM in FR1.
+ supportedModulationOrderDL ModulationOrder OPTIONAL,
+-- R1 2-15a: Association between CSI-RS and SRS
+ srs-AssocCSI-RS ENUMERATED {supported} OPTIONAL,
+-- R1 3-1a: For type 1 CSS with dedicated RRC configuration and for type 3 CSS, UE specific SS, CORESET resource allocation of 6RB bit-map and duration 3 OFDM symbols for FR2
+ type1-3-CSS ENUMERATED {supported} OPTIONAL,
+-- R1 3-5 & 3-5a: For type 1 with dedicated RRC configuration, type 3, and UE-SS,, monitoring occasion can be any OFDM symbol(s) of a slot for Case 2 (with a DCI gap)
+ pdcchMonitoringAnyOccasions ENUMERATED {withoutDCI-gap, withDCI-gap} OPTIONAL,
+-- R1 5-1a: UE specific RRC configure UL/DL assignment
+ ue-SpecificUL-DL-Assignment ENUMERATED {supported} OPTIONAL,
+-- R1 5-11 & 5-11a: Up to 2/7 unicast PDSCHs per slot for different TBs
+ pdsch-DifferentTB-PerSlot SEQUENCE {
+ scs-15kHz ENUMERATED {upto2, upto7} OPTIONAL,
+ scs-30kHz ENUMERATED {upto2, upto7} OPTIONAL,
+ scs-60kHz ENUMERATED {upto2, upto7} OPTIONAL,
+ scs-120kHz ENUMERATED {upto2, upto7} OPTIONAL
+ } OPTIONAL,
+-- R1 6-10: Cross carrier scheduling
+ crossCarrierScheduling ENUMERATED {supported} OPTIONAL,
+-- R1 6-21: DL search space sharing for CA
+ searchSpaceSharingCA-DL ENUMERATED {supported} OPTIONAL
+}
+
+-- TAG-SUPPORTEDBASEBANDPROCESSINGCOMBINATION-STOP
+-- TAG-UE-CAPABILITY-RAT-CONTAINER-LIST-START
+
+UE-CapabilityRAT-ContainerList ::=SEQUENCE (SIZE (0.. maxRAT-CapabilityContainers)) OF UE-CapabilityRAT-Container
+
+UE-CapabilityRAT-Container ::= SEQUENCE {
+ rat-Type RAT-Type,
+ ue-CapabilityRAT-Container OCTET STRING
}
-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
+-- TAG-UE-CAPABILITY-RAT-CONTAINER-LIST-STOP
+-- TAG-UE-MRDC-CAPABILITY-START
+
+UE-MRDC-Capability ::= SEQUENCE {
+ measParametersMRDC MeasParametersMRDC OPTIONAL,
+ rf-ParametersMRDC RF-ParametersMRDC,
+ phy-ParametersMRDC Phy-ParametersMRDC OPTIONAL,
+ generalParametersMRDC GeneralParametersMRDC-XDD-Diff OPTIONAL,
+ fdd-Add-UE-MRDC-Capabilities UE-MRDC-CapabilityAddXDD-Mode OPTIONAL,
+ tdd-Add-UE-MRDC-Capabilities UE-MRDC-CapabilityAddXDD-Mode OPTIONAL,
+ fr1-Add-UE-MRDC-Capabilities UE-MRDC-CapabilityAddFRX-Mode OPTIONAL,
+ fr2-Add-UE-MRDC-Capabilities UE-MRDC-CapabilityAddFRX-Mode OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
}
-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
+UE-MRDC-CapabilityAddXDD-Mode ::= SEQUENCE {
+ phy-ParametersMRDC-XDD-Diff Phy-ParametersMRDC-XDD-Diff OPTIONAL,
+ measParametersMRDC-XDD-Diff MeasParametersMRDC-XDD-Diff OPTIONAL,
+ generalParametersMRDC-XDD-Diff GeneralParametersMRDC-XDD-Diff OPTIONAL
}
-BandNR ::= SEQUENCE {
- bandNR FreqBandIndicatorNR,
- supportedMIMO-CapabilityDL MIMO-Capability OPTIONAL,
- supportedMIMO-CapabilityUL MIMO-Capability OPTIONAL
- -- FFS on other parameters
+UE-MRDC-CapabilityAddFRX-Mode ::= SEQUENCE {
+ phy-ParametersMRDC-FRX-Diff Phy-ParametersMRDC-FRX-Diff OPTIONAL,
+ measParametersMRDC-FRX-Diff MeasParametersMRDC-FRX-Diff
+}
+
+RF-ParametersMRDC ::= SEQUENCE {
+ supportedBandCombination BandCombinationList,
+ bandCombinationParametersUL-List BandCombinationParametersUL-List
+}
+
+Phy-ParametersMRDC ::= SEQUENCE {
+ phy-ParametersMRDC-XDD-Diff Phy-ParametersMRDC-XDD-Diff OPTIONAL,
+ phy-ParametersMRDC-FRX-Diff Phy-ParametersMRDC-FRX-Diff OPTIONAL
+}
+
+Phy-ParametersMRDC-XDD-Diff ::= SEQUENCE {
+-- R1 8-1: Dynamic power sharing for LTE-NR DC
+ dynamicPowerSharing ENUMERATED {supported} OPTIONAL,
+-- R1 6-13 & 8-2: Case 1 Single Tx UL LTE-NR DC
+ tdm-Pattern ENUMERATED {supported} OPTIONAL
+}
+Phy-ParametersMRDC-FRX-Diff ::= SEQUENCE {
+-- R1 8-1: Dynamic power sharing for LTE-NR DC
+ dynamicPowerSharing ENUMERATED {supported} OPTIONAL,
+-- R1 6-13 & 8-2: Case 1 Single Tx UL LTE-NR DC
+ tdm-Pattern ENUMERATED {supported} OPTIONAL
+}
+
+MeasParametersMRDC ::= SEQUENCE {
+ measParametersMRDC-Common MeasParametersMRDC-Common,
+ measParametersMRDC-XDD-Diff MeasParametersMRDC-XDD-Diff OPTIONAL,
+ measParametersMRDC-FRX-Diff MeasParametersMRDC-FRX-Diff
+}
+
+MeasParametersMRDC-Common ::= SEQUENCE {
+-- R4 3-1: Independent measurement gap configurations for FR1 and FR2
+ independentGapConfig ENUMERATED {supported} OPTIONAL
+}
+
+MeasParametersMRDC-XDD-Diff ::= SEQUENCE {
+ sftd-MeasPSCell ENUMERATED {supported} OPTIONAL,
+ sftd-MeasNR-Cell ENUMERATED {supported} OPTIONAL
+}
+
+MeasParametersMRDC-FRX-Diff ::= SEQUENCE {
+-- R4 3-2: Simultaneous reception of data and SS block with different numerologies when UE conducts the serving cell measurement or intra-frequency measurement
+ simultaneousRxDataSSB-DiffNumerology ENUMERATED {supported} OPTIONAL
+}
+
+GeneralParametersMRDC-XDD-Diff ::= SEQUENCE {
+ splitSRB-WithOneUL-Path ENUMERATED {supported} OPTIONAL,
+ splitDRB-withUL-Both-MCG-SCG ENUMERATED {supported} OPTIONAL,
+ srb3 ENUMERATED {supported} OPTIONAL
}
-CA-BandwidthClass ::= ENUMERATED {a, b, c, d, e, f, ...}
+-- TAG-UE-MRDC-CAPABILITY-STOP
+-- TAG-UE-NR-CAPABILITY-START
-MIMO-Capability ::= SEQUENCE {
- -- FFS on the parameters
+UE-NR-Capability ::= SEQUENCE {
+ pdcp-Parameters PDCP-Parameters,
+ rlc-Parameters RLC-Parameters OPTIONAL,
+ mac-Parameters MAC-Parameters OPTIONAL,
+ phy-Parameters Phy-Parameters,
+ rf-Parameters RF-Parameters,
+ measParameters MeasParameters OPTIONAL,
+ fdd-Add-UE-NR-Capabilities UE-NR-CapabilityAddXDD-Mode OPTIONAL,
+ tdd-Add-UE-NR-Capabilities UE-NR-CapabilityAddXDD-Mode OPTIONAL,
+ fr1-Add-UE-NR-Capabilities UE-NR-CapabilityAddFRX-Mode OPTIONAL,
+ fr2-Add-UE-NR-Capabilities UE-NR-CapabilityAddFRX-Mode OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
}
-ModulationOrder ::= SEQUENCE {
- -- FFS on the parameters
+UE-NR-CapabilityAddXDD-Mode ::= SEQUENCE {
+ phy-ParametersXDD-Diff Phy-ParametersXDD-Diff OPTIONAL,
+ mac-ParametersXDD-Diff MAC-ParametersXDD-Diff OPTIONAL,
+ measParametersXDD-Diff MeasParametersXDD-Diff OPTIONAL
+}
+
+UE-NR-CapabilityAddFRX-Mode ::= SEQUENCE {
+ phy-ParametersFRX-Diff Phy-ParametersFRX-Diff OPTIONAL,
+ measParametersFRX-Diff MeasParametersFRX-Diff OPTIONAL
+}
+
+Phy-Parameters ::= SEQUENCE {
+ phy-ParametersCommon Phy-ParametersCommon OPTIONAL,
+ phy-ParametersXDD-Diff Phy-ParametersXDD-Diff OPTIONAL,
+ phy-ParametersFRX-Diff Phy-ParametersFRX-Diff OPTIONAL,
+ phy-ParametersFR1 Phy-ParametersFR1 OPTIONAL,
+ phy-ParametersFR2 Phy-ParametersFR2 OPTIONAL,
+ supportedBasebandProcessingCombination SupportedBasebandProcessingCombination,
+ basebandCombinationParametersUL-List BasebandCombinationParametersUL-List
+}
+
+Phy-ParametersCommon ::= SEQUENCE {
+-- R1 1-9: CSI-RS based CFRA for HO
+ csi-RS-CFRA-ForHO ENUMERATED {supported} OPTIONAL,
+-- R1 2-11: Downlink dynamic PRB bundling (DL)
+ dynamicPRB-BundlingDL ENUMERATED {supported} OPTIONAL,
+-- R1 2-32a: Semi-persistent CSI report on PUCCH
+ sp-CSI-ReportPUCCH ENUMERATED {supported} OPTIONAL,
+-- R1 2-32b: Semi-persistent CSI report on PUSCH
+ sp-CSI-ReportPUSCH ENUMERATED {supported} OPTIONAL,
+-- R1 2-34: NZP-CSI-RS based interference measurement
+ nzp-CSI-RS-IntefMgmt ENUMERATED {supported} OPTIONAL,
+-- R1 2-42: Support Type II SP-CSI feedback on long PUCCH
+ type2-SP-CSI-Feedback-LongPUCCH ENUMERATED {supported} OPTIONAL,
+-- R1 3-3: More than one CORESET per BWP (in addition to CORESET #0)
+ multipleCORESET ENUMERATED {supported} OPTIONAL,
+-- R1 3-6: Dynamic SFI monitoring and dynamic UL/DL determination
+ dynamicSFI ENUMERATED {supported} OPTIONAL,
+-- R1 3-7: Precoder-granularity of CORESET size
+ precoderGranularityCORESET ENUMERATED {supported} OPTIONAL,
+-- R1 4-10: Dynamic HARQ-ACK codebook
+ dynamicHARQ-ACK-Codebook ENUMERATED {supported} OPTIONAL,
+-- R1 4-11: Semi-static HARQ-ACK codebook
+ semiStaticHARQ-ACK-Codebook ENUMERATED {supported} OPTIONAL,
+-- R1 4-12: HARQ-ACK spatial bundling for PUCCH or PUSCH per PUCCH group
+ spatialBundlingHARQ-ACK ENUMERATED {supported} OPTIONAL,
+-- R1 4-21: Dynamic beta-offset configuration and indication for HARQ-ACK and/or CSI
+ dynamicBetaOffsetInd-HARQ-ACK-CSI ENUMERATED {supported} OPTIONAL,
+-- R1 4-23: Repetitions for PUCCH format 1, 3,and 4 over multiple slots with K = 1, 2, 4, 8
+ pucch-Repetition-F1-3-4 ENUMERATED {supported} OPTIONAL,
+-- R1 5-2: RA type 0 for PUSCH
+ ra-Type0-PUSCH ENUMERATED {supported} OPTIONAL,
+-- R1 5-3: Dynamic switching between RA type 0 and RA type 1 for PDSCH
+ dynamicSwitchRA-Type0-1-PDSCH ENUMERATED {supported} OPTIONAL,
+-- R1 5-4: Dynamic switching between RA type 0 andRA type 1 for PUSCH
+ dynamicSwitchRA-Type0-1-PUSCH ENUMERATED {supported} OPTIONAL,
+-- R1 5-6: PDSCH mapping type A with less than 7 OFDM symbols
+ pdsch-MappingTypeA ENUMERATED {supported} OPTIONAL,
+-- R1 5-6a: PDSCH mapping type B
+ pdsch-MappingTypeB ENUMERATED {supported} OPTIONAL,
+-- R1 5-7: Interleaving for VRB-to-PRB mapping for PDSCH
+ interleavingVRB-ToPRB-PDSCH ENUMERATED {supported} OPTIONAL,
+-- R1 5-8: Interleaving for VRB-to-PRB mapping for PUSCH
+ interleavingVRB-ToPRB-PUSCH ENUMERATED {supported} OPTIONAL,
+-- R1 5-10: Inter-slot frequency hopping for PUSCH
+ interSlotFreqHopping-PUSCH ENUMERATED {supported} OPTIONAL,
+-- R1 5-13: Type 1 configured PUSCH repetitions within a slot
+ type1-PUSCH-RepetitionOneSlot ENUMERATED {supported} OPTIONAL,
+-- R1 5-14: Type 1 configured PUSCH repetitions over multiple slots
+ type1-PUSCH-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL,
+-- R1 5-15: Type 2 configured PUSCH repetitions within a slot
+ type2-PUSCH-RepetitionOneSlot ENUMERATED {supported} OPTIONAL,
+-- R1 5-16: Type 2 configured PUSCH repetitions over multiple slots
+ type2-PUSCH-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL,
+-- R1 5-17: PUSCH repetitions over multiple slots
+ pusch-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL,
+-- R1 5-17a: PDSCH repetitions over multiple slots
+ pdsch-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL,
+-- R1 5-18: DL SPS
+ downlinkSPS ENUMERATED {supported} OPTIONAL,
+-- R1 5-19: Type 1 Configured UL grant
+ configuredUL-GrantType1 ENUMERATED {supported} OPTIONAL,
+-- R1 5-20: Type 2 Configured UL grant
+ configuredUL-GrantType2 ENUMERATED {supported} OPTIONAL,
+-- R1 5-21: Pre-emption indication for DL
+ pre-EmptIndication-DL ENUMERATED {supported} OPTIONAL,
+-- R1 5-22 & 5-25: CBG-based re-transmission for DL/UL using CBGTI
+ cbg-TransIndication BIT STRING (SIZE (2)) OPTIONAL,
+-- R1 5-23: CBGFI for CBG-based re-transmission for DL
+ cbg-FlushIndication-DL ENUMERATED {supported} OPTIONAL,
+-- R1 5-24: Dynamic HARQ-ACK codebook using sub-codebooks for CBG-based re-transmission for DL
+ dynamicHARQ-ACK-CodeB-CBG-Retx-DL ENUMERATED {supported} OPTIONAL,
+-- R1 5-26: Semi-static rate-matching resource set configuration for DL
+ rateMatchingResrcSetSemi-Static ENUMERATED {supported} OPTIONAL,
+-- R1 5-27: Dynamic rate-matching resource set configuration for DL
+ rateMatchingResrcSetDynamic ENUMERATED {supported} OPTIONAL,
+-- R1 5-28: Rate-matching around LTE CRS
+ rateMatchingLTE-CRS ENUMERATED {supported} OPTIONAL,
+-- R4 1-8: BWP switching delay
+ bwp-SwitchingDelay ENUMERATED {type1, type2} OPTIONAL
+}
+
+Phy-ParametersXDD-Diff ::= SEQUENCE {
+-- R1 4-2: 2 PUCCH of format 0 or 2 in consecutive symbols
+ twoPUCCH-F0-2-ConsecSymbols ENUMERATED {supported} OPTIONAL,
+-- R1 8-7: UL power control with 2 PUSCH closed loops
+ twoDifferentTPC-Loop-PUSCH ENUMERATED {supported} OPTIONAL,
+-- R1 8-8: UL power control with 2 PUCCH closed loops
+ twoDifferentTPC-Loop-PUCCH ENUMERATED {supported} OPTIONAL
+}
+
+Phy-ParametersFRX-Diff ::= SEQUENCE {
+-- R1 2-6 & 2-16b: Support 1+2 DMRS (DL/UL)
+ oneFL-DMRS-TwoAdditionalDMRS BIT STRING (SIZE (2)) OPTIONAL,
+-- R1 2-7 & 2-18: Supported 2 symbols front-loaded DMRS(DL/UL)
+ twoFL-DMRS BIT STRING (SIZE (2)) OPTIONAL,
+-- R1 2-8 & 2-18a: Supported 2 symbols front-loaded +2 symbols additional DMRS(DL/UL)
+ twoFL-DMRS-TwoAdditionalDMRS BIT STRING (SIZE (2)) OPTIONAL,
+-- R1 2-9 & 2-19: Support 1+3 DMRS (DL/UL)
+ oneFL-DMRS-ThreeAdditionalDMRS BIT STRING (SIZE (2)) OPTIONAL,
+-- R1 2-10: Support DMRS type (DL)
+ supportedDMRS-TypeDL ENUMERATED {type1, type2} OPTIONAL,
+-- R1 2-17: Support DMRS type (UL)
+ supportedDMRS-TypeUL ENUMERATED {type1, type2} OPTIONAL,
+-- R1 2-37: Support Semi-open loop CSI
+ semiOpenLoopCSI ENUMERATED {supported} OPTIONAL,
+-- R1 2-38: CSI report without PMI
+ csi-ReportWithoutPMI ENUMERATED {supported} OPTIONAL,
+-- R1 2-39: CSI report with CRI
+ csi-ReportWithCRI ENUMERATED {supported} OPTIONAL,
+-- R1 2-39a: CSI report without CQI
+ csi-ReportWithoutCQI ENUMERATED {supported} OPTIONAL,
+-- R1 2-44 & 2-47: 1 port of DL/UL PTRS
+ onePortsPTRS BIT STRING (SIZE (2)) OPTIONAL,
+-- R1 4-2: 2 PUCCH of format 0 or 2 in consecutive symbols
+ twoPUCCH-F0-2-ConsecSymbols ENUMERATED {supported} OPTIONAL,
+-- R1 4-3: PUCCH format 2 over 1 – 2 OFDM symbols once per slot with FH
+ pucch-F2-WithFH ENUMERATED {supported} OPTIONAL,
+-- R1 4-4: PUCCH format 3 over 4 – 14 OFDM symbols once per slot with FH
+ pucch-F3-WithFH ENUMERATED {supported} OPTIONAL,
+-- R1 4-5: PUCCH format 4 over 4 – 14 OFDM symbols once per slot with FH
+ pucch-F4-WithFH ENUMERATED {supported} OPTIONAL,
+-- R1 4-6: Non-frequency hopping for PUCCH formats 0 and 2
+ freqHoppingPUCCH-F0-2 ENUMERATED {notSupported} OPTIONAL,
+-- R1 4-7: Non-frequency hopping for PUCCH format 1, 3, and 4
+ freqHoppingPUCCH-F1-3-4 ENUMERATED {notSupported} OPTIONAL,
+-- R1 4-19: SR/HARQ-ACK/CSI multiplexing once per slot using a PUCCH (or piggybacked on a PUSCH)
+ mux-SR-HARQ-ACK-CSI-PUCCH ENUMERATED {supported} OPTIONAL,
+-- R1 4-20: UCI code-block segmentation
+ uci-CodeBlockSegmentation ENUMERATED {supported} OPTIONAL,
+-- R1 4-22: 1 long PUCCH format and 1 short PUCCH format in the same slot
+ onePUCCH-LongAndShortFormat ENUMERATED {supported} OPTIONAL,
+-- R1 4-22a: 2 PUCCH transmissions in the same slot which are not covered by 4-22 and 4-2
+ twoPUCCH-AnyOthersInSlot ENUMERATED {supported} OPTIONAL,
+-- R1 5-9: Intra-slot frequency-hopping for PUSCH except for PUSCH scheduled by Type 1 before RRC connection
+ intraSlotFreqHopping-PUSCH ENUMERATED {supported} OPTIONAL,
+-- R1 5-29: LBRM for PUSCH
+ pusch-LBRM ENUMERATED {supported} OPTIONAL,
+-- R1 6-5a: PDCCH blind detection capability for CA
+ pdcch-BlindDetectionCA ENUMERATED {supported} OPTIONAL,
+-- R1 8-3: TPC-PUSCH-RNTI
+ tpc-PUSCH-RNTI ENUMERATED {supported} OPTIONAL,
+-- R1 8-4: TPC-PUCCH-RNTI
+ tpc-PUCCH-RNTI ENUMERATED {supported} OPTIONAL,
+-- R1 8-5: TPC-SRS-RNTI
+ tpc-SRS-RNTI ENUMERATED {supported} OPTIONAL,
+-- R1 8-6: Absolute TPC command mode
+ absoluteTPC-Command ENUMERATED {supported} OPTIONAL,
+-- R1 8-7: UL power control with 2 PUSCH closed loops
+ twoDifferentTPC-Loop-PUSCH ENUMERATED {supported} OPTIONAL,
+-- R1 8-8: UL power control with 2 PUCCH closed loops
+ twoDifferentTPC-Loop-PUCCH ENUMERATED {supported} OPTIONAL,
+-- R4 1-6: pi/2-BPSK for PUSCH
+ pusch-HalfPi-BPSK ENUMERATED {supported} OPTIONAL,
+-- R4 1-7: pi/2-BPSK for PUCCH format 3/4
+ pucch-F3-4-HalfPi-BPSK ENUMERATED {supported} OPTIONAL,
+-- R4 1-9: 1-symbol GP in unpaired spectrum
+ oneSymbolGP-TDD ENUMERATED {supported} OPTIONAL,
+-- R4 2-7: Almost contiguous UL CP-OFDM
+ almostContiguousCP-OFDM-UL ENUMERATED {supported} OPTIONAL
+}
+
+Phy-ParametersFR1 ::= SEQUENCE {
+-- R1 3-2: Unicast PDCCH monitoring following Case 1-2
+ pdcchMonitoringSingleOccasion ENUMERATED {supported} OPTIONAL,
+-- R4 1-1: 60kHz of subcarrier spacing for FR1
+ scs-60kHz ENUMERATED {supported} OPTIONAL,
+-- R4 1-4: 256QAM for PDSCH in FR1
+ pdsch-256QAM-FR1 ENUMERATED {supported} OPTIONAL
+}
+
+Phy-ParametersFR2 ::= SEQUENCE {
+-- R4 2-8: PA calibration gap
+ calibrationGapPA ENUMERATED {supported} OPTIONAL
}
-SubCarrierSpacing ::= SEQUENCE {
- -- FFS on the parameters
+RF-Parameters ::= SEQUENCE {
+ supportedBandListNR SupportedBandListNR,
+ supportedBandCombination BandCombinationList,
+ bandCombinationParametersUL-List BandCombinationParametersUL-List
+}
+
+SupportedBandListNR ::= SEQUENCE (SIZE (1..maxBands)) OF BandNR
+
+BandNR ::= SEQUENCE {
+ bandNR FreqBandIndicatorNR,
+-- Modified MPR behaviour as in RAN4 LS R2-1804077, which is needed for NSA as well as SA
+ modifiedMPR-Behaviour BIT STRING (SIZE (8)) OPTIONAL,
+-- R4 2-1: Maximum channel bandwidth supported in each band for DL and UL separately and for each SCS that UE supports within a single CC
+-- RAN4 agreed that 400 MHz is optional for FR2. The other values defined for FR1/fR2 in TS 38.101 are mandatory w/o capability bit.
+ maxChannelBW-PerCC ENUMERATED {mhz400} OPTIONAL,
+ mimo-ParametersPerBand MIMO-ParametersPerBand OPTIONAL,
+-- R1 0-10: Extended CP
+ extendedCP ENUMERATED {supported} OPTIONAL,
+-- R1 0-13: Phase coherence across non-contiguous UL symbols in slot in the transmission of one channel
+ phaseCoherenceUL ENUMERATED {supported} OPTIONAL,
+-- R1 1-10: Support of SCell without SS/PBCH block
+ scellWithoutSSB ENUMERATED {supported} OPTIONAL,
+-- R1 1-11: Support of CSI-RS RRM measurement for SCell without SS/PBCH block
+ csi-RS-MeasSCellWithoutSSB ENUMERATED {supported} OPTIONAL,
+-- R1 2-15a: Association between CSI-RS and SRS
+ srs-AssocCSI-RS ENUMERATED {supported} OPTIONAL,
+-- R1 3-1a: For type 1 CSS with dedicated RRC configuration and for type 3 CSS, UE specific SS, CORESET resource allocation of 6RB bit-map and duration 3 OFDM symbols for FR2
+ type1-3-CSS ENUMERATED {supported} OPTIONAL,
+-- R1 3-4: More than one TCI state configurations per CORESET
+ multipleTCI ENUMERATED {supported} OPTIONAL,
+-- R1 3-5 & 3-5a: For type 1 with dedicated RRC configuration, type 3, and UE-SS,, monitoring occasion can be any OFDM symbol(s) of a slot for Case 2 (with a DCI gap)
+ pdcchMonitoringAnyOccasions ENUMERATED {withoutDCI-gap, withDCI-gap} OPTIONAL,
+-- R1 5-1a: UE specific RRC configure UL/DL assignment
+ ue-SpecificUL-DL-Assignment ENUMERATED {supported} OPTIONAL,
+-- R1 5-11 & 5-11a: Up to 2/7 unicast PDSCHs per slot for different TBs
+ pdsch-DifferentTB-PerSlot SEQUENCE {
+ scs-15kHz ENUMERATED {upto2, upto7} OPTIONAL,
+ scs-30kHz ENUMERATED {upto2, upto7} OPTIONAL,
+ scs-60kHz ENUMERATED {upto2, upto7} OPTIONAL,
+ scs-120kHz ENUMERATED {upto2, upto7} OPTIONAL
+ } OPTIONAL,
+-- R1 5-12 & 5-12a: Up to 2/7 PUSCHs per slot for different TBs
+ pusch-DifferentTB-PerSlot SEQUENCE {
+ scs-15kHz ENUMERATED {upto2, upto7} OPTIONAL,
+ scs-30kHz ENUMERATED {upto2, upto7} OPTIONAL,
+ scs-60kHz ENUMERATED {upto2, upto7} OPTIONAL,
+ scs-120kHz ENUMERATED {upto2, upto7} OPTIONAL
+ } OPTIONAL,
+-- R1 6-2 & 6-3: Type A/B BWP adaptation (up to 2/4 BWPs) with same numerology
+ bwp-SameNumerology ENUMERATED {upto2, upto4} OPTIONAL,
+-- R1 6-4: BWP adaptation (up to 4 BWPs) with different numerologies
+ bwp-DiffNumerology ENUMERATED {upto4} OPTIONAL,
+-- R1 6-7: Two PUCCH group
+ twoPUCCH-Group ENUMERATED {supported} OPTIONAL,
+-- R1 6-8: Different numerology across PUCCH groups
+ diffNumerologyAcrossPUCCH-Group ENUMERATED {supported} OPTIONAL,
+-- R1 6-9: Different numerologies across carriers within the same PUCCH group
+ diffNumerologyWithinPUCCH-Group ENUMERATED {supported} OPTIONAL,
+-- R1 6-10: Cross carrier scheduling
+ crossCarrierScheduling ENUMERATED {supported} OPTIONAL,
+-- R1 6-11: Number of supported TAGs
+ supportedNumberTAG ENUMERATED {n2, n3, n4} OPTIONAL,
+-- R1 6-19: Simultaneous transmission of SRS on an SUL/non-SUL carrier and PUSCH/PUCCH/SRS/PRACH on the other UL carrier in the same cell
+-- Details on the channel/signal combination are to be described in TS 38.306
+ simultaneousTxSUL-NonSUL ENUMERATED {supported} OPTIONAL,
+-- R1 6-21: DL search space sharing for CA
+ searchSpaceSharingCA-DL ENUMERATED {supported} OPTIONAL,
+-- R1 6-22: UL search space sharing for CA
+ searchSpaceSharingCA-UL ENUMERATED {supported} OPTIONAL,
+-- R4 1-4: 256QAM for PDSCH in FR2
+ pdsch-256QAM-FR2 ENUMERATED {supported} OPTIONAL,
+-- R4 1-5: 256QAM for PUSCH
+ pusch-256QAM ENUMERATED {supported} OPTIONAL
+}
+
+MIMO-ParametersPerBand ::= SEQUENCE {
+-- R1 2-2: PDSCH beam switching
+ timeDurationForQCL SEQUENCE {
+ scs-60kHz ENUMERATED {s7, s14, s28} OPTIONAL,
+ sch-120kHz ENUMERATED {s14, s28} OPTIONAL
+ } OPTIONAL,
+-- R1 2-3: PDSCH MIMO layers. Absence of this field implies support of one layer.
+ maxNumberMIMO-LayersPDSCH MIMO-LayersDL OPTIONAL,
+-- R1 2-14: Codebook based PUSCH MIMO transmission. Absence of this field implies that CB-based PUSCH is not supported.
+ maxNumberMIMO-LayersCB-PUSCH MIMO-LayersUL OPTIONAL,
+-- R1 2-15: Non-codebook based PUSCH MIMO transmission. Absence of this field implies that Non-CB-based PUSCH is not supported.
+ maxNumberMIMO-LayersNonCB-PUSCH MIMO-LayersUL OPTIONAL,
+-- R1 2-4: TCI states for PDSCH
+ maxNumberConfiguredTCIstates ENUMERATED {n4, n8, n16, n32, n64} OPTIONAL,
+ maxNumberActiveTCI-PerCC ENUMERATED {n1, n2, n4, n8} OPTIONAL,
+-- R1 2-13: PUSCH transmission coherence
+ pusch-TransCoherence ENUMERATED {nonCoherent, partialNonCoherent, fullCoherent} OPTIONAL,
+-- R1 2-20: Beam correspondence
+ beamCorrespondence ENUMERATED {supported} OPTIONAL,
+-- R1 2-21: Periodic beam report on PUCCH
+ periodicBeamReport ENUMERATED {supported} OPTIONAL,
+-- R1 2-22: Aperiodic beam report on PUSCH
+ aperiodicBeamReport ENUMERATED {supported} OPTIONAL,
+-- R1 2-23: Semi-persistent beam report on PUCCH
+ sp-BeamReportPUCCH ENUMERATED {supported} OPTIONAL,
+-- R1 2-23a: Semi-persistent beam report on PUSCH
+ sp-BeamReportPUSCH ENUMERATED {supported} OPTIONAL,
+-- R1 2-24: SSB/CSI-RS for beam management
+ beamManagementSSB-CSI-RS BeamManagementSSB-CSI-RS OPTIONAL,
+-- R1 2-26: Receiving beam selection using CSI-RS resource repetition "ON"
+ maxNumberRxBeam INTEGER (2..8) OPTIONAL,
+-- R1 2-27: Beam switching (including SSB and CSI-RS)
+ maxNumberRxTxBeamSwitchDL SEQUENCE {
+ scs-15kHz ENUMERATED {n4, n7, n14} OPTIONAL,
+ scs-30kHz ENUMERATED {n4, n7, n14} OPTIONAL,
+ scs-60kHz ENUMERATED {n4, n7, n14} OPTIONAL,
+ scs-120kHz ENUMERATED {n4, n7, n14} OPTIONAL,
+ scs-240kHz ENUMERATED {n4, n7, n14} OPTIONAL
+ } OPTIONAL,
+-- R1 2-29: Non-group based beam reporting
+ maxNumberNonGroupBeamReporting ENUMERATED {n1, n2, n4} OPTIONAL,
+-- R1 2-29a: Group based beam reporting
+ groupBeamReporting ENUMERATED {supported} OPTIONAL,
+-- R1 2-30: UL beam management
+ uplinkBeamManagement SEQUENCE {
+ maxNumberSRS-ResourcePerSet ENUMERATED {n8, n16, n32},
+ maxNumberSRS-ResourceSet INTEGER (1..8)
+ } OPTIONAL,
+-- R1 2-31: Beam failure recovery
+ maxNumberCSI-RS-BFR INTEGER (1..64) OPTIONAL,
+ maxNumberSSB-BFR INTEGER (1..64) OPTIONAL,
+ maxNumberCSI-RS-SSB-BFR INTEGER (1..256) OPTIONAL,
+-- R1 2-45 & 2-48: 2 ports of DL/UL PTRS
+ twoPortsPTRS BIT STRING (SIZE (2)) OPTIONAL,
+-- R1 2-53: SRS resources
+ supportedSRS-Resources SRS-Resources OPTIONAL,
+-- R1 2-55: SRS Tx switch
+ srs-TxSwitch SRS-TxSwitch OPTIONAL,
+-- R1 2-54a: Simultaneous SRS Tx
+ maxNumberSimultaneousSRS-PerCC INTEGER (1..4) OPTIONAL,
+-- R1 2-57: Support low latency CSI feedback
+ lowLatencyCSI-Feedback ENUMERATED {supported} OPTIONAL
+}
+
+-- R1 2-24: SSB/CSI-RS for beam management
+BeamManagementSSB-CSI-RS ::= SEQUENCE {
+ maxNumberSSB-CSI-RS-ResourceOneTx ENUMERATED {n8, n16, n32, n64},
+ maxNumberSSB-CSI-RS-ResourceTwoTx ENUMERATED {n0, n4, n8, n16, n32, n64},
+ supportedCSI-RS-Density ENUMERATED {one, three, oneAndThree}
+}
+
+-- R1 2-53: SRS resources
+SRS-Resources ::= SEQUENCE {
+ maxNumberAperiodicSRS-PerBWP ENUMERATED {n1, n2, n4, n8, n16},
+ maxNumberAperiodicSRS-PerBWP-PerSlot INTEGER (1..6),
+ maxNumberPeriodicSRS-PerBWP ENUMERATED {n1, n2, n4, n8, n16},
+ maxNumberPeriodicSRS-PerBWP-PerSlot INTEGER (1..6),
+ maxNumberSemiPersitentSRS-PerBWP ENUMERATED {n0, n1, n2, n4, n8, n16},
+ maxNumberSP-SRS-PerBWP-PerSlot INTEGER (0..6),
+ maxNumberSRS-Ports-PerResource ENUMERATED {n1, n2, n4}
+}
+-- R1 2-55: SRS Tx switch
+SRS-TxSwitch ::= SEQUENCE {
+ supportedSRS-TxPortSwitch ENUMERATED {t1r2, t1r4, t2r4, t1r4-t2r4},
+ txSwitchImpactToRx ENUMERATED {true} OPTIONAL
}
PDCP-Parameters ::= SEQUENCE {
- dataRateDRB-IP ENUMERATED {kbps64, spare6, spare5, spare4, spare3, spare2, spare1, spare0} OPTIONAL,
supportedROHC-Profiles SEQUENCE {
profile0x0000 BOOLEAN,
profile0x0001 BOOLEAN,
@@ -2888,176 +5263,221 @@ PDCP-Parameters ::= SEQUENCE {
uplinkOnlyROHC-Profiles ENUMERATED {supported} OPTIONAL,
continueROHC-Context ENUMERATED {supported} OPTIONAL,
outOfOrderDelivery ENUMERATED {supported} OPTIONAL,
- shortSN ENUMERATED {supported} OPTIONAL,
- volteOverNR-PDCP ENUMERATED {supported} OPTIONAL
+ shortSN ENUMERATED {supported} OPTIONAL
}
RLC-Parameters ::= SEQUENCE {
- amWithShortSN ENUMERATED {supported} OPTIONAL,
- umWithShortSN ENUMERATED {supported} OPTIONAL,
- umWIthLongSN ENUMERATED {supported} OPTIONAL
+ am-WithShortSN ENUMERATED {supported} OPTIONAL,
+ um-WithShortSN ENUMERATED {supported} OPTIONAL,
+ um-WIthLongSN ENUMERATED {supported} OPTIONAL
}
MAC-Parameters ::= SEQUENCE {
+ mac-ParametersCommon MAC-ParametersCommon OPTIONAL,
+ mac-ParametersXDD-Diff MAC-ParametersXDD-Diff OPTIONAL
+}
+
+MAC-ParametersCommon ::= SEQUENCE {
lcp-Restriction ENUMERATED {supported} OPTIONAL,
+-- R1 4-24: PUCCH-spatialrelationinfo indication by a MAC CE per PUCCH resource
+ pucch-SpatialRelInfoMAC-CE ENUMERATED {supported} OPTIONAL
+}
+
+MAC-ParametersXDD-Diff ::= SEQUENCE {
skipUplinkTxDynamic ENUMERATED {supported} OPTIONAL,
logicalChannelSR-DelayTimer ENUMERATED {supported} OPTIONAL,
longDRX-Cycle ENUMERATED {supported} OPTIONAL,
shortDRX-Cycle ENUMERATED {supported} OPTIONAL,
- numberOfSR-Configurations ENUMERATED {n2, n3, n4,...} OPTIONAL, -- FFS value range
- numberOfConfiguredGrantConfigurations ENUMERATED {n2, n3, n4,...} OPTIONAL -- FFS value range
+ multipleSR-Configurations ENUMERATED {supported} OPTIONAL,
+ -- If supported UE supports 8 SR configurations, otherwise 1 SR config is supported.
+ -- Confirmation is needed whether to align the number to what the configuration signalling can support.
+ multipleConfiguredGrantConfigurations ENUMERATED {supported} OPTIONAL
+ -- If supported UE supports 16 configured grant configurations, otherwise 1 ConfiguredGrant config is supported.
+ -- Confirmation is needed whether to align the number to what the configuration signalling can support, and to consider whether the 16 refers
+ -- to the configurations or the active ones only (as they are within the BWP).
+}
+
+MeasParameters ::= SEQUENCE {
+ measParametersXDD-Diff MeasParametersXDD-Diff OPTIONAL,
+ measParametersFRX-Diff MeasParametersFRX-Diff OPTIONAL
+}
+
+MeasParametersXDD-Diff ::= SEQUENCE {
+ intraAndInterF-MeasAndReport ENUMERATED {supported} OPTIONAL,
+ eventA-MeasAndReport ENUMERATED {supported} OPTIONAL
+ -- Confirmation is needed on the need of capability/IOT signaling in LTE for support of the additional measurement gap configurations.
+}
+
+MeasParametersFRX-Diff ::= SEQUENCE {
+-- R1 1-3: SSB based SINR measurement
+ ss-SINR-Meas ENUMERATED {supported} OPTIONAL,
+-- R1 1-5: CSI-RS based RRM measurement with associated SS-block
+ csi-RSRP-AndRSRQ-MeasWithSSB ENUMERATED {supported} OPTIONAL,
+-- R1 1-5a: CSI-RS based RRM measurement without associated SS-block
+ csi-RSRP-AndRSRQ-MeasWithoutSSB ENUMERATED {supported} OPTIONAL,
+-- R1 1-6: CSI-RS based SINR measurement
+ csi-SINR-Meas ENUMERATED {supported} OPTIONAL,
+-- R1 1-7: CSI-RS based RLM
+ csi-RS-RLM ENUMERATED {supported} OPTIONAL
}
-- TAG-UE-NR-CAPABILITY-STOP
+-- TAG-RRC-TRANSACTIONIDENTIFIER-START
+
+RRC-TransactionIdentifier ::= INTEGER (0..3)
+
+-- TAG-RRC-TRANSACTIONIDENTIFIER-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
+maxBandComb INTEGER ::= 65536 -- Maximum number of DL band combinations
+maxBasebandProcComb INTEGER ::= 65536 -- Maximum number of baseband processing combinations
+maxNrofServingCells INTEGER ::= 32 -- Max number of serving cells (SpCell + SCells) per cell group
+maxNrofServingCells-1 INTEGER ::= 31 -- Max number of serving cells (SpCell + SCells) per cell group minus 1
+maxNrofAggregatedCellsPerCellGroup INTEGER ::= 16
+maxNrofSCells INTEGER ::= 31 -- Max number of secondary serving cells per cell group
+maxNrofCellMeas INTEGER ::= 32 -- Maximum number of entries in each of the cell lists in a measurement object
+maxNrofSS-BlocksToAverage INTEGER ::= 16 -- Max number for the (max) number of SS blocks to average to determine cell
+ -- measurement
+maxNrofCSI-RS-ResourcesToAverage INTEGER ::= 16 -- Max number for the (max) number of CSI-RS to average to determine cell
+ -- measurement
+maxNrofDL-Allocations INTEGER ::= 16 -- Maximum number of PDSCH time domain resource allocations
+
+maxNrofSR-ConfigPerCellGroup INTEGER ::= 8 -- Maximum number of SR configurations per cell group
maxLCG-ID INTEGER ::= 7 -- Maximum value of LCG ID
-macLC-ID INTEGER ::= 64 -- Maximum value of Logical Channel ID; WS modification: was FFS, 38.221 suggests 64
+maxLC-ID INTEGER ::= 32 -- Maximum value of Logical Channel ID
maxNrofTAGs INTEGER ::= 4 -- Maximum number of Timing Advance Groups
maxNrofTAGs-1 INTEGER ::= 3 -- Maximum number of Timing Advance Groups minus 1
-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)
+maxNrofBWPs INTEGER ::= 4 -- Maximum number of BWPs per serving cell
+maxNrofSymbols-1 INTEGER ::= 13 -- Maximum index identifying a symbol within a slot (14 symbols, indexed from 0..13)
+maxNrofSlots INTEGER ::= 320 -- Maximum number of slots in a 10 ms period
+maxNrofSlots-1 INTEGER ::= 319 -- Maximum number of slots in a 10 ms period minus 1
maxNrofPhysicalResourceBlocks INTEGER ::= 275 -- Maximum number of PRBs
maxNrofPhysicalResourceBlocks-1 INTEGER ::= 274 -- Maximum number of PRBs
-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
+maxNrofControlResourceSets INTEGER ::= 12 -- Max number of CoReSets configurable on a serving cell
+maxNrofControlResourceSets-1 INTEGER ::= 11 -- Max number of CoReSets configurable on a serving cell minus 1
maxCoReSetDuration INTEGER ::= 3 -- Max number of OFDM symbols in a control resource set
-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
+maxNrofSearchSpaces INTEGER ::= 40 -- Max number of Search Spaces
+maxNrofSearchSpaces-1 INTEGER ::= 39 -- Max number of Search Spaces minus 1
+maxSFI-DCI-PayloadSize INTEGER ::= 128 -- Max number payload of a DCI scrambled with SFI-RNTI
+maxSFI-DCI-PayloadSize-1 INTEGER ::= 127 -- Max number payload of a DCI scrambled with SFI-RNTI minus 1
+maxINT-DCI-PayloadSize INTEGER ::= 126 -- Max number payload of a DCI scrambled with INT-RNTI
+maxINT-DCI-PayloadSize-1 INTEGER ::= 125 -- Max number payload of a DCI scrambled with INT-RNTI minus 1
+maxNrofRateMatchPatterns INTEGER ::= 4 -- Max number of rate matching patterns that may be configured
+maxNrofRateMatchPatterns-1 INTEGER ::= 3 -- Max number of rate matching patterns that may be configured minus 1
+
+maxNrofCSI-ReportConfigurations INTEGER ::= 48 -- Maximum number of report configurations
+maxNrofCSI-ReportConfigurations-1 INTEGER ::= 47 -- Maximum number of report configurations minus 1
+
+maxNrofCSI-ResourceConfigurations INTEGER ::= 112 -- Maximum number of resource configurations
+maxNrofCSI-ResourceConfigurations-1 INTEGER ::= 111 -- Maximum number of resource configurations minus 1
+
+maxNrofAP-CSI-RS-ResourcesPerSet INTEGER ::= 16
+maxNrOfCSI-AperiodicTriggers INTEGER ::= 128 -- Maximum number of triggers for aperiodic CSI reporting
+maxNrofReportConfigPerAperiodicTrigger INTEGER ::= 16 -- Maximum number of report configurations per trigger state for aperiodic reporting
+
+maxNrofNZP-CSI-RS-Resources INTEGER ::= 192 -- Maximum number of Non-Zero-Power (NZP) CSI-RS resources
+maxNrofNZP-CSI-RS-Resources-1 INTEGER ::= 191 -- Maximum number of Non-Zero-Power (NZP) CSI-RS resources minus 1
+maxNrofNZP-CSI-RS-ResourcesPerSet INTEGER ::= 64 -- Maximum number of NZP CSI-RS resources per resource set
+maxNrofNZP-CSI-RS-ResourceSetsPerConfig INTEGER ::= 16 -- Maximum number of resource sets per resource configuration
+
+maxNrofZP-CSI-RS-Resources INTEGER ::= 32 -- Maximum number of Zero-Power (NZP) CSI-RS resources
+maxNrofZP-CSI-RS-Resources-1 INTEGER ::= 31 -- Maximum number of Zero-Power (NZP) CSI-RS resources minus 1
+maxNrofZP-CSI-RS-ResourceSets-1 INTEGER ::= 16
+maxNrofZP-CSI-RS-ResourcesPerSet INTEGER ::= 16
+maxNrofZP-CSI-RS-Sets INTEGER ::= 16
+
+maxNrofCSI-IM-Resources INTEGER ::= 32 -- Maximum number of CSI-IM resources. See CSI-IM-ResourceMax in 38.214.
+maxNrofCSI-IM-Resources-1 INTEGER ::= 31 -- Maximum number of CSI-IM resources minus 1. See CSI-IM-ResourceMax in 38.214.
+maxNrofCSI-IM-ResourcesPerSet INTEGER ::= 8 -- Maximum number of CSI-IM resources per set. See CSI-IM-ResourcePerSetMax in 38.214
+maxNrofCSI-IM-ResourceSetsPerConfig INTEGER ::= 16 -- Maximum number of CSI IM resource sets per resource configuration
+
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
+maxNrofCSI-SSB-ResourcePerSet INTEGER ::= 64
+maxNrofCSI-SSB-ResourceSetsPerConfig INTEGER ::= 1 -- Maximum number of CSI SSB resource sets per resource configuration
+
+maxNrofFailureDetectionResources INTEGER ::= 10 -- Maximum number of failure detection resources
+
+maxNrofObjectId INTEGER ::= 64 -- Maximum number of measurement objects
+maxNrofPCI-Ranges INTEGER ::= 8 -- Maximum number of PCI ranges
+maxNrofCSI-RS-ResourcesRRM INTEGER ::= 96 -- Maximum number of CSI-RS resources for an RRM measurement object
+maxNrofCSI-RS-ResourcesRRM-1 INTEGER ::= 95 -- Maximum number of CSI-RS resources for an RRM measurement object minus 1
+maxNrofMeasId INTEGER ::= 64 -- Maximum number of configured measurements
+maxNrofQuantityConfig INTEGER ::= 2 -- Maximum number of quantity configurations
+maxNrofCSI-RS-CellsRRM INTEGER ::= 96 -- Maximum number of FFS
+
+maxNrofSRS-ResourceSets INTEGER ::= 16 -- Maximum number of SRS resource sets in a BWP.
+maxNrofSRS-ResourceSets-1 INTEGER ::= 15 -- Maximum number of SRS resource sets in a BWP minus 1.
+maxNrofSRS-Resources INTEGER ::= 64 -- Maximum number of SRS resources in an SRS resource set.
+maxNrofSRS-Resources-1 INTEGER ::= 63 -- Maximum number of SRS resources in an SRS resource set minus 1.
+maxNrofSRS-TriggerStates-1 INTEGER ::= 3 -- Maximum number of SRS trigger states minus 1, i.e., the largest code point.
+maxRAT-CapabilityContainers INTEGER ::= 8 -- Maximum number of interworking RAT containers (incl NR and MRDC)
+maxSimultaneousBands INTEGER ::= 32 -- Maximum number of simultaneously aggregated bands
+
+
+maxNrofSlotFormatCombinationsPerCell INTEGER ::= 16 -- Maximum number of
+maxNrofSlotFormatCombinationsPerSet INTEGER ::= 4096 -- Maximum number of Slot Format Combinations in a SF-Set.
+maxNrofSlotFormatCombinationsPerSet-1 INTEGER ::= 4095 -- Maximum number of Slot Format Combinations in a SF-Set minus 1.
+maxNrofPUCCH-Resources INTEGER ::= 128
+maxNrofPUCCH-Resources-1 INTEGER ::= 127
+maxNrofPUCCH-ResourceSets INTEGER ::= 4 -- Maximum number of PUCCH Resource Sets
+maxNrofPUCCH-ResourceSets-1 INTEGER ::= 3 -- Maximum number of PUCCH Resource Sets minus 1.
+maxNrofPUCCH-ResourcesPerSet INTEGER ::= 32 -- Maximum number of PUCCH Resources per PUCCH-ResourceSet
+maxNrofPUCCH-ResourcesPerSet-1 INTEGER ::= 31 -- Maximum number of PUCCH Resources per PUCCH-ResourceSet minus 1.
+maxNrofPUCCH-P0-PerSet INTEGER ::= 8 -- Maximum number of P0-pucch present in a p0-pucch set
+maxNrofPUCCH-PathlossReferenceRSs INTEGER ::= 4 -- Maximum number of RSs used as pathloss reference for PUCCH power control.
+maxNrofPUCCH-PathlossReferenceRSs-1 INTEGER ::= 3 -- Maximum number of RSs used as pathloss reference for PUCCH power control minus 1.
+
+maxNrofP0-PUSCH-AlphaSets INTEGER ::= 30 -- Maximum number of P0-pusch-alpha-sets (see 38,213, section 7.1)
+maxNrofP0-PUSCH-AlphaSets-1 INTEGER ::= 29 -- Maximum number of P0-pusch-alpha-sets minus 1 (see 38,213, section 7.1)
+maxNrofPUSCH-PathlossReferenceRSs INTEGER ::= 4 -- Maximum number of RSs used as pathloss reference for PUSCH power control.
+maxNrofPUSCH-PathlossReferenceRSs-1 INTEGER ::= 3 -- Maximum number of RSs used as pathloss reference for PUSCH power control minus 1.
+
+maxBands INTEGER ::= 1024 -- Maximum number of supported bands in UE capability.
+maxBandsMRDC INTEGER ::= 1280
+maxBandsEUTRA INTEGER ::= 256
+maxCellPrep INTEGER ::= 32
+maxCellReport INTEGER ::= 8
+maxDRB INTEGER ::= 29 -- Maximum number of DRBs (that can be added in DRB-ToAddModLIst).
+maxFreq INTEGER ::= 8 -- Max number of non-serving frequencies in MeasResultSCG-Failure.
+maxNrofCSI-RS INTEGER ::= 64
+maxNrofCandidateBeams INTEGER ::= 16 -- Max number of PRACH-ResourceDedicatedBFR that in BFR config.
+maxNrofPCIsPerSMTC INTEGER ::= 64 -- Maximun number of PCIs per SMTC.
+maxNrofQFIs INTEGER ::= 64
+maxNrofSR-Resources INTEGER ::= 8 -- Maximum number of SR resources per BWP in a cell.
+maxNrofSlotFormatsPerCombination INTEGER ::= 256
+maxNrofSpatialRelationInfos INTEGER ::= 8
+maxNrofSRS-ResourcesPerSet INTEGER ::= 16
+maxNrofIndexesToReport INTEGER ::= 32
+maxNrofSSBs INTEGER ::= 64 -- Maximum number of SSB resources in a resource set.
+maxNrofSSBs-1 INTEGER ::= 63 -- Maximum number of SSB resources in a resource set minus 1.
+
+maxNrofTCI-StatesPDCCH INTEGER ::= 64
+maxNrofTCI-States INTEGER ::= 64 -- Maximum number of TCI states.
+maxNrofTCI-States-1 INTEGER ::= 63 -- Maximum number of TCI states minus 1.
+maxNrofUL-Allocations INTEGER ::= 16 -- Maximum number of PUSCH time domain resource allocations.
+maxQFI INTEGER ::= 63
+maxRA-CSIRS-Resources INTEGER ::= 96
+maxRA-OccasionsPerCSIRS INTEGER ::= 64 -- Maximum number of RA occasions for one CSI-RS
+maxRA-Occasions-1 INTEGER ::= 511 -- Maximum number of RA occasions in the system
+maxRA-SSB-Resources INTEGER ::= 64
+maxSCSs INTEGER ::= 5
+maxSecondaryCellGroups INTEGER ::= 3
+maxNrofServingCellsEUTRA INTEGER ::= 32
+maxMBSFN-Allocations INTEGER ::= 8
+maxNrofMultiBands INTEGER ::= 8
+maxCellSFTD INTEGER ::= 3 -- Maximum number of cells for SFTD reporting
+maxReportConfigId INTEGER ::= 64
+
+maxNrofSRI-PUSCH-Mappings INTEGER ::= 16
+maxNrofSRI-PUSCH-Mappings-1 INTEGER ::= 15
+
+-- Editor’s Note: Targeted for completion in June 2018. Not used in EN-DC drop.
+CellIdentity ::= ENUMERATED {ffsTypeAndValue}
+ShortMAC-I ::= ENUMERATED {ffsTypeAndValue}
-- 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
-BWPerCC ::= CA-BandwidthClass
-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, ...}
-FreqBandIndicatorNR ::= INTEGER
-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-UE-Variables.asn b/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn
new file mode 100644
index 0000000000..f0fff4f239
--- /dev/null
+++ b/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn
@@ -0,0 +1,59 @@
+-- 3GPP TS 38.331 V15.1.0 (2018-03)
+
+NR-UE-Variables DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ MeasId,
+ MeasIdToAddModList,
+ MeasObjectToAddModList,
+ PhysCellId,
+ ReportConfigToAddModList,
+ RSRP-Range,
+ QuantityConfig,
+ maxNrofCellMeas,
+ maxNrofMeasId
+FROM NR-RRC-Definitions;
+
+-- TAG-VAR-MEAS-CONFIG-START
+
+VarMeasConfig ::= SEQUENCE {
+ -- Measurement identities
+ measIdList MeasIdToAddModList OPTIONAL,
+ -- Measurement objects
+ measObjectList MeasObjectToAddModList OPTIONAL,
+ -- Reporting configurations
+ reportConfigList ReportConfigToAddModList OPTIONAL,
+ -- Other parameters
+ quantityConfig QuantityConfig OPTIONAL,
+
+ s-MeasureConfig CHOICE {
+ ssb-RSRP RSRP-Range,
+ csi-RSRP RSRP-Range
+ } OPTIONAL
+
+}
+
+-- TAG-VAR-MEAS-CONFIG-STOP
+-- TAG-VAR-MEAS-REPORT-START
+
+VarMeasReportList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF VarMeasReport
+
+VarMeasReport ::= SEQUENCE {
+ -- List of measurement that have been triggered
+ measId MeasId,
+ cellsTriggeredList CellsTriggeredList OPTIONAL,
+ numberOfReportsSent INTEGER
+}
+
+CellsTriggeredList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CHOICE {
+ physCellId PhysCellId,
+-- Not needed for EN-DC.
+ physCellIdEUTRA ENUMERATED {ffsTypeAndValue}
+ }
+
+
+-- TAG-VAR-MEAS-REPORT-STOP
+
+END
diff --git a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf
index 1b54023833..b1576fcda7 100644
--- a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf
+++ b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf
@@ -8,32 +8,41 @@ 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
+CA-BandwidthClassNR
+ConfiguredGrantConfig/configuredGrantTimer
+ConfiguredGrantConfig/periodicity
+DRX-Config/drx-onDurationTimer/milliSeconds
+DRX-Config/drx-InactivityTimer
+DRX-Config/drx-RetransmissionTimerDL
+DRX-Config/drx-RetransmissionTimerUL
+DRX-Config/drx-LongCycleStartOffset
+DRX-Config/shortDRX/drx-ShortCycle
+DRX-Config/drx-SlotOffset
+DRX-Info/drx-LongCycleStartOffset
+DRX-Info/shortDRX/drx-ShortCycle
PDCP-Config/t-Reordering
PollByte
PollPDU
Q-OffsetRange
-RACH-ConfigCommon/preambleReceivedTargetPower
-SPS-Config/uplink/priodicity
+ServingCellConfig/bwp-InactivityTimer
+SPS-Config/periodicity
+SRS-PeriodicityAndOffset
T-PollRetransmit
T-Reassembly
T-StatusProhibit
+UL-DataSplitThreshold
#.EXPORTS
CellGroupConfig_PDU
+CG-ConfigInfo_PDU
+ConfigRestrictInfoSCG_PDU
+FreqBandList_PDU
MeasResults_PDU
MIB_PDU
-SCG-ConfigInfo_PDU
RadioBearerConfig_PDU
RRCReconfiguration_PDU
RRCReconfigurationComplete_PDU
+SIB1_PDU
UL-DCCH-Message_PDU
UE-MRDC-Capability_PDU
UE-NR-Capability_PDU
@@ -41,13 +50,16 @@ UE-NR-Capability_PDU
#.PDU
BCCH-BCH-Message @bcch.bch
CellGroupConfig
+CG-ConfigInfo
+ConfigRestrictInfoSCG
DL-DCCH-Message @dl.dcch
+FreqBandList
MIB
MeasResults
RadioBearerConfig
RRCReconfiguration
RRCReconfigurationComplete
-SCG-ConfigInfo
+SIB1
UE-MRDC-Capability
UE-NR-Capability
UL-DCCH-Message @ul.dcch
@@ -55,46 +67,33 @@ UL-DCCH-Message @ul.dcch
#.OMIT_ASSIGNMENT
AS-Context
-BandwidthPart-Config
-BeamManagement
+CellIdentity
+CellsTriggeredList
+CG-Config
+CG-Config-IEs
ConfigRestrictModReqSCG
-ControlResourceIndex
-CSI-IM-ResourceConfig
-CSI-IM-ResourceConfigId
-FailureReportSCG-ToOtherRAT
+GSCN-ValueNR
HandoverCommand
-HandoverCommand-r15-IEs
+HandoverCommand-IEs
HandoverPreparationInformation
-HandoverPreparationInformation-r15-IEs
-MeasResult2NR
-MeasResultList2NR
-MeasResultServFreq2NR
-MeasResultServFreqList2NR
-PUCCH-F2-number-of-PRB
-PUCCH-format0
-PUCCH-format1
-PUCCH-format2
-PUCCH-format3
-PUCCH-format4
-RAT-Type
+HandoverPreparationInformation-IEs
+MeasConfigSN
+MeasTiming
+MeasTimingList
+MeasurementTimingConfiguration
+MeasurementTimingConfiguration-IEs
ReestabNCellInfo
ReestabNCellInfoList
RRM-Config
-SIB1
-SCG-Config
-SCG-Config-r15-IEs
ShortMAC-I
-SubcarrierSpacingRACH
-SupportedBandCombination
-UE-CapabilityRAT-Container
-UE-CapabilityRAT-ContainerList
-ZP-CSI-RS-Resource
-ZP-CSI-RS-ResourceId
+VarMeasConfig
+VarMeasReportList
+VarMeasReport
#.NO_EMIT ONLY_VALS
#.MAKE_ENUM
-#RAT-Type TYPE_PREFIX
+RAT-Type TYPE_PREFIX
#.FN_HDR BCCH-BCH-Message
proto_item *ti;
@@ -139,46 +138,33 @@ ZP-CSI-RS-ResourceId
#.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_nr_rrc_UE_NR_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
-# break;
-# case RAT_Type_mrdc:
-# /* utra */
-# dissect_nr_rrc_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;
+#.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/ue-CapabilityRAT-Container VAL_PTR = &ue_cap_tvb
+ tvbuff_t *ue_cap_tvb=NULL;
%(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);
+#.FN_FTR UE-CapabilityRAT-Container/ue-CapabilityRAT-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:
+ dissect_nr_rrc_UE_NR_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case RAT_Type_eutra_nr:
+ dissect_nr_rrc_UE_MRDC_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
}
diff --git a/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c b/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c
index e5bcde6e66..0dea113896 100644
--- a/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c
+++ b/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c
@@ -1,7 +1,7 @@
/* packet-nr-rrc-template.c
* NR;
* Radio Resource Control (RRC) protocol specification
- * (3GPP TS 38.331 V15.0.0 Release 15) packet dissection
+ * (3GPP TS 38.331 V15.1.0 Release 15) packet dissection
* Copyright 2018, Pascal Quantin
*
* Wireshark - Network traffic analyzer
@@ -43,7 +43,6 @@ static gint ett_nr_rrc = -1;
#include "packet-nr-rrc-ett.c"
static gint ett_nr_rrc_UECapabilityInformation = -1;
-#if 0
typedef struct {
guint8 rat_type;
} nr_rrc_private_data_t;
@@ -68,7 +67,6 @@ 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"
diff --git a/epan/dissectors/asn1/x2ap/x2ap.cnf b/epan/dissectors/asn1/x2ap/x2ap.cnf
index ed6290bcba..a33ee9ad1c 100644
--- a/epan/dissectors/asn1/x2ap/x2ap.cnf
+++ b/epan/dissectors/asn1/x2ap/x2ap.cnf
@@ -255,7 +255,7 @@ Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC
x2ap_data->triggering_message == successful_outcome)) {
dissect_nr_rrc_RRCReconfigurationComplete_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
} else {
- dissect_nr_rrc_SCG_ConfigInfo_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ dissect_nr_rrc_CG_ConfigInfo_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY SgNBtoMeNBContainer VAL_PTR = &parameter_tvb
@@ -265,7 +265,7 @@ Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC
if (!parameter_tvb)
return offset;
subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_SgNBtoMeNBContainer);
- dissect_nr_rrc_SCG_ConfigInfo_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ dissect_nr_rrc_CG_ConfigInfo_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
#.FN_HDR MCGSplitSRB/rrcContainer
struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo);
diff --git a/epan/dissectors/packet-f1ap.c b/epan/dissectors/packet-f1ap.c
index 432dbadeaa..278dbd2464 100644
--- a/epan/dissectors/packet-f1ap.c
+++ b/epan/dissectors/packet-f1ap.c
@@ -338,6 +338,7 @@ static gint ett_f1ap = -1;
static gint ett_f1ap_ResourceCoordinationTransferContainer = -1;
static gint ett_f1ap_PLMN_Identity = -1;
static gint ett_f1ap_MIB_message = -1;
+static gint ett_f1ap_SIB1_message = -1;
static gint ett_f1ap_SCG_Config_Info = -1;
static gint ett_f1ap_CellGroupConfig = -1;
static gint ett_f1ap_TransportLayerAddress = -1;
@@ -430,7 +431,7 @@ static gint ett_f1ap_SuccessfulOutcome = -1;
static gint ett_f1ap_UnsuccessfulOutcome = -1;
/*--- End of included file: packet-f1ap-ett.c ---*/
-#line 54 "./asn1/f1ap/packet-f1ap-template.c"
+#line 55 "./asn1/f1ap/packet-f1ap-template.c"
enum{
INITIATING_MESSAGE,
@@ -1146,7 +1147,7 @@ dissect_f1ap_SCG_Config_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
if (param_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SCG_Config_Info);
- dissect_nr_rrc_SCG_ConfigInfo_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ dissect_nr_rrc_CG_ConfigInfo_PDU(param_tvb, actx->pinfo, subtree, NULL);
}
@@ -1443,8 +1444,17 @@ dissect_f1ap_MIB_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
static int
dissect_f1ap_SIB1_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 432 "./asn1/f1ap/f1ap.cnf"
+ tvbuff_t *param_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
- NO_BOUND, NO_BOUND, FALSE, NULL);
+ NO_BOUND, NO_BOUND, FALSE, &param_tvb);
+
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB1_message);
+ dissect_nr_rrc_SIB1_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+
return offset;
}
@@ -1506,7 +1516,6 @@ dissect_f1ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
-
return offset;
}
@@ -1707,7 +1716,7 @@ static const per_sequence_t Reset_sequence[] = {
static int
dissect_f1ap_Reset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 433 "./asn1/f1ap/f1ap.cnf"
+#line 440 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Reset");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -1775,7 +1784,7 @@ static const per_sequence_t ResetAcknowledge_sequence[] = {
static int
dissect_f1ap_ResetAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 435 "./asn1/f1ap/f1ap.cnf"
+#line 442 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -1806,7 +1815,7 @@ static const per_sequence_t ErrorIndication_sequence[] = {
static int
dissect_f1ap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 475 "./asn1/f1ap/f1ap.cnf"
+#line 482 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -1823,7 +1832,7 @@ static const per_sequence_t F1SetupRequest_sequence[] = {
static int
dissect_f1ap_F1SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 437 "./asn1/f1ap/f1ap.cnf"
+#line 444 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1SetupRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -1864,7 +1873,7 @@ static const per_sequence_t F1SetupResponse_sequence[] = {
static int
dissect_f1ap_F1SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 439 "./asn1/f1ap/f1ap.cnf"
+#line 446 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1SetupResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -1895,7 +1904,7 @@ static const per_sequence_t F1SetupFailure_sequence[] = {
static int
dissect_f1ap_F1SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 441 "./asn1/f1ap/f1ap.cnf"
+#line 448 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1SetupFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -1912,7 +1921,7 @@ static const per_sequence_t GNBDUConfigurationUpdate_sequence[] = {
static int
dissect_f1ap_GNBDUConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 443 "./asn1/f1ap/f1ap.cnf"
+#line 450 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUConfigurationUpdate");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -1971,7 +1980,7 @@ static const per_sequence_t GNBDUConfigurationUpdateAcknowledge_sequence[] = {
static int
dissect_f1ap_GNBDUConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 445 "./asn1/f1ap/f1ap.cnf"
+#line 452 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUConfigurationUpdateAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -1988,7 +1997,7 @@ static const per_sequence_t GNBDUConfigurationUpdateFailure_sequence[] = {
static int
dissect_f1ap_GNBDUConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 447 "./asn1/f1ap/f1ap.cnf"
+#line 454 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUConfigurationUpdateFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -2005,7 +2014,7 @@ static const per_sequence_t GNBCUConfigurationUpdate_sequence[] = {
static int
dissect_f1ap_GNBCUConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 449 "./asn1/f1ap/f1ap.cnf"
+#line 456 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBCUConfigurationUpdate");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -2036,7 +2045,7 @@ static const per_sequence_t GNBCUConfigurationUpdateAcknowledge_sequence[] = {
static int
dissect_f1ap_GNBCUConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 451 "./asn1/f1ap/f1ap.cnf"
+#line 458 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBCUConfigurationUpdateAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -2067,7 +2076,7 @@ static const per_sequence_t GNBCUConfigurationUpdateFailure_sequence[] = {
static int
dissect_f1ap_GNBCUConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 453 "./asn1/f1ap/f1ap.cnf"
+#line 460 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBCUConfigurationUpdateFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -2084,7 +2093,7 @@ static const per_sequence_t UEContextSetupRequest_sequence[] = {
static int
dissect_f1ap_UEContextSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 455 "./asn1/f1ap/f1ap.cnf"
+#line 462 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSetupRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -2208,7 +2217,7 @@ static const per_sequence_t UEContextSetupResponse_sequence[] = {
static int
dissect_f1ap_UEContextSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 457 "./asn1/f1ap/f1ap.cnf"
+#line 464 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSetupResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -2295,7 +2304,7 @@ static const per_sequence_t UEContextSetupFailure_sequence[] = {
static int
dissect_f1ap_UEContextSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 459 "./asn1/f1ap/f1ap.cnf"
+#line 466 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSetupFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -2312,7 +2321,7 @@ static const per_sequence_t UEContextReleaseRequest_sequence[] = {
static int
dissect_f1ap_UEContextReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 477 "./asn1/f1ap/f1ap.cnf"
+#line 484 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -2329,7 +2338,7 @@ static const per_sequence_t UEContextReleaseCommand_sequence[] = {
static int
dissect_f1ap_UEContextReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 461 "./asn1/f1ap/f1ap.cnf"
+#line 468 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseCommand");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -2346,7 +2355,7 @@ static const per_sequence_t UEContextReleaseComplete_sequence[] = {
static int
dissect_f1ap_UEContextReleaseComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 463 "./asn1/f1ap/f1ap.cnf"
+#line 470 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseComplete");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -2363,7 +2372,7 @@ static const per_sequence_t UEContextModificationRequest_sequence[] = {
static int
dissect_f1ap_UEContextModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 465 "./asn1/f1ap/f1ap.cnf"
+#line 472 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -2422,7 +2431,7 @@ static const per_sequence_t UEContextModificationResponse_sequence[] = {
static int
dissect_f1ap_UEContextModificationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 467 "./asn1/f1ap/f1ap.cnf"
+#line 474 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -2467,7 +2476,7 @@ static const per_sequence_t UEContextModificationFailure_sequence[] = {
static int
dissect_f1ap_UEContextModificationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 469 "./asn1/f1ap/f1ap.cnf"
+#line 476 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -2484,7 +2493,7 @@ static const per_sequence_t UEContextModificationRequired_sequence[] = {
static int
dissect_f1ap_UEContextModificationRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 471 "./asn1/f1ap/f1ap.cnf"
+#line 478 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRequired");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -2543,7 +2552,7 @@ static const per_sequence_t UEContextModificationConfirm_sequence[] = {
static int
dissect_f1ap_UEContextModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 473 "./asn1/f1ap/f1ap.cnf"
+#line 480 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationConfirm");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -2574,7 +2583,7 @@ static const per_sequence_t DLRRCMessageTransfer_sequence[] = {
static int
dissect_f1ap_DLRRCMessageTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 479 "./asn1/f1ap/f1ap.cnf"
+#line 486 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DLRRCMessageTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -2591,7 +2600,7 @@ static const per_sequence_t ULRRCMessageTransfer_sequence[] = {
static int
dissect_f1ap_ULRRCMessageTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 481 "./asn1/f1ap/f1ap.cnf"
+#line 488 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULRRCMessageTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -2608,7 +2617,7 @@ static const per_sequence_t PrivateMessage_sequence[] = {
static int
dissect_f1ap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 483 "./asn1/f1ap/f1ap.cnf"
+#line 490 "./asn1/f1ap/f1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -3349,7 +3358,7 @@ static int dissect_F1AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto
/*--- End of included file: packet-f1ap-fn.c ---*/
-#line 104 "./asn1/f1ap/packet-f1ap-template.c"
+#line 105 "./asn1/f1ap/packet-f1ap-template.c"
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
@@ -4139,7 +4148,7 @@ void proto_register_f1ap(void) {
"UnsuccessfulOutcome_value", HFILL }},
/*--- End of included file: packet-f1ap-hfarr.c ---*/
-#line 185 "./asn1/f1ap/packet-f1ap-template.c"
+#line 186 "./asn1/f1ap/packet-f1ap-template.c"
};
/* List of subtrees */
@@ -4148,6 +4157,7 @@ void proto_register_f1ap(void) {
&ett_f1ap_ResourceCoordinationTransferContainer,
&ett_f1ap_PLMN_Identity,
&ett_f1ap_MIB_message,
+ &ett_f1ap_SIB1_message,
&ett_f1ap_SCG_Config_Info,
&ett_f1ap_CellGroupConfig,
&ett_f1ap_TransportLayerAddress,
@@ -4240,7 +4250,7 @@ void proto_register_f1ap(void) {
&ett_f1ap_UnsuccessfulOutcome,
/*--- End of included file: packet-f1ap-ettarr.c ---*/
-#line 197 "./asn1/f1ap/packet-f1ap-template.c"
+#line 199 "./asn1/f1ap/packet-f1ap-template.c"
};
/* Register protocol */
@@ -4354,7 +4364,7 @@ proto_reg_handoff_f1ap(void)
/*--- End of included file: packet-f1ap-dis-tab.c ---*/
-#line 222 "./asn1/f1ap/packet-f1ap-template.c"
+#line 224 "./asn1/f1ap/packet-f1ap-template.c"
}
/*
diff --git a/epan/dissectors/packet-lte-rrc.c b/epan/dissectors/packet-lte-rrc.c
index e830cab0cf..76fbb7d458 100644
--- a/epan/dissectors/packet-lte-rrc.c
+++ b/epan/dissectors/packet-lte-rrc.c
@@ -294,7 +294,7 @@ static int hf_lte_rrc_DL_DCCH_Message_PDU = -1; /* DL_DCCH_Message */
static int hf_lte_rrc_UL_CCCH_Message_PDU = -1; /* UL_CCCH_Message */
static int hf_lte_rrc_UL_DCCH_Message_PDU = -1; /* UL_DCCH_Message */
static int hf_lte_rrc_SC_MCCH_Message_r13_PDU = -1; /* SC_MCCH_Message_r13 */
-static int hf_lte_rrc_lte_rrc_UECapabilityInformation_PDU = -1; /* UECapabilityInformation */
+static int hf_lte_rrc_UECapabilityInformation_PDU = -1; /* UECapabilityInformation */
static int hf_lte_rrc_lte_rrc_RLF_Report_r9_PDU = -1; /* RLF_Report_r9 */
static int hf_lte_rrc_lte_rrc_RLF_Report_v9e0_PDU = -1; /* RLF_Report_v9e0 */
static int hf_lte_rrc_lte_rrc_UE_EUTRA_Capability_PDU = -1; /* UE_EUTRA_Capability */
@@ -1492,7 +1492,7 @@ static int hf_lte_rrc_requestReducedIntNonContComb_r13 = -1; /* T_requestReduce
static int hf_lte_rrc_nonCriticalExtension_162 = -1; /* UECapabilityEnquiry_v1430_IEs */
static int hf_lte_rrc_requestDiffFallbackCombList_r14 = -1; /* BandCombinationList_r14 */
static int hf_lte_rrc_nonCriticalExtension_163 = -1; /* UECapabilityEnquiry_v1510_IEs */
-static int hf_lte_rrc_requestedFreqBandsNR_MRDC_r15 = -1; /* OCTET_STRING */
+static int hf_lte_rrc_requestedFreqBandsNR_MRDC_r15 = -1; /* T_requestedFreqBandsNR_MRDC_r15 */
static int hf_lte_rrc_nonCriticalExtension_164 = -1; /* T_nonCriticalExtension_55 */
static int hf_lte_rrc_UE_CapabilityRequest_item = -1; /* RAT_Type */
static int hf_lte_rrc_criticalExtensions_46 = -1; /* T_criticalExtensions_46 */
@@ -8951,6 +8951,7 @@ static gint ett_lte_rrc_sourceRB_ConfigNR_r15 = -1;
static gint ett_lte_rrc_sourceRB_ConfigSN_NR_r15 = -1;
static gint ett_lte_rrc_sourceOtherConfigSN_NR_r15 = -1;
static gint ett_lte_rrc_sourceContextENDC_r15 = -1;
+static gint ett_lte_rrc_requestedFreqBandsNR_MRDC_r15 = -1;
static expert_field ei_lte_rrc_number_pages_le15 = EI_INIT;
static expert_field ei_lte_rrc_si_info_value_changed = EI_INIT;
@@ -9005,6 +9006,7 @@ 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",
@@ -39681,7 +39683,7 @@ dissect_lte_rrc_T_sourceContextENDC_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_
if (scg_config_info_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sourceContextENDC_r15);
- dissect_nr_rrc_SCG_ConfigInfo_PDU(scg_config_info_tvb, actx->pinfo, subtree, NULL);
+ dissect_nr_rrc_ConfigRestrictInfoSCG_PDU(scg_config_info_tvb, actx->pinfo, subtree, NULL);
}
@@ -43883,7 +43885,7 @@ dissect_lte_rrc_PowerCoordinationInfo_r12(tvbuff_t *tvb _U_, int offset _U_, asn
static int
dissect_lte_rrc_T_eutra_CapabilityInfo_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
- NO_BOUND, NO_BOUND, FALSE, dissect_lte_rrc_UECapabilityInformation_PDU);
+ NO_BOUND, NO_BOUND, FALSE, dissect_UECapabilityInformation_PDU);
return offset;
}
@@ -44554,7 +44556,7 @@ dissect_lte_rrc_UEPagingCoverageInformation(tvbuff_t *tvb _U_, int offset _U_, a
static int
dissect_lte_rrc_T_ue_RadioAccessCapabilityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
- NO_BOUND, NO_BOUND, FALSE, dissect_lte_rrc_UECapabilityInformation_PDU);
+ NO_BOUND, NO_BOUND, FALSE, dissect_UECapabilityInformation_PDU);
return offset;
}
@@ -55639,6 +55641,23 @@ dissect_lte_rrc_BandCombinationList_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_
}
+
+static int
+dissect_lte_rrc_T_requestedFreqBandsNR_MRDC_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ tvbuff_t *freq_band_list_tvb = NULL;
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, &freq_band_list_tvb);
+
+ if (freq_band_list_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_requestedFreqBandsNR_MRDC_r15);
+ dissect_nr_rrc_FreqBandList_PDU(freq_band_list_tvb, actx->pinfo, subtree, NULL);
+ }
+
+
+ return offset;
+}
+
+
static const per_sequence_t T_nonCriticalExtension_55_sequence[] = {
{ NULL, 0, 0, NULL }
};
@@ -55653,7 +55672,7 @@ dissect_lte_rrc_T_nonCriticalExtension_55(tvbuff_t *tvb _U_, int offset _U_, asn
static const per_sequence_t UECapabilityEnquiry_v1510_IEs_sequence[] = {
- { &hf_lte_rrc_requestedFreqBandsNR_MRDC_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING },
+ { &hf_lte_rrc_requestedFreqBandsNR_MRDC_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_requestedFreqBandsNR_MRDC_r15 },
{ &hf_lte_rrc_nonCriticalExtension_164, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_55 },
{ NULL, 0, 0, NULL }
};
@@ -88167,11 +88186,11 @@ static int dissect_SC_MCCH_Message_r13_PDU(tvbuff_t *tvb _U_, packet_info *pinfo
offset += 7; offset >>= 3;
return offset;
}
-int dissect_lte_rrc_UECapabilityInformation_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_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
- offset = dissect_lte_rrc_UECapabilityInformation(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_UECapabilityInformation_PDU);
+ offset = dissect_lte_rrc_UECapabilityInformation(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_UECapabilityInformation_PDU);
offset += 7; offset >>= 3;
return offset;
}
@@ -88522,7 +88541,7 @@ static int dissect_UE_RadioPagingInfo_NB_r13_PDU(tvbuff_t *tvb _U_, packet_info
/*--- End of included file: packet-lte-rrc-fn.c ---*/
-#line 3082 "./asn1/lte-rrc/packet-lte-rrc-template.c"
+#line 3084 "./asn1/lte-rrc/packet-lte-rrc-template.c"
static int
dissect_lte_rrc_DL_CCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
@@ -88957,7 +88976,7 @@ void proto_register_lte_rrc(void) {
{ "SC-MCCH-Message-r13", "lte-rrc.SC_MCCH_Message_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_lte_rrc_lte_rrc_UECapabilityInformation_PDU,
+ { &hf_lte_rrc_UECapabilityInformation_PDU,
{ "UECapabilityInformation", "lte-rrc.UECapabilityInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
@@ -93752,7 +93771,7 @@ void proto_register_lte_rrc(void) {
{ &hf_lte_rrc_requestedFreqBandsNR_MRDC_r15,
{ "requestedFreqBandsNR-MRDC-r15", "lte-rrc.requestedFreqBandsNR_MRDC_r15",
FT_BYTES, BASE_NONE, NULL, 0,
- "OCTET_STRING", HFILL }},
+ NULL, HFILL }},
{ &hf_lte_rrc_nonCriticalExtension_164,
{ "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -111939,7 +111958,7 @@ void proto_register_lte_rrc(void) {
"CarrierFreq_NB_r13", HFILL }},
/*--- End of included file: packet-lte-rrc-hfarr.c ---*/
-#line 3442 "./asn1/lte-rrc/packet-lte-rrc-template.c"
+#line 3444 "./asn1/lte-rrc/packet-lte-rrc-template.c"
{ &hf_lte_rrc_eutra_cap_feat_group_ind_1,
{ "Indicator 1", "lte-rrc.eutra_cap_feat_group_ind_1",
@@ -115353,7 +115372,7 @@ void proto_register_lte_rrc(void) {
&ett_lte_rrc_PCI_ARFCN_NB_r14,
/*--- End of included file: packet-lte-rrc-ettarr.c ---*/
-#line 4169 "./asn1/lte-rrc/packet-lte-rrc-template.c"
+#line 4171 "./asn1/lte-rrc/packet-lte-rrc-template.c"
&ett_lte_rrc_featureGroupIndicators,
&ett_lte_rrc_featureGroupIndRel9Add,
@@ -115388,7 +115407,8 @@ void proto_register_lte_rrc(void) {
&ett_lte_rrc_sourceRB_ConfigNR_r15,
&ett_lte_rrc_sourceRB_ConfigSN_NR_r15,
&ett_lte_rrc_sourceOtherConfigSN_NR_r15,
- &ett_lte_rrc_sourceContextENDC_r15
+ &ett_lte_rrc_sourceContextENDC_r15,
+ &ett_lte_rrc_requestedFreqBandsNR_MRDC_r15
};
static ei_register_info ei[] = {
@@ -115458,7 +115478,7 @@ void proto_register_lte_rrc(void) {
register_dissector("lte-rrc.ul.ccch", dissect_UL_CCCH_Message_PDU, proto_lte_rrc);
register_dissector("lte-rrc.ul.dcch", dissect_UL_DCCH_Message_PDU, proto_lte_rrc);
register_dissector("lte-rrc.sc.mcch", dissect_SC_MCCH_Message_r13_PDU, proto_lte_rrc);
- register_dissector("lte-rrc.ue_cap_info", dissect_lte_rrc_UECapabilityInformation_PDU, proto_lte_rrc);
+ register_dissector("lte-rrc.ue_cap_info", dissect_UECapabilityInformation_PDU, proto_lte_rrc);
register_dissector("lte-rrc.ue_eutra_cap", dissect_lte_rrc_UE_EUTRA_Capability_PDU, proto_lte_rrc);
register_dissector("lte-rrc.sbcch.sl.bch", dissect_SBCCH_SL_BCH_Message_PDU, proto_lte_rrc);
register_dissector("lte-rrc.sbcch.sl.bch.v2x", dissect_SBCCH_SL_BCH_Message_V2X_r14_PDU, proto_lte_rrc);
@@ -115475,7 +115495,7 @@ void proto_register_lte_rrc(void) {
/*--- End of included file: packet-lte-rrc-dis-reg.c ---*/
-#line 4257 "./asn1/lte-rrc/packet-lte-rrc-template.c"
+#line 4260 "./asn1/lte-rrc/packet-lte-rrc-template.c"
lte_rrc_etws_cmas_dcs_hash = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), g_direct_hash, g_direct_equal);
lte_rrc_system_info_value_changed_hash = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), g_direct_hash, g_direct_equal);
diff --git a/epan/dissectors/packet-lte-rrc.h b/epan/dissectors/packet-lte-rrc.h
index cccbc26114..6ffd79a327 100644
--- a/epan/dissectors/packet-lte-rrc.h
+++ b/epan/dissectors/packet-lte-rrc.h
@@ -28,7 +28,6 @@ int dissect_lte_rrc_HandoverCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U
int dissect_lte_rrc_HandoverPreparationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_lte_rrc_SCG_ConfigInfo_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_lte_rrc_UEPagingCoverageInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
-int dissect_lte_rrc_UECapabilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_lte_rrc_RLF_Report_r9_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_lte_rrc_RLF_Report_v9e0_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_lte_rrc_UE_EUTRA_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
diff --git a/epan/dissectors/packet-nr-rrc.c b/epan/dissectors/packet-nr-rrc.c
index 320f1c2fb8..944b4741ad 100644
--- a/epan/dissectors/packet-nr-rrc.c
+++ b/epan/dissectors/packet-nr-rrc.c
@@ -1,7 +1,7 @@
/* Do not modify this file. Changes will be overwritten. */
/* Generated automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-nr-rrc.c */
-/* asn2wrs.py -L -p nr-rrc -c ./nr-rrc.cnf -s ./packet-nr-rrc-template -D . -O ../.. NR-InterNodeDefinitions.asn NR-RRC-Definitions.asn */
+/* asn2wrs.py -L -p nr-rrc -c ./nr-rrc.cnf -s ./packet-nr-rrc-template -D . -O ../.. NR-InterNodeDefinitions.asn NR-RRC-Definitions.asn NR-UE-Variables.asn */
/* Input file: packet-nr-rrc-template.c */
@@ -9,7 +9,7 @@
/* packet-nr-rrc-template.c
* NR;
* Radio Resource Control (RRC) protocol specification
- * (3GPP TS 38.331 V15.0.0 Release 15) packet dissection
+ * (3GPP TS 38.331 V15.1.0 Release 15) packet dissection
* Copyright 2018, Pascal Quantin
*
* Wireshark - Network traffic analyzer
@@ -43,90 +43,144 @@ void proto_reg_handoff_nr_rrc(void);
/*--- Included file: packet-nr-rrc-val.h ---*/
#line 1 "./asn1/nr-rrc/packet-nr-rrc-val.h"
-#define maxCellPrep 1
-#define maxCellSCG 1
-#define maxRS_IndexReport 1
-#define maxBandComb 1
-#define maxBasebandProcComb 1
-#define maxNrofSCells 15
-#define maxNrofCellMeas 1
-#define maxNroSS_BlocksToAverage 2
-#define maxNroCSI_RS_ResourcesToAverage 2
-#define maxNrofSR_CongigPerCellGroup 8
+#define maxMeasFreqsMN 32
+#define maxNrofNZP_CSI_RS_ResourceSets 64
+#define maxNrofNZP_CSI_RS_ResourceSets_1 63
+#define maxNrofCSI_SSB_ResourceSets 64
+#define maxNrofCSI_SSB_ResourceSets_1 63
+#define maxNrofCSI_IM_ResourceSets 64
+#define maxNrofCSI_IM_ResourceSets_1 63
+#define maxNrofNZP_CSI_RS_ResourcesPerConfig 128
+#define maxNrOfSemiPersistentPUSCH_Triggers 64
+#define maxBandComb 65536
+#define maxBasebandProcComb 65536
+#define maxNrofServingCells 32
+#define maxNrofServingCells_1 31
+#define maxNrofAggregatedCellsPerCellGroup 16
+#define maxNrofSCells 31
+#define maxNrofCellMeas 32
+#define maxNrofSS_BlocksToAverage 16
+#define maxNrofCSI_RS_ResourcesToAverage 16
+#define maxNrofDL_Allocations 16
+#define maxNrofSR_ConfigPerCellGroup 8
#define maxLCG_ID 7
-#define macLC_ID 64
+#define maxLC_ID 32
#define maxNrofTAGs 4
#define maxNrofTAGs_1 3
-#define maxNrofBandwidthParts 4
-#define maxNrofBandwidthParts_1 3
-#define maxSymbolIndex 13
+#define maxNrofBWPs 4
+#define maxNrofSymbols_1 13
+#define maxNrofSlots 320
+#define maxNrofSlots_1 319
#define maxNrofPhysicalResourceBlocks 275
#define maxNrofPhysicalResourceBlocks_1 274
-#define maxNrofPhysicalResourceBlocksTimes4 1100
-#define maxNrofControlResourceSets 2
-#define maxNrofControlResourceSets_1 1
-#define maxCoReSetStartSymbol 0
+#define maxNrofControlResourceSets 12
+#define maxNrofControlResourceSets_1 11
#define maxCoReSetDuration 3
-#define maxNrofSearchSpacesPerCoReSet 0
-#define maxNrofRateMatchPatterns 1
-#define maxNrofRateMatchPatterns_1 0
-#define maxNrofCSI_Reports 1
-#define maxNrofCSI_Reports_1 0
-#define maxNrofCSI_ResourceConfigurations 1
-#define maxNrofCSI_ResourceConfigurations_1 0
-#define maxNrofCSI_ResourceSets 1
-#define maxNrofCSI_ResourceSets_1 0
-#define maxNrofNZP_CSI_RS_Resources 1
-#define maxNrofNZP_CSI_RS_Resources_1 0
-#define maxNrofZP_CSI_RS_Resources 1
-#define maxNrofZP_CSI_RS_Resources_1 0
-#define maxNrofCSI_IM_Resources 1
-#define maxNrofCSI_IM_Resources_1 0
-#define maxNrofSSB_Resources 64
+#define maxNrofSearchSpaces 40
+#define maxNrofSearchSpaces_1 39
+#define maxSFI_DCI_PayloadSize 128
+#define maxSFI_DCI_PayloadSize_1 127
+#define maxINT_DCI_PayloadSize 126
+#define maxINT_DCI_PayloadSize_1 125
+#define maxNrofRateMatchPatterns 4
+#define maxNrofRateMatchPatterns_1 3
+#define maxNrofCSI_ReportConfigurations 48
+#define maxNrofCSI_ReportConfigurations_1 47
+#define maxNrofCSI_ResourceConfigurations 112
+#define maxNrofCSI_ResourceConfigurations_1 111
+#define maxNrofAP_CSI_RS_ResourcesPerSet 16
+#define maxNrOfCSI_AperiodicTriggers 128
+#define maxNrofReportConfigPerAperiodicTrigger 16
+#define maxNrofNZP_CSI_RS_Resources 192
+#define maxNrofNZP_CSI_RS_Resources_1 191
+#define maxNrofNZP_CSI_RS_ResourcesPerSet 64
+#define maxNrofNZP_CSI_RS_ResourceSetsPerConfig 16
+#define maxNrofZP_CSI_RS_Resources 32
+#define maxNrofZP_CSI_RS_Resources_1 31
+#define maxNrofZP_CSI_RS_ResourceSets_1 16
+#define maxNrofZP_CSI_RS_ResourcesPerSet 16
+#define maxNrofZP_CSI_RS_Sets 16
+#define maxNrofCSI_IM_Resources 32
+#define maxNrofCSI_IM_Resources_1 31
+#define maxNrofCSI_IM_ResourcesPerSet 8
+#define maxNrofCSI_IM_ResourceSetsPerConfig 16
#define maxNrofSSB_Resources_1 63
-#define maxNrofCSI_RS_ResourcesPerSet 8
-#define maxNrofCSI_MeasId 1
-#define maxNrofCSI_MeasId_1 0
-#define maxNrofCSI_RS_ResourcesRRM 1
-#define maxNrofCSI_RS_ResourcesRRM_1 0
-#define maxNrofObjectId 1
-#define maxNrOfRA_PreamblesPerSSB 1
-#define maxNrofReportConfigId 1
-#define maxNrofMeasId 1
-#define maxNroQuantityConfig 2
-#define maxNrofSRS_ResourceSets 1
-#define maxNrofSRS_ResourceSets_1 0
-#define maxNrofSRS_Resources 1
-#define maxNrofSRS_Resources_1 0
-#define maxRA_PreambleIndex 0
-#define maxRAT_CapabilityContainers 3
-#define maxServCell 1
-#define maxSimultaneousBands 1
-#define maxBands 256
+#define maxNrofCSI_SSB_ResourcePerSet 64
+#define maxNrofCSI_SSB_ResourceSetsPerConfig 1
+#define maxNrofFailureDetectionResources 10
+#define maxNrofObjectId 64
+#define maxNrofPCI_Ranges 8
+#define maxNrofCSI_RS_ResourcesRRM 96
+#define maxNrofCSI_RS_ResourcesRRM_1 95
+#define maxNrofMeasId 64
+#define maxNrofQuantityConfig 2
+#define maxNrofCSI_RS_CellsRRM 96
+#define maxNrofSRS_ResourceSets 16
+#define maxNrofSRS_ResourceSets_1 15
+#define maxNrofSRS_Resources 64
+#define maxNrofSRS_Resources_1 63
+#define maxNrofSRS_TriggerStates_1 3
+#define maxRAT_CapabilityContainers 8
+#define maxSimultaneousBands 32
+#define maxNrofSlotFormatCombinationsPerCell 16
+#define maxNrofSlotFormatCombinationsPerSet 4096
+#define maxNrofSlotFormatCombinationsPerSet_1 4095
+#define maxNrofPUCCH_Resources 128
+#define maxNrofPUCCH_Resources_1 127
+#define maxNrofPUCCH_ResourceSets 4
+#define maxNrofPUCCH_ResourceSets_1 3
+#define maxNrofPUCCH_ResourcesPerSet 32
+#define maxNrofPUCCH_ResourcesPerSet_1 31
+#define maxNrofPUCCH_P0_PerSet 8
+#define maxNrofPUCCH_PathlossReferenceRSs 4
+#define maxNrofPUCCH_PathlossReferenceRSs_1 3
+#define maxNrofP0_PUSCH_AlphaSets 30
+#define maxNrofP0_PUSCH_AlphaSets_1 29
+#define maxNrofPUSCH_PathlossReferenceRSs 4
+#define maxNrofPUSCH_PathlossReferenceRSs_1 3
+#define maxBands 1024
+#define maxBandsMRDC 1280
+#define maxBandsEUTRA 256
+#define maxCellPrep 32
#define maxCellReport 8
#define maxDRB 29
-#define maxFreq 1
-#define maxLCid 32
-#define maxLCH 8
-#define maxQFI 0
-#define maxNrofAggregatedCellsPerCellGroup 1
-#define maxNrofCSI_ReportConfig_1 0
-#define maxNrofPCIsPerSMTC 1
-#define maxNrofQFIs 1
-#define maxNrofSchedulingRequestResoruces 64
-#define maxNrofSearchSpaces 1
-#define maxNrofSlotFormatCombinations 1
-#define maxNrofSlotFormatCombinations_1 1
-#define maxNrofSR_ConfigPerCellGroup 1
-#define maxNrofSRS_ResourcesPerSet 1
-#define maxNroCSI_RS 1
-#define maxNroIndexesToReport 1
-#define maxNroSSBs 8
-#define maxQuantityConfigId 1
-#define maxRAcsirsResources 1
-#define maxRAssbResources 1
-#define maxReportConfigId 1
-#define maxSCellGroups 1
+#define maxFreq 8
+#define maxNrofCSI_RS 64
+#define maxNrofCandidateBeams 16
+#define maxNrofPCIsPerSMTC 64
+#define maxNrofQFIs 64
+#define maxNrofSR_Resources 8
+#define maxNrofSlotFormatsPerCombination 256
+#define maxNrofSpatialRelationInfos 8
+#define maxNrofSRS_ResourcesPerSet 16
+#define maxNrofIndexesToReport 32
+#define maxNrofSSBs 64
+#define maxNrofSSBs_1 63
+#define maxNrofTCI_StatesPDCCH 64
+#define maxNrofTCI_States 64
+#define maxNrofTCI_States_1 63
+#define maxNrofUL_Allocations 16
+#define maxQFI 63
+#define maxRA_CSIRS_Resources 96
+#define maxRA_OccasionsPerCSIRS 64
+#define maxRA_Occasions_1 511
+#define maxRA_SSB_Resources 64
+#define maxSCSs 5
+#define maxSecondaryCellGroups 3
+#define maxNrofServingCellsEUTRA 32
+#define maxMBSFN_Allocations 8
+#define maxNrofMultiBands 8
+#define maxCellSFTD 3
+#define maxReportConfigId 64
+#define maxNrofSRI_PUSCH_Mappings 16
+#define maxNrofSRI_PUSCH_Mappings_1 15
+
+typedef enum _RAT_Type_enum {
+ RAT_Type_nr = 0,
+ RAT_Type_eutra_nr = 1,
+ RAT_Type_spare2 = 2,
+ RAT_Type_spare1 = 3
+} RAT_Type_enum;
/*--- End of included file: packet-nr-rrc-val.h ---*/
#line 36 "./asn1/nr-rrc/packet-nr-rrc-template.c"
@@ -136,53 +190,98 @@ static int proto_nr_rrc = -1;
/*--- Included file: packet-nr-rrc-hf.c ---*/
#line 1 "./asn1/nr-rrc/packet-nr-rrc-hf.c"
-static int hf_nr_rrc_nr_rrc_SCG_ConfigInfo_PDU = -1; /* SCG_ConfigInfo */
+static int hf_nr_rrc_nr_rrc_CG_ConfigInfo_PDU = -1; /* CG_ConfigInfo */
+static int hf_nr_rrc_nr_rrc_ConfigRestrictInfoSCG_PDU = -1; /* ConfigRestrictInfoSCG */
static int hf_nr_rrc_BCCH_BCH_Message_PDU = -1; /* BCCH_BCH_Message */
static int hf_nr_rrc_DL_DCCH_Message_PDU = -1; /* DL_DCCH_Message */
static int hf_nr_rrc_nr_rrc_UL_DCCH_Message_PDU = -1; /* UL_DCCH_Message */
static int hf_nr_rrc_nr_rrc_MIB_PDU = -1; /* MIB */
static int hf_nr_rrc_nr_rrc_RRCReconfiguration_PDU = -1; /* RRCReconfiguration */
static int hf_nr_rrc_nr_rrc_RRCReconfigurationComplete_PDU = -1; /* RRCReconfigurationComplete */
+static int hf_nr_rrc_nr_rrc_SIB1_PDU = -1; /* SIB1 */
static int hf_nr_rrc_nr_rrc_CellGroupConfig_PDU = -1; /* CellGroupConfig */
static int hf_nr_rrc_nr_rrc_MeasResults_PDU = -1; /* MeasResults */
static int hf_nr_rrc_nr_rrc_RadioBearerConfig_PDU = -1; /* RadioBearerConfig */
+static int hf_nr_rrc_nr_rrc_FreqBandList_PDU = -1; /* FreqBandList */
static int hf_nr_rrc_nr_rrc_UE_MRDC_Capability_PDU = -1; /* UE_MRDC_Capability */
static int hf_nr_rrc_nr_rrc_UE_NR_Capability_PDU = -1; /* UE_NR_Capability */
-static int hf_nr_rrc_UECapabilityInformation_PDU = -1; /* UECapabilityInformation */
-static int hf_nr_rrc_RadioBearerConfiguration_PDU = -1; /* RadioBearerConfiguration */
+static int hf_nr_rrc_UE_CapabilityRAT_ContainerList_PDU = -1; /* UE_CapabilityRAT_ContainerList */
+static int hf_nr_rrc_CandidateCellInfoList_PDU = -1; /* CandidateCellInfoList */
+static int hf_nr_rrc_MeasResultSCG_Failure_PDU = -1; /* MeasResultSCG_Failure */
+static int hf_nr_rrc_measuredFrequency = -1; /* ARFCN_ValueNR */
static int hf_nr_rrc_criticalExtensions = -1; /* T_criticalExtensions */
static int hf_nr_rrc_c1 = -1; /* T_c1 */
-static int hf_nr_rrc_scg_ConfigInfo_r15 = -1; /* SCG_ConfigInfo_r15_IEs */
+static int hf_nr_rrc_cg_ConfigInfo = -1; /* CG_ConfigInfo_IEs */
static int hf_nr_rrc_spare3 = -1; /* NULL */
static int hf_nr_rrc_spare2 = -1; /* NULL */
static int hf_nr_rrc_spare1 = -1; /* NULL */
static int hf_nr_rrc_criticalExtensionsFuture = -1; /* T_criticalExtensionsFuture */
-static int hf_nr_rrc_eutra_CapabilityInfo = -1; /* T_eutra_CapabilityInfo */
-static int hf_nr_rrc_candidateCellInfoList = -1; /* CandidateCellInfoList */
-static int hf_nr_rrc_measResultSSTD = -1; /* MeasResultSSTD */
+static int hf_nr_rrc_ue_CapabilityInfo = -1; /* T_ue_CapabilityInfo */
+static int hf_nr_rrc_candidateCellInfoListMN = -1; /* CandidateCellInfoList */
+static int hf_nr_rrc_candidateCellInfoListSN = -1; /* T_candidateCellInfoListSN */
+static int hf_nr_rrc_measResultCellListSFTD = -1; /* MeasResultCellListSFTD */
+static int hf_nr_rrc_scgFailureInfo = -1; /* T_scgFailureInfo */
+static int hf_nr_rrc_failureType = -1; /* T_failureType */
+static int hf_nr_rrc_measResultSCG = -1; /* T_measResultSCG */
static int hf_nr_rrc_configRestrictInfo = -1; /* ConfigRestrictInfoSCG */
static int hf_nr_rrc_drx_InfoMCG = -1; /* DRX_Info */
+static int hf_nr_rrc_measConfigMN = -1; /* MeasConfigMN */
static int hf_nr_rrc_sourceConfigSCG = -1; /* T_sourceConfigSCG */
-static int hf_nr_rrc_p_maxFR1 = -1; /* P_Max */
+static int hf_nr_rrc_scg_RB_Config = -1; /* T_scg_RB_Config */
static int hf_nr_rrc_mcg_RB_Config = -1; /* T_mcg_RB_Config */
static int hf_nr_rrc_nonCriticalExtension = -1; /* T_nonCriticalExtension */
-static int hf_nr_rrc_restrictedBandCombinationNR = -1; /* INTEGER */
-static int hf_nr_rrc_restrictedBasebandCombinationNR_NR = -1; /* T_restrictedBasebandCombinationNR_NR */
-static int hf_nr_rrc_restrictedBasebandCombinationNR_NR_item = -1; /* INTEGER */
-static int hf_nr_rrc_maxMeasFreqsSCG_NR = -1; /* INTEGER */
-static int hf_nr_rrc_cycle = -1; /* INTEGER */
-static int hf_nr_rrc_offset = -1; /* INTEGER */
+static int hf_nr_rrc_allowedBC_ListMRDC = -1; /* BandCombinationIndexList */
+static int hf_nr_rrc_allowedBPC_ListMRDC = -1; /* BPC_IndexList */
+static int hf_nr_rrc_powerCoordination_FR1 = -1; /* T_powerCoordination_FR1 */
+static int hf_nr_rrc_p_maxNR = -1; /* P_Max */
+static int hf_nr_rrc_p_maxEUTRA = -1; /* P_Max */
+static int hf_nr_rrc_servCellIndexRangeSCG = -1; /* T_servCellIndexRangeSCG */
+static int hf_nr_rrc_lowBound = -1; /* ServCellIndex */
+static int hf_nr_rrc_upBound = -1; /* ServCellIndex */
+static int hf_nr_rrc_maxMeasFreqsSCG_NR = -1; /* INTEGER_1_maxMeasFreqsMN */
+static int hf_nr_rrc_BandCombinationIndexList_item = -1; /* BandCombinationIndex */
+static int hf_nr_rrc_BPC_IndexList_item = -1; /* BPC_Index */
+static int hf_nr_rrc_drx_LongCycleStartOffset = -1; /* T_drx_LongCycleStartOffset */
+static int hf_nr_rrc_ms10 = -1; /* INTEGER_0_9 */
+static int hf_nr_rrc_ms20 = -1; /* INTEGER_0_19 */
+static int hf_nr_rrc_ms32 = -1; /* INTEGER_0_31 */
+static int hf_nr_rrc_ms40 = -1; /* INTEGER_0_39 */
+static int hf_nr_rrc_ms60 = -1; /* INTEGER_0_59 */
+static int hf_nr_rrc_ms64 = -1; /* INTEGER_0_63 */
+static int hf_nr_rrc_ms70 = -1; /* INTEGER_0_69 */
+static int hf_nr_rrc_ms80 = -1; /* INTEGER_0_79 */
+static int hf_nr_rrc_ms128 = -1; /* INTEGER_0_127 */
+static int hf_nr_rrc_ms160 = -1; /* INTEGER_0_159 */
+static int hf_nr_rrc_ms256 = -1; /* INTEGER_0_255 */
+static int hf_nr_rrc_ms320 = -1; /* INTEGER_0_319 */
+static int hf_nr_rrc_ms512 = -1; /* INTEGER_0_511 */
+static int hf_nr_rrc_ms640 = -1; /* INTEGER_0_639 */
+static int hf_nr_rrc_ms1024 = -1; /* INTEGER_0_1023 */
+static int hf_nr_rrc_ms1280 = -1; /* INTEGER_0_1279 */
+static int hf_nr_rrc_ms2048 = -1; /* INTEGER_0_2047 */
+static int hf_nr_rrc_ms2560 = -1; /* INTEGER_0_2559 */
+static int hf_nr_rrc_ms5120 = -1; /* INTEGER_0_5119 */
+static int hf_nr_rrc_ms10240 = -1; /* INTEGER_0_10239 */
+static int hf_nr_rrc_shortDRX = -1; /* T_shortDRX */
+static int hf_nr_rrc_drx_ShortCycle = -1; /* T_drx_ShortCycle */
+static int hf_nr_rrc_drx_ShortCycleTimer = -1; /* INTEGER_1_16 */
+static int hf_nr_rrc_measuredFrequenciesMN = -1; /* SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo */
+static int hf_nr_rrc_measuredFrequenciesMN_item = -1; /* NR_FreqInfo */
+static int hf_nr_rrc_measGapConfigFR1 = -1; /* GapConfig */
+static int hf_nr_rrc_gapPurpose = -1; /* T_gapPurpose */
static int hf_nr_rrc_CandidateCellInfoList_item = -1; /* CandidateCellInfo */
static int hf_nr_rrc_cellIdentification = -1; /* T_cellIdentification */
static int hf_nr_rrc_physCellId = -1; /* PhysCellId */
static int hf_nr_rrc_dl_CarrierFreq = -1; /* ARFCN_ValueNR */
-static int hf_nr_rrc_measResultCell = -1; /* T_measResultCell */
-static int hf_nr_rrc_rsrpResultCell = -1; /* RSRP_Range */
-static int hf_nr_rrc_rsrqResultCell = -1; /* RSRQ_Range */
-static int hf_nr_rrc_candidateRS_IndexList = -1; /* CandidateRS_IndexInfoList */
-static int hf_nr_rrc_CandidateRS_IndexInfoList_item = -1; /* CandidateRS_IndexInfo */
+static int hf_nr_rrc_measResultCell = -1; /* MeasQuantityResults */
+static int hf_nr_rrc_candidateRS_IndexListSSB = -1; /* CandidateRS_IndexInfoListSSB */
+static int hf_nr_rrc_candidateRS_IndexListCSI_RS = -1; /* CandidateRS_IndexInfoListCSI_RS */
+static int hf_nr_rrc_CandidateRS_IndexInfoListSSB_item = -1; /* CandidateRS_IndexInfoSSB */
static int hf_nr_rrc_ssb_Index = -1; /* SSB_Index */
-static int hf_nr_rrc_measResultSSB = -1; /* T_measResultSSB */
+static int hf_nr_rrc_measResultSSB = -1; /* MeasQuantityResults */
+static int hf_nr_rrc_CandidateRS_IndexInfoListCSI_RS_item = -1; /* CandidateRS_IndexInfoCSI_RS */
+static int hf_nr_rrc_csi_RS_Index = -1; /* CSI_RS_Index */
+static int hf_nr_rrc_measResultCSI_RS = -1; /* MeasQuantityResults */
static int hf_nr_rrc_message = -1; /* BCCH_BCH_MessageType */
static int hf_nr_rrc_mib = -1; /* MIB */
static int hf_nr_rrc_messageClassExtension = -1; /* T_messageClassExtension */
@@ -207,237 +306,524 @@ static int hf_nr_rrc_c1_02 = -1; /* T_c1_02 */
static int hf_nr_rrc_measurementReport = -1; /* MeasurementReport */
static int hf_nr_rrc_rrcReconfigurationComplete = -1; /* RRCReconfigurationComplete */
static int hf_nr_rrc_messageClassExtension_02 = -1; /* T_messageClassExtension_02 */
-static int hf_nr_rrc_ssb_IndexExplicit = -1; /* INTEGER_1_7 */
-static int hf_nr_rrc_halfFrameIndex = -1; /* T_halfFrameIndex */
-static int hf_nr_rrc_systemFrameNumber = -1; /* BIT_STRING_SIZE_10 */
-static int hf_nr_rrc_subCarrierSpacingCommon = -1; /* SubcarrierSpacing */
-static int hf_nr_rrc_ssb_subcarrierOffset = -1; /* INTEGER_0_11 */
+static int hf_nr_rrc_systemFrameNumber = -1; /* BIT_STRING_SIZE_6 */
+static int hf_nr_rrc_subCarrierSpacingCommon = -1; /* T_subCarrierSpacingCommon */
+static int hf_nr_rrc_ssb_SubcarrierOffset = -1; /* INTEGER_0_15 */
static int hf_nr_rrc_dmrs_TypeA_Position = -1; /* T_dmrs_TypeA_Position */
-static int hf_nr_rrc_pdcchConfigSIB1 = -1; /* INTEGER_0_255 */
+static int hf_nr_rrc_pdcch_ConfigSIB1 = -1; /* INTEGER_0_255 */
static int hf_nr_rrc_cellBarred = -1; /* T_cellBarred */
static int hf_nr_rrc_intraFreqReselection = -1; /* T_intraFreqReselection */
-static int hf_nr_rrc_spare = -1; /* BIT_STRING_SIZE_0 */
+static int hf_nr_rrc_spare = -1; /* BIT_STRING_SIZE_1 */
static int hf_nr_rrc_criticalExtensions_01 = -1; /* T_criticalExtensions_01 */
static int hf_nr_rrc_measurementReport_01 = -1; /* MeasurementReport_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_01 = -1; /* T_criticalExtensionsFuture_01 */
static int hf_nr_rrc_measResults = -1; /* MeasResults */
+static int hf_nr_rrc_lateNonCriticalExtension = -1; /* OCTET_STRING */
+static int hf_nr_rrc_nonCriticalExtension_01 = -1; /* T_nonCriticalExtension_01 */
static int hf_nr_rrc_rrc_TransactionIdentifier = -1; /* RRC_TransactionIdentifier */
static int hf_nr_rrc_criticalExtensions_02 = -1; /* T_criticalExtensions_02 */
static int hf_nr_rrc_rrcReconfiguration_01 = -1; /* RRCReconfiguration_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_02 = -1; /* T_criticalExtensionsFuture_02 */
static int hf_nr_rrc_radioBearerConfig = -1; /* RadioBearerConfig */
-static int hf_nr_rrc_masterCellGroupConfig = -1; /* CellGroupConfig */
-static int hf_nr_rrc_secondaryCellGroupToAddModList = -1; /* SEQUENCE_SIZE_1_maxSCellGroups_OF_CellGroupConfig */
-static int hf_nr_rrc_secondaryCellGroupToAddModList_item = -1; /* CellGroupConfig */
-static int hf_nr_rrc_secondaryCellGroupToReleaseList = -1; /* SEQUENCE_SIZE_1_maxSCellGroups_OF_CellGroupId */
-static int hf_nr_rrc_secondaryCellGroupToReleaseList_item = -1; /* CellGroupId */
+static int hf_nr_rrc_secondaryCellGroup = -1; /* T_secondaryCellGroup */
static int hf_nr_rrc_measConfig = -1; /* MeasConfig */
-static int hf_nr_rrc_lateNonCriticalExtension = -1; /* OCTET_STRING */
-static int hf_nr_rrc_nonCriticalExtension_01 = -1; /* T_nonCriticalExtension_01 */
+static int hf_nr_rrc_nonCriticalExtension_02 = -1; /* T_nonCriticalExtension_02 */
static int hf_nr_rrc_criticalExtensions_03 = -1; /* T_criticalExtensions_03 */
static int hf_nr_rrc_rrcReconfigurationComplete_01 = -1; /* RRCReconfigurationComplete_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_03 = -1; /* T_criticalExtensionsFuture_03 */
-static int hf_nr_rrc_bandwidthPartId = -1; /* BandwidthPartId */
-static int hf_nr_rrc_location = -1; /* INTEGER_0_maxNrofPhysicalResourceBlocksTimes4 */
-static int hf_nr_rrc_bandwidth = -1; /* INTEGER_1_maxNrofPhysicalResourceBlocks */
-static int hf_nr_rrc_subcarrierSpacing = -1; /* T_subcarrierSpacing */
+static int hf_nr_rrc_nonCriticalExtension_03 = -1; /* T_nonCriticalExtension_03 */
+static int hf_nr_rrc_frequencyOffsetSSB = -1; /* T_frequencyOffsetSSB */
+static int hf_nr_rrc_ssb_PositionsInBurst = -1; /* T_ssb_PositionsInBurst */
+static int hf_nr_rrc_inOneGroup = -1; /* BIT_STRING_SIZE_8 */
+static int hf_nr_rrc_groupPresence = -1; /* BIT_STRING_SIZE_8 */
+static int hf_nr_rrc_ssb_PeriodicityServingCell = -1; /* T_ssb_PeriodicityServingCell */
+static int hf_nr_rrc_ss_PBCH_BlockPower = -1; /* INTEGER_M60_50 */
+static int hf_nr_rrc_uplinkConfigCommon = -1; /* UplinkConfigCommon */
+static int hf_nr_rrc_supplementaryUplink = -1; /* T_supplementaryUplink */
+static int hf_nr_rrc_tdd_UL_DL_Configuration = -1; /* TDD_UL_DL_ConfigCommon */
+static int hf_nr_rrc_tdd_UL_DL_configurationCommon2 = -1; /* TDD_UL_DL_ConfigCommon */
+static int hf_nr_rrc_pdcch_ConfigCommon = -1; /* PDCCH_ConfigCommon */
+static int hf_nr_rrc_pucch_ConfigCommon = -1; /* PUCCH_ConfigCommon */
+static int hf_nr_rrc_nonCriticalExtension_04 = -1; /* T_nonCriticalExtension_04 */
+static int hf_nr_rrc_locationAndBandwidth = -1; /* INTEGER_0_37949 */
+static int hf_nr_rrc_subcarrierSpacing = -1; /* SubcarrierSpacing */
static int hf_nr_rrc_cyclicPrefix = -1; /* T_cyclicPrefix */
-static int hf_nr_rrc_directCurrentLocation = -1; /* INTEGER_0_3299 */
+static int hf_nr_rrc_bwp_Id = -1; /* BWP_Id */
+static int hf_nr_rrc_bwp_Common = -1; /* BWP_UplinkCommon */
+static int hf_nr_rrc_bwp_Dedicated = -1; /* BWP_UplinkDedicated */
+static int hf_nr_rrc_genericParameters = -1; /* BWP */
+static int hf_nr_rrc_rach_ConfigCommon = -1; /* T_rach_ConfigCommon */
+static int hf_nr_rrc_release = -1; /* NULL */
+static int hf_nr_rrc_setup = -1; /* RACH_ConfigCommon */
+static int hf_nr_rrc_pusch_ConfigCommon = -1; /* T_pusch_ConfigCommon */
+static int hf_nr_rrc_setup_01 = -1; /* PUSCH_ConfigCommon */
+static int hf_nr_rrc_pucch_ConfigCommon_01 = -1; /* T_pucch_ConfigCommon */
+static int hf_nr_rrc_setup_02 = -1; /* PUCCH_ConfigCommon */
+static int hf_nr_rrc_pucch_Config = -1; /* T_pucch_Config */
+static int hf_nr_rrc_setup_03 = -1; /* PUCCH_Config */
+static int hf_nr_rrc_pusch_Config = -1; /* T_pusch_Config */
+static int hf_nr_rrc_setup_04 = -1; /* PUSCH_Config */
+static int hf_nr_rrc_configuredGrantConfig = -1; /* T_configuredGrantConfig */
+static int hf_nr_rrc_setup_05 = -1; /* ConfiguredGrantConfig */
+static int hf_nr_rrc_srs_Config = -1; /* T_srs_Config */
+static int hf_nr_rrc_setup_06 = -1; /* SRS_Config */
+static int hf_nr_rrc_beamFailureRecoveryConfig = -1; /* T_beamFailureRecoveryConfig */
+static int hf_nr_rrc_setup_07 = -1; /* BeamFailureRecoveryConfig */
+static int hf_nr_rrc_bwp_Common_01 = -1; /* BWP_DownlinkCommon */
+static int hf_nr_rrc_bwp_Dedicated_01 = -1; /* BWP_DownlinkDedicated */
+static int hf_nr_rrc_pdcch_ConfigCommon_01 = -1; /* T_pdcch_ConfigCommon */
+static int hf_nr_rrc_setup_08 = -1; /* PDCCH_ConfigCommon */
+static int hf_nr_rrc_pdsch_ConfigCommon = -1; /* T_pdsch_ConfigCommon */
+static int hf_nr_rrc_setup_09 = -1; /* PDSCH_ConfigCommon */
+static int hf_nr_rrc_pdcch_Config = -1; /* T_pdcch_Config */
+static int hf_nr_rrc_setup_10 = -1; /* PDCCH_Config */
+static int hf_nr_rrc_pdsch_Config = -1; /* T_pdsch_Config */
+static int hf_nr_rrc_setup_11 = -1; /* PDSCH_Config */
+static int hf_nr_rrc_sps_Config = -1; /* T_sps_Config */
+static int hf_nr_rrc_setup_12 = -1; /* SPS_Config */
+static int hf_nr_rrc_radioLinkMonitoringConfig = -1; /* T_radioLinkMonitoringConfig */
+static int hf_nr_rrc_setup_13 = -1; /* RadioLinkMonitoringConfig */
+static int hf_nr_rrc_rootSequenceIndex_BFR = -1; /* INTEGER_0_137 */
+static int hf_nr_rrc_rach_ConfigBFR = -1; /* RACH_ConfigGeneric */
+static int hf_nr_rrc_candidateBeamThreshold = -1; /* RSRP_Range */
+static int hf_nr_rrc_candidateBeamRSList = -1; /* SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR */
+static int hf_nr_rrc_candidateBeamRSList_item = -1; /* PRACH_ResourceDedicatedBFR */
+static int hf_nr_rrc_ra_ssb_OccasionMaskIndex = -1; /* INTEGER_0_15 */
+static int hf_nr_rrc_recoveryControlResourceSetId = -1; /* ControlResourceSetId */
+static int hf_nr_rrc_recoverySearchSpaceId = -1; /* SearchSpaceId */
+static int hf_nr_rrc_ssb = -1; /* BFR_SSB_Resource */
+static int hf_nr_rrc_csi_RS = -1; /* BFR_CSIRS_Resource */
+static int hf_nr_rrc_ssb_01 = -1; /* SSB_Index */
+static int hf_nr_rrc_ra_PreambleIndex = -1; /* INTEGER_0_63 */
+static int hf_nr_rrc_csi_RS_01 = -1; /* NZP_CSI_RS_ResourceId */
static int hf_nr_rrc_cellGroupId = -1; /* CellGroupId */
-static int hf_nr_rrc_rlc_BearerToAddModList = -1; /* SEQUENCE_SIZE_1_maxLCH_OF_LCH_Config */
-static int hf_nr_rrc_rlc_BearerToAddModList_item = -1; /* LCH_Config */
-static int hf_nr_rrc_rlc_BearerToReleaseList = -1; /* SEQUENCE_SIZE_1_maxLCH_OF_LogicalChannelIdentity */
+static int hf_nr_rrc_rlc_BearerToAddModList = -1; /* SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_Bearer_Config */
+static int hf_nr_rrc_rlc_BearerToAddModList_item = -1; /* RLC_Bearer_Config */
+static int hf_nr_rrc_rlc_BearerToReleaseList = -1; /* SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity */
static int hf_nr_rrc_rlc_BearerToReleaseList_item = -1; /* LogicalChannelIdentity */
static int hf_nr_rrc_mac_CellGroupConfig = -1; /* MAC_CellGroupConfig */
-static int hf_nr_rrc_rlf_TimersAndConstants = -1; /* RLF_TimersAndConstants */
-static int hf_nr_rrc_physical_CellGroupConfig = -1; /* PhysicalCellGroupConfig */
+static int hf_nr_rrc_physicalCellGroupConfig = -1; /* PhysicalCellGroupConfig */
static int hf_nr_rrc_spCellConfig = -1; /* SpCellConfig */
-static int hf_nr_rrc_sCellToAddModList = -1; /* SCellToAddModList */
-static int hf_nr_rrc_sCellToReleaseList = -1; /* SCellToReleaseList */
+static int hf_nr_rrc_sCellToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig */
+static int hf_nr_rrc_sCellToAddModList_item = -1; /* SCellConfig */
+static int hf_nr_rrc_sCellToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex */
+static int hf_nr_rrc_sCellToReleaseList_item = -1; /* SCellIndex */
static int hf_nr_rrc_logicalChannelIdentity = -1; /* LogicalChannelIdentity */
-static int hf_nr_rrc_servedRadioBearer = -1; /* INTEGER_1_32 */
+static int hf_nr_rrc_servedRadioBearer = -1; /* T_servedRadioBearer */
+static int hf_nr_rrc_srb_Identity = -1; /* SRB_Identity */
+static int hf_nr_rrc_drb_Identity = -1; /* DRB_Identity */
static int hf_nr_rrc_reestablishRLC = -1; /* T_reestablishRLC */
static int hf_nr_rrc_rlc_Config = -1; /* RLC_Config */
static int hf_nr_rrc_mac_LogicalChannelConfig = -1; /* LogicalChannelConfig */
-static int hf_nr_rrc_harq_ACK_Spatial_Bundling = -1; /* T_harq_ACK_Spatial_Bundling */
-static int hf_nr_rrc_reconfigurationWithSync = -1; /* T_reconfigurationWithSync */
+static int hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH = -1; /* T_harq_ACK_SpatialBundlingPUCCH */
+static int hf_nr_rrc_harq_ACK_SpatialBundlingPUSCH = -1; /* T_harq_ACK_SpatialBundlingPUSCH */
+static int hf_nr_rrc_p_NR = -1; /* P_Max */
+static int hf_nr_rrc_pdsch_HARQ_ACK_Codebook = -1; /* T_pdsch_HARQ_ACK_Codebook */
+static int hf_nr_rrc_tpc_SRS_RNTI = -1; /* RNTI_Value */
+static int hf_nr_rrc_tpc_PUCCH_RNTI = -1; /* RNTI_Value */
+static int hf_nr_rrc_tpc_PUSCH_RNTI = -1; /* RNTI_Value */
+static int hf_nr_rrc_servCellIndex = -1; /* ServCellIndex */
+static int hf_nr_rrc_reconfigurationWithSync = -1; /* ReconfigurationWithSync */
+static int hf_nr_rrc_rlf_TimersAndConstants = -1; /* T_rlf_TimersAndConstants */
+static int hf_nr_rrc_setup_14 = -1; /* RLF_TimersAndConstants */
+static int hf_nr_rrc_rlmInSyncOutOfSyncThreshold = -1; /* INTEGER_0_1 */
+static int hf_nr_rrc_spCellConfigDedicated = -1; /* ServingCellConfig */
static int hf_nr_rrc_spCellConfigCommon = -1; /* ServingCellConfigCommon */
-static int hf_nr_rrc_newUE_Identity = -1; /* C_RNTI */
+static int hf_nr_rrc_newUE_Identity = -1; /* RNTI_Value */
static int hf_nr_rrc_t304 = -1; /* T_t304 */
-static int hf_nr_rrc_rach_ConfigDedicated = -1; /* RACH_ConfigDedicated */
-static int hf_nr_rrc_spCellConfigDedicated = -1; /* ServingCellConfigDedicated */
-static int hf_nr_rrc_SCellToReleaseList_item = -1; /* SCellIndex */
-static int hf_nr_rrc_SCellToAddModList_item = -1; /* SCellConfig */
+static int hf_nr_rrc_rach_ConfigDedicated = -1; /* T_rach_ConfigDedicated */
+static int hf_nr_rrc_uplink = -1; /* RACH_ConfigDedicated */
+static int hf_nr_rrc_supplementaryUplink_01 = -1; /* RACH_ConfigDedicated */
static int hf_nr_rrc_sCellIndex = -1; /* SCellIndex */
static int hf_nr_rrc_sCellConfigCommon = -1; /* ServingCellConfigCommon */
-static int hf_nr_rrc_sCellConfigDedicated = -1; /* ServingCellConfigDedicated */
-static int hf_nr_rrc_CellIndexList_item = -1; /* CellIndex */
+static int hf_nr_rrc_sCellConfigDedicated = -1; /* ServingCellConfig */
+static int hf_nr_rrc_codebookType = -1; /* T_codebookType */
+static int hf_nr_rrc_type1 = -1; /* T_type1 */
+static int hf_nr_rrc_subType = -1; /* T_subType */
+static int hf_nr_rrc_typeI_SinglePanel = -1; /* T_typeI_SinglePanel */
+static int hf_nr_rrc_nrOfAntennaPorts = -1; /* T_nrOfAntennaPorts */
+static int hf_nr_rrc_two = -1; /* T_two */
+static int hf_nr_rrc_twoTX_CodebookSubsetRestriction = -1; /* BIT_STRING_SIZE_6 */
+static int hf_nr_rrc_moreThanTwo = -1; /* T_moreThanTwo */
+static int hf_nr_rrc_n1_n2 = -1; /* T_n1_n2 */
+static int hf_nr_rrc_two_one_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_8 */
+static int hf_nr_rrc_two_two_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_64 */
+static int hf_nr_rrc_four_one_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_16 */
+static int hf_nr_rrc_three_two_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_96 */
+static int hf_nr_rrc_six_one_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_24 */
+static int hf_nr_rrc_four_two_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_128 */
+static int hf_nr_rrc_eight_one_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_32 */
+static int hf_nr_rrc_four_three_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_192 */
+static int hf_nr_rrc_six_two_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_192 */
+static int hf_nr_rrc_twelve_one_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_48 */
+static int hf_nr_rrc_four_four_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_256 */
+static int hf_nr_rrc_eight_two_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_256 */
+static int hf_nr_rrc_sixteen_one_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_64 */
+static int hf_nr_rrc_typeI_SinglePanel_codebookSubsetRestriction_i2 = -1; /* BIT_STRING_SIZE_16 */
+static int hf_nr_rrc_typeI_SinglePanel_ri_Restriction = -1; /* BIT_STRING_SIZE_8 */
+static int hf_nr_rrc_typeI_MultiPanel = -1; /* T_typeI_MultiPanel */
+static int hf_nr_rrc_ng_n1_n2 = -1; /* T_ng_n1_n2 */
+static int hf_nr_rrc_two_two_one_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_8 */
+static int hf_nr_rrc_two_four_one_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_32 */
+static int hf_nr_rrc_four_two_one_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_32 */
+static int hf_nr_rrc_two_two_two_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_128 */
+static int hf_nr_rrc_two_eight_one_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_64 */
+static int hf_nr_rrc_four_four_one_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_64 */
+static int hf_nr_rrc_two_four_two_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_256 */
+static int hf_nr_rrc_four_two_two_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_256 */
+static int hf_nr_rrc_ri_Restriction = -1; /* BIT_STRING_SIZE_4 */
+static int hf_nr_rrc_codebookMode = -1; /* INTEGER_1_2 */
+static int hf_nr_rrc_type2 = -1; /* T_type2 */
+static int hf_nr_rrc_subType_01 = -1; /* T_subType_01 */
+static int hf_nr_rrc_typeII = -1; /* T_typeII */
+static int hf_nr_rrc_n1_n2_codebookSubsetRestriction = -1; /* T_n1_n2_codebookSubsetRestriction */
+static int hf_nr_rrc_two_one = -1; /* BIT_STRING_SIZE_16 */
+static int hf_nr_rrc_two_two = -1; /* BIT_STRING_SIZE_139 */
+static int hf_nr_rrc_four_one = -1; /* BIT_STRING_SIZE_32 */
+static int hf_nr_rrc_three_two = -1; /* BIT_STRING_SIZE_59 */
+static int hf_nr_rrc_six_one = -1; /* BIT_STRING_SIZE_49 */
+static int hf_nr_rrc_four_two = -1; /* BIT_STRING_SIZE_75 */
+static int hf_nr_rrc_eight_one = -1; /* BIT_STRING_SIZE_65 */
+static int hf_nr_rrc_four_three = -1; /* BIT_STRING_SIZE_107 */
+static int hf_nr_rrc_six_two = -1; /* BIT_STRING_SIZE_107 */
+static int hf_nr_rrc_twelve_one = -1; /* BIT_STRING_SIZE_129 */
+static int hf_nr_rrc_four_four = -1; /* BIT_STRING_SIZE_139 */
+static int hf_nr_rrc_eight_two = -1; /* BIT_STRING_SIZE_139 */
+static int hf_nr_rrc_sixteen_one = -1; /* BIT_STRING_SIZE_129 */
+static int hf_nr_rrc_typeII_RI_Restriction = -1; /* BIT_STRING_SIZE_2 */
+static int hf_nr_rrc_typeII_PortSelection = -1; /* T_typeII_PortSelection */
+static int hf_nr_rrc_portSelectionSamplingSize = -1; /* T_portSelectionSamplingSize */
+static int hf_nr_rrc_typeII_PortSelectionRI_Restriction = -1; /* BIT_STRING_SIZE_2 */
+static int hf_nr_rrc_phaseAlphabetSize = -1; /* T_phaseAlphabetSize */
+static int hf_nr_rrc_subbandAmplitude = -1; /* BOOLEAN */
+static int hf_nr_rrc_numberOfBeams = -1; /* T_numberOfBeams */
+static int hf_nr_rrc_frequencyHopping = -1; /* T_frequencyHopping */
+static int hf_nr_rrc_cg_DMRS_Configuration = -1; /* DMRS_UplinkConfig */
+static int hf_nr_rrc_mcs_Table = -1; /* T_mcs_Table */
+static int hf_nr_rrc_mcs_TableTransformPrecoder = -1; /* T_mcs_TableTransformPrecoder */
+static int hf_nr_rrc_uci_OnPUSCH = -1; /* T_uci_OnPUSCH */
+static int hf_nr_rrc_setup_15 = -1; /* CG_UCI_OnPUSCH */
+static int hf_nr_rrc_resourceAllocation = -1; /* T_resourceAllocation */
+static int hf_nr_rrc_rbg_Size = -1; /* T_rbg_Size */
+static int hf_nr_rrc_powerControlLoopToUse = -1; /* T_powerControlLoopToUse */
+static int hf_nr_rrc_p0_PUSCH_Alpha = -1; /* P0_PUSCH_AlphaSetId */
+static int hf_nr_rrc_transformPrecoder = -1; /* T_transformPrecoder */
+static int hf_nr_rrc_nrofHARQ_Processes = -1; /* INTEGER_1_16 */
+static int hf_nr_rrc_repK = -1; /* T_repK */
+static int hf_nr_rrc_repK_RV = -1; /* T_repK_RV */
+static int hf_nr_rrc_periodicity = -1; /* T_periodicity */
+static int hf_nr_rrc_configuredGrantTimer = -1; /* T_configuredGrantTimer */
+static int hf_nr_rrc_rrc_ConfiguredUplinkGrant = -1; /* T_rrc_ConfiguredUplinkGrant */
+static int hf_nr_rrc_timeDomainOffset = -1; /* INTEGER_0_5119 */
+static int hf_nr_rrc_timeDomainAllocation = -1; /* INTEGER_0_15 */
+static int hf_nr_rrc_frequencyDomainAllocation = -1; /* BIT_STRING_SIZE_18 */
+static int hf_nr_rrc_antennaPort = -1; /* INTEGER_0_31 */
+static int hf_nr_rrc_dmrs_SeqInitialization = -1; /* INTEGER_0_1 */
+static int hf_nr_rrc_precodingAndNumberOfLayers = -1; /* INTEGER_0_63 */
+static int hf_nr_rrc_srs_ResourceIndicator = -1; /* INTEGER_0_15 */
+static int hf_nr_rrc_mcsAndTBS = -1; /* INTEGER_0_31 */
+static int hf_nr_rrc_frequencyHoppingOffset = -1; /* INTEGER_1_maxNrofPhysicalResourceBlocks_1 */
+static int hf_nr_rrc_pathlossReferenceIndex = -1; /* INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1 */
+static int hf_nr_rrc_dynamic = -1; /* SEQUENCE_SIZE_1_4_OF_BetaOffsets */
+static int hf_nr_rrc_dynamic_item = -1; /* BetaOffsets */
+static int hf_nr_rrc_semiStatic = -1; /* BetaOffsets */
+static int hf_nr_rrc_controlResourceSetId = -1; /* ControlResourceSetId */
+static int hf_nr_rrc_frequencyDomainResources = -1; /* BIT_STRING_SIZE_45 */
+static int hf_nr_rrc_duration = -1; /* INTEGER_1_maxCoReSetDuration */
+static int hf_nr_rrc_cce_REG_MappingType = -1; /* T_cce_REG_MappingType */
+static int hf_nr_rrc_interleaved = -1; /* T_interleaved */
+static int hf_nr_rrc_reg_BundleSize = -1; /* T_reg_BundleSize */
+static int hf_nr_rrc_interleaverSize = -1; /* T_interleaverSize */
+static int hf_nr_rrc_shiftIndex = -1; /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */
+static int hf_nr_rrc_nonInterleaved = -1; /* NULL */
+static int hf_nr_rrc_precoderGranularity = -1; /* T_precoderGranularity */
+static int hf_nr_rrc_tci_StatesPDCCH = -1; /* SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId */
+static int hf_nr_rrc_tci_StatesPDCCH_item = -1; /* TCI_StateId */
+static int hf_nr_rrc_tci_PresentInDCI = -1; /* T_tci_PresentInDCI */
+static int hf_nr_rrc_pdcch_DMRS_ScramblingID = -1; /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_schedulingCellInfo = -1; /* T_schedulingCellInfo */
static int hf_nr_rrc_own = -1; /* T_own */
static int hf_nr_rrc_cif_Presence = -1; /* BOOLEAN */
static int hf_nr_rrc_other = -1; /* T_other */
static int hf_nr_rrc_schedulingCellId = -1; /* ServCellIndex */
-static int hf_nr_rrc_pdsch_Start = -1; /* INTEGER_1_4 */
static int hf_nr_rrc_cif_InSchedulingCell = -1; /* INTEGER_1_7 */
-static int hf_nr_rrc_csi_ResourceConfigs = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig */
-static int hf_nr_rrc_csi_ResourceConfigs_item = -1; /* CSI_ResourceConfig */
-static int hf_nr_rrc_csi_ReportConfigs = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_Reports_OF_CSI_ReportConfig */
-static int hf_nr_rrc_csi_ReportConfigs_item = -1; /* CSI_ReportConfig */
-static int hf_nr_rrc_csi_MeasIdToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_MeasId_OF_CSI_MeasIdToAddMod */
-static int hf_nr_rrc_csi_MeasIdToAddModList_item = -1; /* CSI_MeasIdToAddMod */
-static int hf_nr_rrc_reportTrigger = -1; /* T_reportTrigger */
-static int hf_nr_rrc_reportTriggerSize = -1; /* INTEGER_0_6 */
-static int hf_nr_rrc_csi_ResourceConfigId = -1; /* CSI_ResourceConfigId */
-static int hf_nr_rrc_csi_ResourceSets = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_ResourceSets_OF_CSI_ResourceSet */
-static int hf_nr_rrc_csi_ResourceSets_item = -1; /* CSI_ResourceSet */
-static int hf_nr_rrc_ssb_Resources = -1; /* SEQUENCE_SIZE_1_maxNrofSSB_Resources_1_OF_CSI_SSB_Resource */
-static int hf_nr_rrc_ssb_Resources_item = -1; /* CSI_SSB_Resource */
-static int hf_nr_rrc_resourceType = -1; /* T_resourceType */
-static int hf_nr_rrc_aperiodic = -1; /* NULL */
-static int hf_nr_rrc_semiPersistent = -1; /* NULL */
-static int hf_nr_rrc_periodic = -1; /* NULL */
-static int hf_nr_rrc_csi_ResourceSetId = -1; /* CSI_ResourceSetId */
-static int hf_nr_rrc_csi_rs_Resources = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_Resource */
-static int hf_nr_rrc_csi_rs_Resources_item = -1; /* NZP_CSI_RS_Resource */
-static int hf_nr_rrc_repetition = -1; /* BOOLEAN */
-static int hf_nr_rrc_nzp_csi_rs_ResourceId = -1; /* NZP_CSI_RS_ResourceId */
-static int hf_nr_rrc_nrofPorts = -1; /* T_nrofPorts */
-static int hf_nr_rrc_resourceMapping = -1; /* NULL */
-static int hf_nr_rrc_cdm_Value = -1; /* T_cdm_Value */
-static int hf_nr_rrc_cdm_Pattern = -1; /* T_cdm_Pattern */
-static int hf_nr_rrc_csi_RS_Density = -1; /* T_csi_RS_Density */
-static int hf_nr_rrc_csi_RS_FreqBand = -1; /* NULL */
-static int hf_nr_rrc_powerControlOffset = -1; /* NULL */
-static int hf_nr_rrc_powerControlOffsetSS = -1; /* NULL */
-static int hf_nr_rrc_scramblingID = -1; /* INTEGER_0 */
-static int hf_nr_rrc_csi_RS_timeConfig = -1; /* T_csi_RS_timeConfig */
-static int hf_nr_rrc_sl5 = -1; /* INTEGER_0_4 */
-static int hf_nr_rrc_sl10 = -1; /* INTEGER_0_9 */
-static int hf_nr_rrc_sl20 = -1; /* INTEGER_0_19 */
-static int hf_nr_rrc_sl40 = -1; /* INTEGER_0_39 */
-static int hf_nr_rrc_sl80 = -1; /* INTEGER_0_79 */
-static int hf_nr_rrc_sl160 = -1; /* INTEGER_0_159 */
-static int hf_nr_rrc_sl320 = -1; /* INTEGER_0_319 */
-static int hf_nr_rrc_sl640 = -1; /* INTEGER_0_639 */
+static int hf_nr_rrc_CSI_AperiodicTriggerStateList_item = -1; /* CSI_AperiodicTriggerState */
+static int hf_nr_rrc_associatedReportConfigInfoList = -1; /* SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo */
+static int hf_nr_rrc_associatedReportConfigInfoList_item = -1; /* CSI_AssociatedReportConfigInfo */
static int hf_nr_rrc_reportConfigId = -1; /* CSI_ReportConfigId */
+static int hf_nr_rrc_resourcesForChannel = -1; /* T_resourcesForChannel */
+static int hf_nr_rrc_nzp_CSI_RS = -1; /* T_nzp_CSI_RS */
+static int hf_nr_rrc_resourceSet = -1; /* INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig */
+static int hf_nr_rrc_qcl_info = -1; /* SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId */
+static int hf_nr_rrc_qcl_info_item = -1; /* TCI_StateId */
+static int hf_nr_rrc_csi_SSB_ResourceSet = -1; /* INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfig */
+static int hf_nr_rrc_csi_IM_ResourcesforInteference = -1; /* INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig */
+static int hf_nr_rrc_nzp_CSI_RS_ResourcesforInterference = -1; /* INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig */
+static int hf_nr_rrc_startingRB = -1; /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */
+static int hf_nr_rrc_nrofRBs = -1; /* INTEGER_24_maxNrofPhysicalResourceBlocks */
+static int hf_nr_rrc_csi_IM_ResourceId = -1; /* CSI_IM_ResourceId */
+static int hf_nr_rrc_csi_IM_ResourceElementPattern = -1; /* T_csi_IM_ResourceElementPattern */
+static int hf_nr_rrc_pattern0 = -1; /* T_pattern0 */
+static int hf_nr_rrc_subcarrierLocation_p0 = -1; /* T_subcarrierLocation_p0 */
+static int hf_nr_rrc_symbolLocation_p0 = -1; /* INTEGER_0_12 */
+static int hf_nr_rrc_pattern1 = -1; /* T_pattern1 */
+static int hf_nr_rrc_subcarrierLocation_p1 = -1; /* T_subcarrierLocation_p1 */
+static int hf_nr_rrc_symbolLocation_p1 = -1; /* INTEGER_0_13 */
+static int hf_nr_rrc_freqBand = -1; /* CSI_FrequencyOccupation */
+static int hf_nr_rrc_periodicityAndOffset = -1; /* CSI_ResourcePeriodicityAndOffset */
+static int hf_nr_rrc_csi_IM_ResourceSetId = -1; /* CSI_IM_ResourceSetId */
+static int hf_nr_rrc_csi_IM_Resources = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId */
+static int hf_nr_rrc_csi_IM_Resources_item = -1; /* CSI_IM_ResourceId */
+static int hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource */
+static int hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList_item = -1; /* NZP_CSI_RS_Resource */
+static int hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId */
+static int hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList_item = -1; /* NZP_CSI_RS_ResourceId */
+static int hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet */
+static int hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList_item = -1; /* NZP_CSI_RS_ResourceSet */
+static int hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId */
+static int hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList_item = -1; /* NZP_CSI_RS_ResourceSetId */
+static int hf_nr_rrc_csi_IM_ResourceToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource */
+static int hf_nr_rrc_csi_IM_ResourceToAddModList_item = -1; /* CSI_IM_Resource */
+static int hf_nr_rrc_csi_IM_ResourceToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId */
+static int hf_nr_rrc_csi_IM_ResourceToReleaseList_item = -1; /* CSI_IM_ResourceId */
+static int hf_nr_rrc_csi_IM_ResourceSetToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet */
+static int hf_nr_rrc_csi_IM_ResourceSetToAddModList_item = -1; /* CSI_IM_ResourceSet */
+static int hf_nr_rrc_csi_IM_ResourceSetToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId */
+static int hf_nr_rrc_csi_IM_ResourceSetToReleaseList_item = -1; /* CSI_IM_ResourceSetId */
+static int hf_nr_rrc_csi_SSB_ResourceSetToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet */
+static int hf_nr_rrc_csi_SSB_ResourceSetToAddModList_item = -1; /* CSI_SSB_ResourceSet */
+static int hf_nr_rrc_csi_SSB_ResourceSetToAddReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId */
+static int hf_nr_rrc_csi_SSB_ResourceSetToAddReleaseList_item = -1; /* CSI_SSB_ResourceSetId */
+static int hf_nr_rrc_csi_ResourceConfigToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig */
+static int hf_nr_rrc_csi_ResourceConfigToAddModList_item = -1; /* CSI_ResourceConfig */
+static int hf_nr_rrc_csi_ResourceConfigToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId */
+static int hf_nr_rrc_csi_ResourceConfigToReleaseList_item = -1; /* CSI_ResourceConfigId */
+static int hf_nr_rrc_csi_ReportConfigToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig */
+static int hf_nr_rrc_csi_ReportConfigToAddModList_item = -1; /* CSI_ReportConfig */
+static int hf_nr_rrc_csi_ReportConfigToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId */
+static int hf_nr_rrc_csi_ReportConfigToReleaseList_item = -1; /* CSI_ReportConfigId */
+static int hf_nr_rrc_reportTriggerSize = -1; /* INTEGER_0_6 */
+static int hf_nr_rrc_aperiodicTriggerStateList = -1; /* T_aperiodicTriggerStateList */
+static int hf_nr_rrc_setup_16 = -1; /* CSI_AperiodicTriggerStateList */
+static int hf_nr_rrc_semiPersistentOnPUSCH_TriggerStateList = -1; /* T_semiPersistentOnPUSCH_TriggerStateList */
+static int hf_nr_rrc_setup_17 = -1; /* CSI_SemiPersistentOnPUSCH_TriggerStateList */
+static int hf_nr_rrc_carrier = -1; /* ServCellIndex */
+static int hf_nr_rrc_resourcesForChannelMeasurement = -1; /* CSI_ResourceConfigId */
+static int hf_nr_rrc_csi_IM_ResourcesForInterference = -1; /* CSI_ResourceConfigId */
+static int hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference = -1; /* CSI_ResourceConfigId */
static int hf_nr_rrc_reportConfigType = -1; /* T_reportConfigType */
-static int hf_nr_rrc_periodic_01 = -1; /* T_periodic */
-static int hf_nr_rrc_reportSlotConfig = -1; /* T_reportSlotConfig */
-static int hf_nr_rrc_pucch_CSI_ResourceIndex = -1; /* NULL */
-static int hf_nr_rrc_semiPersistent_01 = -1; /* T_semiPersistent */
-static int hf_nr_rrc_reportSlotConfig_01 = -1; /* T_reportSlotConfig_01 */
-static int hf_nr_rrc_aperiodic_01 = -1; /* T_aperiodic */
-static int hf_nr_rrc_aperiodicReportSlotOffset = -1; /* NULL */
+static int hf_nr_rrc_periodic = -1; /* T_periodic */
+static int hf_nr_rrc_reportSlotConfig = -1; /* CSI_ReportPeriodicityAndOffset */
+static int hf_nr_rrc_pucch_CSI_ResourceList = -1; /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource */
+static int hf_nr_rrc_pucch_CSI_ResourceList_item = -1; /* PUCCH_CSI_Resource */
+static int hf_nr_rrc_semiPersistentOnPUCCH = -1; /* T_semiPersistentOnPUCCH */
+static int hf_nr_rrc_semiPersistentOnPUSCH = -1; /* T_semiPersistentOnPUSCH */
+static int hf_nr_rrc_reportSlotConfig_01 = -1; /* T_reportSlotConfig */
+static int hf_nr_rrc_reportSlotOffsetList = -1; /* T_reportSlotOffsetList */
+static int hf_nr_rrc_reportSlotOffsetList_item = -1; /* INTEGER_0_7 */
+static int hf_nr_rrc_csi_RNTI = -1; /* RNTI_Value */
+static int hf_nr_rrc_p0alpha = -1; /* P0_PUSCH_AlphaSetId */
+static int hf_nr_rrc_aperiodic = -1; /* T_aperiodic */
+static int hf_nr_rrc_reportSlotOffsetList_01 = -1; /* T_reportSlotOffsetList_01 */
static int hf_nr_rrc_reportQuantity = -1; /* T_reportQuantity */
-static int hf_nr_rrc_cRI_RI_PMI_CQI = -1; /* NULL */
-static int hf_nr_rrc_cRI_RI_i1 = -1; /* NULL */
-static int hf_nr_rrc_cRI_RI_i1_CQI = -1; /* T_cRI_RI_i1_CQI */
+static int hf_nr_rrc_none = -1; /* NULL */
+static int hf_nr_rrc_cri_RI_PMI_CQI = -1; /* NULL */
+static int hf_nr_rrc_cri_RI_i1 = -1; /* NULL */
+static int hf_nr_rrc_cri_RI_i1_CQI = -1; /* T_cri_RI_i1_CQI */
static int hf_nr_rrc_pdsch_BundleSizeForCSI = -1; /* T_pdsch_BundleSizeForCSI */
-static int hf_nr_rrc_cRI_RI_CQI = -1; /* NULL */
-static int hf_nr_rrc_cRI = -1; /* NULL */
-static int hf_nr_rrc_cRI_RSRP = -1; /* NULL */
-static int hf_nr_rrc_spare0 = -1; /* NULL */
+static int hf_nr_rrc_cri_RI_CQI = -1; /* NULL */
+static int hf_nr_rrc_cri_RSRP = -1; /* NULL */
+static int hf_nr_rrc_ssb_Index_RSRP = -1; /* NULL */
+static int hf_nr_rrc_cri_RI_LI_PMI_CQI = -1; /* NULL */
static int hf_nr_rrc_reportFreqConfiguration = -1; /* T_reportFreqConfiguration */
static int hf_nr_rrc_cqi_FormatIndicator = -1; /* T_cqi_FormatIndicator */
static int hf_nr_rrc_pmi_FormatIndicator = -1; /* T_pmi_FormatIndicator */
static int hf_nr_rrc_csi_ReportingBand = -1; /* T_csi_ReportingBand */
-static int hf_nr_rrc_measRestrictionTimeForChannel = -1; /* NULL */
-static int hf_nr_rrc_measRestrictionTimeForInterference = -1; /* NULL */
+static int hf_nr_rrc_subbands3 = -1; /* BIT_STRING_SIZE_3 */
+static int hf_nr_rrc_subbands4 = -1; /* BIT_STRING_SIZE_4 */
+static int hf_nr_rrc_subbands5 = -1; /* BIT_STRING_SIZE_5 */
+static int hf_nr_rrc_subbands6 = -1; /* BIT_STRING_SIZE_6 */
+static int hf_nr_rrc_subbands7 = -1; /* BIT_STRING_SIZE_7 */
+static int hf_nr_rrc_subbands8 = -1; /* BIT_STRING_SIZE_8 */
+static int hf_nr_rrc_subbands9 = -1; /* BIT_STRING_SIZE_9 */
+static int hf_nr_rrc_subbands10 = -1; /* BIT_STRING_SIZE_10 */
+static int hf_nr_rrc_subbands11 = -1; /* BIT_STRING_SIZE_11 */
+static int hf_nr_rrc_subbands12 = -1; /* BIT_STRING_SIZE_12 */
+static int hf_nr_rrc_subbands13 = -1; /* BIT_STRING_SIZE_13 */
+static int hf_nr_rrc_subbands14 = -1; /* BIT_STRING_SIZE_14 */
+static int hf_nr_rrc_subbands15 = -1; /* BIT_STRING_SIZE_15 */
+static int hf_nr_rrc_subbands16 = -1; /* BIT_STRING_SIZE_16 */
+static int hf_nr_rrc_subbands17 = -1; /* BIT_STRING_SIZE_17 */
+static int hf_nr_rrc_subbands18 = -1; /* BIT_STRING_SIZE_18 */
+static int hf_nr_rrc_timeRestrictionForChannelMeasurements = -1; /* T_timeRestrictionForChannelMeasurements */
+static int hf_nr_rrc_timeRestrictionForInterferenceMeasurements = -1; /* T_timeRestrictionForInterferenceMeasurements */
static int hf_nr_rrc_codebookConfig = -1; /* CodebookConfig */
static int hf_nr_rrc_nrofCQIsPerReport = -1; /* T_nrofCQIsPerReport */
static int hf_nr_rrc_groupBasedBeamReporting = -1; /* T_groupBasedBeamReporting */
-static int hf_nr_rrc_enabled = -1; /* T_enabled */
-static int hf_nr_rrc_nrofBeamsToReport = -1; /* INTEGER_2_4 */
+static int hf_nr_rrc_enabled = -1; /* NULL */
static int hf_nr_rrc_disabled = -1; /* T_disabled */
static int hf_nr_rrc_nrofReportedRS = -1; /* T_nrofReportedRS */
static int hf_nr_rrc_cqi_Table = -1; /* T_cqi_Table */
static int hf_nr_rrc_subbandSize = -1; /* T_subbandSize */
static int hf_nr_rrc_bler_Target = -1; /* T_bler_Target */
-static int hf_nr_rrc_codebookConfig_N1 = -1; /* T_codebookConfig_N1 */
-static int hf_nr_rrc_codebookConfig_N2 = -1; /* T_codebookConfig_N2 */
-static int hf_nr_rrc_codebookType = -1; /* T_codebookType */
-static int hf_nr_rrc_type1 = -1; /* T_type1 */
-static int hf_nr_rrc_subType = -1; /* T_subType */
-static int hf_nr_rrc_codebookMode = -1; /* T_codebookMode */
-static int hf_nr_rrc_numberOfPanels = -1; /* T_numberOfPanels */
-static int hf_nr_rrc_codebookSubsetRestrictionType1 = -1; /* T_codebookSubsetRestrictionType1 */
-static int hf_nr_rrc_singlePanel = -1; /* T_singlePanel */
-static int hf_nr_rrc_singlePanel2TX = -1; /* BIT_STRING_SIZE_6 */
-static int hf_nr_rrc_multiPanel = -1; /* T_multiPanel */
-static int hf_nr_rrc_singlePanelCodebookSubsetRestriction_i2 = -1; /* BIT_STRING_SIZE_16 */
-static int hf_nr_rrc_ri_Restriction = -1; /* T_ri_Restriction */
-static int hf_nr_rrc_typeI_SinglePanelRI_Restriction = -1; /* BIT_STRING_SIZE_8 */
-static int hf_nr_rrc_typeI_MultiPanelRI_Restriction = -1; /* BIT_STRING_SIZE_4 */
-static int hf_nr_rrc_type2 = -1; /* T_type2 */
-static int hf_nr_rrc_subType_01 = -1; /* T_subType_01 */
-static int hf_nr_rrc_phaseAlphabetSize = -1; /* T_phaseAlphabetSize */
-static int hf_nr_rrc_subbandAmplitude = -1; /* BOOLEAN */
-static int hf_nr_rrc_numberOfBeams = -1; /* T_numberOfBeams */
-static int hf_nr_rrc_portSelectionSamplingSize = -1; /* T_portSelectionSamplingSize */
-static int hf_nr_rrc_codebookSubsetRestrictionType2 = -1; /* T_codebookSubsetRestrictionType2 */
-static int hf_nr_rrc_ri_Restriction_01 = -1; /* T_ri_Restriction_01 */
-static int hf_nr_rrc_typeII_RI_Restriction = -1; /* BIT_STRING_SIZE_2 */
-static int hf_nr_rrc_typeII_PortSelectionRI_Restriction = -1; /* BIT_STRING_SIZE_2 */
-static int hf_nr_rrc_csi_measId = -1; /* CSI_MeasId */
-static int hf_nr_rrc_csi_RS_resourceConfigId = -1; /* CSI_RS_ConfigurationId */
-static int hf_nr_rrc_csi_reportConfigId = -1; /* CSI_ReportConfigId */
-static int hf_nr_rrc_measQuantity = -1; /* T_measQuantity */
-static int hf_nr_rrc_carrierFreqUL = -1; /* ARFCN_ValueNR */
-static int hf_nr_rrc_carrierBandwidthUL = -1; /* CarrierBandwidthNR */
+static int hf_nr_rrc_non_PMI_PortIndication = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks */
+static int hf_nr_rrc_non_PMI_PortIndication_item = -1; /* PortIndexFor8Ranks */
+static int hf_nr_rrc_slots4 = -1; /* INTEGER_0_3 */
+static int hf_nr_rrc_slots5 = -1; /* INTEGER_0_4 */
+static int hf_nr_rrc_slots8 = -1; /* INTEGER_0_7 */
+static int hf_nr_rrc_slots10 = -1; /* INTEGER_0_9 */
+static int hf_nr_rrc_slots16 = -1; /* INTEGER_0_15 */
+static int hf_nr_rrc_slots20 = -1; /* INTEGER_0_19 */
+static int hf_nr_rrc_slots40 = -1; /* INTEGER_0_39 */
+static int hf_nr_rrc_slots80 = -1; /* INTEGER_0_79 */
+static int hf_nr_rrc_slots160 = -1; /* INTEGER_0_159 */
+static int hf_nr_rrc_slots320 = -1; /* INTEGER_0_319 */
+static int hf_nr_rrc_uplinkBandwidthPartId = -1; /* BWP_Id */
+static int hf_nr_rrc_pucch_Resource = -1; /* PUCCH_Resource */
+static int hf_nr_rrc_portIndex8 = -1; /* T_portIndex8 */
+static int hf_nr_rrc_rank1_8 = -1; /* PortIndex8 */
+static int hf_nr_rrc_rank2_8 = -1; /* SEQUENCE_SIZE_1_2_OF_PortIndex8 */
+static int hf_nr_rrc_rank2_8_item = -1; /* PortIndex8 */
+static int hf_nr_rrc_rank3_8 = -1; /* SEQUENCE_SIZE_1_3_OF_PortIndex8 */
+static int hf_nr_rrc_rank3_8_item = -1; /* PortIndex8 */
+static int hf_nr_rrc_rank4_8 = -1; /* SEQUENCE_SIZE_1_4_OF_PortIndex8 */
+static int hf_nr_rrc_rank4_8_item = -1; /* PortIndex8 */
+static int hf_nr_rrc_rank5_8 = -1; /* SEQUENCE_SIZE_1_5_OF_PortIndex8 */
+static int hf_nr_rrc_rank5_8_item = -1; /* PortIndex8 */
+static int hf_nr_rrc_rank6_8 = -1; /* SEQUENCE_SIZE_1_6_OF_PortIndex8 */
+static int hf_nr_rrc_rank6_8_item = -1; /* PortIndex8 */
+static int hf_nr_rrc_rank7_8 = -1; /* SEQUENCE_SIZE_1_7_OF_PortIndex8 */
+static int hf_nr_rrc_rank7_8_item = -1; /* PortIndex8 */
+static int hf_nr_rrc_rank8_8 = -1; /* SEQUENCE_SIZE_1_8_OF_PortIndex8 */
+static int hf_nr_rrc_rank8_8_item = -1; /* PortIndex8 */
+static int hf_nr_rrc_portIndex4 = -1; /* T_portIndex4 */
+static int hf_nr_rrc_rank1_4 = -1; /* PortIndex4 */
+static int hf_nr_rrc_rank2_4 = -1; /* SEQUENCE_SIZE_1_2_OF_PortIndex4 */
+static int hf_nr_rrc_rank2_4_item = -1; /* PortIndex4 */
+static int hf_nr_rrc_rank3_4 = -1; /* SEQUENCE_SIZE_1_3_OF_PortIndex4 */
+static int hf_nr_rrc_rank3_4_item = -1; /* PortIndex4 */
+static int hf_nr_rrc_rank4_4 = -1; /* SEQUENCE_SIZE_1_4_OF_PortIndex4 */
+static int hf_nr_rrc_rank4_4_item = -1; /* PortIndex4 */
+static int hf_nr_rrc_portIndex2 = -1; /* T_portIndex2 */
+static int hf_nr_rrc_rank1_2 = -1; /* PortIndex2 */
+static int hf_nr_rrc_rank2_2 = -1; /* SEQUENCE_SIZE_1_2_OF_PortIndex2 */
+static int hf_nr_rrc_rank2_2_item = -1; /* PortIndex2 */
+static int hf_nr_rrc_portIndex1 = -1; /* NULL */
+static int hf_nr_rrc_csi_ResourceConfigId = -1; /* CSI_ResourceConfigId */
+static int hf_nr_rrc_csi_RS_ResourceSetList = -1; /* T_csi_RS_ResourceSetList */
+static int hf_nr_rrc_nzp_CSI_RS_SSB = -1; /* T_nzp_CSI_RS_SSB */
+static int hf_nr_rrc_nzp_CSI_RS_ResourceSetList = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId */
+static int hf_nr_rrc_nzp_CSI_RS_ResourceSetList_item = -1; /* NZP_CSI_RS_ResourceSetId */
+static int hf_nr_rrc_csi_SSB_ResourceSetList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId */
+static int hf_nr_rrc_csi_SSB_ResourceSetList_item = -1; /* CSI_SSB_ResourceSetId */
+static int hf_nr_rrc_csi_IM_ResourceSetList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId */
+static int hf_nr_rrc_csi_IM_ResourceSetList_item = -1; /* CSI_IM_ResourceSetId */
+static int hf_nr_rrc_resourceType = -1; /* T_resourceType */
+static int hf_nr_rrc_slots32 = -1; /* INTEGER_0_31 */
+static int hf_nr_rrc_slots64 = -1; /* INTEGER_0_63 */
+static int hf_nr_rrc_slots640 = -1; /* INTEGER_0_639 */
+static int hf_nr_rrc_frequencyDomainAllocation_01 = -1; /* T_frequencyDomainAllocation */
+static int hf_nr_rrc_row1 = -1; /* BIT_STRING_SIZE_4 */
+static int hf_nr_rrc_row2 = -1; /* BIT_STRING_SIZE_12 */
+static int hf_nr_rrc_row4 = -1; /* BIT_STRING_SIZE_3 */
+static int hf_nr_rrc_other_01 = -1; /* BIT_STRING_SIZE_6 */
+static int hf_nr_rrc_nrofPorts = -1; /* T_nrofPorts */
+static int hf_nr_rrc_firstOFDMSymbolInTimeDomain = -1; /* INTEGER_0_13 */
+static int hf_nr_rrc_firstOFDMSymbolInTimeDomain2 = -1; /* INTEGER_0_13 */
+static int hf_nr_rrc_cdm_Type = -1; /* T_cdm_Type */
+static int hf_nr_rrc_density = -1; /* T_density */
+static int hf_nr_rrc_dot5 = -1; /* T_dot5 */
+static int hf_nr_rrc_one = -1; /* NULL */
+static int hf_nr_rrc_three = -1; /* NULL */
+static int hf_nr_rrc_spare_01 = -1; /* NULL */
+static int hf_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList_item = -1; /* CSI_SemiPersistentOnPUSCH_TriggerState */
+static int hf_nr_rrc_associatedReportConfigInfo = -1; /* CSI_ReportConfigId */
+static int hf_nr_rrc_csi_SSB_ResourceSetId = -1; /* CSI_SSB_ResourceSetId */
+static int hf_nr_rrc_csi_SSB_ResourceList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index */
+static int hf_nr_rrc_csi_SSB_ResourceList_item = -1; /* SSB_Index */
+static int hf_nr_rrc_dmrs_Type = -1; /* T_dmrs_Type */
+static int hf_nr_rrc_dmrs_AdditionalPosition = -1; /* T_dmrs_AdditionalPosition */
+static int hf_nr_rrc_dmrs_group1 = -1; /* BIT_STRING_SIZE_12 */
+static int hf_nr_rrc_dmrs_group2 = -1; /* BIT_STRING_SIZE_12 */
+static int hf_nr_rrc_maxLength = -1; /* T_maxLength */
+static int hf_nr_rrc_scramblingID0 = -1; /* INTEGER_0_65535 */
+static int hf_nr_rrc_scramblingID1 = -1; /* INTEGER_0_65535 */
+static int hf_nr_rrc_phaseTrackingRS = -1; /* T_phaseTrackingRS */
+static int hf_nr_rrc_setup_18 = -1; /* PTRS_DownlinkConfig */
+static int hf_nr_rrc_dmrs_Type_01 = -1; /* T_dmrs_Type_01 */
+static int hf_nr_rrc_dmrs_AdditionalPosition_01 = -1; /* T_dmrs_AdditionalPosition_01 */
+static int hf_nr_rrc_phaseTrackingRS_01 = -1; /* T_phaseTrackingRS_01 */
+static int hf_nr_rrc_setup_19 = -1; /* PTRS_UplinkConfig */
+static int hf_nr_rrc_maxLength_01 = -1; /* T_maxLength_01 */
+static int hf_nr_rrc_transformPrecoding = -1; /* T_transformPrecoding */
+static int hf_nr_rrc_disabled_01 = -1; /* T_disabled_01 */
+static int hf_nr_rrc_enabled_01 = -1; /* T_enabled */
+static int hf_nr_rrc_nPUSCH_Identity = -1; /* INTEGER_0_1007 */
+static int hf_nr_rrc_disableSequenceGroupHopping = -1; /* T_disableSequenceGroupHopping */
+static int hf_nr_rrc_sequenceHoppingEnabled = -1; /* T_sequenceHoppingEnabled */
+static int hf_nr_rrc_int_RNTI = -1; /* RNTI_Value */
+static int hf_nr_rrc_timeFrequencySet = -1; /* T_timeFrequencySet */
+static int hf_nr_rrc_dci_PayloadSize = -1; /* INTEGER_0_maxINT_DCI_PayloadSize */
+static int hf_nr_rrc_int_ConfigurationPerServingCell = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell */
+static int hf_nr_rrc_int_ConfigurationPerServingCell_item = -1; /* INT_ConfigurationPerServingCell */
+static int hf_nr_rrc_servingCellId = -1; /* ServCellIndex */
+static int hf_nr_rrc_positionInDCI = -1; /* INTEGER_0_maxINT_DCI_PayloadSize_1 */
+static int hf_nr_rrc_EUTRA_MBSFN_SubframeConfigList_item = -1; /* EUTRA_MBSFN_SubframeConfig */
+static int hf_nr_rrc_radioframeAllocationPeriod = -1; /* T_radioframeAllocationPeriod */
+static int hf_nr_rrc_radioframeAllocationOffset = -1; /* INTEGER_0_7 */
+static int hf_nr_rrc_subframeAllocation = -1; /* T_subframeAllocation */
+static int hf_nr_rrc_oneFrame = -1; /* BIT_STRING_SIZE_6 */
+static int hf_nr_rrc_fourFrames = -1; /* BIT_STRING_SIZE_24 */
+static int hf_nr_rrc_subframeAllocation_v1430 = -1; /* T_subframeAllocation_v1430 */
+static int hf_nr_rrc_oneFrame_v1430 = -1; /* BIT_STRING_SIZE_2 */
+static int hf_nr_rrc_fourFrames_v1430 = -1; /* BIT_STRING_SIZE_8 */
+static int hf_nr_rrc_absoluteFrequencySSB = -1; /* ARFCN_ValueNR */
+static int hf_nr_rrc_ssb_SubcarrierOffset_01 = -1; /* INTEGER_1_23 */
+static int hf_nr_rrc_frequencyBandList = -1; /* MultiFrequencyBandListNR */
+static int hf_nr_rrc_absoluteFrequencyPointA = -1; /* ARFCN_ValueNR */
+static int hf_nr_rrc_scs_SpecificCarrierList = -1; /* SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier */
+static int hf_nr_rrc_scs_SpecificCarrierList_item = -1; /* SCS_SpecificCarrier */
+static int hf_nr_rrc_scs_SpecificCarriers = -1; /* SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier */
+static int hf_nr_rrc_scs_SpecificCarriers_item = -1; /* SCS_SpecificCarrier */
static int hf_nr_rrc_additionalSpectrumEmission = -1; /* AdditionalSpectrumEmission */
static int hf_nr_rrc_p_Max = -1; /* P_Max */
static int hf_nr_rrc_frequencyShift7p5khz = -1; /* T_frequencyShift7p5khz */
-static int hf_nr_rrc_initialUplinkBandwidthPart = -1; /* BandwidthPart */
static int hf_nr_rrc_ul_SpecificParameters = -1; /* T_ul_SpecificParameters */
static int hf_nr_rrc_priority = -1; /* INTEGER_1_16 */
static int hf_nr_rrc_prioritisedBitRate = -1; /* T_prioritisedBitRate */
static int hf_nr_rrc_bucketSizeDuration = -1; /* T_bucketSizeDuration */
-static int hf_nr_rrc_allowedSubCarrierSpacing = -1; /* SubcarrierSpacing */
-static int hf_nr_rrc_allowedTiming = -1; /* NULL */
-static int hf_nr_rrc_logicalChannelGroup = -1; /* INTEGER_0_maxLCid */
+static int hf_nr_rrc_allowedServingCells = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex */
+static int hf_nr_rrc_allowedServingCells_item = -1; /* ServCellIndex */
+static int hf_nr_rrc_allowedSCS_List = -1; /* SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing */
+static int hf_nr_rrc_allowedSCS_List_item = -1; /* SubcarrierSpacing */
+static int hf_nr_rrc_maxPUSCH_Duration = -1; /* T_maxPUSCH_Duration */
+static int hf_nr_rrc_configuredGrantType1Allowed = -1; /* T_configuredGrantType1Allowed */
+static int hf_nr_rrc_logicalChannelGroup = -1; /* INTEGER_0_maxLCG_ID */
+static int hf_nr_rrc_schedulingRequestID = -1; /* SchedulingRequestId */
static int hf_nr_rrc_logicalChannelSR_Mask = -1; /* BOOLEAN */
static int hf_nr_rrc_logicalChannelSR_DelayTimerApplied = -1; /* BOOLEAN */
-static int hf_nr_rrc_drx_Config = -1; /* DRX_Config */
+static int hf_nr_rrc_drx_Config = -1; /* T_drx_Config */
+static int hf_nr_rrc_setup_20 = -1; /* DRX_Config */
static int hf_nr_rrc_schedulingRequestConfig = -1; /* SchedulingRequestConfig */
-static int hf_nr_rrc_bsr_Config = -1; /* BSR_Configuration */
-static int hf_nr_rrc_tag_Config = -1; /* TAG_Configuration */
-static int hf_nr_rrc_phr_Config = -1; /* PHR_Config */
-static int hf_nr_rrc_sCellDeactivationTimer = -1; /* T_sCellDeactivationTimer */
+static int hf_nr_rrc_bsr_Config = -1; /* BSR_Config */
+static int hf_nr_rrc_tag_Config = -1; /* TAG_Config */
+static int hf_nr_rrc_phr_Config = -1; /* T_phr_Config */
+static int hf_nr_rrc_setup_21 = -1; /* PHR_Config */
static int hf_nr_rrc_skipUplinkTxDynamic = -1; /* BOOLEAN */
-static int hf_nr_rrc_release = -1; /* NULL */
-static int hf_nr_rrc_setup = -1; /* T_setup */
+static int hf_nr_rrc_cs_RNTI = -1; /* T_cs_RNTI */
+static int hf_nr_rrc_setup_22 = -1; /* RNTI_Value */
static int hf_nr_rrc_drx_onDurationTimer = -1; /* T_drx_onDurationTimer */
+static int hf_nr_rrc_subMilliSeconds = -1; /* INTEGER_1_31 */
+static int hf_nr_rrc_milliSeconds = -1; /* T_milliSeconds */
static int hf_nr_rrc_drx_InactivityTimer = -1; /* T_drx_InactivityTimer */
static int hf_nr_rrc_drx_HARQ_RTT_TimerDL = -1; /* INTEGER_0_56 */
static int hf_nr_rrc_drx_HARQ_RTT_TimerUL = -1; /* INTEGER_0_56 */
static int hf_nr_rrc_drx_RetransmissionTimerDL = -1; /* T_drx_RetransmissionTimerDL */
static int hf_nr_rrc_drx_RetransmissionTimerUL = -1; /* T_drx_RetransmissionTimerUL */
-static int hf_nr_rrc_drx_LongCycleStartOffset = -1; /* T_drx_LongCycleStartOffset */
-static int hf_nr_rrc_ms10 = -1; /* INTEGER_0_9 */
-static int hf_nr_rrc_ms20 = -1; /* INTEGER_0_19 */
-static int hf_nr_rrc_ms32 = -1; /* INTEGER_0_31 */
-static int hf_nr_rrc_ms40 = -1; /* INTEGER_0_39 */
-static int hf_nr_rrc_ms60 = -1; /* INTEGER_0_59 */
-static int hf_nr_rrc_ms64 = -1; /* INTEGER_0_63 */
-static int hf_nr_rrc_ms70 = -1; /* INTEGER_0_69 */
-static int hf_nr_rrc_ms80 = -1; /* INTEGER_0_79 */
-static int hf_nr_rrc_ms128 = -1; /* INTEGER_0_127 */
-static int hf_nr_rrc_ms160 = -1; /* INTEGER_0_159 */
-static int hf_nr_rrc_ms256 = -1; /* INTEGER_0_255 */
-static int hf_nr_rrc_ms320 = -1; /* INTEGER_0_319 */
-static int hf_nr_rrc_ms512 = -1; /* INTEGER_0_511 */
-static int hf_nr_rrc_ms640 = -1; /* INTEGER_0_639 */
-static int hf_nr_rrc_ms1024 = -1; /* INTEGER_0_1023 */
-static int hf_nr_rrc_ms1280 = -1; /* INTEGER_0_1279 */
-static int hf_nr_rrc_ms2048 = -1; /* INTEGER_0_2047 */
-static int hf_nr_rrc_ms2560 = -1; /* INTEGER_0_2559 */
-static int hf_nr_rrc_ms5120 = -1; /* INTEGER_0_5119 */
-static int hf_nr_rrc_ms10240 = -1; /* INTEGER_0_10239 */
-static int hf_nr_rrc_shortDRX = -1; /* T_shortDRX */
-static int hf_nr_rrc_drx_ShortCycle = -1; /* T_drx_ShortCycle */
-static int hf_nr_rrc_drx_ShortCycleTimer = -1; /* INTEGER_1_16 */
-static int hf_nr_rrc_drx_SlotOffset = -1; /* T_drx_SlotOffset */
-static int hf_nr_rrc_setup_01 = -1; /* T_setup_01 */
+static int hf_nr_rrc_drx_LongCycleStartOffset_01 = -1; /* T_drx_LongCycleStartOffset_01 */
+static int hf_nr_rrc_shortDRX_01 = -1; /* T_shortDRX_01 */
+static int hf_nr_rrc_drx_ShortCycle_01 = -1; /* T_drx_ShortCycle_01 */
+static int hf_nr_rrc_drx_SlotOffset = -1; /* INTEGER_0_31 */
static int hf_nr_rrc_phr_PeriodicTimer = -1; /* T_phr_PeriodicTimer */
static int hf_nr_rrc_phr_ProhibitTimer = -1; /* T_phr_ProhibitTimer */
static int hf_nr_rrc_phr_Tx_PowerFactorChange = -1; /* T_phr_Tx_PowerFactorChange */
@@ -445,15 +831,15 @@ static int hf_nr_rrc_multiplePHR = -1; /* BOOLEAN */
static int hf_nr_rrc_phr_Type2PCell = -1; /* BOOLEAN */
static int hf_nr_rrc_phr_Type2OtherCell = -1; /* BOOLEAN */
static int hf_nr_rrc_phr_ModeOtherCG = -1; /* T_phr_ModeOtherCG */
-static int hf_nr_rrc_tag_ToReleaseList = -1; /* TAG_ToReleaseList */
-static int hf_nr_rrc_tag_ToAddModList = -1; /* TAG_ToAddModList */
-static int hf_nr_rrc_TAG_ToReleaseList_item = -1; /* TAG_Id */
-static int hf_nr_rrc_TAG_ToAddModList_item = -1; /* TAG_ToAddMod */
+static int hf_nr_rrc_tag_ToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id */
+static int hf_nr_rrc_tag_ToReleaseList_item = -1; /* TAG_Id */
+static int hf_nr_rrc_tag_ToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_ToAddMod */
+static int hf_nr_rrc_tag_ToAddModList_item = -1; /* TAG_ToAddMod */
static int hf_nr_rrc_tag_Id = -1; /* TAG_Id */
static int hf_nr_rrc_timeAlignmentTimer = -1; /* TimeAlignmentTimer */
static int hf_nr_rrc_periodicBSR_Timer = -1; /* T_periodicBSR_Timer */
static int hf_nr_rrc_retxBSR_Timer = -1; /* T_retxBSR_Timer */
-static int hf_nr_rrc_logicaChannelSR_DelayTimer = -1; /* T_logicaChannelSR_DelayTimer */
+static int hf_nr_rrc_logicalChannelSR_DelayTimer = -1; /* T_logicalChannelSR_DelayTimer */
static int hf_nr_rrc_measObjectToRemoveList = -1; /* MeasObjectToRemoveList */
static int hf_nr_rrc_measObjectToAddModList = -1; /* MeasObjectToAddModList */
static int hf_nr_rrc_reportConfigToRemoveList = -1; /* ReportConfigToRemoveList */
@@ -461,178 +847,182 @@ static int hf_nr_rrc_reportConfigToAddModList = -1; /* ReportConfigToAddModList
static int hf_nr_rrc_measIdToRemoveList = -1; /* MeasIdToRemoveList */
static int hf_nr_rrc_measIdToAddModList = -1; /* MeasIdToAddModList */
static int hf_nr_rrc_s_MeasureConfig = -1; /* T_s_MeasureConfig */
-static int hf_nr_rrc_ssb_rsrp = -1; /* RSRP_Range */
-static int hf_nr_rrc_csi_rsrp = -1; /* RSRP_Range */
+static int hf_nr_rrc_ssb_RSRP = -1; /* RSRP_Range */
+static int hf_nr_rrc_csi_RSRP = -1; /* RSRP_Range */
static int hf_nr_rrc_quantityConfig = -1; /* QuantityConfig */
static int hf_nr_rrc_measGapConfig = -1; /* MeasGapConfig */
static int hf_nr_rrc_MeasObjectToRemoveList_item = -1; /* MeasObjectId */
static int hf_nr_rrc_MeasIdToRemoveList_item = -1; /* MeasId */
static int hf_nr_rrc_ReportConfigToRemoveList_item = -1; /* ReportConfigId */
+static int hf_nr_rrc_gapFR2 = -1; /* T_gapFR2 */
+static int hf_nr_rrc_setup_23 = -1; /* GapConfig */
+static int hf_nr_rrc_gapOffset = -1; /* INTEGER_0_159 */
+static int hf_nr_rrc_mgl = -1; /* T_mgl */
+static int hf_nr_rrc_mgrp = -1; /* T_mgrp */
+static int hf_nr_rrc_mgta = -1; /* T_mgta */
static int hf_nr_rrc_MeasIdToAddModList_item = -1; /* MeasIdToAddMod */
static int hf_nr_rrc_measId = -1; /* MeasId */
static int hf_nr_rrc_measObjectId = -1; /* MeasObjectId */
static int hf_nr_rrc_reportConfigId_01 = -1; /* ReportConfigId */
-static int hf_nr_rrc_carrierFreq = -1; /* ARFCN_ValueNR */
+static int hf_nr_rrc_ssbFrequency = -1; /* ARFCN_ValueNR */
+static int hf_nr_rrc_refFreqCSI_RS = -1; /* ARFCN_ValueNR */
static int hf_nr_rrc_referenceSignalConfig = -1; /* ReferenceSignalConfig */
static int hf_nr_rrc_absThreshSS_BlocksConsolidation = -1; /* ThresholdNR */
static int hf_nr_rrc_absThreshCSI_RS_Consolidation = -1; /* ThresholdNR */
-static int hf_nr_rrc_nroSS_BlocksToAverage = -1; /* INTEGER_2_maxNroSS_BlocksToAverage */
-static int hf_nr_rrc_nroCSI_RS_ResourcesToAverage = -1; /* INTEGER_2_maxNroCSI_RS_ResourcesToAverage */
-static int hf_nr_rrc_quantityConfigIndex = -1; /* INTEGER_1_maxQuantityConfigId */
+static int hf_nr_rrc_nrofSS_BlocksToAverage = -1; /* INTEGER_2_maxNrofSS_BlocksToAverage */
+static int hf_nr_rrc_nrofCSI_RS_ResourcesToAverage = -1; /* INTEGER_2_maxNrofCSI_RS_ResourcesToAverage */
+static int hf_nr_rrc_quantityConfigIndex = -1; /* INTEGER_1_maxNrofQuantityConfig */
static int hf_nr_rrc_offsetFreq = -1; /* Q_OffsetRangeList */
-static int hf_nr_rrc_cellsToRemoveList = -1; /* CellIndexList */
+static int hf_nr_rrc_cellsToRemoveList = -1; /* PCI_List */
static int hf_nr_rrc_cellsToAddModList = -1; /* CellsToAddModList */
-static int hf_nr_rrc_blackCellsToRemoveList = -1; /* CellIndexList */
+static int hf_nr_rrc_blackCellsToRemoveList = -1; /* PCI_RangeIndexList */
static int hf_nr_rrc_blackCellsToAddModList = -1; /* BlackCellsToAddModList */
-static int hf_nr_rrc_whiteCellsToRemoveList = -1; /* CellIndexList */
+static int hf_nr_rrc_whiteCellsToRemoveList = -1; /* PCI_RangeIndexList */
static int hf_nr_rrc_whiteCellsToAddModList = -1; /* WhiteCellsToAddModList */
-static int hf_nr_rrc_ssb_MeasurementTimingConfiguration = -1; /* SSB_MeasurementTimingConfiguration */
-static int hf_nr_rrc_ssbPresence = -1; /* T_ssbPresence */
-static int hf_nr_rrc_present = -1; /* T_present */
-static int hf_nr_rrc_frequencyOffset = -1; /* NULL */
-static int hf_nr_rrc_subcarrierSpacing_01 = -1; /* SubcarrierSpacing */
-static int hf_nr_rrc_notPresent = -1; /* T_notPresent */
-static int hf_nr_rrc_csi_rs_ResourceConfig_Mobility = -1; /* CSI_RS_ResourceConfig_Mobility */
+static int hf_nr_rrc_ssb_ConfigMobility = -1; /* SSB_ConfigMobility */
+static int hf_nr_rrc_csi_rs_ResourceConfigMobility = -1; /* T_csi_rs_ResourceConfigMobility */
+static int hf_nr_rrc_setup_24 = -1; /* CSI_RS_ResourceConfigMobility */
+static int hf_nr_rrc_ssb_ToMeasure = -1; /* T_ssb_ToMeasure */
+static int hf_nr_rrc_setup_25 = -1; /* SSB_ToMeasure */
static int hf_nr_rrc_useServingCellTimingForSync = -1; /* BOOLEAN */
static int hf_nr_rrc_smtc1 = -1; /* T_smtc1 */
-static int hf_nr_rrc_periodicityAndOffset = -1; /* T_periodicityAndOffset */
+static int hf_nr_rrc_periodicityAndOffset_01 = -1; /* T_periodicityAndOffset */
static int hf_nr_rrc_sf5 = -1; /* INTEGER_0_4 */
static int hf_nr_rrc_sf10 = -1; /* INTEGER_0_9 */
static int hf_nr_rrc_sf20 = -1; /* INTEGER_0_19 */
static int hf_nr_rrc_sf40 = -1; /* INTEGER_0_39 */
static int hf_nr_rrc_sf80 = -1; /* INTEGER_0_79 */
static int hf_nr_rrc_sf160 = -1; /* INTEGER_0_159 */
-static int hf_nr_rrc_duration = -1; /* T_duration */
-static int hf_nr_rrc_ssb_ToMeasure = -1; /* T_ssb_ToMeasure */
-static int hf_nr_rrc_setup_02 = -1; /* T_setup_02 */
-static int hf_nr_rrc_shortBitmap = -1; /* BIT_STRING_SIZE_4 */
-static int hf_nr_rrc_mediumBitmap = -1; /* BIT_STRING_SIZE_8 */
-static int hf_nr_rrc_longBitmap = -1; /* BIT_STRING_SIZE_64 */
+static int hf_nr_rrc_duration_01 = -1; /* T_duration */
static int hf_nr_rrc_smtc2 = -1; /* T_smtc2 */
-static int hf_nr_rrc_pci_List = -1; /* SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysicalCellId */
-static int hf_nr_rrc_pci_List_item = -1; /* PhysicalCellId */
-static int hf_nr_rrc_periodicty = -1; /* NULL */
-static int hf_nr_rrc_csi_rs_MeasurementBW = -1; /* T_csi_rs_MeasurementBW */
-static int hf_nr_rrc_csi_rs_measurementBW_size = -1; /* T_csi_rs_measurementBW_size */
-static int hf_nr_rrc_csi_rs_measurement_BW_start = -1; /* T_csi_rs_measurement_BW_start */
-static int hf_nr_rrc_associated_SSB = -1; /* T_associated_SSB */
-static int hf_nr_rrc_qcled_SSB = -1; /* BOOLEAN */
+static int hf_nr_rrc_pci_List = -1; /* SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId */
+static int hf_nr_rrc_pci_List_item = -1; /* PhysCellId */
+static int hf_nr_rrc_periodicity_01 = -1; /* T_periodicity_01 */
+static int hf_nr_rrc_ss_RSSI_Measurement = -1; /* T_ss_RSSI_Measurement */
+static int hf_nr_rrc_measurementSlots = -1; /* T_measurementSlots */
+static int hf_nr_rrc_kHz15 = -1; /* BIT_STRING_SIZE_1 */
+static int hf_nr_rrc_kHz30 = -1; /* BIT_STRING_SIZE_2 */
+static int hf_nr_rrc_kHz60 = -1; /* BIT_STRING_SIZE_4 */
+static int hf_nr_rrc_kHz120 = -1; /* BIT_STRING_SIZE_8 */
+static int hf_nr_rrc_endSymbol = -1; /* INTEGER_0_13 */
static int hf_nr_rrc_isServingCellMO = -1; /* BOOLEAN */
+static int hf_nr_rrc_csi_RS_CellList_Mobility = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility */
+static int hf_nr_rrc_csi_RS_CellList_Mobility_item = -1; /* CSI_RS_CellMobility */
+static int hf_nr_rrc_cellId = -1; /* PhysCellId */
+static int hf_nr_rrc_csi_rs_MeasurementBW = -1; /* T_csi_rs_MeasurementBW */
+static int hf_nr_rrc_nrofPRBs = -1; /* T_nrofPRBs */
+static int hf_nr_rrc_startPRB = -1; /* INTEGER_0_2169 */
+static int hf_nr_rrc_density_01 = -1; /* T_density_01 */
static int hf_nr_rrc_csi_rs_ResourceList_Mobility = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility */
static int hf_nr_rrc_csi_rs_ResourceList_Mobility_item = -1; /* CSI_RS_Resource_Mobility */
-static int hf_nr_rrc_csi_rs_ResourceId_RRM = -1; /* CSI_RS_ResourceId_RRM */
-static int hf_nr_rrc_cellId = -1; /* PhysicalCellId */
static int hf_nr_rrc_slotConfig = -1; /* T_slotConfig */
-static int hf_nr_rrc_ms5 = -1; /* INTEGER_0_4 */
-static int hf_nr_rrc_resourceElementMappingPattern = -1; /* NULL */
-static int hf_nr_rrc_sequenceGenerationConfig = -1; /* NULL */
+static int hf_nr_rrc_ms4 = -1; /* INTEGER_0_31 */
+static int hf_nr_rrc_ms5 = -1; /* INTEGER_0_39 */
+static int hf_nr_rrc_ms10_01 = -1; /* INTEGER_0_79 */
+static int hf_nr_rrc_ms20_01 = -1; /* INTEGER_0_159 */
+static int hf_nr_rrc_ms40_01 = -1; /* INTEGER_0_319 */
+static int hf_nr_rrc_associatedSSB = -1; /* T_associatedSSB */
+static int hf_nr_rrc_isQuasiColocated = -1; /* BOOLEAN */
+static int hf_nr_rrc_frequencyDomainAllocation_02 = -1; /* T_frequencyDomainAllocation_01 */
+static int hf_nr_rrc_sequenceGenerationConfig = -1; /* INTEGER_0_1023 */
static int hf_nr_rrc_rsrpOffsetSSB = -1; /* Q_OffsetRange */
static int hf_nr_rrc_rsrqOffsetSSB = -1; /* Q_OffsetRange */
static int hf_nr_rrc_sinrOffsetSSB = -1; /* Q_OffsetRange */
static int hf_nr_rrc_rsrpOffsetCSI_RS = -1; /* Q_OffsetRange */
static int hf_nr_rrc_rsrqOffsetCSI_RS = -1; /* Q_OffsetRange */
static int hf_nr_rrc_sinrOffsetCSI_RS = -1; /* Q_OffsetRange */
-static int hf_nr_rrc_threshold_RSRP = -1; /* RSRP_Range */
-static int hf_nr_rrc_threshold_RSRQ = -1; /* RSRQ_Range */
-static int hf_nr_rrc_threshold_SINR = -1; /* SINR_Range */
+static int hf_nr_rrc_shortBitmap = -1; /* BIT_STRING_SIZE_4 */
+static int hf_nr_rrc_mediumBitmap = -1; /* BIT_STRING_SIZE_8 */
+static int hf_nr_rrc_longBitmap = -1; /* BIT_STRING_SIZE_64 */
+static int hf_nr_rrc_thresholdRSRP = -1; /* RSRP_Range */
+static int hf_nr_rrc_thresholdRSRQ = -1; /* RSRQ_Range */
+static int hf_nr_rrc_thresholdSINR = -1; /* SINR_Range */
static int hf_nr_rrc_CellsToAddModList_item = -1; /* CellsToAddMod */
-static int hf_nr_rrc_cellIndex = -1; /* INTEGER_1_maxNrofCellMeas */
static int hf_nr_rrc_cellIndividualOffset = -1; /* Q_OffsetRangeList */
static int hf_nr_rrc_BlackCellsToAddModList_item = -1; /* BlackCellsToAddMod */
-static int hf_nr_rrc_physCellIdRange = -1; /* PhysCellIdRange */
+static int hf_nr_rrc_pci_RangeIndex = -1; /* PCI_RangeIndex */
+static int hf_nr_rrc_pci_Range = -1; /* PCI_Range */
static int hf_nr_rrc_WhiteCellsToAddModList_item = -1; /* WhiteCellsToAddMod */
static int hf_nr_rrc_MeasObjectToAddModList_item = -1; /* MeasObjectToAddMod */
static int hf_nr_rrc_measObject = -1; /* T_measObject */
static int hf_nr_rrc_measObjectNR = -1; /* MeasObjectNR */
-static int hf_nr_rrc_measObjectEUTRA = -1; /* MeasObjectEUTRA */
static int hf_nr_rrc_measResultServingFreqList = -1; /* MeasResultServFreqList */
static int hf_nr_rrc_measResultNeighCells = -1; /* T_measResultNeighCells */
static int hf_nr_rrc_measResultListNR = -1; /* MeasResultListNR */
-static int hf_nr_rrc_measResultListEUTRA = -1; /* MeasResultListEUTRA */
static int hf_nr_rrc_MeasResultServFreqList_item = -1; /* MeasResultServFreq */
static int hf_nr_rrc_servFreqId = -1; /* ServCellIndex */
static int hf_nr_rrc_measResultServingCell = -1; /* MeasResultNR */
static int hf_nr_rrc_measResultBestNeighCell = -1; /* MeasResultNR */
static int hf_nr_rrc_MeasResultListNR_item = -1; /* MeasResultNR */
-static int hf_nr_rrc_cgi_Info = -1; /* NULL */
+static int hf_nr_rrc_cgi_Info = -1; /* T_cgi_Info */
static int hf_nr_rrc_measResult = -1; /* T_measResult */
static int hf_nr_rrc_cellResults = -1; /* T_cellResults */
-static int hf_nr_rrc_resultsSSBCell = -1; /* ResultsSSBCell */
-static int hf_nr_rrc_resultsCSI_RSCell = -1; /* ResultsCSI_RSCell */
+static int hf_nr_rrc_resultsSSB_Cell = -1; /* MeasQuantityResults */
+static int hf_nr_rrc_resultsCSI_RS_Cell = -1; /* MeasQuantityResults */
static int hf_nr_rrc_rsIndexResults = -1; /* T_rsIndexResults */
-static int hf_nr_rrc_resultsSSBIndexes = -1; /* ResultsPerSSBIndexList */
-static int hf_nr_rrc_resultsCSI_RSIndexes = -1; /* ResultsPerCSI_RSIndexList */
-static int hf_nr_rrc_ssb_Cellrsrp = -1; /* RSRP_Range */
-static int hf_nr_rrc_ssb_Cellrsrq = -1; /* RSRQ_Range */
-static int hf_nr_rrc_ssb_Cellsinr = -1; /* SINR_Range */
-static int hf_nr_rrc_csi_rs_Cellrsrp = -1; /* RSRP_Range */
-static int hf_nr_rrc_csi_rs_Cellrsrq = -1; /* RSRQ_Range */
-static int hf_nr_rrc_csi_rs_Cellsinr = -1; /* SINR_Range */
-static int hf_nr_rrc_ResultsPerSSBIndexList_item = -1; /* ResultsPerSSBIndex */
-static int hf_nr_rrc_ss_rsrp = -1; /* RSRP_Range */
-static int hf_nr_rrc_ss_rsrq = -1; /* RSRQ_Range */
-static int hf_nr_rrc_ss_sinr = -1; /* SINR_Range */
-static int hf_nr_rrc_ResultsPerCSI_RSIndexList_item = -1; /* ResultsPerCSI_RSIndex */
-static int hf_nr_rrc_csi_rsIndex = -1; /* CSI_RSIndex */
-static int hf_nr_rrc_csi_rsrq = -1; /* RSRQ_Range */
-static int hf_nr_rrc_csi_sinr = -1; /* SINR_Range */
-static int hf_nr_rrc_controlResourceSetToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofControlResourceSets_OF_ControlResourceSet */
+static int hf_nr_rrc_resultsSSB_Indexes = -1; /* ResultsPerSSB_IndexList */
+static int hf_nr_rrc_resultsCSI_RS_Indexes = -1; /* ResultsPerCSI_RS_IndexList */
+static int hf_nr_rrc_rsrp = -1; /* RSRP_Range */
+static int hf_nr_rrc_rsrq = -1; /* RSRQ_Range */
+static int hf_nr_rrc_sinr = -1; /* SINR_Range */
+static int hf_nr_rrc_ResultsPerSSB_IndexList_item = -1; /* ResultsPerSSB_Index */
+static int hf_nr_rrc_ssb_Results = -1; /* MeasQuantityResults */
+static int hf_nr_rrc_ResultsPerCSI_RS_IndexList_item = -1; /* ResultsPerCSI_RS_Index */
+static int hf_nr_rrc_csi_RS_Results = -1; /* MeasQuantityResults */
+static int hf_nr_rrc_measResultServFreqList = -1; /* MeasResultServFreqList2NR */
+static int hf_nr_rrc_measResultNeighCells_01 = -1; /* MeasResultList2NR */
+static int hf_nr_rrc_MeasResultServFreqList2NR_item = -1; /* MeasResultServFreq2NR */
+static int hf_nr_rrc_MeasResultList2NR_item = -1; /* MeasResult2NR */
+static int hf_nr_rrc_MeasResultCellListSFTD_item = -1; /* MeasResultCellSFTD */
+static int hf_nr_rrc_sfn_OffsetResult = -1; /* INTEGER_0_1023 */
+static int hf_nr_rrc_frameBoundaryOffsetResult = -1; /* INTEGER_M30720_30719 */
+static int hf_nr_rrc_rsrp_Result = -1; /* RSRP_Range */
+static int hf_nr_rrc_MultiFrequencyBandListNR_item = -1; /* FreqBandIndicatorNR */
+static int hf_nr_rrc_nzp_CSI_ResourceSetId = -1; /* NZP_CSI_RS_ResourceSetId */
+static int hf_nr_rrc_nzp_CSI_RS_Resources = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId */
+static int hf_nr_rrc_nzp_CSI_RS_Resources_item = -1; /* NZP_CSI_RS_ResourceId */
+static int hf_nr_rrc_repetition = -1; /* T_repetition */
+static int hf_nr_rrc_aperiodicTriggeringOffset = -1; /* INTEGER_0_4 */
+static int hf_nr_rrc_trs_Info = -1; /* T_trs_Info */
+static int hf_nr_rrc_nzp_CSI_RS_ResourceId = -1; /* NZP_CSI_RS_ResourceId */
+static int hf_nr_rrc_resourceMapping = -1; /* CSI_RS_ResourceMapping */
+static int hf_nr_rrc_powerControlOffset = -1; /* INTEGER_M8_15 */
+static int hf_nr_rrc_powerControlOffsetSS = -1; /* T_powerControlOffsetSS */
+static int hf_nr_rrc_scramblingID = -1; /* ScramblingId */
+static int hf_nr_rrc_qcl_InfoPeriodicCSI_RS = -1; /* TCI_StateId */
+static int hf_nr_rrc_PCI_List_item = -1; /* PhysCellId */
+static int hf_nr_rrc_start = -1; /* PhysCellId */
+static int hf_nr_rrc_range = -1; /* T_range */
+static int hf_nr_rrc_PCI_RangeIndexList_item = -1; /* PCI_RangeIndex */
+static int hf_nr_rrc_controlResourceSetToAddModList = -1; /* SEQUENCE_SIZE_1_3_OF_ControlResourceSet */
static int hf_nr_rrc_controlResourceSetToAddModList_item = -1; /* ControlResourceSet */
-static int hf_nr_rrc_controlResourceSetToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofControlResourceSets_OF_ControlResourceId */
-static int hf_nr_rrc_controlResourceSetToReleaseList_item = -1; /* ControlResourceId */
-static int hf_nr_rrc_searchSpacesToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSearchSpaces_OF_SearchSpace */
+static int hf_nr_rrc_controlResourceSetToReleaseList = -1; /* SEQUENCE_SIZE_1_3_OF_ControlResourceSetId */
+static int hf_nr_rrc_controlResourceSetToReleaseList_item = -1; /* ControlResourceSetId */
+static int hf_nr_rrc_searchSpacesToAddModList = -1; /* SEQUENCE_SIZE_1_10_OF_SearchSpace */
static int hf_nr_rrc_searchSpacesToAddModList_item = -1; /* SearchSpace */
-static int hf_nr_rrc_searchSpacesToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSearchSpaces_OF_SearchSpaceId */
+static int hf_nr_rrc_searchSpacesToReleaseList = -1; /* SEQUENCE_SIZE_1_10_OF_SearchSpaceId */
static int hf_nr_rrc_searchSpacesToReleaseList_item = -1; /* SearchSpaceId */
-static int hf_nr_rrc_timing = -1; /* T_timing */
-static int hf_nr_rrc_dl_assignment_to_DL_data = -1; /* NULL */
-static int hf_nr_rrc_ul_assignment_to_UL_data = -1; /* NULL */
-static int hf_nr_rrc_dl_data_to_UL_ACK = -1; /* NULL */
-static int hf_nr_rrc_controlResourceSetId = -1; /* ControlResourceSetId */
-static int hf_nr_rrc_frequencyDomainResources = -1; /* NULL */
-static int hf_nr_rrc_startSymbol = -1; /* INTEGER_0_maxCoReSetStartSymbol */
-static int hf_nr_rrc_duration_01 = -1; /* INTEGER_1_maxCoReSetDuration */
-static int hf_nr_rrc_reg_BundleSize = -1; /* T_reg_BundleSize */
-static int hf_nr_rrc_cce_reg_MappingType = -1; /* T_cce_reg_MappingType */
-static int hf_nr_rrc_precoderGranularity = -1; /* NULL */
-static int hf_nr_rrc_interleaverRows = -1; /* T_interleaverRows */
-static int hf_nr_rrc_shiftIndex = -1; /* NULL */
-static int hf_nr_rrc_tci_StateRefId = -1; /* NULL */
-static int hf_nr_rrc_pdcch_DMRS_ScramblingID = -1; /* NULL */
-static int hf_nr_rrc_searchSpaceId = -1; /* SearchSpaceId */
-static int hf_nr_rrc_monitoringSlotPeriodicityAndOffset = -1; /* T_monitoringSlotPeriodicityAndOffset */
-static int hf_nr_rrc_sl1 = -1; /* NULL */
-static int hf_nr_rrc_sl2 = -1; /* INTEGER_0_1 */
-static int hf_nr_rrc_monitoringSymbolsWithinSlot = -1; /* BIT_STRING_SIZE_14 */
-static int hf_nr_rrc_nrofCandidates = -1; /* T_nrofCandidates */
-static int hf_nr_rrc_aggregationLevel1 = -1; /* T_aggregationLevel1 */
-static int hf_nr_rrc_aggregationLevel2 = -1; /* T_aggregationLevel2 */
-static int hf_nr_rrc_aggregationLevel4 = -1; /* T_aggregationLevel4 */
-static int hf_nr_rrc_aggregationLevel8 = -1; /* T_aggregationLevel8 */
-static int hf_nr_rrc_searchSpaceType = -1; /* T_searchSpaceType */
-static int hf_nr_rrc_common = -1; /* T_common */
-static int hf_nr_rrc_sfi_PDCCH = -1; /* SFI_PDCCH */
-static int hf_nr_rrc_preemp_DL = -1; /* BOOLEAN */
-static int hf_nr_rrc_int_RNTI = -1; /* BIT_STRING_SIZE_16 */
-static int hf_nr_rrc_int_TF = -1; /* T_int_TF */
-static int hf_nr_rrc_monitoringPeriodicity = -1; /* NULL */
-static int hf_nr_rrc_ue_Specific = -1; /* T_ue_Specific */
-static int hf_nr_rrc_monitoringPeriodicity_01 = -1; /* T_monitoringPeriodicity */
-static int hf_nr_rrc_sfi_CellToSFI = -1; /* SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CellToSFI */
-static int hf_nr_rrc_sfi_CellToSFI_item = -1; /* CellToSFI */
-static int hf_nr_rrc_nrofPDCCH_Candidates = -1; /* T_nrofPDCCH_Candidates */
-static int hf_nr_rrc_aggregationLevel = -1; /* T_aggregationLevel */
-static int hf_nr_rrc_sfi_RNTI = -1; /* BIT_STRING_SIZE_16 */
-static int hf_nr_rrc_dci_PayloadLength = -1; /* NULL */
-static int hf_nr_rrc_searchSpace = -1; /* NULL */
-static int hf_nr_rrc_sfi_PositionInDCI = -1; /* INTEGER_1_1 */
-static int hf_nr_rrc_slotFormatCombinations = -1; /* SEQUENCE_SIZE_1_maxNrofSlotFormatCombinations_OF_SlotFormatCombination */
-static int hf_nr_rrc_slotFormatCombinations_item = -1; /* SlotFormatCombination */
-static int hf_nr_rrc_slotFormatCombinationId = -1; /* SlotFormatCombinationId */
+static int hf_nr_rrc_downlinkPreemption = -1; /* T_downlinkPreemption */
+static int hf_nr_rrc_setup_26 = -1; /* DownlinkPreemption */
+static int hf_nr_rrc_slotFormatIndicator = -1; /* T_slotFormatIndicator */
+static int hf_nr_rrc_setup_27 = -1; /* SlotFormatIndicator */
+static int hf_nr_rrc_tpc_PUSCH = -1; /* T_tpc_PUSCH */
+static int hf_nr_rrc_setup_28 = -1; /* PUSCH_TPC_CommandConfig */
+static int hf_nr_rrc_tpc_PUCCH = -1; /* T_tpc_PUCCH */
+static int hf_nr_rrc_setup_29 = -1; /* PUCCH_TPC_CommandConfig */
+static int hf_nr_rrc_commonControlResourcesSets = -1; /* SEQUENCE_SIZE_1_2_OF_ControlResourceSet */
+static int hf_nr_rrc_commonControlResourcesSets_item = -1; /* ControlResourceSet */
+static int hf_nr_rrc_commonSearchSpaces = -1; /* SEQUENCE_SIZE_1_4_OF_SearchSpace */
+static int hf_nr_rrc_commonSearchSpaces_item = -1; /* SearchSpace */
+static int hf_nr_rrc_searchSpaceSIB1 = -1; /* SearchSpaceId */
+static int hf_nr_rrc_searchSpaceOtherSystemInformation = -1; /* SearchSpaceId */
+static int hf_nr_rrc_pagingSearchSpace = -1; /* SearchSpaceId */
+static int hf_nr_rrc_ra_ControlResourceSet = -1; /* ControlResourceSetId */
+static int hf_nr_rrc_ra_SearchSpace = -1; /* SearchSpaceId */
static int hf_nr_rrc_drb = -1; /* T_drb */
static int hf_nr_rrc_discardTimer = -1; /* T_discardTimer */
-static int hf_nr_rrc_pdcp_SN_Size_UL = -1; /* T_pdcp_SN_Size_UL */
-static int hf_nr_rrc_pdcp_SN_Size_DL = -1; /* T_pdcp_SN_Size_DL */
+static int hf_nr_rrc_pdcp_SN_SizeUL = -1; /* T_pdcp_SN_SizeUL */
+static int hf_nr_rrc_pdcp_SN_SizeDL = -1; /* T_pdcp_SN_SizeDL */
static int hf_nr_rrc_headerCompression = -1; /* T_headerCompression */
static int hf_nr_rrc_notUsed = -1; /* NULL */
static int hf_nr_rrc_rohc = -1; /* T_rohc */
@@ -647,189 +1037,341 @@ static int hf_nr_rrc_profile0x0101 = -1; /* BOOLEAN */
static int hf_nr_rrc_profile0x0102 = -1; /* BOOLEAN */
static int hf_nr_rrc_profile0x0103 = -1; /* BOOLEAN */
static int hf_nr_rrc_profile0x0104 = -1; /* BOOLEAN */
+static int hf_nr_rrc_drb_ContinueROHC = -1; /* BOOLEAN */
static int hf_nr_rrc_uplinkOnlyROHC = -1; /* T_uplinkOnlyROHC */
static int hf_nr_rrc_profiles_01 = -1; /* T_profiles_01 */
-static int hf_nr_rrc_integrityProtection = -1; /* BOOLEAN */
-static int hf_nr_rrc_statusReportRequired = -1; /* BOOLEAN */
+static int hf_nr_rrc_integrityProtection = -1; /* T_integrityProtection */
+static int hf_nr_rrc_statusReportRequired = -1; /* T_statusReportRequired */
+static int hf_nr_rrc_outOfOrderDelivery = -1; /* BOOLEAN */
static int hf_nr_rrc_moreThanOneRLC = -1; /* T_moreThanOneRLC */
static int hf_nr_rrc_primaryPath = -1; /* T_primaryPath */
static int hf_nr_rrc_cellGroup = -1; /* CellGroupId */
static int hf_nr_rrc_logicalChannel = -1; /* LogicalChannelIdentity */
-static int hf_nr_rrc_ul_DataSplitThreshold = -1; /* T_ul_DataSplitThreshold */
-static int hf_nr_rrc_setup_03 = -1; /* T_setup_03 */
-static int hf_nr_rrc_ul_Duplication = -1; /* BOOLEAN */
+static int hf_nr_rrc_ul_DataSplitThreshold = -1; /* UL_DataSplitThreshold */
+static int hf_nr_rrc_pdcp_Duplication = -1; /* T_pdcp_Duplication */
static int hf_nr_rrc_t_Reordering = -1; /* T_t_Reordering */
-static int hf_nr_rrc_outOfOrderDelivery = -1; /* BOOLEAN */
-static int hf_nr_rrc_codeBlockGroupTransmission = -1; /* BOOLEAN */
+static int hf_nr_rrc_dataScramblingIdentityPDSCH = -1; /* INTEGER_0_1007 */
+static int hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA = -1; /* T_dmrs_DownlinkForPDSCH_MappingTypeA */
+static int hf_nr_rrc_setup_30 = -1; /* DMRS_DownlinkConfig */
+static int hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeB = -1; /* T_dmrs_DownlinkForPDSCH_MappingTypeB */
+static int hf_nr_rrc_tci_StatesToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State */
+static int hf_nr_rrc_tci_StatesToAddModList_item = -1; /* TCI_State */
+static int hf_nr_rrc_tci_StatesToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId */
+static int hf_nr_rrc_tci_StatesToReleaseList_item = -1; /* TCI_StateId */
+static int hf_nr_rrc_vrb_ToPRB_Interleaver = -1; /* T_vrb_ToPRB_Interleaver */
+static int hf_nr_rrc_resourceAllocation_01 = -1; /* T_resourceAllocation_01 */
+static int hf_nr_rrc_pdsch_AllocationList = -1; /* SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResourceAllocation */
+static int hf_nr_rrc_pdsch_AllocationList_item = -1; /* PDSCH_TimeDomainResourceAllocation */
+static int hf_nr_rrc_pdsch_AggregationFactor = -1; /* T_pdsch_AggregationFactor */
+static int hf_nr_rrc_rateMatchPatternToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern */
+static int hf_nr_rrc_rateMatchPatternToAddModList_item = -1; /* RateMatchPattern */
+static int hf_nr_rrc_rateMatchPatternToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId */
+static int hf_nr_rrc_rateMatchPatternToReleaseList_item = -1; /* RateMatchPatternId */
+static int hf_nr_rrc_rateMatchPatternGroup1 = -1; /* SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId */
+static int hf_nr_rrc_rateMatchPatternGroup1_item = -1; /* RateMatchPatternId */
+static int hf_nr_rrc_rateMatchPatternGroup2 = -1; /* SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId */
+static int hf_nr_rrc_rateMatchPatternGroup2_item = -1; /* RateMatchPatternId */
+static int hf_nr_rrc_rbg_Size_01 = -1; /* T_rbg_Size_01 */
+static int hf_nr_rrc_mcs_Table_01 = -1; /* T_mcs_Table_01 */
+static int hf_nr_rrc_maxNrofCodeWordsScheduledByDCI = -1; /* T_maxNrofCodeWordsScheduledByDCI */
+static int hf_nr_rrc_prb_BundlingType = -1; /* T_prb_BundlingType */
+static int hf_nr_rrc_static = -1; /* T_static */
+static int hf_nr_rrc_bundleSize = -1; /* T_bundleSize */
+static int hf_nr_rrc_dynamic_01 = -1; /* T_dynamic */
+static int hf_nr_rrc_bundleSizeSet1 = -1; /* T_bundleSizeSet1 */
+static int hf_nr_rrc_bundleSizeSet2 = -1; /* T_bundleSizeSet2 */
+static int hf_nr_rrc_zp_CSI_RS_ResourceToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource */
+static int hf_nr_rrc_zp_CSI_RS_ResourceToAddModList_item = -1; /* ZP_CSI_RS_Resource */
+static int hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId */
+static int hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList_item = -1; /* ZP_CSI_RS_ResourceId */
+static int hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSet */
+static int hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList_item = -1; /* ZP_CSI_RS_ResourceSet */
+static int hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSetId */
+static int hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList_item = -1; /* ZP_CSI_RS_ResourceSetId */
+static int hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSet */
+static int hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList_item = -1; /* ZP_CSI_RS_ResourceSet */
+static int hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSetId */
+static int hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList_item = -1; /* ZP_CSI_RS_ResourceSetId */
+static int hf_nr_rrc_codeBlockGroupTransmission = -1; /* T_codeBlockGroupTransmission */
+static int hf_nr_rrc_setup_31 = -1; /* PDSCH_CodeBlockGroupTransmission */
+static int hf_nr_rrc_xOverhead = -1; /* T_xOverhead */
+static int hf_nr_rrc_nrofHARQ_ProcessesForPDSCH = -1; /* T_nrofHARQ_ProcessesForPDSCH */
+static int hf_nr_rrc_pucch_Cell = -1; /* ServCellIndex */
static int hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock = -1; /* T_maxCodeBlockGroupsPerTransportBlock */
static int hf_nr_rrc_codeBlockGroupFlushIndicator = -1; /* BOOLEAN */
-static int hf_nr_rrc_dmrs_Type = -1; /* T_dmrs_Type */
-static int hf_nr_rrc_dmrs_AdditionalPosition = -1; /* T_dmrs_AdditionalPosition */
-static int hf_nr_rrc_dmrs_group1 = -1; /* NULL */
-static int hf_nr_rrc_dmrs_group2 = -1; /* NULL */
-static int hf_nr_rrc_phaseTracking_RS = -1; /* T_phaseTracking_RS */
-static int hf_nr_rrc_setup_04 = -1; /* Downlink_PTRS_Config */
-static int hf_nr_rrc_tci_States = -1; /* NULL */
-static int hf_nr_rrc_tci_rs_SetConfig = -1; /* NULL */
-static int hf_nr_rrc_tci_PresentInDCI = -1; /* T_tci_PresentInDCI */
-static int hf_nr_rrc_xOverhead = -1; /* T_xOverhead */
-static int hf_nr_rrc_pdsch_symbolAllocation = -1; /* NULL */
-static int hf_nr_rrc_rateMatchResourcesPDSCH = -1; /* T_rateMatchResourcesPDSCH */
-static int hf_nr_rrc_rateMatchPatterns = -1; /* T_rateMatchPatterns */
-static int hf_nr_rrc_setup_05 = -1; /* SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern */
-static int hf_nr_rrc_setup_item = -1; /* RateMatchPattern */
-static int hf_nr_rrc_lte_CRS_ToMatchAround = -1; /* T_lte_CRS_ToMatchAround */
-static int hf_nr_rrc_setup_06 = -1; /* T_setup_04 */
-static int hf_nr_rrc_nrofCRS_Ports = -1; /* T_nrofCRS_Ports */
-static int hf_nr_rrc_v_Shift = -1; /* T_v_Shift */
-static int hf_nr_rrc_rbg_Size = -1; /* T_rbg_Size */
-static int hf_nr_rrc_mcs_Table = -1; /* T_mcs_Table */
-static int hf_nr_rrc_maxNrofCodeWordsScheduledByDCI = -1; /* T_maxNrofCodeWordsScheduledByDCI */
-static int hf_nr_rrc_nrofHARQ_processesForPDSCH = -1; /* NULL */
-static int hf_nr_rrc_harq_ACK_Codebook = -1; /* T_harq_ACK_Codebook */
-static int hf_nr_rrc_pdsch_BundleSize = -1; /* NULL */
-static int hf_nr_rrc_prbBundlingEnabled = -1; /* BOOLEAN */
-static int hf_nr_rrc_frequencyDensity = -1; /* NULL */
-static int hf_nr_rrc_timeDensity = -1; /* NULL */
-static int hf_nr_rrc_nrofPorts_01 = -1; /* T_nrofPorts_01 */
-static int hf_nr_rrc_epre_Ratio = -1; /* NULL */
-static int hf_nr_rrc_resourceElementOffset = -1; /* NULL */
-static int hf_nr_rrc_resourceBlocks = -1; /* BIT_STRING_SIZE_275 */
-static int hf_nr_rrc_symbolsInResourceBlock = -1; /* BIT_STRING_SIZE_14 */
-static int hf_nr_rrc_periodicityAndOffset_01 = -1; /* T_periodicityAndOffset_01 */
-static int hf_nr_rrc_n5 = -1; /* INTEGER_0_4 */
-static int hf_nr_rrc_n10 = -1; /* INTEGER_0_9 */
-static int hf_nr_rrc_n20 = -1; /* INTEGER_0_19 */
-static int hf_nr_rrc_n40 = -1; /* INTEGER_0_39 */
-static int hf_nr_rrc_resourceSets = -1; /* SEQUENCE_SIZE_1_1_OF_PUCCH_ResourceSet */
-static int hf_nr_rrc_resourceSets_item = -1; /* PUCCH_ResourceSet */
+static int hf_nr_rrc_k0 = -1; /* INTEGER_1_3 */
+static int hf_nr_rrc_mappingType = -1; /* T_mappingType */
+static int hf_nr_rrc_startSymbolAndLength = -1; /* BIT_STRING_SIZE_7 */
+static int hf_nr_rrc_frequencyDensity = -1; /* T_frequencyDensity */
+static int hf_nr_rrc_frequencyDensity_item = -1; /* INTEGER_1_276 */
+static int hf_nr_rrc_timeDensity = -1; /* T_timeDensity */
+static int hf_nr_rrc_timeDensity_item = -1; /* INTEGER_0_29 */
+static int hf_nr_rrc_epre_RatioPort1 = -1; /* INTEGER_0_3 */
+static int hf_nr_rrc_epre_RatioPort2 = -1; /* T_epre_RatioPort2 */
+static int hf_nr_rrc_epre_RatioPort2_item = -1; /* INTEGER_0_3 */
+static int hf_nr_rrc_resourceElementOffset = -1; /* T_resourceElementOffset */
+static int hf_nr_rrc_modeSpecificParameters = -1; /* T_modeSpecificParameters */
+static int hf_nr_rrc_cp_OFDM = -1; /* T_cp_OFDM */
+static int hf_nr_rrc_frequencyDensity_01 = -1; /* T_frequencyDensity_01 */
+static int hf_nr_rrc_timeDensity_01 = -1; /* T_timeDensity_01 */
+static int hf_nr_rrc_maxNrofPorts = -1; /* T_maxNrofPorts */
+static int hf_nr_rrc_resourceElementOffset_01 = -1; /* T_resourceElementOffset_01 */
+static int hf_nr_rrc_ptrs_Power = -1; /* T_ptrs_Power */
+static int hf_nr_rrc_dft_S_OFDM = -1; /* T_dft_S_OFDM */
+static int hf_nr_rrc_sampleDensity = -1; /* T_sampleDensity */
+static int hf_nr_rrc_sampleDensity_item = -1; /* INTEGER_1_276 */
+static int hf_nr_rrc_timeDensity_02 = -1; /* T_timeDensity_02 */
+static int hf_nr_rrc_resourceSetToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet */
+static int hf_nr_rrc_resourceSetToAddModList_item = -1; /* PUCCH_ResourceSet */
+static int hf_nr_rrc_resourceSetToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId */
+static int hf_nr_rrc_resourceSetToReleaseList_item = -1; /* PUCCH_ResourceSetId */
+static int hf_nr_rrc_resourceToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource */
+static int hf_nr_rrc_resourceToAddModList_item = -1; /* PUCCH_Resource */
+static int hf_nr_rrc_resourceToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId */
+static int hf_nr_rrc_resourceToReleaseList_item = -1; /* PUCCH_ResourceId */
static int hf_nr_rrc_format1 = -1; /* T_format1 */
-static int hf_nr_rrc_setup_07 = -1; /* T_setup_05 */
-static int hf_nr_rrc_interslotFrequencyHopping = -1; /* T_interslotFrequencyHopping */
-static int hf_nr_rrc_nrofSlots = -1; /* T_nrofSlots */
+static int hf_nr_rrc_setup_32 = -1; /* PUCCH_FormatConfig */
static int hf_nr_rrc_format2 = -1; /* T_format2 */
-static int hf_nr_rrc_setup_08 = -1; /* T_setup_06 */
-static int hf_nr_rrc_maxCodeRate = -1; /* INTEGER_0_7 */
-static int hf_nr_rrc_nrofPRBs = -1; /* INTEGER_1_16 */
-static int hf_nr_rrc_simultaneousHARQ_ACK_CSI = -1; /* T_simultaneousHARQ_ACK_CSI */
static int hf_nr_rrc_format3 = -1; /* T_format3 */
-static int hf_nr_rrc_setup_09 = -1; /* T_setup_07 */
-static int hf_nr_rrc_interslotFrequencyHopping_01 = -1; /* T_interslotFrequencyHopping_01 */
+static int hf_nr_rrc_format4 = -1; /* T_format4 */
+static int hf_nr_rrc_schedulingRequestResourceToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig */
+static int hf_nr_rrc_schedulingRequestResourceToAddModList_item = -1; /* SchedulingRequestResourceConfig */
+static int hf_nr_rrc_schedulingRequestResourceToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId */
+static int hf_nr_rrc_schedulingRequestResourceToReleaseList_item = -1; /* SchedulingRequestResourceId */
+static int hf_nr_rrc_multi_CSI_PUCCH_ResourceList = -1; /* SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId */
+static int hf_nr_rrc_multi_CSI_PUCCH_ResourceList_item = -1; /* PUCCH_ResourceId */
+static int hf_nr_rrc_dl_DataToUL_ACK = -1; /* T_dl_DataToUL_ACK */
+static int hf_nr_rrc_dl_DataToUL_ACK_item = -1; /* INTEGER_0_15 */
+static int hf_nr_rrc_spatialRelationInfoToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo */
+static int hf_nr_rrc_spatialRelationInfoToAddModList_item = -1; /* PUCCH_SpatialRelationInfo */
+static int hf_nr_rrc_spatialRelationInfoToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId */
+static int hf_nr_rrc_spatialRelationInfoToReleaseList_item = -1; /* PUCCH_SpatialRelationInfoId */
+static int hf_nr_rrc_pucch_PowerControl = -1; /* PUCCH_PowerControl */
+static int hf_nr_rrc_interslotFrequencyHopping = -1; /* T_interslotFrequencyHopping */
static int hf_nr_rrc_additionalDMRS = -1; /* T_additionalDMRS */
-static int hf_nr_rrc_nrofSlots_01 = -1; /* T_nrofSlots_01 */
+static int hf_nr_rrc_maxCodeRate = -1; /* PUCCH_MaxCodeRate */
+static int hf_nr_rrc_nrofSlots = -1; /* T_nrofSlots */
static int hf_nr_rrc_pi2PBSK = -1; /* T_pi2PBSK */
-static int hf_nr_rrc_format4 = -1; /* T_format4 */
-static int hf_nr_rrc_setup_10 = -1; /* T_setup_08 */
-static int hf_nr_rrc_interslotFrequencyHopping_02 = -1; /* T_interslotFrequencyHopping_02 */
-static int hf_nr_rrc_additionalDMRS_01 = -1; /* T_additionalDMRS_01 */
-static int hf_nr_rrc_nrofSlots_02 = -1; /* T_nrofSlots_02 */
-static int hf_nr_rrc_pi2PBSK_01 = -1; /* T_pi2PBSK_01 */
-static int hf_nr_rrc_schedulingRequestResources = -1; /* T_schedulingRequestResources */
-static int hf_nr_rrc_setup_11 = -1; /* SEQUENCE_SIZE_1_maxNrofSchedulingRequestResoruces_OF_SchedulingRequestResource_Config */
-static int hf_nr_rrc_setup_item_01 = -1; /* SchedulingRequestResource_Config */
-static int hf_nr_rrc_tpc_PUCCH_RNTI = -1; /* BIT_STRING_SIZE_16 */
-static int hf_nr_rrc_codeBlockGroupTransmission_01 = -1; /* T_codeBlockGroupTransmission */
-static int hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock_01 = -1; /* T_maxCodeBlockGroupsPerTransportBlock_01 */
-static int hf_nr_rrc_dmrs_Type_01 = -1; /* T_dmrs_Type_01 */
-static int hf_nr_rrc_dmrs_AdditionalPosition_01 = -1; /* T_dmrs_AdditionalPosition_01 */
-static int hf_nr_rrc_phaseTracking_RS_01 = -1; /* T_phaseTracking_RS_01 */
-static int hf_nr_rrc_setup_12 = -1; /* Uplink_PTRS_Config */
-static int hf_nr_rrc_tpcAccumulation = -1; /* T_tpcAccumulation */
-static int hf_nr_rrc_tcp_PUSCH_RNTI = -1; /* BIT_STRING_SIZE_16 */
-static int hf_nr_rrc_frequencyHopping = -1; /* T_frequencyHopping */
-static int hf_nr_rrc_rateMatching = -1; /* T_rateMatching */
-static int hf_nr_rrc_rateMatchResources = -1; /* NULL */
-static int hf_nr_rrc_symbolAllocationIndexs = -1; /* NULL */
-static int hf_nr_rrc_mcs_Table_01 = -1; /* T_mcs_Table_01 */
-static int hf_nr_rrc_mcs_TableTransformPrecoder = -1; /* T_mcs_TableTransformPrecoder */
-static int hf_nr_rrc_transformPrecoder = -1; /* T_transformPrecoder */
-static int hf_nr_rrc_rbg_Size_01 = -1; /* T_rbg_Size_01 */
-static int hf_nr_rrc_uci_on_PUSCH = -1; /* T_uci_on_PUSCH */
-static int hf_nr_rrc_setup_13 = -1; /* T_setup_09 */
-static int hf_nr_rrc_dynamic = -1; /* SEQUENCE_SIZE_1_4_OF_BetaOffsets */
-static int hf_nr_rrc_dynamic_item = -1; /* BetaOffsets */
-static int hf_nr_rrc_semiStatic = -1; /* BetaOffsets */
-static int hf_nr_rrc_xOverhead_01 = -1; /* T_xOverhead_01 */
-static int hf_nr_rrc_cp_OFDM = -1; /* T_cp_OFDM */
-static int hf_nr_rrc_setup_14 = -1; /* T_setup_10 */
-static int hf_nr_rrc_nrofPorts_02 = -1; /* T_nrofPorts_02 */
-static int hf_nr_rrc_dft_S_OFDM = -1; /* T_dft_S_OFDM */
-static int hf_nr_rrc_setup_15 = -1; /* T_setup_11 */
-static int hf_nr_rrc_sampleDensity = -1; /* NULL */
-static int hf_nr_rrc_timeDensity_01 = -1; /* T_timeDensity */
-static int hf_nr_rrc_sequence = -1; /* NULL */
+static int hf_nr_rrc_simultaneousHARQ_ACK_CSI = -1; /* T_simultaneousHARQ_ACK_CSI */
+static int hf_nr_rrc_pucch_SpatialRelationInfoId = -1; /* PUCCH_SpatialRelationInfoId */
+static int hf_nr_rrc_referenceSignal = -1; /* T_referenceSignal */
+static int hf_nr_rrc_csi_RS_Index_01 = -1; /* NZP_CSI_RS_ResourceId */
+static int hf_nr_rrc_srs = -1; /* SRS_ResourceId */
+static int hf_nr_rrc_pucch_PathlossReferenceRS_Id = -1; /* PUCCH_PathlossReferenceRS_Id */
+static int hf_nr_rrc_p0_PUCCH_Id = -1; /* P0_PUCCH_Id */
+static int hf_nr_rrc_closedLoopIndex = -1; /* T_closedLoopIndex */
+static int hf_nr_rrc_pucch_ResourceSetId = -1; /* PUCCH_ResourceSetId */
+static int hf_nr_rrc_resources = -1; /* SEQUENCE_SIZE_8_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId */
+static int hf_nr_rrc_resources_item = -1; /* PUCCH_ResourceId */
+static int hf_nr_rrc_maxPayloadMinus1 = -1; /* INTEGER_4_256 */
+static int hf_nr_rrc_pucch_ResourceId = -1; /* PUCCH_ResourceId */
+static int hf_nr_rrc_startingPRB = -1; /* PRB_Id */
+static int hf_nr_rrc_intraSlotFrequencyHopping = -1; /* T_intraSlotFrequencyHopping */
+static int hf_nr_rrc_secondHopPRB = -1; /* PRB_Id */
+static int hf_nr_rrc_format = -1; /* T_format */
+static int hf_nr_rrc_format0 = -1; /* PUCCH_format0 */
+static int hf_nr_rrc_format1_01 = -1; /* PUCCH_format1 */
+static int hf_nr_rrc_format2_01 = -1; /* PUCCH_format2 */
+static int hf_nr_rrc_format3_01 = -1; /* PUCCH_format3 */
+static int hf_nr_rrc_format4_01 = -1; /* PUCCH_format4 */
+static int hf_nr_rrc_initialCyclicShift = -1; /* INTEGER_0_11 */
+static int hf_nr_rrc_nrofSymbols = -1; /* INTEGER_1_2 */
+static int hf_nr_rrc_startingSymbolIndex = -1; /* INTEGER_0_13 */
+static int hf_nr_rrc_nrofSymbols_01 = -1; /* INTEGER_4_14 */
+static int hf_nr_rrc_startingSymbolIndex_01 = -1; /* INTEGER_0_10 */
+static int hf_nr_rrc_timeDomainOCC = -1; /* INTEGER_0_6 */
+static int hf_nr_rrc_nrofPRBs_01 = -1; /* INTEGER_1_16 */
+static int hf_nr_rrc_occ_Length = -1; /* T_occ_Length */
+static int hf_nr_rrc_occ_Index = -1; /* T_occ_Index */
+static int hf_nr_rrc_pucch_ResourceCommon = -1; /* BIT_STRING_SIZE_4 */
+static int hf_nr_rrc_pucch_GroupHopping = -1; /* T_pucch_GroupHopping */
+static int hf_nr_rrc_hoppingId = -1; /* BIT_STRING_SIZE_10 */
+static int hf_nr_rrc_p0_nominal = -1; /* INTEGER_M202_24 */
+static int hf_nr_rrc_deltaF_PUCCH_f0 = -1; /* INTEGER_M16_15 */
+static int hf_nr_rrc_deltaF_PUCCH_f1 = -1; /* INTEGER_M16_15 */
+static int hf_nr_rrc_deltaF_PUCCH_f2 = -1; /* INTEGER_M16_15 */
+static int hf_nr_rrc_deltaF_PUCCH_f3 = -1; /* INTEGER_M16_15 */
+static int hf_nr_rrc_deltaF_PUCCH_f4 = -1; /* INTEGER_M16_15 */
+static int hf_nr_rrc_p0_Set = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH */
+static int hf_nr_rrc_p0_Set_item = -1; /* P0_PUCCH */
+static int hf_nr_rrc_pathlossReferenceRSs = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS */
+static int hf_nr_rrc_pathlossReferenceRSs_item = -1; /* PUCCH_PathlossReferenceRS */
+static int hf_nr_rrc_twoPUCCH_PC_AdjustmentStates = -1; /* T_twoPUCCH_PC_AdjustmentStates */
+static int hf_nr_rrc_p0_PUCCH_Value = -1; /* INTEGER_M16_15 */
+static int hf_nr_rrc_referenceSignal_01 = -1; /* T_referenceSignal_01 */
+static int hf_nr_rrc_tpc_IndexPCell = -1; /* INTEGER_1_15 */
+static int hf_nr_rrc_tpc_IndexPUCCH_SCell = -1; /* INTEGER_1_15 */
+static int hf_nr_rrc_dataScramblingIdentityPUSCH = -1; /* INTEGER_0_1007 */
+static int hf_nr_rrc_txConfig = -1; /* T_txConfig */
+static int hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA = -1; /* T_dmrs_UplinkForPUSCH_MappingTypeA */
+static int hf_nr_rrc_setup_33 = -1; /* DMRS_UplinkConfig */
+static int hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeB = -1; /* T_dmrs_UplinkForPUSCH_MappingTypeB */
+static int hf_nr_rrc_pusch_PowerControl = -1; /* PUSCH_PowerControl */
+static int hf_nr_rrc_frequencyHopping_01 = -1; /* T_frequencyHopping_01 */
+static int hf_nr_rrc_frequencyHoppingOffsetLists = -1; /* T_frequencyHoppingOffsetLists */
+static int hf_nr_rrc_frequencyHoppingOffsetLists_item = -1; /* INTEGER_1_maxNrofPhysicalResourceBlocks_1 */
+static int hf_nr_rrc_resourceAllocation_02 = -1; /* T_resourceAllocation_02 */
+static int hf_nr_rrc_pusch_AllocationList = -1; /* SEQUENCE_SIZE_1_maxNrofUL_Allocations_OF_PUSCH_TimeDomainResourceAllocation */
+static int hf_nr_rrc_pusch_AllocationList_item = -1; /* PUSCH_TimeDomainResourceAllocation */
+static int hf_nr_rrc_pusch_AggregationFactor = -1; /* T_pusch_AggregationFactor */
+static int hf_nr_rrc_mcs_Table_02 = -1; /* T_mcs_Table_02 */
+static int hf_nr_rrc_mcs_TableTransformPrecoder_01 = -1; /* T_mcs_TableTransformPrecoder_01 */
+static int hf_nr_rrc_transformPrecoder_01 = -1; /* T_transformPrecoder_01 */
+static int hf_nr_rrc_codebookSubset = -1; /* T_codebookSubset */
+static int hf_nr_rrc_maxRank = -1; /* INTEGER_1_4 */
+static int hf_nr_rrc_rbg_Size_02 = -1; /* T_rbg_Size_02 */
+static int hf_nr_rrc_uci_OnPUSCH_01 = -1; /* T_uci_OnPUSCH_01 */
+static int hf_nr_rrc_setup_34 = -1; /* UCI_OnPUSCH */
+static int hf_nr_rrc_vrb_ToPRB_Interleaver_01 = -1; /* T_vrb_ToPRB_Interleaver_01 */
+static int hf_nr_rrc_betaOffsets = -1; /* T_betaOffsets */
+static int hf_nr_rrc_dynamic_02 = -1; /* SEQUENCE_SIZE_4_OF_BetaOffsets */
+static int hf_nr_rrc_scaling = -1; /* T_scaling */
+static int hf_nr_rrc_groupHoppingEnabledTransformPrecoding = -1; /* T_groupHoppingEnabledTransformPrecoding */
+static int hf_nr_rrc_msg3_DeltaPreamble = -1; /* INTEGER_M1_6 */
+static int hf_nr_rrc_p0_NominalWithGrant = -1; /* INTEGER_M202_24 */
+static int hf_nr_rrc_tpc_Accumulation = -1; /* T_tpc_Accumulation */
+static int hf_nr_rrc_msg3_Alpha = -1; /* Alpha */
+static int hf_nr_rrc_p0_NominalWithoutGrant = -1; /* INTEGER_M202_24 */
+static int hf_nr_rrc_p0_AlphaSets = -1; /* SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet */
+static int hf_nr_rrc_p0_AlphaSets_item = -1; /* P0_PUSCH_AlphaSet */
+static int hf_nr_rrc_pathlossReferenceRSToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS */
+static int hf_nr_rrc_pathlossReferenceRSToAddModList_item = -1; /* PUSCH_PathlossReferenceRS */
+static int hf_nr_rrc_pathlossReferenceRSToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id */
+static int hf_nr_rrc_pathlossReferenceRSToReleaseList_item = -1; /* PUSCH_PathlossReferenceRS_Id */
+static int hf_nr_rrc_twoPUSCH_PC_AdjustmentStates = -1; /* T_twoPUSCH_PC_AdjustmentStates */
+static int hf_nr_rrc_deltaMCS = -1; /* T_deltaMCS */
+static int hf_nr_rrc_sri_PUSCH_MappingToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl */
+static int hf_nr_rrc_sri_PUSCH_MappingToAddModList_item = -1; /* SRI_PUSCH_PowerControl */
+static int hf_nr_rrc_sri_PUSCH_MappingToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId */
+static int hf_nr_rrc_sri_PUSCH_MappingToReleaseList_item = -1; /* SRI_PUSCH_PowerControlId */
+static int hf_nr_rrc_p0_PUSCH_AlphaSetId = -1; /* P0_PUSCH_AlphaSetId */
+static int hf_nr_rrc_p0 = -1; /* INTEGER_M16_15 */
+static int hf_nr_rrc_alpha = -1; /* Alpha */
+static int hf_nr_rrc_pusch_PathlossReferenceRS_Id = -1; /* PUSCH_PathlossReferenceRS_Id */
+static int hf_nr_rrc_referenceSignal_02 = -1; /* T_referenceSignal_02 */
+static int hf_nr_rrc_sri_PUSCH_PowerControlId = -1; /* SRI_PUSCH_PowerControlId */
+static int hf_nr_rrc_sri_PUSCH_PathlossReferenceRS_Id = -1; /* PUSCH_PathlossReferenceRS_Id */
+static int hf_nr_rrc_sri_P0_PUSCH_AlphaSetId = -1; /* P0_PUSCH_AlphaSetId */
+static int hf_nr_rrc_sri_PUSCH_ClosedLoopIndex = -1; /* T_sri_PUSCH_ClosedLoopIndex */
static int hf_nr_rrc_betaOffsetACK_Index1 = -1; /* INTEGER_0_31 */
static int hf_nr_rrc_betaOffsetACK_Index2 = -1; /* INTEGER_0_31 */
static int hf_nr_rrc_betaOffsetACK_Index3 = -1; /* INTEGER_0_31 */
-static int hf_nr_rrc_betaOffsetCSI_part1_Index1 = -1; /* INTEGER_0_31 */
-static int hf_nr_rrc_betaOffsetCSI_part1_Index2 = -1; /* INTEGER_0_31 */
-static int hf_nr_rrc_betaOffsetCSI_part2_Index1 = -1; /* INTEGER_0_31 */
-static int hf_nr_rrc_betaOffsetCSI_part2_Index2 = -1; /* INTEGER_0_31 */
-static int hf_nr_rrc_quantityConfigRSindex = -1; /* QuantityConfigRS */
-static int hf_nr_rrc_ssbFilterCoefficientRSRP = -1; /* FilterCoefficient */
-static int hf_nr_rrc_ssbFilterCoefficientRSRQ = -1; /* FilterCoefficient */
-static int hf_nr_rrc_ssbFilterCoefficientRS_SINR = -1; /* FilterCoefficient */
-static int hf_nr_rrc_csi_rsFilterCoefficientRSRP = -1; /* FilterCoefficient */
-static int hf_nr_rrc_csi_rsFilterCoefficientRSRQ = -1; /* FilterCoefficient */
-static int hf_nr_rrc_csi_rsFilterCoefficientRS_SINR = -1; /* FilterCoefficient */
+static int hf_nr_rrc_betaOffsetCSI_Part1_Index1 = -1; /* INTEGER_0_31 */
+static int hf_nr_rrc_betaOffsetCSI_Part1_Index2 = -1; /* INTEGER_0_31 */
+static int hf_nr_rrc_betaOffsetCSI_Part2_Index1 = -1; /* INTEGER_0_31 */
+static int hf_nr_rrc_betaOffsetCSI_Part2_Index2 = -1; /* INTEGER_0_31 */
+static int hf_nr_rrc_codeBlockGroupTransmission_01 = -1; /* T_codeBlockGroupTransmission_01 */
+static int hf_nr_rrc_setup_35 = -1; /* PUSCH_CodeBlockGroupGransmission */
+static int hf_nr_rrc_rateMatching = -1; /* T_rateMatching */
+static int hf_nr_rrc_xOverhead_01 = -1; /* T_xOverhead_01 */
+static int hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock_01 = -1; /* T_maxCodeBlockGroupsPerTransportBlock_01 */
+static int hf_nr_rrc_k2 = -1; /* INTEGER_0_7 */
+static int hf_nr_rrc_mappingType_01 = -1; /* T_mappingType_01 */
+static int hf_nr_rrc_tpc_Index = -1; /* INTEGER_1_15 */
+static int hf_nr_rrc_tpc_IndexSUL = -1; /* INTEGER_1_15 */
+static int hf_nr_rrc_targetCell = -1; /* ServCellIndex */
+static int hf_nr_rrc_quantityConfigNR_List = -1; /* QuantityConfigNR_List */
+static int hf_nr_rrc_QuantityConfigNR_List_item = -1; /* QuantityConfigNR */
+static int hf_nr_rrc_quantityConfigCell = -1; /* QuantityConfigRS */
+static int hf_nr_rrc_quantityConfigRS_Index = -1; /* QuantityConfigRS */
+static int hf_nr_rrc_ssb_FilterConfig = -1; /* FilterConfig */
+static int hf_nr_rrc_cs_RS_FilterConfig = -1; /* FilterConfig */
+static int hf_nr_rrc_filterCoefficientRSRP = -1; /* FilterCoefficient */
+static int hf_nr_rrc_filterCoefficientRSRQ = -1; /* FilterCoefficient */
+static int hf_nr_rrc_filterCoefficientRS_SINR = -1; /* FilterCoefficient */
+static int hf_nr_rrc_rach_ConfigGeneric = -1; /* RACH_ConfigGeneric */
+static int hf_nr_rrc_totalNumberOfRA_Preambles = -1; /* INTEGER_1_63 */
+static int hf_nr_rrc_ssb_perRACH_OccasionAndCB_PreamblesPerSSB = -1; /* T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB */
+static int hf_nr_rrc_oneEighth = -1; /* T_oneEighth */
+static int hf_nr_rrc_oneFourth = -1; /* T_oneFourth */
+static int hf_nr_rrc_oneHalf = -1; /* T_oneHalf */
+static int hf_nr_rrc_one_01 = -1; /* T_one */
+static int hf_nr_rrc_two_01 = -1; /* T_two_01 */
+static int hf_nr_rrc_four = -1; /* INTEGER_1_16 */
+static int hf_nr_rrc_eight = -1; /* INTEGER_1_8 */
+static int hf_nr_rrc_sixteen = -1; /* INTEGER_1_4 */
static int hf_nr_rrc_groupBconfigured = -1; /* T_groupBconfigured */
static int hf_nr_rrc_ra_Msg3SizeGroupA = -1; /* T_ra_Msg3SizeGroupA */
static int hf_nr_rrc_messagePowerOffsetGroupB = -1; /* T_messagePowerOffsetGroupB */
-static int hf_nr_rrc_cbra_SSB_ResourceList = -1; /* CBRA_SSB_ResourceList */
+static int hf_nr_rrc_numberOfRA_PreamblesGroupA = -1; /* INTEGER_1_64 */
static int hf_nr_rrc_ra_ContentionResolutionTimer = -1; /* T_ra_ContentionResolutionTimer */
-static int hf_nr_rrc_ssb_Threshold = -1; /* NULL */
-static int hf_nr_rrc_sul_RSRP_Threshold = -1; /* NULL */
-static int hf_nr_rrc_prach_ConfigurationIndex = -1; /* INTEGER_0_255 */
+static int hf_nr_rrc_rsrp_ThresholdSSB = -1; /* RSRP_Range */
+static int hf_nr_rrc_rsrp_ThresholdSSB_SUL = -1; /* RSRP_Range */
static int hf_nr_rrc_prach_RootSequenceIndex = -1; /* T_prach_RootSequenceIndex */
static int hf_nr_rrc_l839 = -1; /* INTEGER_0_837 */
static int hf_nr_rrc_l139 = -1; /* INTEGER_0_137 */
-static int hf_nr_rrc_zeroCorrelationZoneConfig = -1; /* INTEGER_0_15 */
+static int hf_nr_rrc_msg1_SubcarrierSpacing = -1; /* SubcarrierSpacing */
static int hf_nr_rrc_restrictedSetConfig = -1; /* T_restrictedSetConfig */
-static int hf_nr_rrc_preambleReceivedTargetPower = -1; /* T_preambleReceivedTargetPower */
-static int hf_nr_rrc_powerRampingStep = -1; /* T_powerRampingStep */
-static int hf_nr_rrc_preambleTransMax = -1; /* T_preambleTransMax */
-static int hf_nr_rrc_ra_ResponseWindow = -1; /* NULL */
-static int hf_nr_rrc_msg2_SubcarrierSpacing = -1; /* SubcarrierSpacing */
-static int hf_nr_rrc_rach_ControlResourceSet = -1; /* NULL */
-static int hf_nr_rrc_msg3_SubcarrierSpacing = -1; /* SubcarrierSpacing */
static int hf_nr_rrc_msg3_transformPrecoding = -1; /* T_msg3_transformPrecoding */
-static int hf_nr_rrc_CBRA_SSB_ResourceList_item = -1; /* CBRA_SSB_Resource */
-static int hf_nr_rrc_ssb = -1; /* SSB_ID */
-static int hf_nr_rrc_startIndexRA_PreambleGroupA = -1; /* PreambleStartIndex */
-static int hf_nr_rrc_numberofRA_PreamblesGroupA = -1; /* NumberOfRA_Preambles */
-static int hf_nr_rrc_numberOfRA_Preambles = -1; /* NumberOfRA_Preambles */
-static int hf_nr_rrc_ra_Resources = -1; /* RA_Resources */
+static int hf_nr_rrc_prach_ConfigurationIndex = -1; /* INTEGER_0_255 */
+static int hf_nr_rrc_msg1_FDM = -1; /* T_msg1_FDM */
+static int hf_nr_rrc_msg1_FrequencyStart = -1; /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */
+static int hf_nr_rrc_zeroCorrelationZoneConfig = -1; /* INTEGER_0_15 */
+static int hf_nr_rrc_preambleReceivedTargetPower = -1; /* INTEGER_M200_M74 */
+static int hf_nr_rrc_preambleTransMax = -1; /* T_preambleTransMax */
+static int hf_nr_rrc_powerRampingStep = -1; /* T_powerRampingStep */
+static int hf_nr_rrc_ra_ResponseWindow = -1; /* T_ra_ResponseWindow */
static int hf_nr_rrc_cfra_Resources = -1; /* CFRA_Resources */
-static int hf_nr_rrc_rar_SubcarrierSpacing = -1; /* SubcarrierSpacing */
-static int hf_nr_rrc_cfra_ssb_ResourceList = -1; /* SEQUENCE_SIZE_1_maxRAssbResources_OF_CFRA_SSB_Resource */
-static int hf_nr_rrc_cfra_ssb_ResourceList_item = -1; /* CFRA_SSB_Resource */
-static int hf_nr_rrc_cfra_csirs_ResourceList = -1; /* SEQUENCE_SIZE_1_maxRAcsirsResources_OF_CFRA_CSIRS_Resource */
-static int hf_nr_rrc_cfra_csirs_ResourceList_item = -1; /* CFRA_CSIRS_Resource */
-static int hf_nr_rrc_ra_PreambleIndex = -1; /* INTEGER_0_0 */
-static int hf_nr_rrc_csirs = -1; /* CSIRS_ID */
+static int hf_nr_rrc_ssb_02 = -1; /* T_ssb */
+static int hf_nr_rrc_ssb_ResourceList = -1; /* SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource */
+static int hf_nr_rrc_ssb_ResourceList_item = -1; /* CFRA_SSB_Resource */
+static int hf_nr_rrc_csirs = -1; /* T_csirs */
+static int hf_nr_rrc_csirs_ResourceList = -1; /* SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource */
+static int hf_nr_rrc_csirs_ResourceList_item = -1; /* CFRA_CSIRS_Resource */
+static int hf_nr_rrc_cfra_csirs_DedicatedRACH_Threshold = -1; /* RSRP_Range */
+static int hf_nr_rrc_csi_RS_02 = -1; /* CSI_RS_Index */
+static int hf_nr_rrc_ra_OccasionList = -1; /* T_ra_OccasionList */
+static int hf_nr_rrc_ra_OccasionList_item = -1; /* INTEGER_0_maxRA_Occasions_1 */
static int hf_nr_rrc_srb_ToAddModList = -1; /* SRB_ToAddModList */
-static int hf_nr_rrc_srb_ToReleaseList = -1; /* INTEGER_3 */
+static int hf_nr_rrc_srb3_ToRelease = -1; /* T_srb3_ToRelease */
static int hf_nr_rrc_drb_ToAddModList = -1; /* DRB_ToAddModList */
static int hf_nr_rrc_drb_ToReleaseList = -1; /* DRB_ToReleaseList */
static int hf_nr_rrc_securityConfig = -1; /* SecurityConfig */
static int hf_nr_rrc_SRB_ToAddModList_item = -1; /* SRB_ToAddMod */
-static int hf_nr_rrc_srb_Identity = -1; /* SRB_Identity */
static int hf_nr_rrc_reestablishPDCP = -1; /* T_reestablishPDCP */
+static int hf_nr_rrc_discardOnPDCP = -1; /* T_discardOnPDCP */
static int hf_nr_rrc_pdcp_Config = -1; /* PDCP_Config */
static int hf_nr_rrc_DRB_ToAddModList_item = -1; /* DRB_ToAddMod */
static int hf_nr_rrc_cnAssociation = -1; /* T_cnAssociation */
static int hf_nr_rrc_eps_BearerIdentity = -1; /* INTEGER_0_15 */
static int hf_nr_rrc_sdap_Config = -1; /* SDAP_Config */
-static int hf_nr_rrc_drb_Identity = -1; /* DRB_Identity */
static int hf_nr_rrc_reestablishPDCP_01 = -1; /* T_reestablishPDCP_01 */
static int hf_nr_rrc_recoverPDCP = -1; /* T_recoverPDCP */
static int hf_nr_rrc_DRB_ToReleaseList_item = -1; /* DRB_Identity */
static int hf_nr_rrc_securityAlgorithmConfig = -1; /* SecurityAlgorithmConfig */
static int hf_nr_rrc_keyToUse = -1; /* T_keyToUse */
+static int hf_nr_rrc_failureDetectionResources = -1; /* SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS */
+static int hf_nr_rrc_failureDetectionResources_item = -1; /* RadioLinkMonitoringRS */
+static int hf_nr_rrc_beamFailureInstanceMaxCount = -1; /* T_beamFailureInstanceMaxCount */
+static int hf_nr_rrc_beamFailureDetectionTimer = -1; /* T_beamFailureDetectionTimer */
+static int hf_nr_rrc_purpose = -1; /* T_purpose */
+static int hf_nr_rrc_detectionResource = -1; /* T_detectionResource */
+static int hf_nr_rrc_rateMatchPatternId = -1; /* RateMatchPatternId */
+static int hf_nr_rrc_patternType = -1; /* T_patternType */
+static int hf_nr_rrc_bitmaps = -1; /* T_bitmaps */
+static int hf_nr_rrc_resourceBlocks = -1; /* BIT_STRING_SIZE_275 */
+static int hf_nr_rrc_symbolsInResourceBlock = -1; /* T_symbolsInResourceBlock */
+static int hf_nr_rrc_oneSlot = -1; /* BIT_STRING_SIZE_14 */
+static int hf_nr_rrc_twoSlots = -1; /* BIT_STRING_SIZE_28 */
+static int hf_nr_rrc_periodicityAndPattern = -1; /* T_periodicityAndPattern */
+static int hf_nr_rrc_n2 = -1; /* BIT_STRING_SIZE_2 */
+static int hf_nr_rrc_n4 = -1; /* BIT_STRING_SIZE_4 */
+static int hf_nr_rrc_n5 = -1; /* BIT_STRING_SIZE_5 */
+static int hf_nr_rrc_n8 = -1; /* BIT_STRING_SIZE_8 */
+static int hf_nr_rrc_n10 = -1; /* BIT_STRING_SIZE_10 */
+static int hf_nr_rrc_n20 = -1; /* BIT_STRING_SIZE_20 */
+static int hf_nr_rrc_n40 = -1; /* BIT_STRING_SIZE_40 */
+static int hf_nr_rrc_controlResourceSet = -1; /* ControlResourceSetId */
+static int hf_nr_rrc_mode = -1; /* T_mode */
+static int hf_nr_rrc_carrierFreqDL = -1; /* INTEGER_0_16383 */
+static int hf_nr_rrc_carrierBandwidthDL = -1; /* T_carrierBandwidthDL */
+static int hf_nr_rrc_mbsfn_SubframeConfigList = -1; /* EUTRA_MBSFN_SubframeConfigList */
+static int hf_nr_rrc_nrofCRS_Ports = -1; /* T_nrofCRS_Ports */
+static int hf_nr_rrc_v_Shift = -1; /* T_v_Shift */
static int hf_nr_rrc_reportType = -1; /* T_reportType */
static int hf_nr_rrc_periodical = -1; /* PeriodicalReportConfig */
static int hf_nr_rrc_eventTriggered = -1; /* EventTriggerConfig */
-static int hf_nr_rrc_reportCGI = -1; /* NULL */
+static int hf_nr_rrc_reportCGI = -1; /* T_reportCGI */
static int hf_nr_rrc_eventId = -1; /* T_eventId */
static int hf_nr_rrc_eventA1 = -1; /* T_eventA1 */
static int hf_nr_rrc_a1_Threshold = -1; /* MeasTriggerQuantity */
@@ -848,31 +1390,26 @@ static int hf_nr_rrc_a5_Threshold1 = -1; /* MeasTriggerQuantity */
static int hf_nr_rrc_a5_Threshold2 = -1; /* MeasTriggerQuantity */
static int hf_nr_rrc_eventA6 = -1; /* T_eventA6 */
static int hf_nr_rrc_a6_Offset = -1; /* MeasTriggerQuantityOffset */
-static int hf_nr_rrc_rsType = -1; /* T_rsType */
+static int hf_nr_rrc_rsType = -1; /* NR_RS_Type */
static int hf_nr_rrc_reportInterval = -1; /* ReportInterval */
static int hf_nr_rrc_reportAmount = -1; /* T_reportAmount */
static int hf_nr_rrc_reportQuantityCell = -1; /* MeasReportQuantity */
static int hf_nr_rrc_maxReportCells = -1; /* INTEGER_1_maxCellReport */
static int hf_nr_rrc_reportQuantityRsIndexes = -1; /* MeasReportQuantity */
-static int hf_nr_rrc_maxNroIndexesToReport = -1; /* INTEGER_1_maxNroIndexesToReport */
-static int hf_nr_rrc_onlyReportBeamIds = -1; /* BOOLEAN */
-static int hf_nr_rrc_reportAddNeighMeas = -1; /* NULL */
-static int hf_nr_rrc_rsType_01 = -1; /* T_rsType_01 */
+static int hf_nr_rrc_maxNrofRSIndexesToReport = -1; /* INTEGER_1_maxNrofIndexesToReport */
+static int hf_nr_rrc_includeBeamMeasurements = -1; /* BOOLEAN */
+static int hf_nr_rrc_reportAddNeighMeas = -1; /* T_reportAddNeighMeas */
static int hf_nr_rrc_reportAmount_01 = -1; /* T_reportAmount_01 */
-static int hf_nr_rrc_maxNroRsIndexesToReport = -1; /* INTEGER_1_maxNroIndexesToReport */
-static int hf_nr_rrc_rsrp = -1; /* RSRPRange */
-static int hf_nr_rrc_rsrq = -1; /* RSRQRange */
-static int hf_nr_rrc_sinr = -1; /* SINRRange */
-static int hf_nr_rrc_rsrp_01 = -1; /* INTEGER_0 */
-static int hf_nr_rrc_rsrq_01 = -1; /* INTEGER_0 */
-static int hf_nr_rrc_sinr_01 = -1; /* INTEGER_0 */
+static int hf_nr_rrc_maxNrofRsIndexesToReport = -1; /* INTEGER_1_maxNrofIndexesToReport */
+static int hf_nr_rrc_rsrp_01 = -1; /* INTEGER_M30_30 */
+static int hf_nr_rrc_rsrq_01 = -1; /* INTEGER_M30_30 */
+static int hf_nr_rrc_sinr_01 = -1; /* INTEGER_M30_30 */
static int hf_nr_rrc_rsrp_02 = -1; /* BOOLEAN */
static int hf_nr_rrc_rsrq_02 = -1; /* BOOLEAN */
static int hf_nr_rrc_sinr_02 = -1; /* BOOLEAN */
static int hf_nr_rrc_ReportConfigToAddModList_item = -1; /* ReportConfigToAddMod */
static int hf_nr_rrc_reportConfig = -1; /* T_reportConfig */
static int hf_nr_rrc_reportConfigNR = -1; /* ReportConfigNR */
-static int hf_nr_rrc_reportConfigEUTRA = -1; /* ReportConfigEUTRA */
static int hf_nr_rrc_am = -1; /* T_am */
static int hf_nr_rrc_ul_AM_RLC = -1; /* UL_AM_RLC */
static int hf_nr_rrc_dl_AM_RLC = -1; /* DL_AM_RLC */
@@ -881,80 +1418,138 @@ static int hf_nr_rrc_ul_UM_RLC = -1; /* UL_UM_RLC */
static int hf_nr_rrc_dl_UM_RLC = -1; /* DL_UM_RLC */
static int hf_nr_rrc_um_Uni_Directional_UL = -1; /* T_um_Uni_Directional_UL */
static int hf_nr_rrc_um_Uni_Directional_DL = -1; /* T_um_Uni_Directional_DL */
-static int hf_nr_rrc_sn_FieldLength = -1; /* SN_FieldLength_AM */
+static int hf_nr_rrc_sn_FieldLength = -1; /* SN_FieldLengthAM */
static int hf_nr_rrc_t_PollRetransmit = -1; /* T_PollRetransmit */
static int hf_nr_rrc_pollPDU = -1; /* PollPDU */
static int hf_nr_rrc_pollByte = -1; /* PollByte */
static int hf_nr_rrc_maxRetxThreshold = -1; /* T_maxRetxThreshold */
static int hf_nr_rrc_t_Reassembly = -1; /* T_Reassembly */
static int hf_nr_rrc_t_StatusProhibit = -1; /* T_StatusProhibit */
-static int hf_nr_rrc_sn_FieldLength_01 = -1; /* SN_FieldLength_UM */
+static int hf_nr_rrc_sn_FieldLength_01 = -1; /* SN_FieldLengthUM */
+static int hf_nr_rrc_t310 = -1; /* T_t310 */
+static int hf_nr_rrc_n310 = -1; /* T_n310 */
+static int hf_nr_rrc_n311 = -1; /* T_n311 */
static int hf_nr_rrc_schedulingRequestToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod */
static int hf_nr_rrc_schedulingRequestToAddModList_item = -1; /* SchedulingRequestToAddMod */
static int hf_nr_rrc_schedulingRequestToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId */
static int hf_nr_rrc_schedulingRequestToReleaseList_item = -1; /* SchedulingRequestId */
-static int hf_nr_rrc_schedulingRequestID = -1; /* SchedulingRequestId */
-static int hf_nr_rrc_sr_prohibitTimer = -1; /* T_sr_prohibitTimer */
+static int hf_nr_rrc_sr_ConfigIndex = -1; /* SchedulingRequestId */
+static int hf_nr_rrc_sr_ProhibitTimer = -1; /* T_sr_ProhibitTimer */
static int hf_nr_rrc_sr_TransMax = -1; /* T_sr_TransMax */
-static int hf_nr_rrc_pduSession = -1; /* PDUsessionID */
-static int hf_nr_rrc_sdap_Header_DL = -1; /* T_sdap_Header_DL */
-static int hf_nr_rrc_sdap_Header_UL = -1; /* T_sdap_Header_UL */
+static int hf_nr_rrc_schedulingRequestResourceId = -1; /* SchedulingRequestResourceId */
+static int hf_nr_rrc_periodicityAndOffset_02 = -1; /* T_periodicityAndOffset_01 */
+static int hf_nr_rrc_sym2 = -1; /* NULL */
+static int hf_nr_rrc_sym6or7 = -1; /* NULL */
+static int hf_nr_rrc_sl1 = -1; /* NULL */
+static int hf_nr_rrc_sl2 = -1; /* INTEGER_0_1 */
+static int hf_nr_rrc_sl4 = -1; /* INTEGER_0_3 */
+static int hf_nr_rrc_sl5 = -1; /* INTEGER_0_4 */
+static int hf_nr_rrc_sl8 = -1; /* INTEGER_0_7 */
+static int hf_nr_rrc_sl10 = -1; /* INTEGER_0_9 */
+static int hf_nr_rrc_sl16 = -1; /* INTEGER_0_15 */
+static int hf_nr_rrc_sl20 = -1; /* INTEGER_0_19 */
+static int hf_nr_rrc_sl40 = -1; /* INTEGER_0_39 */
+static int hf_nr_rrc_sl80 = -1; /* INTEGER_0_79 */
+static int hf_nr_rrc_sl160 = -1; /* INTEGER_0_159 */
+static int hf_nr_rrc_sl320 = -1; /* INTEGER_0_319 */
+static int hf_nr_rrc_sl640 = -1; /* INTEGER_0_639 */
+static int hf_nr_rrc_resource = -1; /* PUCCH_ResourceId */
+static int hf_nr_rrc_offsetToCarrier = -1; /* INTEGER_0_2199 */
+static int hf_nr_rrc_k0_01 = -1; /* T_k0 */
+static int hf_nr_rrc_carrierBandwidth = -1; /* INTEGER_1_maxNrofPhysicalResourceBlocks */
+static int hf_nr_rrc_pdu_Session = -1; /* PDU_SessionID */
+static int hf_nr_rrc_sdap_HeaderDL = -1; /* T_sdap_HeaderDL */
+static int hf_nr_rrc_sdap_HeaderUL = -1; /* T_sdap_HeaderUL */
static int hf_nr_rrc_defaultDRB = -1; /* BOOLEAN */
-static int hf_nr_rrc_reflectiveQoS = -1; /* BOOLEAN */
-static int hf_nr_rrc_mappedQoSflows = -1; /* SEQUENCE_SIZE_0_maxNrofQFIs_OF_QFI */
-static int hf_nr_rrc_mappedQoSflows_item = -1; /* QFI */
+static int hf_nr_rrc_mappedQoS_FlowsToAdd = -1; /* SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI */
+static int hf_nr_rrc_mappedQoS_FlowsToAdd_item = -1; /* QFI */
+static int hf_nr_rrc_mappedQoS_FlowsToRelease = -1; /* SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI */
+static int hf_nr_rrc_mappedQoS_FlowsToRelease_item = -1; /* QFI */
+static int hf_nr_rrc_searchSpaceId = -1; /* SearchSpaceId */
+static int hf_nr_rrc_monitoringSlotPeriodicityAndOffset = -1; /* T_monitoringSlotPeriodicityAndOffset */
+static int hf_nr_rrc_monitoringSymbolsWithinSlot = -1; /* BIT_STRING_SIZE_14 */
+static int hf_nr_rrc_nrofCandidates = -1; /* T_nrofCandidates */
+static int hf_nr_rrc_aggregationLevel1 = -1; /* T_aggregationLevel1 */
+static int hf_nr_rrc_aggregationLevel2 = -1; /* T_aggregationLevel2 */
+static int hf_nr_rrc_aggregationLevel4 = -1; /* T_aggregationLevel4 */
+static int hf_nr_rrc_aggregationLevel8 = -1; /* T_aggregationLevel8 */
+static int hf_nr_rrc_aggregationLevel16 = -1; /* T_aggregationLevel16 */
+static int hf_nr_rrc_searchSpaceType = -1; /* T_searchSpaceType */
+static int hf_nr_rrc_common = -1; /* T_common */
+static int hf_nr_rrc_dci_Format0_0_AndFormat1_0 = -1; /* T_dci_Format0_0_AndFormat1_0 */
+static int hf_nr_rrc_dci_Format2_0 = -1; /* T_dci_Format2_0 */
+static int hf_nr_rrc_nrofCandidates_SFI = -1; /* T_nrofCandidates_SFI */
+static int hf_nr_rrc_aggregationLevel1_01 = -1; /* T_aggregationLevel1_01 */
+static int hf_nr_rrc_aggregationLevel2_01 = -1; /* T_aggregationLevel2_01 */
+static int hf_nr_rrc_aggregationLevel4_01 = -1; /* T_aggregationLevel4_01 */
+static int hf_nr_rrc_aggregationLevel8_01 = -1; /* T_aggregationLevel8_01 */
+static int hf_nr_rrc_aggregationLevel16_01 = -1; /* T_aggregationLevel16_01 */
+static int hf_nr_rrc_dci_Format2_1 = -1; /* T_dci_Format2_1 */
+static int hf_nr_rrc_dci_Format2_2 = -1; /* T_dci_Format2_2 */
+static int hf_nr_rrc_dci_Format2_3 = -1; /* T_dci_Format2_3 */
+static int hf_nr_rrc_monitoringPeriodicity = -1; /* T_monitoringPeriodicity */
+static int hf_nr_rrc_nrofPDCCH_Candidates = -1; /* T_nrofPDCCH_Candidates */
+static int hf_nr_rrc_ue_Specific = -1; /* T_ue_Specific */
+static int hf_nr_rrc_dci_Formats = -1; /* T_dci_Formats */
static int hf_nr_rrc_cipheringAlgorithm = -1; /* CipheringAlgorithm */
static int hf_nr_rrc_integrityProtAlgorithm = -1; /* IntegrityProtAlgorithm */
-static int hf_nr_rrc_frequencyInfoDL = -1; /* T_frequencyInfoDL */
-static int hf_nr_rrc_carrierFreqDL = -1; /* ARFCN_ValueNR */
-static int hf_nr_rrc_carrierBandwidthDL = -1; /* CarrierBandwidthNR */
-static int hf_nr_rrc_frequencyInfoUL = -1; /* FrequencyInfoUL */
-static int hf_nr_rrc_supplementaryUplink = -1; /* T_supplementaryUplink */
-static int hf_nr_rrc_subcarrierSpacingCommon = -1; /* SubcarrierSpacing */
-static int hf_nr_rrc_ssb_subcarrier_offset = -1; /* INTEGER_1_11 */
-static int hf_nr_rrc_ssb_PositionsInBurst = -1; /* T_ssb_PositionsInBurst */
-static int hf_nr_rrc_ssb_periodicityServingCell = -1; /* T_ssb_periodicityServingCell */
-static int hf_nr_rrc_dmrs_TypeA_Position_01 = -1; /* T_dmrs_TypeA_Position_01 */
-static int hf_nr_rrc_subcarrierSpacingSSB = -1; /* SubcarrierSpacingSSB */
-static int hf_nr_rrc_tdd_UL_DL_configurationCommon = -1; /* T_tdd_UL_DL_configurationCommon */
-static int hf_nr_rrc_dl_UL_TransmissionPeriodicity = -1; /* T_dl_UL_TransmissionPeriodicity */
-static int hf_nr_rrc_nrofDownlinkSlots = -1; /* INTEGER_0_160 */
-static int hf_nr_rrc_nrofDownlinkSymbols = -1; /* INTEGER_0_maxSymbolIndex */
-static int hf_nr_rrc_nrofUplinkSlots = -1; /* INTEGER_0_160 */
-static int hf_nr_rrc_nrofUplinkSymbols = -1; /* INTEGER_0_maxSymbolIndex */
-static int hf_nr_rrc_ss_PBCH_BlockPower = -1; /* INTEGER_M60_50 */
-static int hf_nr_rrc_rach_ConfigCommon = -1; /* RACH_ConfigCommon */
-static int hf_nr_rrc_tdd_UL_DL_configurationDedicated = -1; /* T_tdd_UL_DL_configurationDedicated */
-static int hf_nr_rrc_slotSpecificConfigurations = -1; /* T_slotSpecificConfigurations */
-static int hf_nr_rrc_slotSpecificConfigurations_item = -1; /* T_slotSpecificConfigurations_item */
-static int hf_nr_rrc_slotIndex = -1; /* INTEGER_0_160 */
-static int hf_nr_rrc_bandwidthParts = -1; /* BandwidthParts */
-static int hf_nr_rrc_dataScramblingIdentity = -1; /* NULL */
-static int hf_nr_rrc_pdcch_Config = -1; /* PDCCH_Config */
-static int hf_nr_rrc_pdsch_Config = -1; /* PDSCH_Config */
-static int hf_nr_rrc_csi_MeasConfig = -1; /* CSI_MeasConfig */
-static int hf_nr_rrc_pucch_Config = -1; /* PUCCH_Config */
-static int hf_nr_rrc_pusch_Config = -1; /* PUSCH_Config */
-static int hf_nr_rrc_srs_Config = -1; /* SRS_Config */
-static int hf_nr_rrc_sps_Config = -1; /* SPS_Config */
+static int hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated = -1; /* TDD_UL_DL_ConfigDedicated */
+static int hf_nr_rrc_initialDownlinkBWP = -1; /* BWP_DownlinkDedicated */
+static int hf_nr_rrc_downlinkBWP_ToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id */
+static int hf_nr_rrc_downlinkBWP_ToReleaseList_item = -1; /* BWP_Id */
+static int hf_nr_rrc_downlinkBWP_ToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink */
+static int hf_nr_rrc_downlinkBWP_ToAddModList_item = -1; /* BWP_Downlink */
+static int hf_nr_rrc_firstActiveDownlinkBWP_Id = -1; /* BWP_Id */
+static int hf_nr_rrc_bwp_InactivityTimer = -1; /* T_bwp_InactivityTimer */
+static int hf_nr_rrc_defaultDownlinkBWP_Id = -1; /* BWP_Id */
+static int hf_nr_rrc_uplinkConfig = -1; /* UplinkConfig */
+static int hf_nr_rrc_supplementaryUplink_02 = -1; /* UplinkConfig */
+static int hf_nr_rrc_pdsch_ServingCellConfig = -1; /* T_pdsch_ServingCellConfig */
+static int hf_nr_rrc_setup_36 = -1; /* PDSCH_ServingCellConfig */
+static int hf_nr_rrc_csi_MeasConfig = -1; /* T_csi_MeasConfig */
+static int hf_nr_rrc_setup_37 = -1; /* CSI_MeasConfig */
+static int hf_nr_rrc_carrierSwitching = -1; /* T_carrierSwitching */
+static int hf_nr_rrc_setup_38 = -1; /* SRS_CarrierSwitching */
+static int hf_nr_rrc_sCellDeactivationTimer = -1; /* T_sCellDeactivationTimer */
static int hf_nr_rrc_crossCarrierSchedulingConfig = -1; /* CrossCarrierSchedulingConfig */
static int hf_nr_rrc_ue_BeamLockFunction = -1; /* T_ue_BeamLockFunction */
static int hf_nr_rrc_pathlossReferenceLinking = -1; /* T_pathlossReferenceLinking */
-static int hf_nr_rrc_uplink = -1; /* T_uplink */
-static int hf_nr_rrc_periodicity = -1; /* NULL */
-static int hf_nr_rrc_powerControl = -1; /* NULL */
-static int hf_nr_rrc_transformPrecoder_01 = -1; /* T_transformPrecoder_01 */
-static int hf_nr_rrc_nrofHARQ_processes = -1; /* INTEGER_1_1 */
-static int hf_nr_rrc_repK_RV = -1; /* T_repK_RV */
-static int hf_nr_rrc_priodicity = -1; /* T_priodicity */
-static int hf_nr_rrc_rrcConfiguredUplinkGrant = -1; /* T_rrcConfiguredUplinkGrant */
-static int hf_nr_rrc_setup_16 = -1; /* T_setup_12 */
-static int hf_nr_rrc_timeDomainOffset = -1; /* NULL */
-static int hf_nr_rrc_timeDomainAllocation = -1; /* NULL */
-static int hf_nr_rrc_frequencyDomainAllocation = -1; /* NULL */
-static int hf_nr_rrc_dmrs = -1; /* NULL */
-static int hf_nr_rrc_mcsAndTBS = -1; /* NULL */
-static int hf_nr_rrc_repK = -1; /* NULL */
+static int hf_nr_rrc_initialUplinkBWP = -1; /* BWP_UplinkDedicated */
+static int hf_nr_rrc_uplinkBWP_ToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id */
+static int hf_nr_rrc_uplinkBWP_ToReleaseList_item = -1; /* BWP_Id */
+static int hf_nr_rrc_uplinkBWP_ToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink */
+static int hf_nr_rrc_uplinkBWP_ToAddModList_item = -1; /* BWP_Uplink */
+static int hf_nr_rrc_firstActiveUplinkBWP_Id = -1; /* BWP_Id */
+static int hf_nr_rrc_pusch_ServingCellConfig = -1; /* T_pusch_ServingCellConfig */
+static int hf_nr_rrc_setup_39 = -1; /* PUSCH_ServingCellConfig */
+static int hf_nr_rrc_frequencyInfoDL = -1; /* FrequencyInfoDL */
+static int hf_nr_rrc_initialDownlinkBWP_01 = -1; /* BWP_DownlinkCommon */
+static int hf_nr_rrc_supplementaryUplinkConfig = -1; /* UplinkConfigCommon */
+static int hf_nr_rrc_ssb_PositionsInBurst_01 = -1; /* T_ssb_PositionsInBurst_01 */
+static int hf_nr_rrc_ssb_periodicityServingCell = -1; /* T_ssb_periodicityServingCell */
+static int hf_nr_rrc_dmrs_TypeA_Position_01 = -1; /* T_dmrs_TypeA_Position_01 */
+static int hf_nr_rrc_lte_CRS_ToMatchAround = -1; /* T_lte_CRS_ToMatchAround */
+static int hf_nr_rrc_setup_40 = -1; /* RateMatchPatternLTE_CRS */
+static int hf_nr_rrc_tdd_UL_DL_ConfigurationCommon = -1; /* TDD_UL_DL_ConfigCommon */
+static int hf_nr_rrc_tdd_UL_DL_ConfigurationCommon2 = -1; /* TDD_UL_DL_ConfigCommon */
+static int hf_nr_rrc_frequencyInfoUL = -1; /* FrequencyInfoUL */
+static int hf_nr_rrc_initialUplinkBWP_01 = -1; /* BWP_UplinkCommon */
+static int hf_nr_rrc_subcarrierSpacing2 = -1; /* SubcarrierSpacing */
+static int hf_nr_rrc_slotFormatCombinations = -1; /* SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination */
+static int hf_nr_rrc_slotFormatCombinations_item = -1; /* SlotFormatCombination */
+static int hf_nr_rrc_positionInDCI_01 = -1; /* INTEGER_0_maxSFI_DCI_PayloadSize_1 */
+static int hf_nr_rrc_slotFormatCombinationId = -1; /* SlotFormatCombinationId */
+static int hf_nr_rrc_slotFormats = -1; /* T_slotFormats */
+static int hf_nr_rrc_slotFormats_item = -1; /* INTEGER_0_255 */
+static int hf_nr_rrc_sfi_RNTI = -1; /* RNTI_Value */
+static int hf_nr_rrc_dci_PayloadSize_01 = -1; /* INTEGER_1_maxSFI_DCI_PayloadSize */
+static int hf_nr_rrc_slotFormatCombToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell */
+static int hf_nr_rrc_slotFormatCombToAddModList_item = -1; /* SlotFormatCombinationsPerCell */
+static int hf_nr_rrc_slotFormatCombToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex */
+static int hf_nr_rrc_slotFormatCombToReleaseList_item = -1; /* ServCellIndex */
+static int hf_nr_rrc_periodicity_02 = -1; /* T_periodicity_02 */
+static int hf_nr_rrc_nrofHARQ_Processes_01 = -1; /* INTEGER_1_8 */
+static int hf_nr_rrc_n1PUCCH_AN = -1; /* PUCCH_Resource */
static int hf_nr_rrc_srs_ResourceSetToReleaseList = -1; /* SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId */
static int hf_nr_rrc_srs_ResourceSetToReleaseList_item = -1; /* SRS_ResourceSetId */
static int hf_nr_rrc_srs_ResourceSetToAddModList = -1; /* SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet */
@@ -963,64 +1558,415 @@ static int hf_nr_rrc_srs_ResourceToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrof
static int hf_nr_rrc_srs_ResourceToReleaseList_item = -1; /* SRS_ResourceId */
static int hf_nr_rrc_srs_ResourceToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource */
static int hf_nr_rrc_srs_ResourceToAddModList_item = -1; /* SRS_Resource */
-static int hf_nr_rrc_tpc_SRS_RNTI = -1; /* BIT_STRING_SIZE_16 */
+static int hf_nr_rrc_tpc_Accumulation_01 = -1; /* T_tpc_Accumulation_01 */
static int hf_nr_rrc_srs_ResourceSetId = -1; /* SRS_ResourceSetId */
-static int hf_nr_rrc_srs_ResourcesIds = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId */
-static int hf_nr_rrc_srs_ResourcesIds_item = -1; /* SRS_ResourceId */
-static int hf_nr_rrc_aperiodicSRS_ResourceTrigger = -1; /* NULL */
+static int hf_nr_rrc_srs_ResourceIdList = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId */
+static int hf_nr_rrc_srs_ResourceIdList_item = -1; /* SRS_ResourceId */
+static int hf_nr_rrc_resourceType_01 = -1; /* T_resourceType_01 */
+static int hf_nr_rrc_aperiodic_01 = -1; /* T_aperiodic_01 */
+static int hf_nr_rrc_aperiodicSRS_ResourceTrigger = -1; /* INTEGER_0_maxNrofSRS_TriggerStates_1 */
+static int hf_nr_rrc_slotOffset = -1; /* INTEGER_1_8 */
+static int hf_nr_rrc_semi_persistent = -1; /* T_semi_persistent */
+static int hf_nr_rrc_associatedCSI_RS = -1; /* NZP_CSI_RS_ResourceId */
+static int hf_nr_rrc_periodic_01 = -1; /* T_periodic_01 */
+static int hf_nr_rrc_usage = -1; /* T_usage */
+static int hf_nr_rrc_p0_01 = -1; /* INTEGER_M202_24 */
+static int hf_nr_rrc_pathlossReferenceRS = -1; /* T_pathlossReferenceRS */
+static int hf_nr_rrc_srs_PowerControlAdjustmentStates = -1; /* T_srs_PowerControlAdjustmentStates */
static int hf_nr_rrc_srs_ResourceId = -1; /* SRS_ResourceId */
static int hf_nr_rrc_nrofSRS_Ports = -1; /* T_nrofSRS_Ports */
+static int hf_nr_rrc_ptrs_PortIndex = -1; /* T_ptrs_PortIndex */
static int hf_nr_rrc_transmissionComb = -1; /* T_transmissionComb */
-static int hf_nr_rrc_freqDomainPosition = -1; /* NULL */
-static int hf_nr_rrc_freqHopping = -1; /* INTEGER_0_63 */
-static int hf_nr_rrc_groupOrSequenceHopping = -1; /* INTEGER_0_2 */
-static int hf_nr_rrc_resourceType_01 = -1; /* T_resourceType_01 */
-static int hf_nr_rrc_aperiodic_02 = -1; /* T_aperiodic_01 */
-static int hf_nr_rrc_semi_persistent = -1; /* T_semi_persistent */
-static int hf_nr_rrc_periodic_02 = -1; /* T_periodic_01 */
-static int hf_nr_rrc_periodicityAndOffset_02 = -1; /* T_periodicityAndOffset_02 */
-static int hf_nr_rrc_sequenceId = -1; /* NULL */
-static int hf_nr_rrc_antennaSwitching = -1; /* NULL */
-static int hf_nr_rrc_carrierSwitching = -1; /* NULL */
-static int hf_nr_rrc_cyclicShift = -1; /* INTEGER_0_12 */
+static int hf_nr_rrc_n2_01 = -1; /* T_n2 */
+static int hf_nr_rrc_combOffset_n2 = -1; /* INTEGER_0_1 */
+static int hf_nr_rrc_cyclicShift_n2 = -1; /* INTEGER_0_7 */
+static int hf_nr_rrc_n4_01 = -1; /* T_n4 */
+static int hf_nr_rrc_combOffset_n4 = -1; /* INTEGER_0_3 */
+static int hf_nr_rrc_cyclicShift_n4 = -1; /* INTEGER_0_11 */
+static int hf_nr_rrc_resourceMapping_01 = -1; /* T_resourceMapping */
+static int hf_nr_rrc_startPosition = -1; /* INTEGER_0_5 */
+static int hf_nr_rrc_nrofSymbols_02 = -1; /* T_nrofSymbols */
+static int hf_nr_rrc_repetitionFactor = -1; /* T_repetitionFactor */
+static int hf_nr_rrc_freqDomainPosition = -1; /* INTEGER_0_67 */
+static int hf_nr_rrc_freqDomainShift = -1; /* INTEGER_0_268 */
+static int hf_nr_rrc_freqHopping = -1; /* T_freqHopping */
+static int hf_nr_rrc_c_SRS = -1; /* INTEGER_0_63 */
+static int hf_nr_rrc_b_SRS = -1; /* INTEGER_0_3 */
+static int hf_nr_rrc_b_hop = -1; /* INTEGER_0_3 */
+static int hf_nr_rrc_groupOrSequenceHopping = -1; /* T_groupOrSequenceHopping */
+static int hf_nr_rrc_resourceType_02 = -1; /* T_resourceType_02 */
+static int hf_nr_rrc_aperiodic_02 = -1; /* T_aperiodic_02 */
+static int hf_nr_rrc_semi_persistent_01 = -1; /* T_semi_persistent_01 */
+static int hf_nr_rrc_periodicityAndOffset_sp = -1; /* SRS_PeriodicityAndOffset */
+static int hf_nr_rrc_periodic_02 = -1; /* T_periodic_02 */
+static int hf_nr_rrc_periodicityAndOffset_p = -1; /* SRS_PeriodicityAndOffset */
+static int hf_nr_rrc_sequenceId = -1; /* BIT_STRING_SIZE_10 */
static int hf_nr_rrc_spatialRelationInfo = -1; /* T_spatialRelationInfo */
+static int hf_nr_rrc_sl32 = -1; /* INTEGER_0_31 */
+static int hf_nr_rrc_sl64 = -1; /* INTEGER_0_63 */
+static int hf_nr_rrc_sl1280 = -1; /* INTEGER_0_1279 */
+static int hf_nr_rrc_sl2560 = -1; /* INTEGER_0_2559 */
+static int hf_nr_rrc_srs_SwitchFromServCellIndex = -1; /* INTEGER_0_31 */
+static int hf_nr_rrc_srs_TPC_PDCCH_Group = -1; /* T_srs_TPC_PDCCH_Group */
+static int hf_nr_rrc_typeA = -1; /* SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config */
+static int hf_nr_rrc_typeA_item = -1; /* SRS_TPC_PDCCH_Config */
+static int hf_nr_rrc_typeB = -1; /* SRS_TPC_PDCCH_Config */
+static int hf_nr_rrc_srs_CellToSFI = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_SlotFormatCombinationsPerCell */
+static int hf_nr_rrc_srs_CellToSFI_item = -1; /* SlotFormatCombinationsPerCell */
+static int hf_nr_rrc_monitoringCells = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex */
+static int hf_nr_rrc_monitoringCells_item = -1; /* ServCellIndex */
+static int hf_nr_rrc_startingBitOfFormat2_3 = -1; /* INTEGER_1_31 */
+static int hf_nr_rrc_fieldTypeFormat2_3 = -1; /* INTEGER_0_1 */
+static int hf_nr_rrc_srs_CC_SetIndexlist = -1; /* SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex */
+static int hf_nr_rrc_srs_CC_SetIndexlist_item = -1; /* SRS_CC_SetIndex */
+static int hf_nr_rrc_cc_SetIndex = -1; /* INTEGER_0_3 */
+static int hf_nr_rrc_cc_IndexInOneCC_Set = -1; /* INTEGER_0_7 */
+static int hf_nr_rrc_tci_StateId = -1; /* TCI_StateId */
+static int hf_nr_rrc_qcl_Type1 = -1; /* QCL_Info */
+static int hf_nr_rrc_qcl_Type2 = -1; /* QCL_Info */
+static int hf_nr_rrc_nrofPTRS_Ports = -1; /* T_nrofPTRS_Ports */
+static int hf_nr_rrc_cell = -1; /* ServCellIndex */
+static int hf_nr_rrc_referenceSignal_03 = -1; /* T_referenceSignal_03 */
+static int hf_nr_rrc_csi_rs = -1; /* NZP_CSI_RS_ResourceId */
+static int hf_nr_rrc_csi_RS_for_tracking = -1; /* NZP_CSI_RS_ResourceSetId */
+static int hf_nr_rrc_qcl_Type = -1; /* T_qcl_Type */
+static int hf_nr_rrc_referenceSubcarrierSpacing = -1; /* SubcarrierSpacing */
+static int hf_nr_rrc_dl_UL_TransmissionPeriodicity = -1; /* T_dl_UL_TransmissionPeriodicity */
+static int hf_nr_rrc_nrofDownlinkSlots = -1; /* INTEGER_0_maxNrofSlots */
+static int hf_nr_rrc_nrofDownlinkSymbols = -1; /* INTEGER_0_maxNrofSymbols_1 */
+static int hf_nr_rrc_nrofUplinkSlots = -1; /* INTEGER_0_maxNrofSlots */
+static int hf_nr_rrc_nrofUplinkSymbols = -1; /* INTEGER_0_maxNrofSymbols_1 */
+static int hf_nr_rrc_slotSpecificConfigurationsToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig */
+static int hf_nr_rrc_slotSpecificConfigurationsToAddModList_item = -1; /* TDD_UL_DL_SlotConfig */
+static int hf_nr_rrc_slotSpecificConfigurationsToreleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex */
+static int hf_nr_rrc_slotSpecificConfigurationsToreleaseList_item = -1; /* TDD_UL_DL_SlotIndex */
+static int hf_nr_rrc_slotIndex = -1; /* TDD_UL_DL_SlotIndex */
+static int hf_nr_rrc_symbols = -1; /* T_symbols */
+static int hf_nr_rrc_allDownlink = -1; /* NULL */
+static int hf_nr_rrc_allUplink = -1; /* NULL */
+static int hf_nr_rrc_explicit = -1; /* T_explicit */
+static int hf_nr_rrc_nrofDownlinkSymbols_01 = -1; /* INTEGER_1_maxNrofSymbols_1 */
+static int hf_nr_rrc_nrofUplinkSymbols_01 = -1; /* INTEGER_1_maxNrofSymbols_1 */
+static int hf_nr_rrc_zp_CSI_RS_ResourceId = -1; /* ZP_CSI_RS_ResourceId */
+static int hf_nr_rrc_zp_CSI_RS_ResourceSetId = -1; /* ZP_CSI_RS_ResourceSetId */
+static int hf_nr_rrc_zp_CSI_RS_ResourceIdList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId */
+static int hf_nr_rrc_zp_CSI_RS_ResourceIdList_item = -1; /* ZP_CSI_RS_ResourceId */
+static int hf_nr_rrc_resourceType_03 = -1; /* T_resourceType_03 */
static int hf_nr_rrc_BandCombinationList_item = -1; /* BandCombination */
-static int hf_nr_rrc_measParameters_MRDC = -1; /* MeasParameters_MRDC */
-static int hf_nr_rrc_rf_Parameters_MRDC = -1; /* RF_Parameters_MRDC */
-static int hf_nr_rrc_phyLayerParameters_MRDC = -1; /* PhyLayerParameters_MRDC */
+static int hf_nr_rrc_bandAndDL_ParametersList = -1; /* BandAndDL_ParametersList */
+static int hf_nr_rrc_bandCombinationsUL = -1; /* BIT_STRING_SIZE_1_maxBandComb */
+static int hf_nr_rrc_bandCombinationParametersList = -1; /* SEQUENCE_SIZE_1_maxBandComb_OF_BandCombinationParameters */
+static int hf_nr_rrc_bandCombinationParametersList_item = -1; /* BandCombinationParameters */
+static int hf_nr_rrc_BandAndDL_ParametersList_item = -1; /* BandAndDL_Parameters */
+static int hf_nr_rrc_bandAndDL_ParametersEUTRA = -1; /* BandAndDL_ParametersEUTRA */
+static int hf_nr_rrc_bandAndDL_ParametersNR = -1; /* BandAndDL_ParametersNR */
+static int hf_nr_rrc_ca_ParametersNR = -1; /* CA_ParametersNR */
+static int hf_nr_rrc_mrdc_Parameters = -1; /* MRDC_Parameters */
+static int hf_nr_rrc_multipleTimingAdvances = -1; /* T_multipleTimingAdvances */
+static int hf_nr_rrc_simultaneousRxTxInterBandCA = -1; /* T_simultaneousRxTxInterBandCA */
+static int hf_nr_rrc_supportedBandwidthCombinationSet = -1; /* BIT_STRING_SIZE_1_32 */
+static int hf_nr_rrc_singleUL_Transmission = -1; /* T_singleUL_Transmission */
+static int hf_nr_rrc_ul_SharingEUTRA_NR = -1; /* T_ul_SharingEUTRA_NR */
+static int hf_nr_rrc_ul_SwitchingTimeEUTRA_NR = -1; /* T_ul_SwitchingTimeEUTRA_NR */
+static int hf_nr_rrc_simultaneousRxTxInterBandENDC = -1; /* T_simultaneousRxTxInterBandENDC */
+static int hf_nr_rrc_asyncIntraBandENDC = -1; /* T_asyncIntraBandENDC */
+static int hf_nr_rrc_basebandProcesingCombinationMRDC = -1; /* BasebandProcessingCombinationMRDC */
+static int hf_nr_rrc_bandEUTRA = -1; /* FreqBandIndicatorEUTRA */
+static int hf_nr_rrc_ca_BandwidthClassDL_EUTRA = -1; /* CA_BandwidthClassEUTRA */
+static int hf_nr_rrc_intraBandContiguousCC_InfoDL_EUTRA_List = -1; /* SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoDL_EUTRA */
+static int hf_nr_rrc_intraBandContiguousCC_InfoDL_EUTRA_List_item = -1; /* IntraBandContiguousCC_InfoDL_EUTRA */
+static int hf_nr_rrc_bandNR = -1; /* FreqBandIndicatorNR */
+static int hf_nr_rrc_ca_BandwidthClassDL = -1; /* CA_BandwidthClassNR */
+static int hf_nr_rrc_intraBandFreqSeparationDL = -1; /* FreqSeparationClass */
+static int hf_nr_rrc_intraBandContiguousCC_InfoDL_List = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoDL */
+static int hf_nr_rrc_intraBandContiguousCC_InfoDL_List_item = -1; /* IntraBandContiguousCC_InfoDL */
+static int hf_nr_rrc_maxNumberMIMO_LayersPDSCH = -1; /* MIMO_LayersDL */
+static int hf_nr_rrc_mimo_CapabilityDL = -1; /* T_mimo_CapabilityDL */
+static int hf_nr_rrc_BandCombinationParametersUL_List_item = -1; /* BandCombinationParametersUL */
+static int hf_nr_rrc_BandCombinationParametersUL_item = -1; /* BandParametersUL */
+static int hf_nr_rrc_bandParametersUL_EUTRA = -1; /* BandParametersUL_EUTRA */
+static int hf_nr_rrc_bandParametersUL_NR = -1; /* BandParametersUL_NR */
+static int hf_nr_rrc_ca_BandwidthClassUL_EUTRA = -1; /* CA_BandwidthClassEUTRA */
+static int hf_nr_rrc_intraBandContiguousCC_InfoUL_EUTRA_List = -1; /* SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoUL_EUTRA */
+static int hf_nr_rrc_intraBandContiguousCC_InfoUL_EUTRA_List_item = -1; /* IntraBandContiguousCC_InfoUL_EUTRA */
+static int hf_nr_rrc_ca_BandwidthClassUL = -1; /* CA_BandwidthClassNR */
+static int hf_nr_rrc_intraBandFreqSeparationUL = -1; /* FreqSeparationClass */
+static int hf_nr_rrc_intraBandContiguousCC_InfoUL_List = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoUL */
+static int hf_nr_rrc_intraBandContiguousCC_InfoUL_List_item = -1; /* IntraBandContiguousCC_InfoUL */
+static int hf_nr_rrc_maxNumberMIMO_LayersCB_PUSCH = -1; /* MIMO_LayersUL */
+static int hf_nr_rrc_maxNumberMIMO_LayersNonCB_PUSCH = -1; /* MIMO_LayersUL */
+static int hf_nr_rrc_mimo_CapabilityUL = -1; /* T_mimo_CapabilityUL */
+static int hf_nr_rrc_BasebandCombinationParametersUL_List_item = -1; /* BasebandCombinationParametersUL */
+static int hf_nr_rrc_BasebandCombinationParametersUL_item = -1; /* BasebandParametersPerBandUL */
+static int hf_nr_rrc_freqRange = -1; /* T_freqRange */
+static int hf_nr_rrc_basebandParametersPerCC_UL = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_UL */
+static int hf_nr_rrc_basebandParametersPerCC_UL_item = -1; /* BasebandParametersPerCC_UL */
+static int hf_nr_rrc_supportedSubcarrierSpacingUL = -1; /* SubcarrierSpacing */
+static int hf_nr_rrc_supportedBandwidthUL = -1; /* T_supportedBandwidthUL */
+static int hf_nr_rrc_fr1 = -1; /* T_fr1 */
+static int hf_nr_rrc_fr2 = -1; /* T_fr2 */
+static int hf_nr_rrc_scalingFactor0dot75 = -1; /* T_scalingFactor0dot75 */
+static int hf_nr_rrc_supportedModulationOrderUL = -1; /* ModulationOrder */
+static int hf_nr_rrc_supportedSRS_Resources = -1; /* SRS_Resources */
+static int hf_nr_rrc_srs_TxSwitch = -1; /* SRS_TxSwitch */
+static int hf_nr_rrc_lowLatencyCSI_Feedback = -1; /* T_lowLatencyCSI_Feedback */
+static int hf_nr_rrc_pusch_DifferentTB_PerSlot = -1; /* T_pusch_DifferentTB_PerSlot */
+static int hf_nr_rrc_scs_15kHz = -1; /* T_scs_15kHz */
+static int hf_nr_rrc_scs_30kHz = -1; /* T_scs_30kHz */
+static int hf_nr_rrc_scs_60kHz = -1; /* T_scs_60kHz */
+static int hf_nr_rrc_scs_120kHz = -1; /* T_scs_120kHz */
+static int hf_nr_rrc_twoPUCCH_Group = -1; /* T_twoPUCCH_Group */
+static int hf_nr_rrc_diffNumerologyAcrossPUCCH_Group = -1; /* T_diffNumerologyAcrossPUCCH_Group */
+static int hf_nr_rrc_diffNumerologyWithinPUCCH_Group = -1; /* T_diffNumerologyWithinPUCCH_Group */
+static int hf_nr_rrc_crossCarrierScheduling = -1; /* T_crossCarrierScheduling */
+static int hf_nr_rrc_supportedNumberTAG = -1; /* T_supportedNumberTAG */
+static int hf_nr_rrc_dynamicSwitchSUL = -1; /* T_dynamicSwitchSUL */
+static int hf_nr_rrc_simultaneousTxSUL_NonSUL = -1; /* T_simultaneousTxSUL_NonSUL */
+static int hf_nr_rrc_searchSpaceSharingCA_UL = -1; /* T_searchSpaceSharingCA_UL */
+static int hf_nr_rrc_BasebandProcessingCombinationMRDC_item = -1; /* BasebandProcessingCombinationLink */
+static int hf_nr_rrc_basebandProcessingCombinationIndexMN = -1; /* BasebandProcessingCombinationIndex */
+static int hf_nr_rrc_basebandProcessingCombinationLinkedIndexSN = -1; /* SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex */
+static int hf_nr_rrc_basebandProcessingCombinationLinkedIndexSN_item = -1; /* BasebandProcessingCombinationIndex */
+static int hf_nr_rrc_FreqBandList_item = -1; /* FreqBandInformation */
+static int hf_nr_rrc_SupportedBasebandProcessingCombination_item = -1; /* BasebandProcessingCombination */
+static int hf_nr_rrc_basebandParametersDL = -1; /* SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBandDL */
+static int hf_nr_rrc_basebandParametersDL_item = -1; /* BasebandParametersPerBandDL */
+static int hf_nr_rrc_basebandParametersUL = -1; /* BIT_STRING_SIZE_1_maxBasebandProcComb */
+static int hf_nr_rrc_freqRange_01 = -1; /* T_freqRange_01 */
+static int hf_nr_rrc_basebandParametersPerCC_DL = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_DL */
+static int hf_nr_rrc_basebandParametersPerCC_DL_item = -1; /* BasebandParametersPerCC_DL */
+static int hf_nr_rrc_supportedSubcarrierSpacingDL = -1; /* SubcarrierSpacing */
+static int hf_nr_rrc_supportedBandwidthDL = -1; /* T_supportedBandwidthDL */
+static int hf_nr_rrc_fr1_01 = -1; /* T_fr1_01 */
+static int hf_nr_rrc_fr2_01 = -1; /* T_fr2_01 */
+static int hf_nr_rrc_scalingFactor0dot75_01 = -1; /* T_scalingFactor0dot75_01 */
+static int hf_nr_rrc_timeDurationForQCL = -1; /* T_timeDurationForQCL */
+static int hf_nr_rrc_scs_60kHz_01 = -1; /* T_scs_60kHz_01 */
+static int hf_nr_rrc_sch_120kHz = -1; /* T_sch_120kHz */
+static int hf_nr_rrc_scellWithoutSSB = -1; /* T_scellWithoutSSB */
+static int hf_nr_rrc_csi_RS_MeasSCellWithoutSSB = -1; /* T_csi_RS_MeasSCellWithoutSSB */
+static int hf_nr_rrc_supportedModulationOrderDL = -1; /* ModulationOrder */
+static int hf_nr_rrc_srs_AssocCSI_RS = -1; /* T_srs_AssocCSI_RS */
+static int hf_nr_rrc_type1_3_CSS = -1; /* T_type1_3_CSS */
+static int hf_nr_rrc_pdcchMonitoringAnyOccasions = -1; /* T_pdcchMonitoringAnyOccasions */
+static int hf_nr_rrc_ue_SpecificUL_DL_Assignment = -1; /* T_ue_SpecificUL_DL_Assignment */
+static int hf_nr_rrc_pdsch_DifferentTB_PerSlot = -1; /* T_pdsch_DifferentTB_PerSlot */
+static int hf_nr_rrc_scs_15kHz_01 = -1; /* T_scs_15kHz_01 */
+static int hf_nr_rrc_scs_30kHz_01 = -1; /* T_scs_30kHz_01 */
+static int hf_nr_rrc_scs_60kHz_02 = -1; /* T_scs_60kHz_02 */
+static int hf_nr_rrc_scs_120kHz_01 = -1; /* T_scs_120kHz_01 */
+static int hf_nr_rrc_crossCarrierScheduling_01 = -1; /* T_crossCarrierScheduling_01 */
+static int hf_nr_rrc_searchSpaceSharingCA_DL = -1; /* T_searchSpaceSharingCA_DL */
+static int hf_nr_rrc_UE_CapabilityRAT_ContainerList_item = -1; /* UE_CapabilityRAT_Container */
+static int hf_nr_rrc_rat_Type = -1; /* RAT_Type */
+static int hf_nr_rrc_ue_CapabilityRAT_Container = -1; /* T_ue_CapabilityRAT_Container */
+static int hf_nr_rrc_measParametersMRDC = -1; /* MeasParametersMRDC */
+static int hf_nr_rrc_rf_ParametersMRDC = -1; /* RF_ParametersMRDC */
+static int hf_nr_rrc_phy_ParametersMRDC = -1; /* Phy_ParametersMRDC */
+static int hf_nr_rrc_generalParametersMRDC = -1; /* GeneralParametersMRDC_XDD_Diff */
+static int hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddXDD_Mode */
+static int hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddXDD_Mode */
+static int hf_nr_rrc_fr1_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddFRX_Mode */
+static int hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddFRX_Mode */
+static int hf_nr_rrc_nonCriticalExtension_05 = -1; /* T_nonCriticalExtension_05 */
+static int hf_nr_rrc_phy_ParametersMRDC_XDD_Diff = -1; /* Phy_ParametersMRDC_XDD_Diff */
+static int hf_nr_rrc_measParametersMRDC_XDD_Diff = -1; /* MeasParametersMRDC_XDD_Diff */
+static int hf_nr_rrc_generalParametersMRDC_XDD_Diff = -1; /* GeneralParametersMRDC_XDD_Diff */
+static int hf_nr_rrc_phy_ParametersMRDC_FRX_Diff = -1; /* Phy_ParametersMRDC_FRX_Diff */
+static int hf_nr_rrc_measParametersMRDC_FRX_Diff = -1; /* MeasParametersMRDC_FRX_Diff */
static int hf_nr_rrc_supportedBandCombination = -1; /* BandCombinationList */
-static int hf_nr_rrc_supportedBasebandProcessingCombination_MRDC = -1; /* BasebandProcessingCombination_MRDC */
-static int hf_nr_rrc_BasebandProcessingCombination_MRDC_item = -1; /* LinkedBasebandProcessingCombination */
-static int hf_nr_rrc_basebandProcessingCombinationIndex = -1; /* BasebandProcessingCombinationIndex */
-static int hf_nr_rrc_basebandProcessingCombinationLinkedIndex = -1; /* SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex */
-static int hf_nr_rrc_basebandProcessingCombinationLinkedIndex_item = -1; /* BasebandProcessingCombinationIndex */
-static int hf_nr_rrc_intraCarrierConcurrentMeas = -1; /* T_intraCarrierConcurrentMeas */
+static int hf_nr_rrc_bandCombinationParametersUL_List = -1; /* BandCombinationParametersUL_List */
+static int hf_nr_rrc_dynamicPowerSharing = -1; /* T_dynamicPowerSharing */
+static int hf_nr_rrc_tdm_Pattern = -1; /* T_tdm_Pattern */
+static int hf_nr_rrc_dynamicPowerSharing_01 = -1; /* T_dynamicPowerSharing_01 */
+static int hf_nr_rrc_tdm_Pattern_01 = -1; /* T_tdm_Pattern_01 */
+static int hf_nr_rrc_measParametersMRDC_Common = -1; /* MeasParametersMRDC_Common */
static int hf_nr_rrc_independentGapConfig = -1; /* T_independentGapConfig */
-static int hf_nr_rrc_sstd_MeasType1 = -1; /* T_sstd_MeasType1 */
+static int hf_nr_rrc_sftd_MeasPSCell = -1; /* T_sftd_MeasPSCell */
+static int hf_nr_rrc_sftd_MeasNR_Cell = -1; /* T_sftd_MeasNR_Cell */
+static int hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology = -1; /* T_simultaneousRxDataSSB_DiffNumerology */
+static int hf_nr_rrc_splitSRB_WithOneUL_Path = -1; /* T_splitSRB_WithOneUL_Path */
+static int hf_nr_rrc_splitDRB_withUL_Both_MCG_SCG = -1; /* T_splitDRB_withUL_Both_MCG_SCG */
+static int hf_nr_rrc_srb3 = -1; /* T_srb3 */
static int hf_nr_rrc_pdcp_Parameters = -1; /* PDCP_Parameters */
static int hf_nr_rrc_rlc_Parameters = -1; /* RLC_Parameters */
static int hf_nr_rrc_mac_Parameters = -1; /* MAC_Parameters */
-static int hf_nr_rrc_phyLayerParameters = -1; /* PhyLayerParameters */
+static int hf_nr_rrc_phy_Parameters = -1; /* Phy_Parameters */
static int hf_nr_rrc_rf_Parameters = -1; /* RF_Parameters */
-static int hf_nr_rrc_nonCriticalExtension_02 = -1; /* T_nonCriticalExtension_02 */
+static int hf_nr_rrc_measParameters = -1; /* MeasParameters */
+static int hf_nr_rrc_fdd_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddXDD_Mode */
+static int hf_nr_rrc_tdd_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddXDD_Mode */
+static int hf_nr_rrc_fr1_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddFRX_Mode */
+static int hf_nr_rrc_fr2_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddFRX_Mode */
+static int hf_nr_rrc_nonCriticalExtension_06 = -1; /* T_nonCriticalExtension_06 */
+static int hf_nr_rrc_phy_ParametersXDD_Diff = -1; /* Phy_ParametersXDD_Diff */
+static int hf_nr_rrc_mac_ParametersXDD_Diff = -1; /* MAC_ParametersXDD_Diff */
+static int hf_nr_rrc_measParametersXDD_Diff = -1; /* MeasParametersXDD_Diff */
+static int hf_nr_rrc_phy_ParametersFRX_Diff = -1; /* Phy_ParametersFRX_Diff */
+static int hf_nr_rrc_measParametersFRX_Diff = -1; /* MeasParametersFRX_Diff */
+static int hf_nr_rrc_phy_ParametersCommon = -1; /* Phy_ParametersCommon */
+static int hf_nr_rrc_phy_ParametersFR1 = -1; /* Phy_ParametersFR1 */
+static int hf_nr_rrc_phy_ParametersFR2 = -1; /* Phy_ParametersFR2 */
static int hf_nr_rrc_supportedBasebandProcessingCombination = -1; /* SupportedBasebandProcessingCombination */
+static int hf_nr_rrc_basebandCombinationParametersUL_List = -1; /* BasebandCombinationParametersUL_List */
+static int hf_nr_rrc_csi_RS_CFRA_ForHO = -1; /* T_csi_RS_CFRA_ForHO */
+static int hf_nr_rrc_dynamicPRB_BundlingDL = -1; /* T_dynamicPRB_BundlingDL */
+static int hf_nr_rrc_sp_CSI_ReportPUCCH = -1; /* T_sp_CSI_ReportPUCCH */
+static int hf_nr_rrc_sp_CSI_ReportPUSCH = -1; /* T_sp_CSI_ReportPUSCH */
+static int hf_nr_rrc_nzp_CSI_RS_IntefMgmt = -1; /* T_nzp_CSI_RS_IntefMgmt */
+static int hf_nr_rrc_type2_SP_CSI_Feedback_LongPUCCH = -1; /* T_type2_SP_CSI_Feedback_LongPUCCH */
+static int hf_nr_rrc_multipleCORESET = -1; /* T_multipleCORESET */
+static int hf_nr_rrc_dynamicSFI = -1; /* T_dynamicSFI */
+static int hf_nr_rrc_precoderGranularityCORESET = -1; /* T_precoderGranularityCORESET */
+static int hf_nr_rrc_dynamicHARQ_ACK_Codebook = -1; /* T_dynamicHARQ_ACK_Codebook */
+static int hf_nr_rrc_semiStaticHARQ_ACK_Codebook = -1; /* T_semiStaticHARQ_ACK_Codebook */
+static int hf_nr_rrc_spatialBundlingHARQ_ACK = -1; /* T_spatialBundlingHARQ_ACK */
+static int hf_nr_rrc_dynamicBetaOffsetInd_HARQ_ACK_CSI = -1; /* T_dynamicBetaOffsetInd_HARQ_ACK_CSI */
+static int hf_nr_rrc_pucch_Repetition_F1_3_4 = -1; /* T_pucch_Repetition_F1_3_4 */
+static int hf_nr_rrc_ra_Type0_PUSCH = -1; /* T_ra_Type0_PUSCH */
+static int hf_nr_rrc_dynamicSwitchRA_Type0_1_PDSCH = -1; /* T_dynamicSwitchRA_Type0_1_PDSCH */
+static int hf_nr_rrc_dynamicSwitchRA_Type0_1_PUSCH = -1; /* T_dynamicSwitchRA_Type0_1_PUSCH */
+static int hf_nr_rrc_pdsch_MappingTypeA = -1; /* T_pdsch_MappingTypeA */
+static int hf_nr_rrc_pdsch_MappingTypeB = -1; /* T_pdsch_MappingTypeB */
+static int hf_nr_rrc_interleavingVRB_ToPRB_PDSCH = -1; /* T_interleavingVRB_ToPRB_PDSCH */
+static int hf_nr_rrc_interleavingVRB_ToPRB_PUSCH = -1; /* T_interleavingVRB_ToPRB_PUSCH */
+static int hf_nr_rrc_interSlotFreqHopping_PUSCH = -1; /* T_interSlotFreqHopping_PUSCH */
+static int hf_nr_rrc_type1_PUSCH_RepetitionOneSlot = -1; /* T_type1_PUSCH_RepetitionOneSlot */
+static int hf_nr_rrc_type1_PUSCH_RepetitionMultiSlots = -1; /* T_type1_PUSCH_RepetitionMultiSlots */
+static int hf_nr_rrc_type2_PUSCH_RepetitionOneSlot = -1; /* T_type2_PUSCH_RepetitionOneSlot */
+static int hf_nr_rrc_type2_PUSCH_RepetitionMultiSlots = -1; /* T_type2_PUSCH_RepetitionMultiSlots */
+static int hf_nr_rrc_pusch_RepetitionMultiSlots = -1; /* T_pusch_RepetitionMultiSlots */
+static int hf_nr_rrc_pdsch_RepetitionMultiSlots = -1; /* T_pdsch_RepetitionMultiSlots */
+static int hf_nr_rrc_downlinkSPS = -1; /* T_downlinkSPS */
+static int hf_nr_rrc_configuredUL_GrantType1 = -1; /* T_configuredUL_GrantType1 */
+static int hf_nr_rrc_configuredUL_GrantType2 = -1; /* T_configuredUL_GrantType2 */
+static int hf_nr_rrc_pre_EmptIndication_DL = -1; /* T_pre_EmptIndication_DL */
+static int hf_nr_rrc_cbg_TransIndication = -1; /* BIT_STRING_SIZE_2 */
+static int hf_nr_rrc_cbg_FlushIndication_DL = -1; /* T_cbg_FlushIndication_DL */
+static int hf_nr_rrc_dynamicHARQ_ACK_CodeB_CBG_Retx_DL = -1; /* T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL */
+static int hf_nr_rrc_rateMatchingResrcSetSemi_Static = -1; /* T_rateMatchingResrcSetSemi_Static */
+static int hf_nr_rrc_rateMatchingResrcSetDynamic = -1; /* T_rateMatchingResrcSetDynamic */
+static int hf_nr_rrc_rateMatchingLTE_CRS = -1; /* T_rateMatchingLTE_CRS */
+static int hf_nr_rrc_bwp_SwitchingDelay = -1; /* T_bwp_SwitchingDelay */
+static int hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols = -1; /* T_twoPUCCH_F0_2_ConsecSymbols */
+static int hf_nr_rrc_twoDifferentTPC_Loop_PUSCH = -1; /* T_twoDifferentTPC_Loop_PUSCH */
+static int hf_nr_rrc_twoDifferentTPC_Loop_PUCCH = -1; /* T_twoDifferentTPC_Loop_PUCCH */
+static int hf_nr_rrc_oneFL_DMRS_TwoAdditionalDMRS = -1; /* BIT_STRING_SIZE_2 */
+static int hf_nr_rrc_twoFL_DMRS = -1; /* BIT_STRING_SIZE_2 */
+static int hf_nr_rrc_twoFL_DMRS_TwoAdditionalDMRS = -1; /* BIT_STRING_SIZE_2 */
+static int hf_nr_rrc_oneFL_DMRS_ThreeAdditionalDMRS = -1; /* BIT_STRING_SIZE_2 */
+static int hf_nr_rrc_supportedDMRS_TypeDL = -1; /* T_supportedDMRS_TypeDL */
+static int hf_nr_rrc_supportedDMRS_TypeUL = -1; /* T_supportedDMRS_TypeUL */
+static int hf_nr_rrc_semiOpenLoopCSI = -1; /* T_semiOpenLoopCSI */
+static int hf_nr_rrc_csi_ReportWithoutPMI = -1; /* T_csi_ReportWithoutPMI */
+static int hf_nr_rrc_csi_ReportWithCRI = -1; /* T_csi_ReportWithCRI */
+static int hf_nr_rrc_csi_ReportWithoutCQI = -1; /* T_csi_ReportWithoutCQI */
+static int hf_nr_rrc_onePortsPTRS = -1; /* BIT_STRING_SIZE_2 */
+static int hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols_01 = -1; /* T_twoPUCCH_F0_2_ConsecSymbols_01 */
+static int hf_nr_rrc_pucch_F2_WithFH = -1; /* T_pucch_F2_WithFH */
+static int hf_nr_rrc_pucch_F3_WithFH = -1; /* T_pucch_F3_WithFH */
+static int hf_nr_rrc_pucch_F4_WithFH = -1; /* T_pucch_F4_WithFH */
+static int hf_nr_rrc_freqHoppingPUCCH_F0_2 = -1; /* T_freqHoppingPUCCH_F0_2 */
+static int hf_nr_rrc_freqHoppingPUCCH_F1_3_4 = -1; /* T_freqHoppingPUCCH_F1_3_4 */
+static int hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH = -1; /* T_mux_SR_HARQ_ACK_CSI_PUCCH */
+static int hf_nr_rrc_uci_CodeBlockSegmentation = -1; /* T_uci_CodeBlockSegmentation */
+static int hf_nr_rrc_onePUCCH_LongAndShortFormat = -1; /* T_onePUCCH_LongAndShortFormat */
+static int hf_nr_rrc_twoPUCCH_AnyOthersInSlot = -1; /* T_twoPUCCH_AnyOthersInSlot */
+static int hf_nr_rrc_intraSlotFreqHopping_PUSCH = -1; /* T_intraSlotFreqHopping_PUSCH */
+static int hf_nr_rrc_pusch_LBRM = -1; /* T_pusch_LBRM */
+static int hf_nr_rrc_pdcch_BlindDetectionCA = -1; /* T_pdcch_BlindDetectionCA */
+static int hf_nr_rrc_tpc_PUSCH_RNTI_01 = -1; /* T_tpc_PUSCH_RNTI */
+static int hf_nr_rrc_tpc_PUCCH_RNTI_01 = -1; /* T_tpc_PUCCH_RNTI */
+static int hf_nr_rrc_tpc_SRS_RNTI_01 = -1; /* T_tpc_SRS_RNTI */
+static int hf_nr_rrc_absoluteTPC_Command = -1; /* T_absoluteTPC_Command */
+static int hf_nr_rrc_twoDifferentTPC_Loop_PUSCH_01 = -1; /* T_twoDifferentTPC_Loop_PUSCH_01 */
+static int hf_nr_rrc_twoDifferentTPC_Loop_PUCCH_01 = -1; /* T_twoDifferentTPC_Loop_PUCCH_01 */
+static int hf_nr_rrc_pusch_HalfPi_BPSK = -1; /* T_pusch_HalfPi_BPSK */
+static int hf_nr_rrc_pucch_F3_4_HalfPi_BPSK = -1; /* T_pucch_F3_4_HalfPi_BPSK */
+static int hf_nr_rrc_oneSymbolGP_TDD = -1; /* T_oneSymbolGP_TDD */
+static int hf_nr_rrc_almostContiguousCP_OFDM_UL = -1; /* T_almostContiguousCP_OFDM_UL */
+static int hf_nr_rrc_pdcchMonitoringSingleOccasion = -1; /* T_pdcchMonitoringSingleOccasion */
+static int hf_nr_rrc_scs_60kHz_03 = -1; /* T_scs_60kHz_03 */
+static int hf_nr_rrc_pdsch_256QAM_FR1 = -1; /* T_pdsch_256QAM_FR1 */
+static int hf_nr_rrc_calibrationGapPA = -1; /* T_calibrationGapPA */
static int hf_nr_rrc_supportedBandListNR = -1; /* SupportedBandListNR */
-static int hf_nr_rrc_intraBandAsyncFDD = -1; /* T_intraBandAsyncFDD */
static int hf_nr_rrc_SupportedBandListNR_item = -1; /* BandNR */
-static int hf_nr_rrc_SupportedBasebandProcessingCombination_item = -1; /* BasebandProcessingCombination */
-static int hf_nr_rrc_basebandParametersPerBand = -1; /* SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBand */
-static int hf_nr_rrc_basebandParametersPerBand_item = -1; /* BasebandParametersPerBand */
-static int hf_nr_rrc_ca_BandwidthClassDL = -1; /* CA_BandwidthClass */
-static int hf_nr_rrc_ca_BandwidthClassUL = -1; /* CA_BandwidthClass */
-static int hf_nr_rrc_basebandParametersPerCC = -1; /* SEQUENCE_SIZE_1_maxServCell_OF_BasebandParametersPerCC */
-static int hf_nr_rrc_basebandParametersPerCC_item = -1; /* BasebandParametersPerCC */
-static int hf_nr_rrc_supportedBWPerCC = -1; /* BWPerCC */
-static int hf_nr_rrc_supportedMIMO_CapabilityDL = -1; /* MIMO_Capability */
-static int hf_nr_rrc_supportedMIMO_CapabilityUL = -1; /* MIMO_Capability */
-static int hf_nr_rrc_modulationOrder = -1; /* ModulationOrder */
-static int hf_nr_rrc_subCarrierSpacing = -1; /* SubCarrierSpacing */
-static int hf_nr_rrc_bandNR = -1; /* FreqBandIndicatorNR */
-static int hf_nr_rrc_dataRateDRB_IP = -1; /* T_dataRateDRB_IP */
+static int hf_nr_rrc_modifiedMPR_Behaviour = -1; /* BIT_STRING_SIZE_8 */
+static int hf_nr_rrc_maxChannelBW_PerCC = -1; /* T_maxChannelBW_PerCC */
+static int hf_nr_rrc_mimo_ParametersPerBand = -1; /* MIMO_ParametersPerBand */
+static int hf_nr_rrc_extendedCP = -1; /* T_extendedCP */
+static int hf_nr_rrc_phaseCoherenceUL = -1; /* T_phaseCoherenceUL */
+static int hf_nr_rrc_scellWithoutSSB_01 = -1; /* T_scellWithoutSSB_01 */
+static int hf_nr_rrc_csi_RS_MeasSCellWithoutSSB_01 = -1; /* T_csi_RS_MeasSCellWithoutSSB_01 */
+static int hf_nr_rrc_srs_AssocCSI_RS_01 = -1; /* T_srs_AssocCSI_RS_01 */
+static int hf_nr_rrc_type1_3_CSS_01 = -1; /* T_type1_3_CSS_01 */
+static int hf_nr_rrc_multipleTCI = -1; /* T_multipleTCI */
+static int hf_nr_rrc_pdcchMonitoringAnyOccasions_01 = -1; /* T_pdcchMonitoringAnyOccasions_01 */
+static int hf_nr_rrc_ue_SpecificUL_DL_Assignment_01 = -1; /* T_ue_SpecificUL_DL_Assignment_01 */
+static int hf_nr_rrc_pdsch_DifferentTB_PerSlot_01 = -1; /* T_pdsch_DifferentTB_PerSlot_01 */
+static int hf_nr_rrc_scs_15kHz_02 = -1; /* T_scs_15kHz_02 */
+static int hf_nr_rrc_scs_30kHz_02 = -1; /* T_scs_30kHz_02 */
+static int hf_nr_rrc_scs_60kHz_04 = -1; /* T_scs_60kHz_04 */
+static int hf_nr_rrc_scs_120kHz_02 = -1; /* T_scs_120kHz_02 */
+static int hf_nr_rrc_pusch_DifferentTB_PerSlot_01 = -1; /* T_pusch_DifferentTB_PerSlot_01 */
+static int hf_nr_rrc_scs_15kHz_03 = -1; /* T_scs_15kHz_03 */
+static int hf_nr_rrc_scs_30kHz_03 = -1; /* T_scs_30kHz_03 */
+static int hf_nr_rrc_scs_60kHz_05 = -1; /* T_scs_60kHz_05 */
+static int hf_nr_rrc_scs_120kHz_03 = -1; /* T_scs_120kHz_03 */
+static int hf_nr_rrc_bwp_SameNumerology = -1; /* T_bwp_SameNumerology */
+static int hf_nr_rrc_bwp_DiffNumerology = -1; /* T_bwp_DiffNumerology */
+static int hf_nr_rrc_twoPUCCH_Group_01 = -1; /* T_twoPUCCH_Group_01 */
+static int hf_nr_rrc_diffNumerologyAcrossPUCCH_Group_01 = -1; /* T_diffNumerologyAcrossPUCCH_Group_01 */
+static int hf_nr_rrc_diffNumerologyWithinPUCCH_Group_01 = -1; /* T_diffNumerologyWithinPUCCH_Group_01 */
+static int hf_nr_rrc_crossCarrierScheduling_02 = -1; /* T_crossCarrierScheduling_02 */
+static int hf_nr_rrc_supportedNumberTAG_01 = -1; /* T_supportedNumberTAG_01 */
+static int hf_nr_rrc_simultaneousTxSUL_NonSUL_01 = -1; /* T_simultaneousTxSUL_NonSUL_01 */
+static int hf_nr_rrc_searchSpaceSharingCA_DL_01 = -1; /* T_searchSpaceSharingCA_DL_01 */
+static int hf_nr_rrc_searchSpaceSharingCA_UL_01 = -1; /* T_searchSpaceSharingCA_UL_01 */
+static int hf_nr_rrc_pdsch_256QAM_FR2 = -1; /* T_pdsch_256QAM_FR2 */
+static int hf_nr_rrc_pusch_256QAM = -1; /* T_pusch_256QAM */
+static int hf_nr_rrc_timeDurationForQCL_01 = -1; /* T_timeDurationForQCL_01 */
+static int hf_nr_rrc_scs_60kHz_06 = -1; /* T_scs_60kHz_06 */
+static int hf_nr_rrc_sch_120kHz_01 = -1; /* T_sch_120kHz_01 */
+static int hf_nr_rrc_maxNumberConfiguredTCIstates = -1; /* T_maxNumberConfiguredTCIstates */
+static int hf_nr_rrc_maxNumberActiveTCI_PerCC = -1; /* T_maxNumberActiveTCI_PerCC */
+static int hf_nr_rrc_pusch_TransCoherence = -1; /* T_pusch_TransCoherence */
+static int hf_nr_rrc_beamCorrespondence = -1; /* T_beamCorrespondence */
+static int hf_nr_rrc_periodicBeamReport = -1; /* T_periodicBeamReport */
+static int hf_nr_rrc_aperiodicBeamReport = -1; /* T_aperiodicBeamReport */
+static int hf_nr_rrc_sp_BeamReportPUCCH = -1; /* T_sp_BeamReportPUCCH */
+static int hf_nr_rrc_sp_BeamReportPUSCH = -1; /* T_sp_BeamReportPUSCH */
+static int hf_nr_rrc_beamManagementSSB_CSI_RS = -1; /* BeamManagementSSB_CSI_RS */
+static int hf_nr_rrc_maxNumberRxBeam = -1; /* INTEGER_2_8 */
+static int hf_nr_rrc_maxNumberRxTxBeamSwitchDL = -1; /* T_maxNumberRxTxBeamSwitchDL */
+static int hf_nr_rrc_scs_15kHz_04 = -1; /* T_scs_15kHz_04 */
+static int hf_nr_rrc_scs_30kHz_04 = -1; /* T_scs_30kHz_04 */
+static int hf_nr_rrc_scs_60kHz_07 = -1; /* T_scs_60kHz_07 */
+static int hf_nr_rrc_scs_120kHz_04 = -1; /* T_scs_120kHz_04 */
+static int hf_nr_rrc_scs_240kHz = -1; /* T_scs_240kHz */
+static int hf_nr_rrc_maxNumberNonGroupBeamReporting = -1; /* T_maxNumberNonGroupBeamReporting */
+static int hf_nr_rrc_groupBeamReporting = -1; /* T_groupBeamReporting */
+static int hf_nr_rrc_uplinkBeamManagement = -1; /* T_uplinkBeamManagement */
+static int hf_nr_rrc_maxNumberSRS_ResourcePerSet = -1; /* T_maxNumberSRS_ResourcePerSet */
+static int hf_nr_rrc_maxNumberSRS_ResourceSet = -1; /* INTEGER_1_8 */
+static int hf_nr_rrc_maxNumberCSI_RS_BFR = -1; /* INTEGER_1_64 */
+static int hf_nr_rrc_maxNumberSSB_BFR = -1; /* INTEGER_1_64 */
+static int hf_nr_rrc_maxNumberCSI_RS_SSB_BFR = -1; /* INTEGER_1_256 */
+static int hf_nr_rrc_twoPortsPTRS = -1; /* BIT_STRING_SIZE_2 */
+static int hf_nr_rrc_maxNumberSimultaneousSRS_PerCC = -1; /* INTEGER_1_4 */
+static int hf_nr_rrc_lowLatencyCSI_Feedback_01 = -1; /* T_lowLatencyCSI_Feedback_01 */
+static int hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx = -1; /* T_maxNumberSSB_CSI_RS_ResourceOneTx */
+static int hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceTwoTx = -1; /* T_maxNumberSSB_CSI_RS_ResourceTwoTx */
+static int hf_nr_rrc_supportedCSI_RS_Density = -1; /* T_supportedCSI_RS_Density */
+static int hf_nr_rrc_maxNumberAperiodicSRS_PerBWP = -1; /* T_maxNumberAperiodicSRS_PerBWP */
+static int hf_nr_rrc_maxNumberAperiodicSRS_PerBWP_PerSlot = -1; /* INTEGER_1_6 */
+static int hf_nr_rrc_maxNumberPeriodicSRS_PerBWP = -1; /* T_maxNumberPeriodicSRS_PerBWP */
+static int hf_nr_rrc_maxNumberPeriodicSRS_PerBWP_PerSlot = -1; /* INTEGER_1_6 */
+static int hf_nr_rrc_maxNumberSemiPersitentSRS_PerBWP = -1; /* T_maxNumberSemiPersitentSRS_PerBWP */
+static int hf_nr_rrc_maxNumberSP_SRS_PerBWP_PerSlot = -1; /* INTEGER_0_6 */
+static int hf_nr_rrc_maxNumberSRS_Ports_PerResource = -1; /* T_maxNumberSRS_Ports_PerResource */
+static int hf_nr_rrc_supportedSRS_TxPortSwitch = -1; /* T_supportedSRS_TxPortSwitch */
+static int hf_nr_rrc_txSwitchImpactToRx = -1; /* T_txSwitchImpactToRx */
static int hf_nr_rrc_supportedROHC_Profiles = -1; /* T_supportedROHC_Profiles */
static int hf_nr_rrc_profile0x0000 = -1; /* BOOLEAN */
static int hf_nr_rrc_maxNumberROHC_ContextSessions = -1; /* T_maxNumberROHC_ContextSessions */
@@ -1028,19 +1974,25 @@ static int hf_nr_rrc_uplinkOnlyROHC_Profiles = -1; /* T_uplinkOnlyROHC_Profiles
static int hf_nr_rrc_continueROHC_Context = -1; /* T_continueROHC_Context */
static int hf_nr_rrc_outOfOrderDelivery_01 = -1; /* T_outOfOrderDelivery */
static int hf_nr_rrc_shortSN = -1; /* T_shortSN */
-static int hf_nr_rrc_volteOverNR_PDCP = -1; /* T_volteOverNR_PDCP */
-static int hf_nr_rrc_amWithShortSN = -1; /* T_amWithShortSN */
-static int hf_nr_rrc_umWithShortSN = -1; /* T_umWithShortSN */
-static int hf_nr_rrc_umWIthLongSN = -1; /* T_umWIthLongSN */
+static int hf_nr_rrc_am_WithShortSN = -1; /* T_am_WithShortSN */
+static int hf_nr_rrc_um_WithShortSN = -1; /* T_um_WithShortSN */
+static int hf_nr_rrc_um_WIthLongSN = -1; /* T_um_WIthLongSN */
+static int hf_nr_rrc_mac_ParametersCommon = -1; /* MAC_ParametersCommon */
static int hf_nr_rrc_lcp_Restriction = -1; /* T_lcp_Restriction */
+static int hf_nr_rrc_pucch_SpatialRelInfoMAC_CE = -1; /* T_pucch_SpatialRelInfoMAC_CE */
static int hf_nr_rrc_skipUplinkTxDynamic_01 = -1; /* T_skipUplinkTxDynamic */
-static int hf_nr_rrc_logicalChannelSR_DelayTimer = -1; /* T_logicalChannelSR_DelayTimer */
+static int hf_nr_rrc_logicalChannelSR_DelayTimer_01 = -1; /* T_logicalChannelSR_DelayTimer_01 */
static int hf_nr_rrc_longDRX_Cycle = -1; /* T_longDRX_Cycle */
static int hf_nr_rrc_shortDRX_Cycle = -1; /* T_shortDRX_Cycle */
-static int hf_nr_rrc_numberOfSR_Configurations = -1; /* T_numberOfSR_Configurations */
-static int hf_nr_rrc_numberOfConfiguredGrantConfigurations = -1; /* T_numberOfConfiguredGrantConfigurations */
-static int hf_nr_rrc_start = -1; /* PhysCellId */
-static int hf_nr_rrc_range = -1; /* T_range */
+static int hf_nr_rrc_multipleSR_Configurations = -1; /* T_multipleSR_Configurations */
+static int hf_nr_rrc_multipleConfiguredGrantConfigurations = -1; /* T_multipleConfiguredGrantConfigurations */
+static int hf_nr_rrc_intraAndInterF_MeasAndReport = -1; /* T_intraAndInterF_MeasAndReport */
+static int hf_nr_rrc_eventA_MeasAndReport = -1; /* T_eventA_MeasAndReport */
+static int hf_nr_rrc_ss_SINR_Meas = -1; /* T_ss_SINR_Meas */
+static int hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB = -1; /* T_csi_RSRP_AndRSRQ_MeasWithSSB */
+static int hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB = -1; /* T_csi_RSRP_AndRSRQ_MeasWithoutSSB */
+static int hf_nr_rrc_csi_SINR_Meas = -1; /* T_csi_SINR_Meas */
+static int hf_nr_rrc_csi_RS_RLM = -1; /* T_csi_RS_RLM */
/*--- End of included file: packet-nr-rrc-hf.c ---*/
#line 40 "./asn1/nr-rrc/packet-nr-rrc-template.c"
@@ -1050,23 +2002,31 @@ static gint ett_nr_rrc = -1;
/*--- Included file: packet-nr-rrc-ett.c ---*/
#line 1 "./asn1/nr-rrc/packet-nr-rrc-ett.c"
-static gint ett_nr_rrc_SCG_ConfigInfo = -1;
+static gint ett_nr_rrc_NR_FreqInfo = -1;
+static gint ett_nr_rrc_CG_ConfigInfo = -1;
static gint ett_nr_rrc_T_criticalExtensions = -1;
static gint ett_nr_rrc_T_c1 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture = -1;
-static gint ett_nr_rrc_SCG_ConfigInfo_r15_IEs = -1;
+static gint ett_nr_rrc_CG_ConfigInfo_IEs = -1;
+static gint ett_nr_rrc_T_scgFailureInfo = -1;
static gint ett_nr_rrc_T_nonCriticalExtension = -1;
static gint ett_nr_rrc_ConfigRestrictInfoSCG = -1;
-static gint ett_nr_rrc_T_restrictedBasebandCombinationNR_NR = -1;
+static gint ett_nr_rrc_T_powerCoordination_FR1 = -1;
+static gint ett_nr_rrc_T_servCellIndexRangeSCG = -1;
+static gint ett_nr_rrc_BandCombinationIndexList = -1;
+static gint ett_nr_rrc_BPC_IndexList = -1;
static gint ett_nr_rrc_DRX_Info = -1;
+static gint ett_nr_rrc_T_drx_LongCycleStartOffset = -1;
+static gint ett_nr_rrc_T_shortDRX = -1;
+static gint ett_nr_rrc_MeasConfigMN = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo = -1;
static gint ett_nr_rrc_CandidateCellInfoList = -1;
static gint ett_nr_rrc_CandidateCellInfo = -1;
static gint ett_nr_rrc_T_cellIdentification = -1;
-static gint ett_nr_rrc_T_measResultCell = -1;
-static gint ett_nr_rrc_CandidateRS_IndexInfoList = -1;
-static gint ett_nr_rrc_CandidateRS_IndexInfo = -1;
-static gint ett_nr_rrc_T_measResultSSB = -1;
-static gint ett_nr_rrc_MeasResultSSTD = -1;
+static gint ett_nr_rrc_CandidateRS_IndexInfoListSSB = -1;
+static gint ett_nr_rrc_CandidateRS_IndexInfoSSB = -1;
+static gint ett_nr_rrc_CandidateRS_IndexInfoListCSI_RS = -1;
+static gint ett_nr_rrc_CandidateRS_IndexInfoCSI_RS = -1;
static gint ett_nr_rrc_BCCH_BCH_Message = -1;
static gint ett_nr_rrc_BCCH_BCH_MessageType = -1;
static gint ett_nr_rrc_T_messageClassExtension = -1;
@@ -1083,81 +2043,200 @@ static gint ett_nr_rrc_MeasurementReport = -1;
static gint ett_nr_rrc_T_criticalExtensions_01 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_01 = -1;
static gint ett_nr_rrc_MeasurementReport_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_01 = -1;
static gint ett_nr_rrc_RRCReconfiguration = -1;
static gint ett_nr_rrc_T_criticalExtensions_02 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_02 = -1;
static gint ett_nr_rrc_RRCReconfiguration_IEs = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSCellGroups_OF_CellGroupConfig = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSCellGroups_OF_CellGroupId = -1;
-static gint ett_nr_rrc_T_nonCriticalExtension_01 = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_02 = -1;
static gint ett_nr_rrc_RRCReconfigurationComplete = -1;
static gint ett_nr_rrc_T_criticalExtensions_03 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_03 = -1;
static gint ett_nr_rrc_RRCReconfigurationComplete_IEs = -1;
-static gint ett_nr_rrc_BandwidthPart = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_03 = -1;
+static gint ett_nr_rrc_SIB1 = -1;
+static gint ett_nr_rrc_T_ssb_PositionsInBurst = -1;
+static gint ett_nr_rrc_T_supplementaryUplink = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_04 = -1;
+static gint ett_nr_rrc_BWP = -1;
+static gint ett_nr_rrc_BWP_Uplink = -1;
+static gint ett_nr_rrc_BWP_UplinkCommon = -1;
+static gint ett_nr_rrc_T_rach_ConfigCommon = -1;
+static gint ett_nr_rrc_T_pusch_ConfigCommon = -1;
+static gint ett_nr_rrc_T_pucch_ConfigCommon = -1;
+static gint ett_nr_rrc_BWP_UplinkDedicated = -1;
+static gint ett_nr_rrc_T_pucch_Config = -1;
+static gint ett_nr_rrc_T_pusch_Config = -1;
+static gint ett_nr_rrc_T_configuredGrantConfig = -1;
+static gint ett_nr_rrc_T_srs_Config = -1;
+static gint ett_nr_rrc_T_beamFailureRecoveryConfig = -1;
+static gint ett_nr_rrc_BWP_Downlink = -1;
+static gint ett_nr_rrc_BWP_DownlinkCommon = -1;
+static gint ett_nr_rrc_T_pdcch_ConfigCommon = -1;
+static gint ett_nr_rrc_T_pdsch_ConfigCommon = -1;
+static gint ett_nr_rrc_BWP_DownlinkDedicated = -1;
+static gint ett_nr_rrc_T_pdcch_Config = -1;
+static gint ett_nr_rrc_T_pdsch_Config = -1;
+static gint ett_nr_rrc_T_sps_Config = -1;
+static gint ett_nr_rrc_T_radioLinkMonitoringConfig = -1;
+static gint ett_nr_rrc_BeamFailureRecoveryConfig = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR = -1;
+static gint ett_nr_rrc_PRACH_ResourceDedicatedBFR = -1;
+static gint ett_nr_rrc_BFR_SSB_Resource = -1;
+static gint ett_nr_rrc_BFR_CSIRS_Resource = -1;
static gint ett_nr_rrc_CellGroupConfig = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxLCH_OF_LCH_Config = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxLCH_OF_LogicalChannelIdentity = -1;
-static gint ett_nr_rrc_LCH_Config = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_Bearer_Config = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex = -1;
+static gint ett_nr_rrc_RLC_Bearer_Config = -1;
+static gint ett_nr_rrc_T_servedRadioBearer = -1;
static gint ett_nr_rrc_PhysicalCellGroupConfig = -1;
static gint ett_nr_rrc_SpCellConfig = -1;
-static gint ett_nr_rrc_T_reconfigurationWithSync = -1;
-static gint ett_nr_rrc_SCellToReleaseList = -1;
-static gint ett_nr_rrc_SCellToAddModList = -1;
+static gint ett_nr_rrc_T_rlf_TimersAndConstants = -1;
+static gint ett_nr_rrc_ReconfigurationWithSync = -1;
+static gint ett_nr_rrc_T_rach_ConfigDedicated = -1;
static gint ett_nr_rrc_SCellConfig = -1;
-static gint ett_nr_rrc_CellIndexList = -1;
+static gint ett_nr_rrc_CodebookConfig = -1;
+static gint ett_nr_rrc_T_codebookType = -1;
+static gint ett_nr_rrc_T_type1 = -1;
+static gint ett_nr_rrc_T_subType = -1;
+static gint ett_nr_rrc_T_typeI_SinglePanel = -1;
+static gint ett_nr_rrc_T_nrOfAntennaPorts = -1;
+static gint ett_nr_rrc_T_two = -1;
+static gint ett_nr_rrc_T_moreThanTwo = -1;
+static gint ett_nr_rrc_T_n1_n2 = -1;
+static gint ett_nr_rrc_T_typeI_MultiPanel = -1;
+static gint ett_nr_rrc_T_ng_n1_n2 = -1;
+static gint ett_nr_rrc_T_type2 = -1;
+static gint ett_nr_rrc_T_subType_01 = -1;
+static gint ett_nr_rrc_T_typeII = -1;
+static gint ett_nr_rrc_T_n1_n2_codebookSubsetRestriction = -1;
+static gint ett_nr_rrc_T_typeII_PortSelection = -1;
+static gint ett_nr_rrc_ConfiguredGrantConfig = -1;
+static gint ett_nr_rrc_T_uci_OnPUSCH = -1;
+static gint ett_nr_rrc_T_rrc_ConfiguredUplinkGrant = -1;
+static gint ett_nr_rrc_CG_UCI_OnPUSCH = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets = -1;
+static gint ett_nr_rrc_ControlResourceSet = -1;
+static gint ett_nr_rrc_T_cce_REG_MappingType = -1;
+static gint ett_nr_rrc_T_interleaved = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId = -1;
static gint ett_nr_rrc_CrossCarrierSchedulingConfig = -1;
static gint ett_nr_rrc_T_schedulingCellInfo = -1;
static gint ett_nr_rrc_T_own = -1;
static gint ett_nr_rrc_T_other = -1;
+static gint ett_nr_rrc_CSI_AperiodicTriggerStateList = -1;
+static gint ett_nr_rrc_CSI_AperiodicTriggerState = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo = -1;
+static gint ett_nr_rrc_CSI_AssociatedReportConfigInfo = -1;
+static gint ett_nr_rrc_T_resourcesForChannel = -1;
+static gint ett_nr_rrc_T_nzp_CSI_RS = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId = -1;
+static gint ett_nr_rrc_CSI_FrequencyOccupation = -1;
+static gint ett_nr_rrc_CSI_IM_Resource = -1;
+static gint ett_nr_rrc_T_csi_IM_ResourceElementPattern = -1;
+static gint ett_nr_rrc_T_pattern0 = -1;
+static gint ett_nr_rrc_T_pattern1 = -1;
+static gint ett_nr_rrc_CSI_IM_ResourceSet = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId = -1;
static gint ett_nr_rrc_CSI_MeasConfig = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_Reports_OF_CSI_ReportConfig = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_MeasId_OF_CSI_MeasIdToAddMod = -1;
-static gint ett_nr_rrc_T_reportTrigger = -1;
-static gint ett_nr_rrc_CSI_ResourceConfig = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceSets_OF_CSI_ResourceSet = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSSB_Resources_1_OF_CSI_SSB_Resource = -1;
-static gint ett_nr_rrc_T_resourceType = -1;
-static gint ett_nr_rrc_CSI_ResourceSet = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_Resource = -1;
-static gint ett_nr_rrc_NZP_CSI_RS_Resource = -1;
-static gint ett_nr_rrc_T_csi_RS_timeConfig = -1;
-static gint ett_nr_rrc_CSI_SSB_Resource = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId = -1;
+static gint ett_nr_rrc_T_aperiodicTriggerStateList = -1;
+static gint ett_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList = -1;
static gint ett_nr_rrc_CSI_ReportConfig = -1;
static gint ett_nr_rrc_T_reportConfigType = -1;
static gint ett_nr_rrc_T_periodic = -1;
-static gint ett_nr_rrc_T_reportSlotConfig = -1;
-static gint ett_nr_rrc_T_semiPersistent = -1;
-static gint ett_nr_rrc_T_reportSlotConfig_01 = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource = -1;
+static gint ett_nr_rrc_T_semiPersistentOnPUCCH = -1;
+static gint ett_nr_rrc_T_semiPersistentOnPUSCH = -1;
+static gint ett_nr_rrc_T_reportSlotOffsetList = -1;
static gint ett_nr_rrc_T_aperiodic = -1;
+static gint ett_nr_rrc_T_reportSlotOffsetList_01 = -1;
static gint ett_nr_rrc_T_reportQuantity = -1;
-static gint ett_nr_rrc_T_cRI_RI_i1_CQI = -1;
+static gint ett_nr_rrc_T_cri_RI_i1_CQI = -1;
static gint ett_nr_rrc_T_reportFreqConfiguration = -1;
+static gint ett_nr_rrc_T_csi_ReportingBand = -1;
static gint ett_nr_rrc_T_groupBasedBeamReporting = -1;
-static gint ett_nr_rrc_T_enabled = -1;
static gint ett_nr_rrc_T_disabled = -1;
-static gint ett_nr_rrc_CodebookConfig = -1;
-static gint ett_nr_rrc_T_codebookType = -1;
-static gint ett_nr_rrc_T_type1 = -1;
-static gint ett_nr_rrc_T_codebookSubsetRestrictionType1 = -1;
-static gint ett_nr_rrc_T_ri_Restriction = -1;
-static gint ett_nr_rrc_T_type2 = -1;
-static gint ett_nr_rrc_T_ri_Restriction_01 = -1;
-static gint ett_nr_rrc_CSI_MeasIdToAddMod = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks = -1;
+static gint ett_nr_rrc_CSI_ReportPeriodicityAndOffset = -1;
+static gint ett_nr_rrc_PUCCH_CSI_Resource = -1;
+static gint ett_nr_rrc_PortIndexFor8Ranks = -1;
+static gint ett_nr_rrc_T_portIndex8 = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PortIndex8 = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_PortIndex8 = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_PortIndex8 = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_5_OF_PortIndex8 = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_6_OF_PortIndex8 = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_7_OF_PortIndex8 = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_8_OF_PortIndex8 = -1;
+static gint ett_nr_rrc_T_portIndex4 = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PortIndex4 = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_PortIndex4 = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_PortIndex4 = -1;
+static gint ett_nr_rrc_T_portIndex2 = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PortIndex2 = -1;
+static gint ett_nr_rrc_CSI_ResourceConfig = -1;
+static gint ett_nr_rrc_T_csi_RS_ResourceSetList = -1;
+static gint ett_nr_rrc_T_nzp_CSI_RS_SSB = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId = -1;
+static gint ett_nr_rrc_CSI_ResourcePeriodicityAndOffset = -1;
+static gint ett_nr_rrc_CSI_RS_ResourceMapping = -1;
+static gint ett_nr_rrc_T_frequencyDomainAllocation = -1;
+static gint ett_nr_rrc_T_density = -1;
+static gint ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList = -1;
+static gint ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState = -1;
+static gint ett_nr_rrc_CSI_SSB_ResourceSet = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index = -1;
+static gint ett_nr_rrc_DMRS_DownlinkConfig = -1;
+static gint ett_nr_rrc_T_phaseTrackingRS = -1;
+static gint ett_nr_rrc_DMRS_UplinkConfig = -1;
+static gint ett_nr_rrc_T_phaseTrackingRS_01 = -1;
+static gint ett_nr_rrc_T_transformPrecoding = -1;
+static gint ett_nr_rrc_T_disabled_01 = -1;
+static gint ett_nr_rrc_T_enabled = -1;
+static gint ett_nr_rrc_DownlinkPreemption = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell = -1;
+static gint ett_nr_rrc_INT_ConfigurationPerServingCell = -1;
+static gint ett_nr_rrc_EUTRA_MBSFN_SubframeConfigList = -1;
+static gint ett_nr_rrc_EUTRA_MBSFN_SubframeConfig = -1;
+static gint ett_nr_rrc_T_subframeAllocation = -1;
+static gint ett_nr_rrc_T_subframeAllocation_v1430 = -1;
+static gint ett_nr_rrc_FrequencyInfoDL = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier = -1;
static gint ett_nr_rrc_FrequencyInfoUL = -1;
static gint ett_nr_rrc_LogicalChannelConfig = -1;
static gint ett_nr_rrc_T_ul_SpecificParameters = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing = -1;
static gint ett_nr_rrc_MAC_CellGroupConfig = -1;
+static gint ett_nr_rrc_T_drx_Config = -1;
+static gint ett_nr_rrc_T_phr_Config = -1;
+static gint ett_nr_rrc_T_cs_RNTI = -1;
static gint ett_nr_rrc_DRX_Config = -1;
-static gint ett_nr_rrc_T_setup = -1;
-static gint ett_nr_rrc_T_drx_LongCycleStartOffset = -1;
-static gint ett_nr_rrc_T_shortDRX = -1;
+static gint ett_nr_rrc_T_drx_onDurationTimer = -1;
+static gint ett_nr_rrc_T_drx_LongCycleStartOffset_01 = -1;
+static gint ett_nr_rrc_T_shortDRX_01 = -1;
static gint ett_nr_rrc_PHR_Config = -1;
-static gint ett_nr_rrc_T_setup_01 = -1;
static gint ett_nr_rrc_TAG_Config = -1;
-static gint ett_nr_rrc_TAG_ToReleaseList = -1;
-static gint ett_nr_rrc_TAG_ToAddModList = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_ToAddMod = -1;
static gint ett_nr_rrc_TAG_ToAddMod = -1;
static gint ett_nr_rrc_BSR_Config = -1;
static gint ett_nr_rrc_MeasConfig = -1;
@@ -1165,26 +2244,33 @@ static gint ett_nr_rrc_T_s_MeasureConfig = -1;
static gint ett_nr_rrc_MeasObjectToRemoveList = -1;
static gint ett_nr_rrc_MeasIdToRemoveList = -1;
static gint ett_nr_rrc_ReportConfigToRemoveList = -1;
+static gint ett_nr_rrc_MeasGapConfig = -1;
+static gint ett_nr_rrc_T_gapFR2 = -1;
+static gint ett_nr_rrc_GapConfig = -1;
static gint ett_nr_rrc_MeasIdToAddModList = -1;
static gint ett_nr_rrc_MeasIdToAddMod = -1;
static gint ett_nr_rrc_MeasObjectNR = -1;
static gint ett_nr_rrc_ReferenceSignalConfig = -1;
-static gint ett_nr_rrc_T_ssbPresence = -1;
-static gint ett_nr_rrc_T_present = -1;
-static gint ett_nr_rrc_T_notPresent = -1;
-static gint ett_nr_rrc_SSB_MeasurementTimingConfiguration = -1;
+static gint ett_nr_rrc_T_csi_rs_ResourceConfigMobility = -1;
+static gint ett_nr_rrc_SSB_ConfigMobility = -1;
+static gint ett_nr_rrc_T_ssb_ToMeasure = -1;
static gint ett_nr_rrc_T_smtc1 = -1;
static gint ett_nr_rrc_T_periodicityAndOffset = -1;
-static gint ett_nr_rrc_T_ssb_ToMeasure = -1;
-static gint ett_nr_rrc_T_setup_02 = -1;
static gint ett_nr_rrc_T_smtc2 = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysicalCellId = -1;
-static gint ett_nr_rrc_CSI_RS_ResourceConfig_Mobility = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId = -1;
+static gint ett_nr_rrc_T_ss_RSSI_Measurement = -1;
+static gint ett_nr_rrc_T_measurementSlots = -1;
+static gint ett_nr_rrc_CSI_RS_ResourceConfigMobility = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility = -1;
+static gint ett_nr_rrc_CSI_RS_CellMobility = -1;
static gint ett_nr_rrc_T_csi_rs_MeasurementBW = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility = -1;
static gint ett_nr_rrc_CSI_RS_Resource_Mobility = -1;
static gint ett_nr_rrc_T_slotConfig = -1;
+static gint ett_nr_rrc_T_associatedSSB = -1;
+static gint ett_nr_rrc_T_frequencyDomainAllocation_01 = -1;
static gint ett_nr_rrc_Q_OffsetRangeList = -1;
+static gint ett_nr_rrc_SSB_ToMeasure = -1;
static gint ett_nr_rrc_ThresholdNR = -1;
static gint ett_nr_rrc_CellsToAddModList = -1;
static gint ett_nr_rrc_CellsToAddMod = -1;
@@ -1204,30 +2290,37 @@ static gint ett_nr_rrc_MeasResultNR = -1;
static gint ett_nr_rrc_T_measResult = -1;
static gint ett_nr_rrc_T_cellResults = -1;
static gint ett_nr_rrc_T_rsIndexResults = -1;
-static gint ett_nr_rrc_ResultsSSBCell = -1;
-static gint ett_nr_rrc_ResultsCSI_RSCell = -1;
-static gint ett_nr_rrc_ResultsPerSSBIndexList = -1;
-static gint ett_nr_rrc_ResultsPerSSBIndex = -1;
-static gint ett_nr_rrc_ResultsPerCSI_RSIndexList = -1;
-static gint ett_nr_rrc_ResultsPerCSI_RSIndex = -1;
+static gint ett_nr_rrc_MeasQuantityResults = -1;
+static gint ett_nr_rrc_ResultsPerSSB_IndexList = -1;
+static gint ett_nr_rrc_ResultsPerSSB_Index = -1;
+static gint ett_nr_rrc_ResultsPerCSI_RS_IndexList = -1;
+static gint ett_nr_rrc_ResultsPerCSI_RS_Index = -1;
+static gint ett_nr_rrc_MeasResultSCG_Failure = -1;
+static gint ett_nr_rrc_MeasResultServFreqList2NR = -1;
+static gint ett_nr_rrc_MeasResultServFreq2NR = -1;
+static gint ett_nr_rrc_MeasResultList2NR = -1;
+static gint ett_nr_rrc_MeasResult2NR = -1;
+static gint ett_nr_rrc_MeasResultCellListSFTD = -1;
+static gint ett_nr_rrc_MeasResultCellSFTD = -1;
+static gint ett_nr_rrc_MultiFrequencyBandListNR = -1;
+static gint ett_nr_rrc_NZP_CSI_RS_ResourceSet = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId = -1;
+static gint ett_nr_rrc_NZP_CSI_RS_Resource = -1;
+static gint ett_nr_rrc_PCI_List = -1;
+static gint ett_nr_rrc_PCI_Range = -1;
+static gint ett_nr_rrc_PCI_RangeIndexList = -1;
static gint ett_nr_rrc_PDCCH_Config = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofControlResourceSets_OF_ControlResourceSet = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofControlResourceSets_OF_ControlResourceId = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSearchSpaces_OF_SearchSpace = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSearchSpaces_OF_SearchSpaceId = -1;
-static gint ett_nr_rrc_T_timing = -1;
-static gint ett_nr_rrc_ControlResourceSet = -1;
-static gint ett_nr_rrc_SearchSpace = -1;
-static gint ett_nr_rrc_T_monitoringSlotPeriodicityAndOffset = -1;
-static gint ett_nr_rrc_T_nrofCandidates = -1;
-static gint ett_nr_rrc_T_searchSpaceType = -1;
-static gint ett_nr_rrc_T_common = -1;
-static gint ett_nr_rrc_T_ue_Specific = -1;
-static gint ett_nr_rrc_SFI_PDCCH = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CellToSFI = -1;
-static gint ett_nr_rrc_CellToSFI = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinations_OF_SlotFormatCombination = -1;
-static gint ett_nr_rrc_SlotFormatCombination = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpace = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId = -1;
+static gint ett_nr_rrc_T_downlinkPreemption = -1;
+static gint ett_nr_rrc_T_slotFormatIndicator = -1;
+static gint ett_nr_rrc_T_tpc_PUSCH = -1;
+static gint ett_nr_rrc_T_tpc_PUCCH = -1;
+static gint ett_nr_rrc_PDCCH_ConfigCommon = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_ControlResourceSet = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace = -1;
static gint ett_nr_rrc_PDCP_Config = -1;
static gint ett_nr_rrc_T_drb = -1;
static gint ett_nr_rrc_T_headerCompression = -1;
@@ -1237,54 +2330,117 @@ static gint ett_nr_rrc_T_uplinkOnlyROHC = -1;
static gint ett_nr_rrc_T_profiles_01 = -1;
static gint ett_nr_rrc_T_moreThanOneRLC = -1;
static gint ett_nr_rrc_T_primaryPath = -1;
-static gint ett_nr_rrc_T_ul_DataSplitThreshold = -1;
static gint ett_nr_rrc_PDSCH_Config = -1;
-static gint ett_nr_rrc_T_phaseTracking_RS = -1;
-static gint ett_nr_rrc_T_rateMatchResourcesPDSCH = -1;
-static gint ett_nr_rrc_T_rateMatchPatterns = -1;
+static gint ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA = -1;
+static gint ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResourceAllocation = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern = -1;
-static gint ett_nr_rrc_T_lte_CRS_ToMatchAround = -1;
-static gint ett_nr_rrc_T_setup_04 = -1;
-static gint ett_nr_rrc_Downlink_PTRS_Config = -1;
-static gint ett_nr_rrc_RateMatchPattern = -1;
-static gint ett_nr_rrc_T_periodicityAndOffset_01 = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId = -1;
+static gint ett_nr_rrc_T_prb_BundlingType = -1;
+static gint ett_nr_rrc_T_static = -1;
+static gint ett_nr_rrc_T_dynamic = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSet = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSetId = -1;
+static gint ett_nr_rrc_PDSCH_ConfigCommon = -1;
+static gint ett_nr_rrc_PDSCH_ServingCellConfig = -1;
+static gint ett_nr_rrc_T_codeBlockGroupTransmission = -1;
+static gint ett_nr_rrc_PDSCH_CodeBlockGroupTransmission = -1;
+static gint ett_nr_rrc_PDSCH_TimeDomainResourceAllocation = -1;
+static gint ett_nr_rrc_PTRS_DownlinkConfig = -1;
+static gint ett_nr_rrc_T_frequencyDensity = -1;
+static gint ett_nr_rrc_T_timeDensity = -1;
+static gint ett_nr_rrc_T_epre_RatioPort2 = -1;
+static gint ett_nr_rrc_PTRS_UplinkConfig = -1;
+static gint ett_nr_rrc_T_modeSpecificParameters = -1;
+static gint ett_nr_rrc_T_cp_OFDM = -1;
+static gint ett_nr_rrc_T_frequencyDensity_01 = -1;
+static gint ett_nr_rrc_T_timeDensity_01 = -1;
+static gint ett_nr_rrc_T_dft_S_OFDM = -1;
+static gint ett_nr_rrc_T_sampleDensity = -1;
static gint ett_nr_rrc_PUCCH_Config = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_1_OF_PUCCH_ResourceSet = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId = -1;
static gint ett_nr_rrc_T_format1 = -1;
-static gint ett_nr_rrc_T_setup_05 = -1;
static gint ett_nr_rrc_T_format2 = -1;
-static gint ett_nr_rrc_T_setup_06 = -1;
static gint ett_nr_rrc_T_format3 = -1;
-static gint ett_nr_rrc_T_setup_07 = -1;
static gint ett_nr_rrc_T_format4 = -1;
-static gint ett_nr_rrc_T_setup_08 = -1;
-static gint ett_nr_rrc_T_schedulingRequestResources = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSchedulingRequestResoruces_OF_SchedulingRequestResource_Config = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId = -1;
+static gint ett_nr_rrc_T_dl_DataToUL_ACK = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId = -1;
+static gint ett_nr_rrc_PUCCH_FormatConfig = -1;
+static gint ett_nr_rrc_PUCCH_SpatialRelationInfo = -1;
+static gint ett_nr_rrc_T_referenceSignal = -1;
static gint ett_nr_rrc_PUCCH_ResourceSet = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_8_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId = -1;
+static gint ett_nr_rrc_PUCCH_Resource = -1;
+static gint ett_nr_rrc_T_format = -1;
+static gint ett_nr_rrc_PUCCH_format0 = -1;
+static gint ett_nr_rrc_PUCCH_format1 = -1;
+static gint ett_nr_rrc_PUCCH_format2 = -1;
+static gint ett_nr_rrc_PUCCH_format3 = -1;
+static gint ett_nr_rrc_PUCCH_format4 = -1;
+static gint ett_nr_rrc_PUCCH_ConfigCommon = -1;
+static gint ett_nr_rrc_PUCCH_PowerControl = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS = -1;
+static gint ett_nr_rrc_P0_PUCCH = -1;
+static gint ett_nr_rrc_PUCCH_PathlossReferenceRS = -1;
+static gint ett_nr_rrc_T_referenceSignal_01 = -1;
+static gint ett_nr_rrc_PUCCH_TPC_CommandConfig = -1;
static gint ett_nr_rrc_PUSCH_Config = -1;
-static gint ett_nr_rrc_T_phaseTracking_RS_01 = -1;
-static gint ett_nr_rrc_T_uci_on_PUSCH = -1;
-static gint ett_nr_rrc_T_setup_09 = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets = -1;
-static gint ett_nr_rrc_Uplink_PTRS_Config = -1;
-static gint ett_nr_rrc_T_cp_OFDM = -1;
-static gint ett_nr_rrc_T_setup_10 = -1;
-static gint ett_nr_rrc_T_dft_S_OFDM = -1;
-static gint ett_nr_rrc_T_setup_11 = -1;
+static gint ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA = -1;
+static gint ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB = -1;
+static gint ett_nr_rrc_T_frequencyHoppingOffsetLists = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofUL_Allocations_OF_PUSCH_TimeDomainResourceAllocation = -1;
+static gint ett_nr_rrc_T_uci_OnPUSCH_01 = -1;
+static gint ett_nr_rrc_UCI_OnPUSCH = -1;
+static gint ett_nr_rrc_T_betaOffsets = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets = -1;
+static gint ett_nr_rrc_PUSCH_ConfigCommon = -1;
+static gint ett_nr_rrc_PUSCH_PowerControl = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId = -1;
+static gint ett_nr_rrc_P0_PUSCH_AlphaSet = -1;
+static gint ett_nr_rrc_PUSCH_PathlossReferenceRS = -1;
+static gint ett_nr_rrc_T_referenceSignal_02 = -1;
+static gint ett_nr_rrc_SRI_PUSCH_PowerControl = -1;
static gint ett_nr_rrc_BetaOffsets = -1;
+static gint ett_nr_rrc_PUSCH_ServingCellConfig = -1;
+static gint ett_nr_rrc_T_codeBlockGroupTransmission_01 = -1;
+static gint ett_nr_rrc_PUSCH_CodeBlockGroupGransmission = -1;
+static gint ett_nr_rrc_PUSCH_TimeDomainResourceAllocation = -1;
+static gint ett_nr_rrc_PUSCH_TPC_CommandConfig = -1;
static gint ett_nr_rrc_QuantityConfig = -1;
+static gint ett_nr_rrc_QuantityConfigNR_List = -1;
+static gint ett_nr_rrc_QuantityConfigNR = -1;
static gint ett_nr_rrc_QuantityConfigRS = -1;
+static gint ett_nr_rrc_FilterConfig = -1;
static gint ett_nr_rrc_RACH_ConfigCommon = -1;
+static gint ett_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB = -1;
static gint ett_nr_rrc_T_groupBconfigured = -1;
static gint ett_nr_rrc_T_prach_RootSequenceIndex = -1;
-static gint ett_nr_rrc_CBRA_SSB_ResourceList = -1;
-static gint ett_nr_rrc_CBRA_SSB_Resource = -1;
+static gint ett_nr_rrc_RACH_ConfigGeneric = -1;
static gint ett_nr_rrc_RACH_ConfigDedicated = -1;
static gint ett_nr_rrc_CFRA_Resources = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxRAssbResources_OF_CFRA_SSB_Resource = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxRAcsirsResources_OF_CFRA_CSIRS_Resource = -1;
+static gint ett_nr_rrc_T_ssb = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource = -1;
+static gint ett_nr_rrc_T_csirs = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource = -1;
static gint ett_nr_rrc_CFRA_SSB_Resource = -1;
static gint ett_nr_rrc_CFRA_CSIRS_Resource = -1;
+static gint ett_nr_rrc_T_ra_OccasionList = -1;
static gint ett_nr_rrc_RadioBearerConfig = -1;
static gint ett_nr_rrc_SRB_ToAddModList = -1;
static gint ett_nr_rrc_SRB_ToAddMod = -1;
@@ -1293,6 +2449,16 @@ static gint ett_nr_rrc_DRB_ToAddMod = -1;
static gint ett_nr_rrc_T_cnAssociation = -1;
static gint ett_nr_rrc_DRB_ToReleaseList = -1;
static gint ett_nr_rrc_SecurityConfig = -1;
+static gint ett_nr_rrc_RadioLinkMonitoringConfig = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS = -1;
+static gint ett_nr_rrc_RadioLinkMonitoringRS = -1;
+static gint ett_nr_rrc_T_detectionResource = -1;
+static gint ett_nr_rrc_RateMatchPattern = -1;
+static gint ett_nr_rrc_T_patternType = -1;
+static gint ett_nr_rrc_T_bitmaps = -1;
+static gint ett_nr_rrc_T_symbolsInResourceBlock = -1;
+static gint ett_nr_rrc_T_periodicityAndPattern = -1;
+static gint ett_nr_rrc_RateMatchPatternLTE_CRS = -1;
static gint ett_nr_rrc_ReportConfigNR = -1;
static gint ett_nr_rrc_T_reportType = -1;
static gint ett_nr_rrc_EventTriggerConfig = -1;
@@ -1324,22 +2490,45 @@ static gint ett_nr_rrc_SchedulingRequestConfig = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId = -1;
static gint ett_nr_rrc_SchedulingRequestToAddMod = -1;
+static gint ett_nr_rrc_SchedulingRequestResourceConfig = -1;
+static gint ett_nr_rrc_T_periodicityAndOffset_01 = -1;
+static gint ett_nr_rrc_SCS_SpecificCarrier = -1;
static gint ett_nr_rrc_SDAP_Config = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofQFIs_OF_QFI = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI = -1;
+static gint ett_nr_rrc_SearchSpace = -1;
+static gint ett_nr_rrc_T_monitoringSlotPeriodicityAndOffset = -1;
+static gint ett_nr_rrc_T_nrofCandidates = -1;
+static gint ett_nr_rrc_T_searchSpaceType = -1;
+static gint ett_nr_rrc_T_common = -1;
+static gint ett_nr_rrc_T_dci_Format0_0_AndFormat1_0 = -1;
+static gint ett_nr_rrc_T_dci_Format2_0 = -1;
+static gint ett_nr_rrc_T_nrofCandidates_SFI = -1;
+static gint ett_nr_rrc_T_dci_Format2_1 = -1;
+static gint ett_nr_rrc_T_dci_Format2_2 = -1;
+static gint ett_nr_rrc_T_dci_Format2_3 = -1;
+static gint ett_nr_rrc_T_ue_Specific = -1;
static gint ett_nr_rrc_SecurityAlgorithmConfig = -1;
+static gint ett_nr_rrc_ServingCellConfig = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink = -1;
+static gint ett_nr_rrc_T_pdsch_ServingCellConfig = -1;
+static gint ett_nr_rrc_T_csi_MeasConfig = -1;
+static gint ett_nr_rrc_T_carrierSwitching = -1;
+static gint ett_nr_rrc_UplinkConfig = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink = -1;
+static gint ett_nr_rrc_T_pusch_ServingCellConfig = -1;
static gint ett_nr_rrc_ServingCellConfigCommon = -1;
-static gint ett_nr_rrc_T_frequencyInfoDL = -1;
-static gint ett_nr_rrc_T_supplementaryUplink = -1;
-static gint ett_nr_rrc_T_ssb_PositionsInBurst = -1;
-static gint ett_nr_rrc_T_tdd_UL_DL_configurationCommon = -1;
-static gint ett_nr_rrc_ServingCellConfigDedicated = -1;
-static gint ett_nr_rrc_T_tdd_UL_DL_configurationDedicated = -1;
-static gint ett_nr_rrc_T_slotSpecificConfigurations = -1;
-static gint ett_nr_rrc_T_slotSpecificConfigurations_item = -1;
+static gint ett_nr_rrc_T_ssb_PositionsInBurst_01 = -1;
+static gint ett_nr_rrc_T_lte_CRS_ToMatchAround = -1;
+static gint ett_nr_rrc_UplinkConfigCommon = -1;
+static gint ett_nr_rrc_SlotFormatCombinationsPerCell = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination = -1;
+static gint ett_nr_rrc_SlotFormatCombination = -1;
+static gint ett_nr_rrc_T_slotFormats = -1;
+static gint ett_nr_rrc_SlotFormatIndicator = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex = -1;
static gint ett_nr_rrc_SPS_Config = -1;
-static gint ett_nr_rrc_T_uplink = -1;
-static gint ett_nr_rrc_T_rrcConfiguredUplinkGrant = -1;
-static gint ett_nr_rrc_T_setup_12 = -1;
static gint ett_nr_rrc_SRS_Config = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet = -1;
@@ -1347,53 +2536,139 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId =
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource = -1;
static gint ett_nr_rrc_SRS_ResourceSet = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId = -1;
-static gint ett_nr_rrc_SRS_Resource = -1;
static gint ett_nr_rrc_T_resourceType_01 = -1;
static gint ett_nr_rrc_T_aperiodic_01 = -1;
static gint ett_nr_rrc_T_semi_persistent = -1;
static gint ett_nr_rrc_T_periodic_01 = -1;
-static gint ett_nr_rrc_T_periodicityAndOffset_02 = -1;
+static gint ett_nr_rrc_T_pathlossReferenceRS = -1;
+static gint ett_nr_rrc_SRS_Resource = -1;
+static gint ett_nr_rrc_T_transmissionComb = -1;
+static gint ett_nr_rrc_T_n2 = -1;
+static gint ett_nr_rrc_T_n4 = -1;
+static gint ett_nr_rrc_T_resourceMapping = -1;
+static gint ett_nr_rrc_T_freqHopping = -1;
+static gint ett_nr_rrc_T_resourceType_02 = -1;
+static gint ett_nr_rrc_T_aperiodic_02 = -1;
+static gint ett_nr_rrc_T_semi_persistent_01 = -1;
+static gint ett_nr_rrc_T_periodic_02 = -1;
+static gint ett_nr_rrc_T_spatialRelationInfo = -1;
+static gint ett_nr_rrc_SRS_PeriodicityAndOffset = -1;
+static gint ett_nr_rrc_SRS_CarrierSwitching = -1;
+static gint ett_nr_rrc_T_srs_TPC_PDCCH_Group = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_SlotFormatCombinationsPerCell = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex = -1;
+static gint ett_nr_rrc_SRS_TPC_PDCCH_Config = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex = -1;
+static gint ett_nr_rrc_SRS_CC_SetIndex = -1;
+static gint ett_nr_rrc_TCI_State = -1;
+static gint ett_nr_rrc_QCL_Info = -1;
+static gint ett_nr_rrc_T_referenceSignal_03 = -1;
+static gint ett_nr_rrc_TDD_UL_DL_ConfigCommon = -1;
+static gint ett_nr_rrc_TDD_UL_DL_ConfigDedicated = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex = -1;
+static gint ett_nr_rrc_TDD_UL_DL_SlotConfig = -1;
+static gint ett_nr_rrc_T_symbols = -1;
+static gint ett_nr_rrc_T_explicit = -1;
+static gint ett_nr_rrc_ZP_CSI_RS_Resource = -1;
+static gint ett_nr_rrc_ZP_CSI_RS_ResourceSet = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId = -1;
static gint ett_nr_rrc_BandCombinationList = -1;
static gint ett_nr_rrc_BandCombination = -1;
-static gint ett_nr_rrc_UE_MRDC_Capability = -1;
-static gint ett_nr_rrc_RF_Parameters_MRDC = -1;
-static gint ett_nr_rrc_PhyLayerParameters_MRDC = -1;
-static gint ett_nr_rrc_BasebandProcessingCombination_MRDC = -1;
-static gint ett_nr_rrc_LinkedBasebandProcessingCombination = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_BandCombinationParameters = -1;
+static gint ett_nr_rrc_BandAndDL_ParametersList = -1;
+static gint ett_nr_rrc_BandAndDL_Parameters = -1;
+static gint ett_nr_rrc_BandCombinationParameters = -1;
+static gint ett_nr_rrc_CA_ParametersNR = -1;
+static gint ett_nr_rrc_MRDC_Parameters = -1;
+static gint ett_nr_rrc_BandAndDL_ParametersEUTRA = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoDL_EUTRA = -1;
+static gint ett_nr_rrc_BandAndDL_ParametersNR = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoDL = -1;
+static gint ett_nr_rrc_IntraBandContiguousCC_InfoDL = -1;
+static gint ett_nr_rrc_IntraBandContiguousCC_InfoDL_EUTRA = -1;
+static gint ett_nr_rrc_BandCombinationParametersUL_List = -1;
+static gint ett_nr_rrc_BandCombinationParametersUL = -1;
+static gint ett_nr_rrc_BandParametersUL = -1;
+static gint ett_nr_rrc_BandParametersUL_EUTRA = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoUL_EUTRA = -1;
+static gint ett_nr_rrc_BandParametersUL_NR = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoUL = -1;
+static gint ett_nr_rrc_IntraBandContiguousCC_InfoUL = -1;
+static gint ett_nr_rrc_IntraBandContiguousCC_InfoUL_EUTRA = -1;
+static gint ett_nr_rrc_BasebandCombinationParametersUL_List = -1;
+static gint ett_nr_rrc_BasebandCombinationParametersUL = -1;
+static gint ett_nr_rrc_BasebandParametersPerBandUL = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_UL = -1;
+static gint ett_nr_rrc_BasebandParametersPerCC_UL = -1;
+static gint ett_nr_rrc_T_supportedBandwidthUL = -1;
+static gint ett_nr_rrc_T_pusch_DifferentTB_PerSlot = -1;
+static gint ett_nr_rrc_BasebandProcessingCombinationMRDC = -1;
+static gint ett_nr_rrc_BasebandProcessingCombinationLink = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex = -1;
-static gint ett_nr_rrc_MeasParameters_MRDC = -1;
+static gint ett_nr_rrc_FreqBandList = -1;
+static gint ett_nr_rrc_FreqBandInformation = -1;
+static gint ett_nr_rrc_SupportedBasebandProcessingCombination = -1;
+static gint ett_nr_rrc_BasebandProcessingCombination = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBandDL = -1;
+static gint ett_nr_rrc_BasebandParametersPerBandDL = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_DL = -1;
+static gint ett_nr_rrc_BasebandParametersPerCC_DL = -1;
+static gint ett_nr_rrc_T_supportedBandwidthDL = -1;
+static gint ett_nr_rrc_T_timeDurationForQCL = -1;
+static gint ett_nr_rrc_T_pdsch_DifferentTB_PerSlot = -1;
+static gint ett_nr_rrc_UE_CapabilityRAT_ContainerList = -1;
+static gint ett_nr_rrc_UE_CapabilityRAT_Container = -1;
+static gint ett_nr_rrc_UE_MRDC_Capability = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_05 = -1;
+static gint ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode = -1;
+static gint ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode = -1;
+static gint ett_nr_rrc_RF_ParametersMRDC = -1;
+static gint ett_nr_rrc_Phy_ParametersMRDC = -1;
+static gint ett_nr_rrc_Phy_ParametersMRDC_XDD_Diff = -1;
+static gint ett_nr_rrc_Phy_ParametersMRDC_FRX_Diff = -1;
+static gint ett_nr_rrc_MeasParametersMRDC = -1;
+static gint ett_nr_rrc_MeasParametersMRDC_Common = -1;
+static gint ett_nr_rrc_MeasParametersMRDC_XDD_Diff = -1;
+static gint ett_nr_rrc_MeasParametersMRDC_FRX_Diff = -1;
+static gint ett_nr_rrc_GeneralParametersMRDC_XDD_Diff = -1;
static gint ett_nr_rrc_UE_NR_Capability = -1;
-static gint ett_nr_rrc_T_nonCriticalExtension_02 = -1;
-static gint ett_nr_rrc_PhyLayerParameters = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_06 = -1;
+static gint ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode = -1;
+static gint ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode = -1;
+static gint ett_nr_rrc_Phy_Parameters = -1;
+static gint ett_nr_rrc_Phy_ParametersCommon = -1;
+static gint ett_nr_rrc_Phy_ParametersXDD_Diff = -1;
+static gint ett_nr_rrc_Phy_ParametersFRX_Diff = -1;
+static gint ett_nr_rrc_Phy_ParametersFR1 = -1;
+static gint ett_nr_rrc_Phy_ParametersFR2 = -1;
static gint ett_nr_rrc_RF_Parameters = -1;
static gint ett_nr_rrc_SupportedBandListNR = -1;
-static gint ett_nr_rrc_SupportedBasebandProcessingCombination = -1;
-static gint ett_nr_rrc_BasebandProcessingCombination = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBand = -1;
-static gint ett_nr_rrc_BasebandParametersPerBand = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxServCell_OF_BasebandParametersPerCC = -1;
-static gint ett_nr_rrc_BasebandParametersPerCC = -1;
static gint ett_nr_rrc_BandNR = -1;
-static gint ett_nr_rrc_MIMO_Capability = -1;
-static gint ett_nr_rrc_ModulationOrder = -1;
-static gint ett_nr_rrc_SubCarrierSpacing = -1;
+static gint ett_nr_rrc_T_pdsch_DifferentTB_PerSlot_01 = -1;
+static gint ett_nr_rrc_T_pusch_DifferentTB_PerSlot_01 = -1;
+static gint ett_nr_rrc_MIMO_ParametersPerBand = -1;
+static gint ett_nr_rrc_T_timeDurationForQCL_01 = -1;
+static gint ett_nr_rrc_T_maxNumberRxTxBeamSwitchDL = -1;
+static gint ett_nr_rrc_T_uplinkBeamManagement = -1;
+static gint ett_nr_rrc_BeamManagementSSB_CSI_RS = -1;
+static gint ett_nr_rrc_SRS_Resources = -1;
+static gint ett_nr_rrc_SRS_TxSwitch = -1;
static gint ett_nr_rrc_PDCP_Parameters = -1;
static gint ett_nr_rrc_T_supportedROHC_Profiles = -1;
static gint ett_nr_rrc_RLC_Parameters = -1;
static gint ett_nr_rrc_MAC_Parameters = -1;
-static gint ett_nr_rrc_MeasGapConfig = -1;
-static gint ett_nr_rrc_MeasObjectEUTRA = -1;
-static gint ett_nr_rrc_MeasResultListEUTRA = -1;
-static gint ett_nr_rrc_PhysCellIdRange = -1;
-static gint ett_nr_rrc_RA_Resources = -1;
-static gint ett_nr_rrc_ReportConfigEUTRA = -1;
-static gint ett_nr_rrc_SchedulingRequestResource_Config = -1;
+static gint ett_nr_rrc_MAC_ParametersCommon = -1;
+static gint ett_nr_rrc_MAC_ParametersXDD_Diff = -1;
+static gint ett_nr_rrc_MeasParameters = -1;
+static gint ett_nr_rrc_MeasParametersXDD_Diff = -1;
+static gint ett_nr_rrc_MeasParametersFRX_Diff = -1;
/*--- End of included file: packet-nr-rrc-ett.c ---*/
#line 44 "./asn1/nr-rrc/packet-nr-rrc-template.c"
static gint ett_nr_rrc_UECapabilityInformation = -1;
-#if 0
typedef struct {
guint8 rat_type;
} nr_rrc_private_data_t;
@@ -1418,31 +2693,45 @@ 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
/*--- Included file: packet-nr-rrc-fn.c ---*/
#line 1 "./asn1/nr-rrc/packet-nr-rrc-fn.c"
/*--- PDUs declarations ---*/
-static int dissect_UECapabilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
-static int dissect_RadioBearerConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_UE_CapabilityRAT_ContainerList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_CandidateCellInfoList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_MeasResultSCG_Failure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int
-dissect_nr_rrc_T_eutra_CapabilityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
- NO_BOUND, NO_BOUND, FALSE, dissect_UECapabilityInformation_PDU);
+dissect_nr_rrc_ARFCN_ValueNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 3279165U, NULL, FALSE);
return offset;
}
+static const per_sequence_t NR_FreqInfo_sequence[] = {
+ { &hf_nr_rrc_measuredFrequency, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_NR_FreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_NR_FreqInfo, NR_FreqInfo_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BandCombinationIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 1007U, NULL, FALSE);
+ 1U, maxBandComb, NULL, FALSE);
return offset;
}
@@ -1450,8 +2739,19 @@ dissect_nr_rrc_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static int
-dissect_nr_rrc_ARFCN_ValueNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
+dissect_nr_rrc_T_ue_CapabilityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, dissect_UE_CapabilityRAT_ContainerList_PDU);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 1007U, NULL, FALSE);
return offset;
}
@@ -1476,7 +2776,7 @@ dissect_nr_rrc_T_cellIdentification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
static int
dissect_nr_rrc_RSRP_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 97U, NULL, FALSE);
+ 0U, 124U, NULL, FALSE);
return offset;
}
@@ -1486,22 +2786,33 @@ dissect_nr_rrc_RSRP_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static int
dissect_nr_rrc_RSRQ_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 34U, NULL, FALSE);
+ 0U, 127U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_SINR_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 127U, NULL, FALSE);
return offset;
}
-static const per_sequence_t T_measResultCell_sequence[] = {
- { &hf_nr_rrc_rsrpResultCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RSRP_Range },
- { &hf_nr_rrc_rsrqResultCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RSRQ_Range },
+static const per_sequence_t MeasQuantityResults_sequence[] = {
+ { &hf_nr_rrc_rsrp , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range },
+ { &hf_nr_rrc_rsrq , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_Range },
+ { &hf_nr_rrc_sinr , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SINR_Range },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_measResultCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasQuantityResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_measResultCell, T_measResultCell_sequence);
+ ett_nr_rrc_MeasQuantityResults, MeasQuantityResults_sequence);
return offset;
}
@@ -1511,51 +2822,75 @@ dissect_nr_rrc_T_measResultCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
static int
dissect_nr_rrc_SSB_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 7U, NULL, FALSE);
+ 0U, 63U, NULL, FALSE);
return offset;
}
-static const per_sequence_t T_measResultSSB_sequence[] = {
- { &hf_nr_rrc_rsrpResultCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RSRP_Range },
- { &hf_nr_rrc_rsrqResultCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RSRQ_Range },
+static const per_sequence_t CandidateRS_IndexInfoSSB_sequence[] = {
+ { &hf_nr_rrc_ssb_Index , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
+ { &hf_nr_rrc_measResultSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasQuantityResults },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_measResultSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CandidateRS_IndexInfoSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_measResultSSB, T_measResultSSB_sequence);
+ ett_nr_rrc_CandidateRS_IndexInfoSSB, CandidateRS_IndexInfoSSB_sequence);
return offset;
}
-static const per_sequence_t CandidateRS_IndexInfo_sequence[] = {
- { &hf_nr_rrc_ssb_Index , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
- { &hf_nr_rrc_measResultSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_measResultSSB },
+static const per_sequence_t CandidateRS_IndexInfoListSSB_sequence_of[1] = {
+ { &hf_nr_rrc_CandidateRS_IndexInfoListSSB_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CandidateRS_IndexInfoSSB },
+};
+
+static int
+dissect_nr_rrc_CandidateRS_IndexInfoListSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CandidateRS_IndexInfoListSSB, CandidateRS_IndexInfoListSSB_sequence_of,
+ 1, maxNrofIndexesToReport, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_CSI_RS_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofCSI_RS_ResourcesRRM_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t CandidateRS_IndexInfoCSI_RS_sequence[] = {
+ { &hf_nr_rrc_csi_RS_Index , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Index },
+ { &hf_nr_rrc_measResultCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasQuantityResults },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_CandidateRS_IndexInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CandidateRS_IndexInfoCSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CandidateRS_IndexInfo, CandidateRS_IndexInfo_sequence);
+ ett_nr_rrc_CandidateRS_IndexInfoCSI_RS, CandidateRS_IndexInfoCSI_RS_sequence);
return offset;
}
-static const per_sequence_t CandidateRS_IndexInfoList_sequence_of[1] = {
- { &hf_nr_rrc_CandidateRS_IndexInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CandidateRS_IndexInfo },
+static const per_sequence_t CandidateRS_IndexInfoListCSI_RS_sequence_of[1] = {
+ { &hf_nr_rrc_CandidateRS_IndexInfoListCSI_RS_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CandidateRS_IndexInfoCSI_RS },
};
static int
-dissect_nr_rrc_CandidateRS_IndexInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CandidateRS_IndexInfoListCSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CandidateRS_IndexInfoList, CandidateRS_IndexInfoList_sequence_of,
- 1, maxRS_IndexReport, FALSE);
+ ett_nr_rrc_CandidateRS_IndexInfoListCSI_RS, CandidateRS_IndexInfoListCSI_RS_sequence_of,
+ 1, maxNrofIndexesToReport, FALSE);
return offset;
}
@@ -1563,8 +2898,9 @@ dissect_nr_rrc_CandidateRS_IndexInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1
static const per_sequence_t CandidateCellInfo_sequence[] = {
{ &hf_nr_rrc_cellIdentification, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellIdentification },
- { &hf_nr_rrc_measResultCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_measResultCell },
- { &hf_nr_rrc_candidateRS_IndexList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CandidateRS_IndexInfoList },
+ { &hf_nr_rrc_measResultCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasQuantityResults },
+ { &hf_nr_rrc_candidateRS_IndexListSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CandidateRS_IndexInfoListSSB },
+ { &hf_nr_rrc_candidateRS_IndexListCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CandidateRS_IndexInfoListCSI_RS },
{ NULL, 0, 0, NULL }
};
@@ -1585,51 +2921,222 @@ static int
dissect_nr_rrc_CandidateCellInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_CandidateCellInfoList, CandidateCellInfoList_sequence_of,
- 1, maxCellSCG, FALSE);
+ 1, maxNrofSCells, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_T_candidateCellInfoListSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, dissect_CandidateCellInfoList_PDU);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 1023U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_M30720_30719(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ -30720, 30719U, NULL, FALSE);
return offset;
}
-static const per_sequence_t MeasResultSSTD_sequence[] = {
+static const per_sequence_t MeasResultCellSFTD_sequence[] = {
+ { &hf_nr_rrc_physCellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
+ { &hf_nr_rrc_sfn_OffsetResult, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1023 },
+ { &hf_nr_rrc_frameBoundaryOffsetResult, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M30720_30719 },
+ { &hf_nr_rrc_rsrp_Result , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasResultSSTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasResultCellSFTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasResultSSTD, MeasResultSSTD_sequence);
+ ett_nr_rrc_MeasResultCellSFTD, MeasResultCellSFTD_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasResultCellListSFTD_sequence_of[1] = {
+ { &hf_nr_rrc_MeasResultCellListSFTD_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultCellSFTD },
+};
+
+static int
+dissect_nr_rrc_MeasResultCellListSFTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasResultCellListSFTD, MeasResultCellListSFTD_sequence_of,
+ 1, maxCellSFTD, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_failureType_vals[] = {
+ { 0, "t310-Expiry" },
+ { 1, "randomAccessProblem" },
+ { 2, "rlc-MaxNumRetx" },
+ { 3, "scg-ChangeFailure" },
+ { 4, "scg-reconfigFailure" },
+ { 5, "srb3-IntegrityFailure" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_failureType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 6, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_T_measResultSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, dissect_MeasResultSCG_Failure_PDU);
return offset;
}
+static const per_sequence_t T_scgFailureInfo_sequence[] = {
+ { &hf_nr_rrc_failureType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failureType },
+ { &hf_nr_rrc_measResultSCG, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResultSCG },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
+dissect_nr_rrc_T_scgFailureInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_scgFailureInfo, T_scgFailureInfo_sequence);
return offset;
}
-static const per_sequence_t T_restrictedBasebandCombinationNR_NR_sequence_of[1] = {
- { &hf_nr_rrc_restrictedBasebandCombinationNR_NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER },
+static const per_sequence_t BandCombinationIndexList_sequence_of[1] = {
+ { &hf_nr_rrc_BandCombinationIndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationIndex },
};
static int
-dissect_nr_rrc_T_restrictedBasebandCombinationNR_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_restrictedBasebandCombinationNR_NR, T_restrictedBasebandCombinationNR_NR_sequence_of);
+dissect_nr_rrc_BandCombinationIndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BandCombinationIndexList, BandCombinationIndexList_sequence_of,
+ 1, maxBandComb, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BPC_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxBasebandProcComb, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t BPC_IndexList_sequence_of[1] = {
+ { &hf_nr_rrc_BPC_IndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BPC_Index },
+};
+
+static int
+dissect_nr_rrc_BPC_IndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BPC_IndexList, BPC_IndexList_sequence_of,
+ 1, maxBasebandProcComb, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_P_Max(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ -30, 33U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_powerCoordination_FR1_sequence[] = {
+ { &hf_nr_rrc_p_maxNR , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
+ { &hf_nr_rrc_p_maxEUTRA , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_powerCoordination_FR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_powerCoordination_FR1, T_powerCoordination_FR1_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofServingCells_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_servCellIndexRangeSCG_sequence[] = {
+ { &hf_nr_rrc_lowBound , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
+ { &hf_nr_rrc_upBound , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_servCellIndexRangeSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_servCellIndexRangeSCG, T_servCellIndexRangeSCG_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_1_maxMeasFreqsMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxMeasFreqsMN, NULL, FALSE);
return offset;
}
static const per_sequence_t ConfigRestrictInfoSCG_sequence[] = {
- { &hf_nr_rrc_restrictedBandCombinationNR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER },
- { &hf_nr_rrc_restrictedBasebandCombinationNR_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_restrictedBasebandCombinationNR_NR },
- { &hf_nr_rrc_maxMeasFreqsSCG_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER },
+ { &hf_nr_rrc_allowedBC_ListMRDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationIndexList },
+ { &hf_nr_rrc_allowedBPC_ListMRDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BPC_IndexList },
+ { &hf_nr_rrc_powerCoordination_FR1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_powerCoordination_FR1 },
+ { &hf_nr_rrc_servCellIndexRangeSCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_servCellIndexRangeSCG },
+ { &hf_nr_rrc_maxMeasFreqsSCG_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxMeasFreqsMN },
{ NULL, 0, 0, NULL }
};
@@ -1642,9 +3149,332 @@ dissect_nr_rrc_ConfigRestrictInfoSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
}
+
+static int
+dissect_nr_rrc_INTEGER_0_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 9U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 19U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 31U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 39U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_59(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 59U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 63U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_69(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 69U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_79(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 79U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 127U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_159(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 159U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 255U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_319(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 319U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_511(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 511U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_639(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 639U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_1279(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 1279U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_2047(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 2047U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_2559(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 2559U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_5119(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 5119U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_10239(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 10239U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_drx_LongCycleStartOffset_vals[] = {
+ { 0, "ms10" },
+ { 1, "ms20" },
+ { 2, "ms32" },
+ { 3, "ms40" },
+ { 4, "ms60" },
+ { 5, "ms64" },
+ { 6, "ms70" },
+ { 7, "ms80" },
+ { 8, "ms128" },
+ { 9, "ms160" },
+ { 10, "ms256" },
+ { 11, "ms320" },
+ { 12, "ms512" },
+ { 13, "ms640" },
+ { 14, "ms1024" },
+ { 15, "ms1280" },
+ { 16, "ms2048" },
+ { 17, "ms2560" },
+ { 18, "ms5120" },
+ { 19, "ms10240" },
+ { 0, NULL }
+};
+
+static value_string_ext nr_rrc_T_drx_LongCycleStartOffset_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_LongCycleStartOffset_vals);
+
+static const per_choice_t T_drx_LongCycleStartOffset_choice[] = {
+ { 0, &hf_nr_rrc_ms10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
+ { 1, &hf_nr_rrc_ms20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
+ { 2, &hf_nr_rrc_ms32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 },
+ { 3, &hf_nr_rrc_ms40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
+ { 4, &hf_nr_rrc_ms60 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_59 },
+ { 5, &hf_nr_rrc_ms64 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_63 },
+ { 6, &hf_nr_rrc_ms70 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_69 },
+ { 7, &hf_nr_rrc_ms80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
+ { 8, &hf_nr_rrc_ms128 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_127 },
+ { 9, &hf_nr_rrc_ms160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
+ { 10, &hf_nr_rrc_ms256 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_255 },
+ { 11, &hf_nr_rrc_ms320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
+ { 12, &hf_nr_rrc_ms512 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_511 },
+ { 13, &hf_nr_rrc_ms640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 },
+ { 14, &hf_nr_rrc_ms1024 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1023 },
+ { 15, &hf_nr_rrc_ms1280 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1279 },
+ { 16, &hf_nr_rrc_ms2048 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2047 },
+ { 17, &hf_nr_rrc_ms2560 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2559 },
+ { 18, &hf_nr_rrc_ms5120 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_5119 },
+ { 19, &hf_nr_rrc_ms10240 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_10239 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_drx_LongCycleStartOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_drx_LongCycleStartOffset, T_drx_LongCycleStartOffset_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_drx_ShortCycle_vals[] = {
+ { 0, "ms2" },
+ { 1, "ms3" },
+ { 2, "ms4" },
+ { 3, "ms5" },
+ { 4, "ms6" },
+ { 5, "ms7" },
+ { 6, "ms8" },
+ { 7, "ms10" },
+ { 8, "ms14" },
+ { 9, "ms16" },
+ { 10, "ms20" },
+ { 11, "ms30" },
+ { 12, "ms32" },
+ { 13, "ms35" },
+ { 14, "ms40" },
+ { 15, "ms64" },
+ { 16, "ms80" },
+ { 17, "ms128" },
+ { 18, "ms160" },
+ { 19, "ms256" },
+ { 20, "ms320" },
+ { 21, "ms512" },
+ { 22, "ms640" },
+ { 23, "spare9" },
+ { 24, "spare8" },
+ { 25, "spare7" },
+ { 26, "spare6" },
+ { 27, "spare5" },
+ { 28, "spare4" },
+ { 29, "spare3" },
+ { 30, "spare2" },
+ { 31, "spare1" },
+ { 0, NULL }
+};
+
+static value_string_ext nr_rrc_T_drx_ShortCycle_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_ShortCycle_vals);
+
+
+static int
+dissect_nr_rrc_T_drx_ShortCycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 32, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_1_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 16U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_shortDRX_sequence[] = {
+ { &hf_nr_rrc_drx_ShortCycle, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_ShortCycle },
+ { &hf_nr_rrc_drx_ShortCycleTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_shortDRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_shortDRX, T_shortDRX_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t DRX_Info_sequence[] = {
- { &hf_nr_rrc_cycle , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER },
- { &hf_nr_rrc_offset , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER },
+ { &hf_nr_rrc_drx_LongCycleStartOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_LongCycleStartOffset },
+ { &hf_nr_rrc_shortDRX , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_shortDRX },
{ NULL, 0, 0, NULL }
};
@@ -1657,6 +3487,124 @@ dissect_nr_rrc_DRX_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
}
+static const per_sequence_t SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo_sequence_of[1] = {
+ { &hf_nr_rrc_measuredFrequenciesMN_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_FreqInfo },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo, SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo_sequence_of,
+ 1, maxMeasFreqsMN, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_mgl_vals[] = {
+ { 0, "ms1dot5" },
+ { 1, "ms3" },
+ { 2, "ms3dot5" },
+ { 3, "ms4" },
+ { 4, "ms5dot5" },
+ { 5, "ms6" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_mgl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 6, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_mgrp_vals[] = {
+ { 0, "ms20" },
+ { 1, "ms40" },
+ { 2, "ms80" },
+ { 3, "ms160" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_mgrp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_mgta_vals[] = {
+ { 0, "ms0" },
+ { 1, "ms0dot25" },
+ { 2, "ms0dot5" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_mgta(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t GapConfig_sequence[] = {
+ { &hf_nr_rrc_gapOffset , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_159 },
+ { &hf_nr_rrc_mgl , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgl },
+ { &hf_nr_rrc_mgrp , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgrp },
+ { &hf_nr_rrc_mgta , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgta },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_GapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_GapConfig, GapConfig_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_gapPurpose_vals[] = {
+ { 0, "perUE" },
+ { 1, "perFR1" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_gapPurpose(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasConfigMN_sequence[] = {
+ { &hf_nr_rrc_measuredFrequenciesMN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo },
+ { &hf_nr_rrc_measGapConfigFR1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_GapConfig },
+ { &hf_nr_rrc_gapPurpose , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_gapPurpose },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MeasConfigMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasConfigMN, MeasConfigMN_sequence);
+
+ return offset;
+}
+
+
static int
dissect_nr_rrc_T_sourceConfigSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -1669,9 +3617,9 @@ dissect_nr_rrc_T_sourceConfigSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
static int
-dissect_nr_rrc_P_Max(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- -30, 33U, NULL, FALSE);
+dissect_nr_rrc_T_scg_RB_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RadioBearerConfig_PDU);
return offset;
}
@@ -1681,7 +3629,7 @@ dissect_nr_rrc_P_Max(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
static int
dissect_nr_rrc_T_mcg_RB_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
- NO_BOUND, NO_BOUND, FALSE, dissect_RadioBearerConfiguration_PDU);
+ NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RadioBearerConfig_PDU);
return offset;
}
@@ -1700,23 +3648,26 @@ dissect_nr_rrc_T_nonCriticalExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
}
-static const per_sequence_t SCG_ConfigInfo_r15_IEs_sequence[] = {
- { &hf_nr_rrc_eutra_CapabilityInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eutra_CapabilityInfo },
- { &hf_nr_rrc_candidateCellInfoList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CandidateCellInfoList },
- { &hf_nr_rrc_measResultSSTD, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultSSTD },
+static const per_sequence_t CG_ConfigInfo_IEs_sequence[] = {
+ { &hf_nr_rrc_ue_CapabilityInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_CapabilityInfo },
+ { &hf_nr_rrc_candidateCellInfoListMN, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CandidateCellInfoList },
+ { &hf_nr_rrc_candidateCellInfoListSN, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_candidateCellInfoListSN },
+ { &hf_nr_rrc_measResultCellListSFTD, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultCellListSFTD },
+ { &hf_nr_rrc_scgFailureInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scgFailureInfo },
{ &hf_nr_rrc_configRestrictInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ConfigRestrictInfoSCG },
{ &hf_nr_rrc_drx_InfoMCG , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DRX_Info },
+ { &hf_nr_rrc_measConfigMN , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasConfigMN },
{ &hf_nr_rrc_sourceConfigSCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sourceConfigSCG },
- { &hf_nr_rrc_p_maxFR1 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
+ { &hf_nr_rrc_scg_RB_Config, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scg_RB_Config },
{ &hf_nr_rrc_mcg_RB_Config, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mcg_RB_Config },
{ &hf_nr_rrc_nonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SCG_ConfigInfo_r15_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CG_ConfigInfo_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SCG_ConfigInfo_r15_IEs, SCG_ConfigInfo_r15_IEs_sequence);
+ ett_nr_rrc_CG_ConfigInfo_IEs, CG_ConfigInfo_IEs_sequence);
return offset;
}
@@ -1732,7 +3683,7 @@ dissect_nr_rrc_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro
static const value_string nr_rrc_T_c1_vals[] = {
- { 0, "scg-ConfigInfo-r15" },
+ { 0, "cg-ConfigInfo" },
{ 1, "spare3" },
{ 2, "spare2" },
{ 3, "spare1" },
@@ -1740,7 +3691,7 @@ static const value_string nr_rrc_T_c1_vals[] = {
};
static const per_choice_t T_c1_choice[] = {
- { 0, &hf_nr_rrc_scg_ConfigInfo_r15, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SCG_ConfigInfo_r15_IEs },
+ { 0, &hf_nr_rrc_cg_ConfigInfo, ASN1_NO_EXTENSIONS , dissect_nr_rrc_CG_ConfigInfo_IEs },
{ 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
{ 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
{ 3, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
@@ -1792,41 +3743,15 @@ dissect_nr_rrc_T_criticalExtensions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
}
-static const per_sequence_t SCG_ConfigInfo_sequence[] = {
+static const per_sequence_t CG_ConfigInfo_sequence[] = {
{ &hf_nr_rrc_criticalExtensions, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SCG_ConfigInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CG_ConfigInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SCG_ConfigInfo, SCG_ConfigInfo_sequence);
-
- return offset;
-}
-
-
-
-static int
-dissect_nr_rrc_INTEGER_1_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 7U, NULL, FALSE);
-
- return offset;
-}
-
-
-static const value_string nr_rrc_T_halfFrameIndex_vals[] = {
- { 0, "firstHalf" },
- { 1, "secondHalf" },
- { 0, NULL }
-};
-
-
-static int
-dissect_nr_rrc_T_halfFrameIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ ett_nr_rrc_CG_ConfigInfo, CG_ConfigInfo_sequence);
return offset;
}
@@ -1834,27 +3759,25 @@ dissect_nr_rrc_T_halfFrameIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
static int
-dissect_nr_rrc_BIT_STRING_SIZE_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_BIT_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 10, 10, FALSE, NULL, NULL);
+ 6, 6, FALSE, NULL, NULL);
return offset;
}
-static const value_string nr_rrc_SubcarrierSpacing_vals[] = {
- { 0, "kHz15" },
- { 1, "kHz30" },
- { 2, "kHz60" },
- { 3, "kHz120" },
+static const value_string nr_rrc_T_subCarrierSpacingCommon_vals[] = {
+ { 0, "scs15or60" },
+ { 1, "scs30or120" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_SubcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_subCarrierSpacingCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
@@ -1862,9 +3785,9 @@ dissect_nr_rrc_SubcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
static int
-dissect_nr_rrc_INTEGER_0_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 11U, NULL, FALSE);
+ 0U, 15U, NULL, FALSE);
return offset;
}
@@ -1886,16 +3809,6 @@ dissect_nr_rrc_T_dmrs_TypeA_Position(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
}
-
-static int
-dissect_nr_rrc_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 255U, NULL, FALSE);
-
- return offset;
-}
-
-
static const value_string nr_rrc_T_cellBarred_vals[] = {
{ 0, "barred" },
{ 1, "notBarred" },
@@ -1930,25 +3843,23 @@ dissect_nr_rrc_T_intraFreqReselection(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
static int
-dissect_nr_rrc_BIT_STRING_SIZE_0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_BIT_STRING_SIZE_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 0, 0, FALSE, NULL, NULL);
+ 1, 1, FALSE, NULL, NULL);
return offset;
}
static const per_sequence_t MIB_sequence[] = {
- { &hf_nr_rrc_ssb_IndexExplicit, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_7 },
- { &hf_nr_rrc_halfFrameIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_halfFrameIndex },
- { &hf_nr_rrc_systemFrameNumber, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_10 },
- { &hf_nr_rrc_subCarrierSpacingCommon, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
- { &hf_nr_rrc_ssb_subcarrierOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 },
+ { &hf_nr_rrc_systemFrameNumber, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_6 },
+ { &hf_nr_rrc_subCarrierSpacingCommon, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subCarrierSpacingCommon },
+ { &hf_nr_rrc_ssb_SubcarrierOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
{ &hf_nr_rrc_dmrs_TypeA_Position, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dmrs_TypeA_Position },
- { &hf_nr_rrc_pdcchConfigSIB1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_255 },
+ { &hf_nr_rrc_pdcch_ConfigSIB1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_255 },
{ &hf_nr_rrc_cellBarred , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellBarred },
{ &hf_nr_rrc_intraFreqReselection, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_intraFreqReselection },
- { &hf_nr_rrc_spare , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_0 },
+ { &hf_nr_rrc_spare , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1 },
{ NULL, 0, 0, NULL }
};
@@ -2055,6 +3966,21 @@ dissect_nr_rrc_T_reestablishPDCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
}
+static const value_string nr_rrc_T_discardOnPDCP_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_discardOnPDCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
static const value_string nr_rrc_T_discardTimer_vals[] = {
{ 0, "ms10" },
{ 1, "ms20" },
@@ -2085,7 +4011,7 @@ dissect_nr_rrc_T_discardTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
}
-static const value_string nr_rrc_T_pdcp_SN_Size_UL_vals[] = {
+static const value_string nr_rrc_T_pdcp_SN_SizeUL_vals[] = {
{ 0, "len12bits" },
{ 1, "len18bits" },
{ 0, NULL }
@@ -2093,7 +4019,7 @@ static const value_string nr_rrc_T_pdcp_SN_Size_UL_vals[] = {
static int
-dissect_nr_rrc_T_pdcp_SN_Size_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_pdcp_SN_SizeUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -2101,7 +4027,7 @@ dissect_nr_rrc_T_pdcp_SN_Size_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
}
-static const value_string nr_rrc_T_pdcp_SN_Size_DL_vals[] = {
+static const value_string nr_rrc_T_pdcp_SN_SizeDL_vals[] = {
{ 0, "len12bits" },
{ 1, "len18bits" },
{ 0, NULL }
@@ -2109,7 +4035,7 @@ static const value_string nr_rrc_T_pdcp_SN_Size_DL_vals[] = {
static int
-dissect_nr_rrc_T_pdcp_SN_Size_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_pdcp_SN_SizeDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -2158,46 +4084,47 @@ dissect_nr_rrc_T_profiles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
}
-static const per_sequence_t T_profiles_01_sequence[] = {
- { &hf_nr_rrc_profile0x0006, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+static const per_sequence_t T_rohc_sequence[] = {
+ { &hf_nr_rrc_maxCID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_16383 },
+ { &hf_nr_rrc_profiles , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_profiles },
+ { &hf_nr_rrc_drb_ContinueROHC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_profiles_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_rohc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_profiles_01, T_profiles_01_sequence);
+ ett_nr_rrc_T_rohc, T_rohc_sequence);
return offset;
}
-static const per_sequence_t T_uplinkOnlyROHC_sequence[] = {
- { &hf_nr_rrc_maxCID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_16383 },
- { &hf_nr_rrc_profiles_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_profiles_01 },
+static const per_sequence_t T_profiles_01_sequence[] = {
+ { &hf_nr_rrc_profile0x0006, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_uplinkOnlyROHC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_profiles_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_uplinkOnlyROHC, T_uplinkOnlyROHC_sequence);
+ ett_nr_rrc_T_profiles_01, T_profiles_01_sequence);
return offset;
}
-static const per_sequence_t T_rohc_sequence[] = {
- { &hf_nr_rrc_maxCID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_16383 },
- { &hf_nr_rrc_profiles , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_profiles },
- { &hf_nr_rrc_uplinkOnlyROHC, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_uplinkOnlyROHC },
+static const per_sequence_t T_uplinkOnlyROHC_sequence[] = {
+ { &hf_nr_rrc_maxCID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_16383 },
+ { &hf_nr_rrc_profiles_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_profiles_01 },
+ { &hf_nr_rrc_drb_ContinueROHC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_rohc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_uplinkOnlyROHC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_rohc, T_rohc_sequence);
+ ett_nr_rrc_T_uplinkOnlyROHC, T_uplinkOnlyROHC_sequence);
return offset;
}
@@ -2206,12 +4133,14 @@ dissect_nr_rrc_T_rohc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p
static const value_string nr_rrc_T_headerCompression_vals[] = {
{ 0, "notUsed" },
{ 1, "rohc" },
+ { 2, "uplinkOnlyROHC" },
{ 0, NULL }
};
static const per_choice_t T_headerCompression_choice[] = {
- { 0, &hf_nr_rrc_notUsed , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_rohc , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_rohc },
+ { 0, &hf_nr_rrc_notUsed , ASN1_EXTENSION_ROOT , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_rohc , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_rohc },
+ { 2, &hf_nr_rrc_uplinkOnlyROHC, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_uplinkOnlyROHC },
{ 0, NULL, 0, NULL }
};
@@ -2225,13 +4154,44 @@ dissect_nr_rrc_T_headerCompression(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
+static const value_string nr_rrc_T_integrityProtection_vals[] = {
+ { 0, "enabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_integrityProtection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_statusReportRequired_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_statusReportRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
static const per_sequence_t T_drb_sequence[] = {
{ &hf_nr_rrc_discardTimer , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_discardTimer },
- { &hf_nr_rrc_pdcp_SN_Size_UL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pdcp_SN_Size_UL },
- { &hf_nr_rrc_pdcp_SN_Size_DL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pdcp_SN_Size_DL },
+ { &hf_nr_rrc_pdcp_SN_SizeUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_SN_SizeUL },
+ { &hf_nr_rrc_pdcp_SN_SizeDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_SN_SizeDL },
{ &hf_nr_rrc_headerCompression, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_headerCompression },
- { &hf_nr_rrc_integrityProtection, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_statusReportRequired, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_integrityProtection, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_integrityProtection },
+ { &hf_nr_rrc_statusReportRequired, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_statusReportRequired },
+ { &hf_nr_rrc_outOfOrderDelivery, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
{ NULL, 0, 0, NULL }
};
@@ -2248,7 +4208,7 @@ dissect_nr_rrc_T_drb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
static int
dissect_nr_rrc_CellGroupId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxSCellGroups, NULL, FALSE);
+ 0U, maxSecondaryCellGroups, NULL, FALSE);
return offset;
}
@@ -2258,15 +4218,15 @@ dissect_nr_rrc_CellGroupId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
static int
dissect_nr_rrc_LogicalChannelIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 32U, NULL, FALSE);
+ 1U, maxLC_ID, NULL, FALSE);
return offset;
}
static const per_sequence_t T_primaryPath_sequence[] = {
- { &hf_nr_rrc_cellGroup , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupId },
- { &hf_nr_rrc_logicalChannel, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogicalChannelIdentity },
+ { &hf_nr_rrc_cellGroup , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CellGroupId },
+ { &hf_nr_rrc_logicalChannel, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_LogicalChannelIdentity },
{ NULL, 0, 0, NULL }
};
@@ -2279,7 +4239,7 @@ dissect_nr_rrc_T_primaryPath(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
-static const value_string nr_rrc_T_setup_03_vals[] = {
+static const value_string nr_rrc_UL_DataSplitThreshold_vals[] = {
{ 0, "b0" },
{ 1, "b100" },
{ 2, "b200" },
@@ -2315,11 +4275,11 @@ static const value_string nr_rrc_T_setup_03_vals[] = {
{ 0, NULL }
};
-static value_string_ext nr_rrc_T_setup_03_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_setup_03_vals);
+static value_string_ext nr_rrc_UL_DataSplitThreshold_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_UL_DataSplitThreshold_vals);
static int
-dissect_nr_rrc_T_setup_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_UL_DataSplitThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
32, NULL, FALSE, 0, NULL);
@@ -2327,23 +4287,16 @@ dissect_nr_rrc_T_setup_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
}
-static const value_string nr_rrc_T_ul_DataSplitThreshold_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const value_string nr_rrc_T_pdcp_Duplication_vals[] = {
+ { 0, "true" },
{ 0, NULL }
};
-static const per_choice_t T_ul_DataSplitThreshold_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_setup_03 },
- { 0, NULL, 0, NULL }
-};
static int
-dissect_nr_rrc_T_ul_DataSplitThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_ul_DataSplitThreshold, T_ul_DataSplitThreshold_choice,
- NULL);
+dissect_nr_rrc_T_pdcp_Duplication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
@@ -2351,8 +4304,8 @@ dissect_nr_rrc_T_ul_DataSplitThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_c
static const per_sequence_t T_moreThanOneRLC_sequence[] = {
{ &hf_nr_rrc_primaryPath , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_primaryPath },
- { &hf_nr_rrc_ul_DataSplitThreshold, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ul_DataSplitThreshold },
- { &hf_nr_rrc_ul_Duplication, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_ul_DataSplitThreshold, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UL_DataSplitThreshold },
+ { &hf_nr_rrc_pdcp_Duplication, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_Duplication },
{ NULL, 0, 0, NULL }
};
@@ -2367,37 +4320,69 @@ dissect_nr_rrc_T_moreThanOneRLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
static const value_string nr_rrc_T_t_Reordering_vals[] = {
{ 0, "ms0" },
- { 1, "ms5" },
- { 2, "ms10" },
- { 3, "ms15" },
- { 4, "ms20" },
- { 5, "ms30" },
- { 6, "ms40" },
- { 7, "ms60" },
- { 8, "ms50" },
- { 9, "ms80" },
- { 10, "ms100" },
- { 11, "ms120" },
- { 12, "ms140" },
- { 13, "ms160" },
- { 14, "ms180" },
- { 15, "ms200" },
- { 16, "ms220" },
- { 17, "ms240" },
- { 18, "ms260" },
- { 19, "ms280" },
- { 20, "ms300" },
- { 21, "ms500" },
- { 22, "ms750" },
- { 23, "ms1000" },
- { 24, "ms1250" },
- { 25, "ms1500" },
- { 26, "ms1750" },
- { 27, "ms2000" },
- { 28, "ms2250" },
- { 29, "ms2500" },
- { 30, "ms2750" },
- { 31, "ms3000" },
+ { 1, "ms1" },
+ { 2, "ms2" },
+ { 3, "ms4" },
+ { 4, "ms5" },
+ { 5, "ms8" },
+ { 6, "ms10" },
+ { 7, "ms15" },
+ { 8, "ms20" },
+ { 9, "ms30" },
+ { 10, "ms40" },
+ { 11, "ms50" },
+ { 12, "ms60" },
+ { 13, "ms80" },
+ { 14, "ms100" },
+ { 15, "ms120" },
+ { 16, "ms140" },
+ { 17, "ms160" },
+ { 18, "ms180" },
+ { 19, "ms200" },
+ { 20, "ms220" },
+ { 21, "ms240" },
+ { 22, "ms260" },
+ { 23, "ms280" },
+ { 24, "ms300" },
+ { 25, "ms500" },
+ { 26, "ms750" },
+ { 27, "ms1000" },
+ { 28, "ms1250" },
+ { 29, "ms1500" },
+ { 30, "ms1750" },
+ { 31, "ms2000" },
+ { 32, "ms2250" },
+ { 33, "ms2500" },
+ { 34, "ms2750" },
+ { 35, "ms3000" },
+ { 36, "spare28" },
+ { 37, "spare27" },
+ { 38, "spare26" },
+ { 39, "spare25" },
+ { 40, "spare24" },
+ { 41, "spare23" },
+ { 42, "spare22" },
+ { 43, "spare21" },
+ { 44, "spare20" },
+ { 45, "spare19" },
+ { 46, "spare18" },
+ { 47, "spare17" },
+ { 48, "spare16" },
+ { 49, "spare15" },
+ { 50, "spare14" },
+ { 51, "spare13" },
+ { 52, "spare12" },
+ { 53, "spare11" },
+ { 54, "spare10" },
+ { 55, "spare09" },
+ { 56, "spare08" },
+ { 57, "spare07" },
+ { 58, "spare06" },
+ { 59, "spare05" },
+ { 60, "spare04" },
+ { 61, "spare03" },
+ { 62, "spare02" },
+ { 63, "spare01" },
{ 0, NULL }
};
@@ -2407,7 +4392,7 @@ static value_string_ext nr_rrc_T_t_Reordering_vals_ext = VALUE_STRING_EXT_INIT(n
static int
dissect_nr_rrc_T_t_Reordering(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 32, NULL, FALSE, 0, NULL);
+ 64, NULL, FALSE, 0, NULL);
return offset;
}
@@ -2417,7 +4402,6 @@ static const per_sequence_t PDCP_Config_sequence[] = {
{ &hf_nr_rrc_drb , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_drb },
{ &hf_nr_rrc_moreThanOneRLC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_moreThanOneRLC },
{ &hf_nr_rrc_t_Reordering , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_t_Reordering },
- { &hf_nr_rrc_outOfOrderDelivery, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
{ NULL, 0, 0, NULL }
};
@@ -2433,6 +4417,7 @@ dissect_nr_rrc_PDCP_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
static const per_sequence_t SRB_ToAddMod_sequence[] = {
{ &hf_nr_rrc_srb_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRB_Identity },
{ &hf_nr_rrc_reestablishPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reestablishPDCP },
+ { &hf_nr_rrc_discardOnPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_discardOnPDCP },
{ &hf_nr_rrc_pdcp_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PDCP_Config },
{ NULL, 0, 0, NULL }
};
@@ -2460,21 +4445,16 @@ dissect_nr_rrc_SRB_ToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
}
-
-static int
-dissect_nr_rrc_INTEGER_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 3U, 3U, NULL, FALSE);
-
- return offset;
-}
-
+static const value_string nr_rrc_T_srb3_ToRelease_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 15U, NULL, FALSE);
+dissect_nr_rrc_T_srb3_ToRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
@@ -2482,14 +4462,15 @@ dissect_nr_rrc_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
-dissect_nr_rrc_PDUsessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
+dissect_nr_rrc_PDU_SessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 255U, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_T_sdap_Header_DL_vals[] = {
+static const value_string nr_rrc_T_sdap_HeaderDL_vals[] = {
{ 0, "present" },
{ 1, "absent" },
{ 0, NULL }
@@ -2497,7 +4478,7 @@ static const value_string nr_rrc_T_sdap_Header_DL_vals[] = {
static int
-dissect_nr_rrc_T_sdap_Header_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_sdap_HeaderDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -2505,7 +4486,7 @@ dissect_nr_rrc_T_sdap_Header_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
}
-static const value_string nr_rrc_T_sdap_Header_UL_vals[] = {
+static const value_string nr_rrc_T_sdap_HeaderUL_vals[] = {
{ 0, "present" },
{ 1, "absent" },
{ 0, NULL }
@@ -2513,7 +4494,7 @@ static const value_string nr_rrc_T_sdap_Header_UL_vals[] = {
static int
-dissect_nr_rrc_T_sdap_Header_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_sdap_HeaderUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -2531,27 +4512,27 @@ dissect_nr_rrc_QFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, prot
}
-static const per_sequence_t SEQUENCE_SIZE_0_maxNrofQFIs_OF_QFI_sequence_of[1] = {
- { &hf_nr_rrc_mappedQoSflows_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QFI },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI_sequence_of[1] = {
+ { &hf_nr_rrc_mappedQoS_FlowsToAdd_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QFI },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofQFIs_OF_QFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofQFIs_OF_QFI, SEQUENCE_SIZE_0_maxNrofQFIs_OF_QFI_sequence_of,
- 0, maxNrofQFIs, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI, SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI_sequence_of,
+ 1, maxNrofQFIs, FALSE);
return offset;
}
static const per_sequence_t SDAP_Config_sequence[] = {
- { &hf_nr_rrc_pduSession , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDUsessionID },
- { &hf_nr_rrc_sdap_Header_DL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sdap_Header_DL },
- { &hf_nr_rrc_sdap_Header_UL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sdap_Header_UL },
+ { &hf_nr_rrc_pdu_Session , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDU_SessionID },
+ { &hf_nr_rrc_sdap_HeaderDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sdap_HeaderDL },
+ { &hf_nr_rrc_sdap_HeaderUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sdap_HeaderUL },
{ &hf_nr_rrc_defaultDRB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_reflectiveQoS, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_mappedQoSflows, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofQFIs_OF_QFI },
+ { &hf_nr_rrc_mappedQoS_FlowsToAdd, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI },
+ { &hf_nr_rrc_mappedQoS_FlowsToRelease, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI },
{ NULL, 0, 0, NULL }
};
@@ -2590,7 +4571,7 @@ dissect_nr_rrc_T_cnAssociation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_nr_rrc_DRB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 4U, 32U, NULL, FALSE);
+ 1U, 32U, NULL, FALSE);
return offset;
}
@@ -2627,7 +4608,7 @@ dissect_nr_rrc_T_recoverPDCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static const per_sequence_t DRB_ToAddMod_sequence[] = {
- { &hf_nr_rrc_cnAssociation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cnAssociation },
+ { &hf_nr_rrc_cnAssociation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cnAssociation },
{ &hf_nr_rrc_drb_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity },
{ &hf_nr_rrc_reestablishPDCP_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reestablishPDCP_01 },
{ &hf_nr_rrc_recoverPDCP , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_recoverPDCP },
@@ -2717,8 +4698,8 @@ dissect_nr_rrc_IntegrityProtAlgorithm(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
static const per_sequence_t SecurityAlgorithmConfig_sequence[] = {
- { &hf_nr_rrc_cipheringAlgorithm, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CipheringAlgorithm },
- { &hf_nr_rrc_integrityProtAlgorithm, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntegrityProtAlgorithm },
+ { &hf_nr_rrc_cipheringAlgorithm, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CipheringAlgorithm },
+ { &hf_nr_rrc_integrityProtAlgorithm, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_IntegrityProtAlgorithm },
{ NULL, 0, 0, NULL }
};
@@ -2763,11 +4744,11 @@ dissect_nr_rrc_SecurityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
static const per_sequence_t RadioBearerConfig_sequence[] = {
- { &hf_nr_rrc_srb_ToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SRB_ToAddModList },
- { &hf_nr_rrc_srb_ToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_3 },
- { &hf_nr_rrc_drb_ToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DRB_ToAddModList },
- { &hf_nr_rrc_drb_ToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DRB_ToReleaseList },
- { &hf_nr_rrc_securityConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SecurityConfig },
+ { &hf_nr_rrc_srb_ToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SRB_ToAddModList },
+ { &hf_nr_rrc_srb3_ToRelease, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srb3_ToRelease },
+ { &hf_nr_rrc_drb_ToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_DRB_ToAddModList },
+ { &hf_nr_rrc_drb_ToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_DRB_ToReleaseList },
+ { &hf_nr_rrc_securityConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SecurityConfig },
{ NULL, 0, 0, NULL }
};
@@ -2782,268 +4763,239 @@ dissect_nr_rrc_RadioBearerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
static int
-dissect_nr_rrc_INTEGER_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_secondaryCellGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_CellGroupConfig_PDU);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_MeasObjectId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 32U, NULL, FALSE);
+ 1U, maxNrofObjectId, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_T_reestablishRLC_vals[] = {
- { 0, "true" },
+static const per_sequence_t MeasObjectToRemoveList_sequence_of[1] = {
+ { &hf_nr_rrc_MeasObjectToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectId },
+};
+
+static int
+dissect_nr_rrc_MeasObjectToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasObjectToRemoveList, MeasObjectToRemoveList_sequence_of,
+ 1, maxNrofObjectId, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_SubcarrierSpacing_vals[] = {
+ { 0, "kHz15" },
+ { 1, "kHz30" },
+ { 2, "kHz60" },
+ { 3, "kHz120" },
+ { 4, "kHz240" },
+ { 5, "spare3" },
+ { 6, "spare2" },
+ { 7, "spare1" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_reestablishRLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SubcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_SN_FieldLength_AM_vals[] = {
- { 0, "size12" },
- { 1, "size18" },
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 4, 4, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 8, 8, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 64, 64, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_SSB_ToMeasure_vals[] = {
+ { 0, "shortBitmap" },
+ { 1, "mediumBitmap" },
+ { 2, "longBitmap" },
{ 0, NULL }
};
+static const per_choice_t SSB_ToMeasure_choice[] = {
+ { 0, &hf_nr_rrc_shortBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 },
+ { 1, &hf_nr_rrc_mediumBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
+ { 2, &hf_nr_rrc_longBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_SN_FieldLength_AM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_SSB_ToMeasure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SSB_ToMeasure, SSB_ToMeasure_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_PollRetransmit_vals[] = {
- { 0, "ms5" },
- { 1, "ms10" },
- { 2, "ms15" },
- { 3, "ms20" },
- { 4, "ms25" },
- { 5, "ms30" },
- { 6, "ms35" },
- { 7, "ms40" },
- { 8, "ms45" },
- { 9, "ms50" },
- { 10, "ms55" },
- { 11, "ms60" },
- { 12, "ms65" },
- { 13, "ms70" },
- { 14, "ms75" },
- { 15, "ms80" },
- { 16, "ms85" },
- { 17, "ms90" },
- { 18, "ms95" },
- { 19, "ms100" },
- { 20, "ms105" },
- { 21, "ms110" },
- { 22, "ms115" },
- { 23, "ms120" },
- { 24, "ms125" },
- { 25, "ms130" },
- { 26, "ms135" },
- { 27, "ms140" },
- { 28, "ms145" },
- { 29, "ms150" },
- { 30, "ms155" },
- { 31, "ms160" },
- { 32, "ms165" },
- { 33, "ms170" },
- { 34, "ms175" },
- { 35, "ms180" },
- { 36, "ms185" },
- { 37, "ms190" },
- { 38, "ms195" },
- { 39, "ms200" },
- { 40, "ms205" },
- { 41, "ms210" },
- { 42, "ms215" },
- { 43, "ms220" },
- { 44, "ms225" },
- { 45, "ms230" },
- { 46, "ms235" },
- { 47, "ms240" },
- { 48, "ms245" },
- { 49, "ms250" },
- { 50, "ms300" },
- { 51, "ms350" },
- { 52, "ms400" },
- { 53, "ms450" },
- { 54, "ms500" },
- { 55, "ms800" },
- { 56, "ms1000" },
- { 57, "ms2000" },
- { 58, "ms4000" },
- { 59, "spare5" },
- { 60, "spare4" },
- { 61, "spare3" },
- { 62, "spare2" },
- { 63, "spare1" },
+static const value_string nr_rrc_T_ssb_ToMeasure_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
-static value_string_ext nr_rrc_T_PollRetransmit_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_PollRetransmit_vals);
+static const per_choice_t T_ssb_ToMeasure_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_25 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_ToMeasure },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_ssb_ToMeasure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_ssb_ToMeasure, T_ssb_ToMeasure_choice,
+ NULL);
+
+ return offset;
+}
+
static int
-dissect_nr_rrc_T_PollRetransmit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 64, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_INTEGER_0_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 4U, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_PollPDU_vals[] = {
- { 0, "p4" },
- { 1, "p8" },
- { 2, "p16" },
- { 3, "p32" },
- { 4, "p64" },
- { 5, "p128" },
- { 6, "p256" },
- { 7, "p512" },
- { 8, "p1024" },
- { 9, "p2048" },
- { 10, "p4096" },
- { 11, "p6144" },
- { 12, "p8192" },
- { 13, "p12288" },
- { 14, "p16384" },
- { 15, "p20480" },
- { 16, "p24576" },
- { 17, "p28672" },
- { 18, "p32768" },
- { 19, "p40960" },
- { 20, "p49152" },
- { 21, "p57344" },
- { 22, "p65536" },
- { 23, "infinity" },
- { 24, "spare8" },
- { 25, "spare7" },
- { 26, "spare6" },
- { 27, "spare5" },
- { 28, "spare4" },
- { 29, "spare3" },
- { 30, "spare2" },
- { 31, "spare1" },
+static const value_string nr_rrc_T_periodicityAndOffset_vals[] = {
+ { 0, "sf5" },
+ { 1, "sf10" },
+ { 2, "sf20" },
+ { 3, "sf40" },
+ { 4, "sf80" },
+ { 5, "sf160" },
{ 0, NULL }
};
-static value_string_ext nr_rrc_PollPDU_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_PollPDU_vals);
+static const per_choice_t T_periodicityAndOffset_choice[] = {
+ { 0, &hf_nr_rrc_sf5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
+ { 1, &hf_nr_rrc_sf10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
+ { 2, &hf_nr_rrc_sf20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
+ { 3, &hf_nr_rrc_sf40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
+ { 4, &hf_nr_rrc_sf80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
+ { 5, &hf_nr_rrc_sf160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_periodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_periodicityAndOffset, T_periodicityAndOffset_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_duration_vals[] = {
+ { 0, "sf1" },
+ { 1, "sf2" },
+ { 2, "sf3" },
+ { 3, "sf4" },
+ { 4, "sf5" },
+ { 0, NULL }
+};
static int
-dissect_nr_rrc_PollPDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_duration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 32, NULL, FALSE, 0, NULL);
+ 5, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_PollByte_vals[] = {
- { 0, "kB1" },
- { 1, "kB2" },
- { 2, "kB5" },
- { 3, "kB8" },
- { 4, "kB10" },
- { 5, "kB15" },
- { 6, "kB25" },
- { 7, "kB50" },
- { 8, "kB75" },
- { 9, "kB100" },
- { 10, "kB125" },
- { 11, "kB250" },
- { 12, "kB375" },
- { 13, "kB500" },
- { 14, "kB750" },
- { 15, "kB1000" },
- { 16, "kB1250" },
- { 17, "kB1500" },
- { 18, "kB2000" },
- { 19, "kB3000" },
- { 20, "kB4000" },
- { 21, "kB4500" },
- { 22, "kB5000" },
- { 23, "kB5500" },
- { 24, "kB6000" },
- { 25, "kB6500" },
- { 26, "kB7000" },
- { 27, "kB7500" },
- { 28, "mB8" },
- { 29, "mB9" },
- { 30, "mB10" },
- { 31, "mB11" },
- { 32, "mB12" },
- { 33, "mB13" },
- { 34, "mB14" },
- { 35, "mB15" },
- { 36, "mB16" },
- { 37, "mB17" },
- { 38, "mB18" },
- { 39, "mB20" },
- { 40, "mB25" },
- { 41, "mB30" },
- { 42, "mB40" },
- { 43, "infinity" },
- { 44, "spare20" },
- { 45, "spare19" },
- { 46, "spare18" },
- { 47, "spare17" },
- { 48, "spare16" },
- { 49, "spare15" },
- { 50, "spare14" },
- { 51, "spare13" },
- { 52, "spare12" },
- { 53, "spare11" },
- { 54, "spare10" },
- { 55, "spare9" },
- { 56, "spare8" },
- { 57, "spare7" },
- { 58, "spare6" },
- { 59, "spare5" },
- { 60, "spare4" },
- { 61, "spare3" },
- { 62, "spare2" },
- { 63, "spare1" },
- { 0, NULL }
+static const per_sequence_t T_smtc1_sequence[] = {
+ { &hf_nr_rrc_periodicityAndOffset_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicityAndOffset },
+ { &hf_nr_rrc_duration_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_duration },
+ { NULL, 0, 0, NULL }
};
-static value_string_ext nr_rrc_PollByte_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_PollByte_vals);
+static int
+dissect_nr_rrc_T_smtc1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_smtc1, T_smtc1_sequence);
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId_sequence_of[1] = {
+ { &hf_nr_rrc_pci_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
+};
static int
-dissect_nr_rrc_PollByte(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 64, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId, SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId_sequence_of,
+ 1, maxNrofPCIsPerSMTC, FALSE);
return offset;
}
-static const value_string nr_rrc_T_maxRetxThreshold_vals[] = {
- { 0, "t1" },
- { 1, "t2" },
- { 2, "t3" },
- { 3, "t4" },
- { 4, "t6" },
- { 5, "t8" },
- { 6, "t16" },
- { 7, "t32" },
+static const value_string nr_rrc_T_periodicity_01_vals[] = {
+ { 0, "sf5" },
+ { 1, "sf10" },
+ { 2, "sf20" },
+ { 3, "sf40" },
+ { 4, "sf80" },
+ { 5, "sf160" },
+ { 6, "spare2" },
+ { 7, "spare1" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_maxRetxThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_periodicity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8, NULL, FALSE, 0, NULL);
@@ -3051,354 +5003,384 @@ dissect_nr_rrc_T_maxRetxThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
-static const per_sequence_t UL_AM_RLC_sequence[] = {
- { &hf_nr_rrc_sn_FieldLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SN_FieldLength_AM },
- { &hf_nr_rrc_t_PollRetransmit, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_PollRetransmit },
- { &hf_nr_rrc_pollPDU , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PollPDU },
- { &hf_nr_rrc_pollByte , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PollByte },
- { &hf_nr_rrc_maxRetxThreshold, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxRetxThreshold },
+static const per_sequence_t T_smtc2_sequence[] = {
+ { &hf_nr_rrc_pci_List , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId },
+ { &hf_nr_rrc_periodicity_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity_01 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_UL_AM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_smtc2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_UL_AM_RLC, UL_AM_RLC_sequence);
+ ett_nr_rrc_T_smtc2, T_smtc2_sequence);
return offset;
}
-static const value_string nr_rrc_T_Reassembly_vals[] = {
- { 0, "ms0" },
- { 1, "ms5" },
- { 2, "ms10" },
- { 3, "ms15" },
- { 4, "ms20" },
- { 5, "ms25" },
- { 6, "ms30" },
- { 7, "ms35" },
- { 8, "ms40" },
- { 9, "ms45" },
- { 10, "ms50" },
- { 11, "ms55" },
- { 12, "ms60" },
- { 13, "ms65" },
- { 14, "ms70" },
- { 15, "ms75" },
- { 16, "ms80" },
- { 17, "ms85" },
- { 18, "ms90" },
- { 19, "ms95" },
- { 20, "ms100" },
- { 21, "ms110" },
- { 22, "ms120" },
- { 23, "ms130" },
- { 24, "ms140" },
- { 25, "ms150" },
- { 26, "ms160" },
- { 27, "ms170" },
- { 28, "ms180" },
- { 29, "ms190" },
- { 30, "ms200" },
- { 31, "spare1" },
- { 0, NULL }
-};
-
-static value_string_ext nr_rrc_T_Reassembly_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_Reassembly_vals);
-
static int
-dissect_nr_rrc_T_Reassembly(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 32, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_BIT_STRING_SIZE_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 2, 2, FALSE, NULL, NULL);
return offset;
}
-static const value_string nr_rrc_T_StatusProhibit_vals[] = {
- { 0, "ms0" },
- { 1, "ms5" },
- { 2, "ms10" },
- { 3, "ms15" },
- { 4, "ms20" },
- { 5, "ms25" },
- { 6, "ms30" },
- { 7, "ms35" },
- { 8, "ms40" },
- { 9, "ms45" },
- { 10, "ms50" },
- { 11, "ms55" },
- { 12, "ms60" },
- { 13, "ms65" },
- { 14, "ms70" },
- { 15, "ms75" },
- { 16, "ms80" },
- { 17, "ms85" },
- { 18, "ms90" },
- { 19, "ms95" },
- { 20, "ms100" },
- { 21, "ms105" },
- { 22, "ms110" },
- { 23, "ms115" },
- { 24, "ms120" },
- { 25, "ms125" },
- { 26, "ms130" },
- { 27, "ms135" },
- { 28, "ms140" },
- { 29, "ms145" },
- { 30, "ms150" },
- { 31, "ms155" },
- { 32, "ms160" },
- { 33, "ms165" },
- { 34, "ms170" },
- { 35, "ms175" },
- { 36, "ms180" },
- { 37, "ms185" },
- { 38, "ms190" },
- { 39, "ms195" },
- { 40, "ms200" },
- { 41, "ms205" },
- { 42, "ms210" },
- { 43, "ms215" },
- { 44, "ms220" },
- { 45, "ms225" },
- { 46, "ms230" },
- { 47, "ms235" },
- { 48, "ms240" },
- { 49, "ms245" },
- { 50, "ms250" },
- { 51, "ms300" },
- { 52, "ms350" },
- { 53, "ms400" },
- { 54, "ms450" },
- { 55, "ms500" },
- { 56, "ms800" },
- { 57, "ms1000" },
- { 58, "ms1200" },
- { 59, "ms1600" },
- { 60, "ms2000" },
- { 61, "ms2400" },
- { 62, "spare2" },
- { 63, "spare1" },
+static const value_string nr_rrc_T_measurementSlots_vals[] = {
+ { 0, "kHz15" },
+ { 1, "kHz30" },
+ { 2, "kHz60" },
+ { 3, "kHz120" },
{ 0, NULL }
};
-static value_string_ext nr_rrc_T_StatusProhibit_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_StatusProhibit_vals);
+static const per_choice_t T_measurementSlots_choice[] = {
+ { 0, &hf_nr_rrc_kHz15 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_1 },
+ { 1, &hf_nr_rrc_kHz30 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_2 },
+ { 2, &hf_nr_rrc_kHz60 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 },
+ { 3, &hf_nr_rrc_kHz120 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_measurementSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_measurementSlots, T_measurementSlots_choice,
+ NULL);
+
+ return offset;
+}
+
static int
-dissect_nr_rrc_T_StatusProhibit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 64, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_INTEGER_0_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 13U, NULL, FALSE);
return offset;
}
-static const per_sequence_t DL_AM_RLC_sequence[] = {
- { &hf_nr_rrc_sn_FieldLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SN_FieldLength_AM },
- { &hf_nr_rrc_t_Reassembly , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reassembly },
- { &hf_nr_rrc_t_StatusProhibit, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_StatusProhibit },
+static const per_sequence_t T_ss_RSSI_Measurement_sequence[] = {
+ { &hf_nr_rrc_measurementSlots, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measurementSlots },
+ { &hf_nr_rrc_endSymbol , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_DL_AM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_ss_RSSI_Measurement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_DL_AM_RLC, DL_AM_RLC_sequence);
+ ett_nr_rrc_T_ss_RSSI_Measurement, T_ss_RSSI_Measurement_sequence);
return offset;
}
-static const per_sequence_t T_am_sequence[] = {
- { &hf_nr_rrc_ul_AM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_AM_RLC },
- { &hf_nr_rrc_dl_AM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_AM_RLC },
+static const per_sequence_t SSB_ConfigMobility_sequence[] = {
+ { &hf_nr_rrc_subcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
+ { &hf_nr_rrc_ssb_ToMeasure, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_ToMeasure },
+ { &hf_nr_rrc_useServingCellTimingForSync, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_smtc1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_smtc1 },
+ { &hf_nr_rrc_smtc2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_smtc2 },
+ { &hf_nr_rrc_ss_RSSI_Measurement, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ss_RSSI_Measurement },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_am(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SSB_ConfigMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_am, T_am_sequence);
+ ett_nr_rrc_SSB_ConfigMobility, SSB_ConfigMobility_sequence);
return offset;
}
-static const value_string nr_rrc_SN_FieldLength_UM_vals[] = {
- { 0, "size6" },
- { 1, "size12" },
+static const value_string nr_rrc_T_nrofPRBs_vals[] = {
+ { 0, "size24" },
+ { 1, "size48" },
+ { 2, "size96" },
+ { 3, "size192" },
+ { 4, "size264" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_SN_FieldLength_UM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nrofPRBs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 5, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t UL_UM_RLC_sequence[] = {
- { &hf_nr_rrc_sn_FieldLength_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SN_FieldLength_UM },
+
+static int
+dissect_nr_rrc_INTEGER_0_2169(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 2169U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_csi_rs_MeasurementBW_sequence[] = {
+ { &hf_nr_rrc_nrofPRBs , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPRBs },
+ { &hf_nr_rrc_startPRB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2169 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_UL_UM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_csi_rs_MeasurementBW(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_UL_UM_RLC, UL_UM_RLC_sequence);
+ ett_nr_rrc_T_csi_rs_MeasurementBW, T_csi_rs_MeasurementBW_sequence);
return offset;
}
-static const per_sequence_t DL_UM_RLC_sequence[] = {
- { &hf_nr_rrc_sn_FieldLength_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SN_FieldLength_UM },
- { &hf_nr_rrc_t_Reassembly , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reassembly },
+static const value_string nr_rrc_T_density_01_vals[] = {
+ { 0, "d1" },
+ { 1, "d3" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_density_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_slotConfig_vals[] = {
+ { 0, "ms4" },
+ { 1, "ms5" },
+ { 2, "ms10" },
+ { 3, "ms20" },
+ { 4, "ms40" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_slotConfig_choice[] = {
+ { 0, &hf_nr_rrc_ms4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 },
+ { 1, &hf_nr_rrc_ms5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
+ { 2, &hf_nr_rrc_ms10_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
+ { 3, &hf_nr_rrc_ms20_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
+ { 4, &hf_nr_rrc_ms40_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_slotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_slotConfig, T_slotConfig_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_associatedSSB_sequence[] = {
+ { &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
+ { &hf_nr_rrc_isQuasiColocated, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_DL_UM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_associatedSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_DL_UM_RLC, DL_UM_RLC_sequence);
+ ett_nr_rrc_T_associatedSSB, T_associatedSSB_sequence);
return offset;
}
-static const per_sequence_t T_um_Bi_Directional_sequence[] = {
- { &hf_nr_rrc_ul_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_UM_RLC },
- { &hf_nr_rrc_dl_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_UM_RLC },
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 12, 12, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_frequencyDomainAllocation_01_vals[] = {
+ { 0, "row1" },
+ { 1, "row2" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_frequencyDomainAllocation_01_choice[] = {
+ { 0, &hf_nr_rrc_row1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 },
+ { 1, &hf_nr_rrc_row2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_12 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_frequencyDomainAllocation_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_frequencyDomainAllocation_01, T_frequencyDomainAllocation_01_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t CSI_RS_Resource_Mobility_sequence[] = {
+ { &hf_nr_rrc_csi_RS_Index , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Index },
+ { &hf_nr_rrc_slotConfig , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_slotConfig },
+ { &hf_nr_rrc_associatedSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_associatedSSB },
+ { &hf_nr_rrc_frequencyDomainAllocation_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_frequencyDomainAllocation_01 },
+ { &hf_nr_rrc_firstOFDMSymbolInTimeDomain, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
+ { &hf_nr_rrc_sequenceGenerationConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1023 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_um_Bi_Directional(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CSI_RS_Resource_Mobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_um_Bi_Directional, T_um_Bi_Directional_sequence);
+ ett_nr_rrc_CSI_RS_Resource_Mobility, CSI_RS_Resource_Mobility_sequence);
return offset;
}
-static const per_sequence_t T_um_Uni_Directional_UL_sequence[] = {
- { &hf_nr_rrc_ul_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_UM_RLC },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility_sequence_of[1] = {
+ { &hf_nr_rrc_csi_rs_ResourceList_Mobility_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Resource_Mobility },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility, SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility_sequence_of,
+ 1, maxNrofCSI_RS_ResourcesRRM, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t CSI_RS_CellMobility_sequence[] = {
+ { &hf_nr_rrc_cellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
+ { &hf_nr_rrc_csi_rs_MeasurementBW, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_csi_rs_MeasurementBW },
+ { &hf_nr_rrc_density_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_density_01 },
+ { &hf_nr_rrc_csi_rs_ResourceList_Mobility, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_um_Uni_Directional_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CSI_RS_CellMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_um_Uni_Directional_UL, T_um_Uni_Directional_UL_sequence);
+ ett_nr_rrc_CSI_RS_CellMobility, CSI_RS_CellMobility_sequence);
return offset;
}
-static const per_sequence_t T_um_Uni_Directional_DL_sequence[] = {
- { &hf_nr_rrc_dl_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_UM_RLC },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility_sequence_of[1] = {
+ { &hf_nr_rrc_csi_RS_CellList_Mobility_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_CellMobility },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility, SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility_sequence_of,
+ 1, maxNrofCSI_RS_CellsRRM, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t CSI_RS_ResourceConfigMobility_sequence[] = {
+ { &hf_nr_rrc_isServingCellMO, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_subcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
+ { &hf_nr_rrc_csi_RS_CellList_Mobility, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_um_Uni_Directional_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CSI_RS_ResourceConfigMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_um_Uni_Directional_DL, T_um_Uni_Directional_DL_sequence);
+ ett_nr_rrc_CSI_RS_ResourceConfigMobility, CSI_RS_ResourceConfigMobility_sequence);
return offset;
}
-static const value_string nr_rrc_RLC_Config_vals[] = {
- { 0, "am" },
- { 1, "um-Bi-Directional" },
- { 2, "um-Uni-Directional-UL" },
- { 3, "um-Uni-Directional-DL" },
+static const value_string nr_rrc_T_csi_rs_ResourceConfigMobility_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t RLC_Config_choice[] = {
- { 0, &hf_nr_rrc_am , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_am },
- { 1, &hf_nr_rrc_um_Bi_Directional, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_um_Bi_Directional },
- { 2, &hf_nr_rrc_um_Uni_Directional_UL, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_um_Uni_Directional_UL },
- { 3, &hf_nr_rrc_um_Uni_Directional_DL, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_um_Uni_Directional_DL },
+static const per_choice_t T_csi_rs_ResourceConfigMobility_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_24 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_RS_ResourceConfigMobility },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_RLC_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_csi_rs_ResourceConfigMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RLC_Config, RLC_Config_choice,
+ ett_nr_rrc_T_csi_rs_ResourceConfigMobility, T_csi_rs_ResourceConfigMobility_choice,
NULL);
return offset;
}
+static const per_sequence_t ReferenceSignalConfig_sequence[] = {
+ { &hf_nr_rrc_ssb_ConfigMobility, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_ConfigMobility },
+ { &hf_nr_rrc_csi_rs_ResourceConfigMobility, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_rs_ResourceConfigMobility },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_1_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 16U, NULL, FALSE);
+dissect_nr_rrc_ReferenceSignalConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ReferenceSignalConfig, ReferenceSignalConfig_sequence);
return offset;
}
-static const value_string nr_rrc_T_prioritisedBitRate_vals[] = {
- { 0, "kBps0" },
- { 1, "kBps8" },
- { 2, "kBps16" },
- { 3, "kBps32" },
- { 4, "kBps64" },
- { 5, "kBps128" },
- { 6, "kBps256" },
- { 7, "kBps512" },
- { 8, "kBps1024" },
- { 9, "kBps2048" },
- { 10, "kBps4096" },
- { 11, "kBps8192" },
- { 12, "kBps16384" },
- { 13, "kBps32768" },
- { 14, "kBps65536" },
- { 15, "infinity" },
- { 0, NULL }
+static const per_sequence_t ThresholdNR_sequence[] = {
+ { &hf_nr_rrc_thresholdRSRP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range },
+ { &hf_nr_rrc_thresholdRSRQ, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_Range },
+ { &hf_nr_rrc_thresholdSINR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SINR_Range },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_prioritisedBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 16, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_ThresholdNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ThresholdNR, ThresholdNR_sequence);
return offset;
}
-static const value_string nr_rrc_T_bucketSizeDuration_vals[] = {
- { 0, "ms50" },
- { 1, "ms100" },
- { 2, "ms150" },
- { 3, "ms300" },
- { 4, "ms500" },
- { 5, "ms1000" },
- { 6, "spare2" },
- { 7, "spare1" },
- { 0, NULL }
-};
+
+static int
+dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 2U, maxNrofSS_BlocksToAverage, NULL, FALSE);
+
+ return offset;
+}
+
static int
-dissect_nr_rrc_T_bucketSizeDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_INTEGER_2_maxNrofCSI_RS_ResourcesToAverage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 2U, maxNrofCSI_RS_ResourcesToAverage, NULL, FALSE);
return offset;
}
@@ -3406,362 +5388,322 @@ dissect_nr_rrc_T_bucketSizeDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
static int
-dissect_nr_rrc_INTEGER_0_maxLCid(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_1_maxNrofQuantityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxLCid, NULL, FALSE);
+ 1U, maxNrofQuantityConfig, NULL, FALSE);
return offset;
}
-static const per_sequence_t T_ul_SpecificParameters_sequence[] = {
- { &hf_nr_rrc_priority , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
- { &hf_nr_rrc_prioritisedBitRate, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_prioritisedBitRate },
- { &hf_nr_rrc_bucketSizeDuration, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_bucketSizeDuration },
- { &hf_nr_rrc_allowedSubCarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing },
- { &hf_nr_rrc_allowedTiming, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NULL },
- { &hf_nr_rrc_logicalChannelGroup, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxLCid },
- { &hf_nr_rrc_logicalChannelSR_Mask, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_logicalChannelSR_DelayTimerApplied, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_Q_OffsetRange_vals[] = {
+ { 0, "dB-24" },
+ { 1, "dB-22" },
+ { 2, "dB-20" },
+ { 3, "dB-18" },
+ { 4, "dB-16" },
+ { 5, "dB-14" },
+ { 6, "dB-12" },
+ { 7, "dB-10" },
+ { 8, "dB-8" },
+ { 9, "dB-6" },
+ { 10, "dB-5" },
+ { 11, "dB-4" },
+ { 12, "dB-3" },
+ { 13, "dB-2" },
+ { 14, "dB-1" },
+ { 15, "dB0" },
+ { 16, "dB1" },
+ { 17, "dB2" },
+ { 18, "dB3" },
+ { 19, "dB4" },
+ { 20, "dB5" },
+ { 21, "dB6" },
+ { 22, "dB8" },
+ { 23, "dB10" },
+ { 24, "dB12" },
+ { 25, "dB14" },
+ { 26, "dB16" },
+ { 27, "dB18" },
+ { 28, "dB20" },
+ { 29, "dB22" },
+ { 30, "dB24" },
+ { 0, NULL }
};
+static value_string_ext nr_rrc_Q_OffsetRange_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_Q_OffsetRange_vals);
+
+
static int
-dissect_nr_rrc_T_ul_SpecificParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_ul_SpecificParameters, T_ul_SpecificParameters_sequence);
+dissect_nr_rrc_Q_OffsetRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 31, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t LogicalChannelConfig_sequence[] = {
- { &hf_nr_rrc_ul_SpecificParameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_SpecificParameters },
+static const per_sequence_t Q_OffsetRangeList_sequence[] = {
+ { &hf_nr_rrc_rsrpOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
+ { &hf_nr_rrc_rsrqOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
+ { &hf_nr_rrc_sinrOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
+ { &hf_nr_rrc_rsrpOffsetCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
+ { &hf_nr_rrc_rsrqOffsetCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
+ { &hf_nr_rrc_sinrOffsetCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_LogicalChannelConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_Q_OffsetRangeList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_LogicalChannelConfig, LogicalChannelConfig_sequence);
+ ett_nr_rrc_Q_OffsetRangeList, Q_OffsetRangeList_sequence);
return offset;
}
-static const per_sequence_t LCH_Config_sequence[] = {
- { &hf_nr_rrc_logicalChannelIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogicalChannelIdentity },
- { &hf_nr_rrc_servedRadioBearer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_32 },
- { &hf_nr_rrc_reestablishRLC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reestablishRLC },
- { &hf_nr_rrc_rlc_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RLC_Config },
- { &hf_nr_rrc_mac_LogicalChannelConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_LogicalChannelConfig },
- { NULL, 0, 0, NULL }
+static const per_sequence_t PCI_List_sequence_of[1] = {
+ { &hf_nr_rrc_PCI_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
};
static int
-dissect_nr_rrc_LCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_LCH_Config, LCH_Config_sequence);
+dissect_nr_rrc_PCI_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PCI_List, PCI_List_sequence_of,
+ 1, maxNrofCellMeas, FALSE);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxLCH_OF_LCH_Config_sequence_of[1] = {
- { &hf_nr_rrc_rlc_BearerToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LCH_Config },
+static const per_sequence_t CellsToAddMod_sequence[] = {
+ { &hf_nr_rrc_physCellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
+ { &hf_nr_rrc_cellIndividualOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRangeList },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxLCH_OF_LCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxLCH_OF_LCH_Config, SEQUENCE_SIZE_1_maxLCH_OF_LCH_Config_sequence_of,
- 1, maxLCH, FALSE);
+dissect_nr_rrc_CellsToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CellsToAddMod, CellsToAddMod_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxLCH_OF_LogicalChannelIdentity_sequence_of[1] = {
- { &hf_nr_rrc_rlc_BearerToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogicalChannelIdentity },
+static const per_sequence_t CellsToAddModList_sequence_of[1] = {
+ { &hf_nr_rrc_CellsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellsToAddMod },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxLCH_OF_LogicalChannelIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxLCH_OF_LogicalChannelIdentity, SEQUENCE_SIZE_1_maxLCH_OF_LogicalChannelIdentity_sequence_of,
- 1, maxLCH, FALSE);
+ ett_nr_rrc_CellsToAddModList, CellsToAddModList_sequence_of,
+ 1, maxNrofCellMeas, FALSE);
return offset;
}
-static const value_string nr_rrc_T_drx_onDurationTimer_vals[] = {
- { 0, "ms1-32" },
- { 1, "ms2-32" },
- { 2, "ms3-32" },
- { 3, "ms4-32" },
- { 4, "ms5-32" },
- { 5, "ms6-32" },
- { 6, "ms7-32" },
- { 7, "ms8-32" },
- { 8, "ms9-32" },
- { 9, "ms10-32" },
- { 10, "ms11-32" },
- { 11, "ms12-32" },
- { 12, "ms13-32" },
- { 13, "ms14-32" },
- { 14, "ms15-32" },
- { 15, "ms16-32" },
- { 16, "ms17-32" },
- { 17, "ms18-32" },
- { 18, "ms19-32" },
- { 19, "ms-20-32" },
- { 20, "ms21-32" },
- { 21, "ms22-32" },
- { 22, "ms23-32" },
- { 23, "ms24-32" },
- { 24, "ms25-32" },
- { 25, "ms26-32" },
- { 26, "ms27-32" },
- { 27, "ms28-32" },
- { 28, "ms29-32" },
- { 29, "ms30-32" },
- { 30, "ms31-32" },
- { 31, "ms1" },
- { 32, "ms2" },
- { 33, "ms3" },
- { 34, "ms4" },
- { 35, "ms5" },
- { 36, "ms6" },
- { 37, "ms8" },
- { 38, "ms10" },
- { 39, "ms20" },
- { 40, "ms30" },
- { 41, "ms40" },
- { 42, "ms50" },
- { 43, "ms60" },
- { 44, "ms80" },
- { 45, "ms100" },
- { 46, "ms200" },
- { 47, "ms300" },
- { 48, "ms400" },
- { 49, "ms500" },
- { 50, "ms600" },
- { 51, "ms800" },
- { 52, "ms1000" },
- { 53, "ms1200" },
- { 54, "ms1600" },
- { 55, "spare9" },
- { 56, "spare8" },
- { 57, "spare7" },
- { 58, "spare6" },
- { 59, "spare5" },
- { 60, "spare4" },
- { 61, "spare3" },
- { 62, "spare2" },
- { 63, "spare1" },
- { 0, NULL }
-};
-static value_string_ext nr_rrc_T_drx_onDurationTimer_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_onDurationTimer_vals);
+static int
+dissect_nr_rrc_PCI_RangeIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxNrofPCI_Ranges, NULL, FALSE);
+
+ return offset;
+}
+static const per_sequence_t PCI_RangeIndexList_sequence_of[1] = {
+ { &hf_nr_rrc_PCI_RangeIndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_RangeIndex },
+};
+
static int
-dissect_nr_rrc_T_drx_onDurationTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 64, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_PCI_RangeIndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PCI_RangeIndexList, PCI_RangeIndexList_sequence_of,
+ 1, maxNrofPCI_Ranges, FALSE);
return offset;
}
-static const value_string nr_rrc_T_drx_InactivityTimer_vals[] = {
- { 0, "ms0" },
- { 1, "ms1" },
- { 2, "ms2" },
- { 3, "ms3" },
- { 4, "ms4" },
- { 5, "ms5" },
- { 6, "ms6" },
- { 7, "ms8" },
- { 8, "ms10" },
- { 9, "ms20" },
- { 10, "ms30" },
- { 11, "ms40" },
- { 12, "ms50" },
- { 13, "ms60" },
- { 14, "ms80" },
- { 15, "ms100" },
- { 16, "ms200" },
- { 17, "ms300" },
- { 18, "ms500" },
- { 19, "ms750" },
- { 20, "ms1280" },
- { 21, "ms1920" },
- { 22, "ms2560" },
- { 23, "spare9" },
- { 24, "spare8" },
- { 25, "spare7" },
- { 26, "spare6" },
- { 27, "spare5" },
- { 28, "spare4" },
- { 29, "spare3" },
- { 30, "spare2" },
- { 31, "spare1" },
+static const value_string nr_rrc_T_range_vals[] = {
+ { 0, "n4" },
+ { 1, "n8" },
+ { 2, "n12" },
+ { 3, "n16" },
+ { 4, "n24" },
+ { 5, "n32" },
+ { 6, "n48" },
+ { 7, "n64" },
+ { 8, "n84" },
+ { 9, "n96" },
+ { 10, "n128" },
+ { 11, "n168" },
+ { 12, "n252" },
+ { 13, "n504" },
+ { 14, "n1008" },
+ { 15, "spare1" },
{ 0, NULL }
};
-static value_string_ext nr_rrc_T_drx_InactivityTimer_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_InactivityTimer_vals);
-
static int
-dissect_nr_rrc_T_drx_InactivityTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 32, NULL, FALSE, 0, NULL);
+ 16, NULL, FALSE, 0, NULL);
return offset;
}
+static const per_sequence_t PCI_Range_sequence[] = {
+ { &hf_nr_rrc_start , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
+ { &hf_nr_rrc_range , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_range },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_56(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 56U, NULL, FALSE);
+dissect_nr_rrc_PCI_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PCI_Range, PCI_Range_sequence);
return offset;
}
-static const value_string nr_rrc_T_drx_RetransmissionTimerDL_vals[] = {
- { 0, "sl0" },
- { 1, "sl1" },
- { 2, "sl2" },
- { 3, "sl4" },
- { 4, "sl6" },
- { 5, "sl8" },
- { 6, "sl16" },
- { 7, "sl24" },
- { 8, "sl33" },
- { 9, "sl40" },
- { 10, "sl64" },
- { 11, "sl80" },
- { 12, "sl96" },
- { 13, "sl112" },
- { 14, "sl128" },
- { 15, "spare15" },
- { 16, "spare14" },
- { 17, "spare13" },
- { 18, "spare12" },
- { 19, "spare11" },
- { 20, "spare10" },
- { 21, "spare9" },
- { 22, "spare8" },
- { 23, "spare7" },
- { 24, "spare6" },
- { 25, "spare5" },
- { 26, "spare4" },
- { 27, "spare3" },
- { 28, "spare2" },
- { 29, "spare1" },
- { 0, NULL }
+static const per_sequence_t BlackCellsToAddMod_sequence[] = {
+ { &hf_nr_rrc_pci_RangeIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_RangeIndex },
+ { &hf_nr_rrc_pci_Range , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range },
+ { NULL, 0, 0, NULL }
};
-static value_string_ext nr_rrc_T_drx_RetransmissionTimerDL_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_RetransmissionTimerDL_vals);
+static int
+dissect_nr_rrc_BlackCellsToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BlackCellsToAddMod, BlackCellsToAddMod_sequence);
+
+ return offset;
+}
+static const per_sequence_t BlackCellsToAddModList_sequence_of[1] = {
+ { &hf_nr_rrc_BlackCellsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BlackCellsToAddMod },
+};
+
static int
-dissect_nr_rrc_T_drx_RetransmissionTimerDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 30, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_BlackCellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BlackCellsToAddModList, BlackCellsToAddModList_sequence_of,
+ 1, maxNrofPCI_Ranges, FALSE);
return offset;
}
-static const value_string nr_rrc_T_drx_RetransmissionTimerUL_vals[] = {
- { 0, "sl0" },
- { 1, "sl1" },
- { 2, "sl2" },
- { 3, "sl4" },
- { 4, "sl6" },
- { 5, "sl8" },
- { 6, "sl16" },
- { 7, "sl24" },
- { 8, "sl33" },
- { 9, "sl40" },
- { 10, "sl64" },
- { 11, "sl80" },
- { 12, "sl96" },
- { 13, "sl112" },
- { 14, "sl1128" },
- { 15, "u160sl160" },
- { 16, "u320sl320" },
- { 17, "spare15" },
- { 18, "spare14" },
- { 19, "spare13" },
- { 20, "spare12" },
- { 21, "spare11" },
- { 22, "spare10" },
- { 23, "spare9" },
- { 24, "spare8" },
- { 25, "spare7" },
- { 26, "spare6" },
- { 27, "spare5" },
- { 28, "spare4" },
- { 29, "spare3" },
- { 30, "spare2" },
- { 31, "spare1" },
- { 0, NULL }
+static const per_sequence_t WhiteCellsToAddMod_sequence[] = {
+ { &hf_nr_rrc_pci_RangeIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_RangeIndex },
+ { &hf_nr_rrc_pci_Range , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range },
+ { NULL, 0, 0, NULL }
};
-static value_string_ext nr_rrc_T_drx_RetransmissionTimerUL_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_RetransmissionTimerUL_vals);
+static int
+dissect_nr_rrc_WhiteCellsToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_WhiteCellsToAddMod, WhiteCellsToAddMod_sequence);
+
+ return offset;
+}
+static const per_sequence_t WhiteCellsToAddModList_sequence_of[1] = {
+ { &hf_nr_rrc_WhiteCellsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_WhiteCellsToAddMod },
+};
+
static int
-dissect_nr_rrc_T_drx_RetransmissionTimerUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 32, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_WhiteCellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_WhiteCellsToAddModList, WhiteCellsToAddModList_sequence_of,
+ 1, maxNrofPCI_Ranges, FALSE);
return offset;
}
+static const per_sequence_t MeasObjectNR_sequence[] = {
+ { &hf_nr_rrc_ssbFrequency , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
+ { &hf_nr_rrc_refFreqCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
+ { &hf_nr_rrc_referenceSignalConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReferenceSignalConfig },
+ { &hf_nr_rrc_absThreshSS_BlocksConsolidation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ThresholdNR },
+ { &hf_nr_rrc_absThreshCSI_RS_Consolidation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ThresholdNR },
+ { &hf_nr_rrc_nrofSS_BlocksToAverage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage },
+ { &hf_nr_rrc_nrofCSI_RS_ResourcesToAverage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_maxNrofCSI_RS_ResourcesToAverage },
+ { &hf_nr_rrc_quantityConfigIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofQuantityConfig },
+ { &hf_nr_rrc_offsetFreq , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRangeList },
+ { &hf_nr_rrc_cellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PCI_List },
+ { &hf_nr_rrc_cellsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CellsToAddModList },
+ { &hf_nr_rrc_blackCellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PCI_RangeIndexList },
+ { &hf_nr_rrc_blackCellsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BlackCellsToAddModList },
+ { &hf_nr_rrc_whiteCellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PCI_RangeIndexList },
+ { &hf_nr_rrc_whiteCellsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_WhiteCellsToAddModList },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 9U, NULL, FALSE);
+dissect_nr_rrc_MeasObjectNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasObjectNR, MeasObjectNR_sequence);
return offset;
}
+static const value_string nr_rrc_T_measObject_vals[] = {
+ { 0, "measObjectNR" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_measObject_choice[] = {
+ { 0, &hf_nr_rrc_measObjectNR , ASN1_EXTENSION_ROOT , dissect_nr_rrc_MeasObjectNR },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 19U, NULL, FALSE);
+dissect_nr_rrc_T_measObject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_measObject, T_measObject_choice,
+ NULL);
return offset;
}
+static const per_sequence_t MeasObjectToAddMod_sequence[] = {
+ { &hf_nr_rrc_measObjectId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectId },
+ { &hf_nr_rrc_measObject , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measObject },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 31U, NULL, FALSE);
+dissect_nr_rrc_MeasObjectToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasObjectToAddMod, MeasObjectToAddMod_sequence);
return offset;
}
+static const per_sequence_t MeasObjectToAddModList_sequence_of[1] = {
+ { &hf_nr_rrc_MeasObjectToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectToAddMod },
+};
static int
-dissect_nr_rrc_INTEGER_0_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 39U, NULL, FALSE);
+dissect_nr_rrc_MeasObjectToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasObjectToAddModList, MeasObjectToAddModList_sequence_of,
+ 1, maxNrofObjectId, FALSE);
return offset;
}
@@ -3769,59 +5711,105 @@ dissect_nr_rrc_INTEGER_0_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
-dissect_nr_rrc_INTEGER_0_59(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_ReportConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 59U, NULL, FALSE);
+ 1U, maxReportConfigId, NULL, FALSE);
return offset;
}
+static const per_sequence_t ReportConfigToRemoveList_sequence_of[1] = {
+ { &hf_nr_rrc_ReportConfigToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId },
+};
static int
-dissect_nr_rrc_INTEGER_0_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 63U, NULL, FALSE);
+dissect_nr_rrc_ReportConfigToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ReportConfigToRemoveList, ReportConfigToRemoveList_sequence_of,
+ 1, maxReportConfigId, FALSE);
return offset;
}
+static const value_string nr_rrc_NR_RS_Type_vals[] = {
+ { 0, "ssb" },
+ { 1, "csi-rs" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_INTEGER_0_69(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 69U, NULL, FALSE);
+dissect_nr_rrc_NR_RS_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
+static const value_string nr_rrc_ReportInterval_vals[] = {
+ { 0, "ms120" },
+ { 1, "ms240" },
+ { 2, "ms480" },
+ { 3, "ms640" },
+ { 4, "ms1024" },
+ { 5, "ms2048" },
+ { 6, "ms5120" },
+ { 7, "ms10240" },
+ { 8, "ms20480" },
+ { 9, "ms40960" },
+ { 10, "min1" },
+ { 11, "min6" },
+ { 12, "min12" },
+ { 13, "min30" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_INTEGER_0_79(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 79U, NULL, FALSE);
+dissect_nr_rrc_ReportInterval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 14, NULL, FALSE, 0, NULL);
return offset;
}
+static const value_string nr_rrc_T_reportAmount_01_vals[] = {
+ { 0, "r1" },
+ { 1, "r2" },
+ { 2, "r4" },
+ { 3, "r8" },
+ { 4, "r16" },
+ { 5, "r32" },
+ { 6, "r64" },
+ { 7, "infinity" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_INTEGER_0_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 127U, NULL, FALSE);
+dissect_nr_rrc_T_reportAmount_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
+static const per_sequence_t MeasReportQuantity_sequence[] = {
+ { &hf_nr_rrc_rsrp_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_rsrq_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_sinr_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_159(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 159U, NULL, FALSE);
+dissect_nr_rrc_MeasReportQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasReportQuantity, MeasReportQuantity_sequence);
return offset;
}
@@ -3829,9 +5817,9 @@ dissect_nr_rrc_INTEGER_0_159(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
-dissect_nr_rrc_INTEGER_0_319(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_1_maxCellReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 319U, NULL, FALSE);
+ 1U, maxCellReport, NULL, FALSE);
return offset;
}
@@ -3839,29 +5827,55 @@ dissect_nr_rrc_INTEGER_0_319(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
-dissect_nr_rrc_INTEGER_0_511(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 511U, NULL, FALSE);
+ 1U, maxNrofIndexesToReport, NULL, FALSE);
return offset;
}
+static const per_sequence_t PeriodicalReportConfig_sequence[] = {
+ { &hf_nr_rrc_rsType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_RS_Type },
+ { &hf_nr_rrc_reportInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
+ { &hf_nr_rrc_reportAmount_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_01 },
+ { &hf_nr_rrc_reportQuantityCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity },
+ { &hf_nr_rrc_maxReportCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport },
+ { &hf_nr_rrc_reportQuantityRsIndexes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasReportQuantity },
+ { &hf_nr_rrc_maxNrofRsIndexesToReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport },
+ { &hf_nr_rrc_includeBeamMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_useWhiteCellList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_639(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 639U, NULL, FALSE);
+dissect_nr_rrc_PeriodicalReportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PeriodicalReportConfig, PeriodicalReportConfig_sequence);
return offset;
}
+static const value_string nr_rrc_MeasTriggerQuantity_vals[] = {
+ { 0, "rsrp" },
+ { 1, "rsrq" },
+ { 2, "sinr" },
+ { 0, NULL }
+};
+
+static const per_choice_t MeasTriggerQuantity_choice[] = {
+ { 0, &hf_nr_rrc_rsrp , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRP_Range },
+ { 1, &hf_nr_rrc_rsrq , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRQ_Range },
+ { 2, &hf_nr_rrc_sinr , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SINR_Range },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 1023U, NULL, FALSE);
+dissect_nr_rrc_MeasTriggerQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasTriggerQuantity, MeasTriggerQuantity_choice,
+ NULL);
return offset;
}
@@ -3869,39 +5883,73 @@ dissect_nr_rrc_INTEGER_0_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
static int
-dissect_nr_rrc_INTEGER_0_1279(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_Hysteresis(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 1279U, NULL, FALSE);
+ 0U, 30U, NULL, FALSE);
return offset;
}
+static const value_string nr_rrc_TimeToTrigger_vals[] = {
+ { 0, "ms0" },
+ { 1, "ms40" },
+ { 2, "ms64" },
+ { 3, "ms80" },
+ { 4, "ms100" },
+ { 5, "ms128" },
+ { 6, "ms160" },
+ { 7, "ms256" },
+ { 8, "ms320" },
+ { 9, "ms480" },
+ { 10, "ms512" },
+ { 11, "ms640" },
+ { 12, "ms1024" },
+ { 13, "ms1280" },
+ { 14, "ms2560" },
+ { 15, "ms5120" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_INTEGER_0_2047(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 2047U, NULL, FALSE);
+dissect_nr_rrc_TimeToTrigger(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 16, NULL, FALSE, 0, NULL);
return offset;
}
+static const per_sequence_t T_eventA1_sequence[] = {
+ { &hf_nr_rrc_a1_Threshold , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
+ { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
+ { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_2559(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 2559U, NULL, FALSE);
+dissect_nr_rrc_T_eventA1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_eventA1, T_eventA1_sequence);
return offset;
}
+static const per_sequence_t T_eventA2_sequence[] = {
+ { &hf_nr_rrc_a2_Threshold , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
+ { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
+ { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_5119(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 5119U, NULL, FALSE);
+dissect_nr_rrc_T_eventA2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_eventA2, T_eventA2_sequence);
return offset;
}
@@ -3909,1077 +5957,1420 @@ dissect_nr_rrc_INTEGER_0_5119(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
static int
-dissect_nr_rrc_INTEGER_0_10239(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_M30_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 10239U, NULL, FALSE);
+ -30, 30U, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_T_drx_LongCycleStartOffset_vals[] = {
- { 0, "ms10" },
- { 1, "ms20" },
- { 2, "ms32" },
- { 3, "ms40" },
- { 4, "ms60" },
- { 5, "ms64" },
- { 6, "ms70" },
- { 7, "ms80" },
- { 8, "ms128" },
- { 9, "ms160" },
- { 10, "ms256" },
- { 11, "ms320" },
- { 12, "ms512" },
- { 13, "ms640" },
- { 14, "ms1024" },
- { 15, "ms1280" },
- { 16, "ms2048" },
- { 17, "ms2560" },
- { 18, "ms5120" },
- { 19, "ms10240" },
+static const value_string nr_rrc_MeasTriggerQuantityOffset_vals[] = {
+ { 0, "rsrp" },
+ { 1, "rsrq" },
+ { 2, "sinr" },
{ 0, NULL }
};
-static value_string_ext nr_rrc_T_drx_LongCycleStartOffset_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_LongCycleStartOffset_vals);
-
-static const per_choice_t T_drx_LongCycleStartOffset_choice[] = {
- { 0, &hf_nr_rrc_ms10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
- { 1, &hf_nr_rrc_ms20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
- { 2, &hf_nr_rrc_ms32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 },
- { 3, &hf_nr_rrc_ms40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
- { 4, &hf_nr_rrc_ms60 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_59 },
- { 5, &hf_nr_rrc_ms64 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_63 },
- { 6, &hf_nr_rrc_ms70 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_69 },
- { 7, &hf_nr_rrc_ms80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
- { 8, &hf_nr_rrc_ms128 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_127 },
- { 9, &hf_nr_rrc_ms160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
- { 10, &hf_nr_rrc_ms256 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_255 },
- { 11, &hf_nr_rrc_ms320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
- { 12, &hf_nr_rrc_ms512 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_511 },
- { 13, &hf_nr_rrc_ms640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 },
- { 14, &hf_nr_rrc_ms1024 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1023 },
- { 15, &hf_nr_rrc_ms1280 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1279 },
- { 16, &hf_nr_rrc_ms2048 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2047 },
- { 17, &hf_nr_rrc_ms2560 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2559 },
- { 18, &hf_nr_rrc_ms5120 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_5119 },
- { 19, &hf_nr_rrc_ms10240 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_10239 },
+static const per_choice_t MeasTriggerQuantityOffset_choice[] = {
+ { 0, &hf_nr_rrc_rsrp_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_M30_30 },
+ { 1, &hf_nr_rrc_rsrq_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_M30_30 },
+ { 2, &hf_nr_rrc_sinr_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_M30_30 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_drx_LongCycleStartOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasTriggerQuantityOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_drx_LongCycleStartOffset, T_drx_LongCycleStartOffset_choice,
+ ett_nr_rrc_MeasTriggerQuantityOffset, MeasTriggerQuantityOffset_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_drx_ShortCycle_vals[] = {
- { 0, "ms2" },
- { 1, "ms3" },
- { 2, "ms4" },
- { 3, "ms5" },
- { 4, "ms6" },
- { 5, "ms7" },
- { 6, "ms8" },
- { 7, "ms10" },
- { 8, "ms14" },
- { 9, "ms16" },
- { 10, "ms20" },
- { 11, "ms30" },
- { 12, "ms32" },
- { 13, "ms35" },
- { 14, "ms40" },
- { 15, "ms64" },
- { 16, "ms80" },
- { 17, "ms128" },
- { 18, "ms160" },
- { 19, "ms256" },
- { 20, "ms320" },
- { 21, "ms512" },
- { 22, "ms640" },
- { 23, "spare9" },
- { 24, "spare8" },
- { 25, "spare7" },
- { 26, "spare6" },
- { 27, "spare5" },
- { 28, "spare4" },
- { 29, "spare3" },
- { 30, "spare2" },
- { 31, "spare1" },
- { 0, NULL }
+static const per_sequence_t T_eventA3_sequence[] = {
+ { &hf_nr_rrc_a3_Offset , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityOffset },
+ { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
+ { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
+ { &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { NULL, 0, 0, NULL }
};
-static value_string_ext nr_rrc_T_drx_ShortCycle_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_ShortCycle_vals);
-
-
static int
-dissect_nr_rrc_T_drx_ShortCycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 32, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_eventA3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_eventA3, T_eventA3_sequence);
return offset;
}
-static const per_sequence_t T_shortDRX_sequence[] = {
- { &hf_nr_rrc_drx_ShortCycle, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_ShortCycle },
- { &hf_nr_rrc_drx_ShortCycleTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
+static const per_sequence_t T_eventA4_sequence[] = {
+ { &hf_nr_rrc_a4_Threshold , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
+ { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
+ { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
+ { &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_shortDRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_eventA4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_shortDRX, T_shortDRX_sequence);
+ ett_nr_rrc_T_eventA4, T_eventA4_sequence);
return offset;
}
-static const value_string nr_rrc_T_drx_SlotOffset_vals[] = {
- { 0, "ms0" },
- { 1, "ms1-32" },
- { 2, "ms2-32" },
- { 3, "ms3-32" },
- { 4, "ms4-32" },
- { 5, "ms5-32" },
- { 6, "ms6-32" },
- { 7, "ms7-32" },
- { 8, "ms8-32" },
- { 9, "ms9-32" },
- { 10, "ms10-32" },
- { 11, "ms11-32" },
- { 12, "ms12-32" },
- { 13, "ms13-32" },
- { 14, "ms14-32" },
- { 15, "ms15-32" },
- { 16, "ms16-32" },
- { 17, "ms17-32" },
- { 18, "ms18-32" },
- { 19, "ms19-32" },
- { 20, "ms-20-32" },
- { 21, "ms21-32" },
- { 22, "ms22-32" },
- { 23, "ms23-32" },
- { 24, "ms24-32" },
- { 25, "ms25-32" },
- { 26, "ms26-32" },
- { 27, "ms27-32" },
- { 28, "ms28-32" },
- { 29, "ms29-32" },
- { 30, "ms30-32" },
- { 31, "ms31-32" },
- { 0, NULL }
-};
-
-static value_string_ext nr_rrc_T_drx_SlotOffset_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_SlotOffset_vals);
-
-
-static int
-dissect_nr_rrc_T_drx_SlotOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 32, NULL, FALSE, 0, NULL);
+static const per_sequence_t T_eventA5_sequence[] = {
+ { &hf_nr_rrc_a5_Threshold1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
+ { &hf_nr_rrc_a5_Threshold2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
+ { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
+ { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
+ { &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_eventA5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_eventA5, T_eventA5_sequence);
return offset;
}
-static const per_sequence_t T_setup_sequence[] = {
- { &hf_nr_rrc_drx_onDurationTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_onDurationTimer },
- { &hf_nr_rrc_drx_InactivityTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_InactivityTimer },
- { &hf_nr_rrc_drx_HARQ_RTT_TimerDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_56 },
- { &hf_nr_rrc_drx_HARQ_RTT_TimerUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_56 },
- { &hf_nr_rrc_drx_RetransmissionTimerDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_RetransmissionTimerDL },
- { &hf_nr_rrc_drx_RetransmissionTimerUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_RetransmissionTimerUL },
- { &hf_nr_rrc_drx_LongCycleStartOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_LongCycleStartOffset },
- { &hf_nr_rrc_shortDRX , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_shortDRX },
- { &hf_nr_rrc_drx_SlotOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_SlotOffset },
+static const per_sequence_t T_eventA6_sequence[] = {
+ { &hf_nr_rrc_a6_Offset , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityOffset },
+ { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
+ { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
+ { &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_setup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_eventA6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_setup, T_setup_sequence);
+ ett_nr_rrc_T_eventA6, T_eventA6_sequence);
return offset;
}
-static const value_string nr_rrc_DRX_Config_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const value_string nr_rrc_T_eventId_vals[] = {
+ { 0, "eventA1" },
+ { 1, "eventA2" },
+ { 2, "eventA3" },
+ { 3, "eventA4" },
+ { 4, "eventA5" },
+ { 5, "eventA6" },
{ 0, NULL }
};
-static const per_choice_t DRX_Config_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_setup },
+static const per_choice_t T_eventId_choice[] = {
+ { 0, &hf_nr_rrc_eventA1 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA1 },
+ { 1, &hf_nr_rrc_eventA2 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA2 },
+ { 2, &hf_nr_rrc_eventA3 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA3 },
+ { 3, &hf_nr_rrc_eventA4 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA4 },
+ { 4, &hf_nr_rrc_eventA5 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA5 },
+ { 5, &hf_nr_rrc_eventA6 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA6 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_DRX_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_eventId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_DRX_Config, DRX_Config_choice,
+ ett_nr_rrc_T_eventId, T_eventId_choice,
NULL);
return offset;
}
+static const value_string nr_rrc_T_reportAmount_vals[] = {
+ { 0, "r1" },
+ { 1, "r2" },
+ { 2, "r4" },
+ { 3, "r8" },
+ { 4, "r16" },
+ { 5, "r32" },
+ { 6, "r64" },
+ { 7, "infinity" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_SchedulingRequestId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
+dissect_nr_rrc_T_reportAmount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_sr_prohibitTimer_vals[] = {
- { 0, "ms1" },
- { 1, "ms2" },
- { 2, "ms4" },
- { 3, "ms8" },
- { 4, "ms16" },
- { 5, "ms32" },
- { 6, "ms64" },
- { 7, "ms128" },
+static const value_string nr_rrc_T_reportAddNeighMeas_vals[] = {
+ { 0, "setup" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_sr_prohibitTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_reportAddNeighMeas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_sr_TransMax_vals[] = {
- { 0, "n4" },
- { 1, "n8" },
- { 2, "n16" },
- { 3, "n32" },
- { 4, "n64" },
- { 5, "spare3" },
- { 6, "spare2" },
- { 7, "spare1" },
+static const per_sequence_t EventTriggerConfig_sequence[] = {
+ { &hf_nr_rrc_eventId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eventId },
+ { &hf_nr_rrc_rsType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_RS_Type },
+ { &hf_nr_rrc_reportInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
+ { &hf_nr_rrc_reportAmount , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount },
+ { &hf_nr_rrc_reportQuantityCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity },
+ { &hf_nr_rrc_maxReportCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport },
+ { &hf_nr_rrc_reportQuantityRsIndexes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasReportQuantity },
+ { &hf_nr_rrc_maxNrofRSIndexesToReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport },
+ { &hf_nr_rrc_includeBeamMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_reportAddNeighMeas, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reportAddNeighMeas },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_EventTriggerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_EventTriggerConfig, EventTriggerConfig_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_reportCGI_vals[] = {
+ { 0, "ffsTypeAndValue" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_sr_TransMax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_reportCGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t SchedulingRequestToAddMod_sequence[] = {
- { &hf_nr_rrc_schedulingRequestID, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestId },
- { &hf_nr_rrc_sr_prohibitTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sr_prohibitTimer },
- { &hf_nr_rrc_sr_TransMax , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sr_TransMax },
+static const value_string nr_rrc_T_reportType_vals[] = {
+ { 0, "periodical" },
+ { 1, "eventTriggered" },
+ { 2, "reportCGI" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_reportType_choice[] = {
+ { 0, &hf_nr_rrc_periodical , ASN1_EXTENSION_ROOT , dissect_nr_rrc_PeriodicalReportConfig },
+ { 1, &hf_nr_rrc_eventTriggered, ASN1_EXTENSION_ROOT , dissect_nr_rrc_EventTriggerConfig },
+ { 2, &hf_nr_rrc_reportCGI , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_reportCGI },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_reportType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_reportType, T_reportType_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t ReportConfigNR_sequence[] = {
+ { &hf_nr_rrc_reportType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportType },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SchedulingRequestToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_ReportConfigNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SchedulingRequestToAddMod, SchedulingRequestToAddMod_sequence);
+ ett_nr_rrc_ReportConfigNR, ReportConfigNR_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod_sequence_of[1] = {
- { &hf_nr_rrc_schedulingRequestToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestToAddMod },
+static const value_string nr_rrc_T_reportConfig_vals[] = {
+ { 0, "reportConfigNR" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_reportConfig_choice[] = {
+ { 0, &hf_nr_rrc_reportConfigNR, ASN1_EXTENSION_ROOT , dissect_nr_rrc_ReportConfigNR },
+ { 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_reportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_reportConfig, T_reportConfig_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t ReportConfigToAddMod_sequence[] = {
+ { &hf_nr_rrc_reportConfigId_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId },
+ { &hf_nr_rrc_reportConfig , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportConfig },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_ReportConfigToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ReportConfigToAddMod, ReportConfigToAddMod_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ReportConfigToAddModList_sequence_of[1] = {
+ { &hf_nr_rrc_ReportConfigToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigToAddMod },
+};
+
+static int
+dissect_nr_rrc_ReportConfigToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod, SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod_sequence_of,
- 1, maxNrofSR_ConfigPerCellGroup, FALSE);
+ ett_nr_rrc_ReportConfigToAddModList, ReportConfigToAddModList_sequence_of,
+ 1, maxReportConfigId, FALSE);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId_sequence_of[1] = {
- { &hf_nr_rrc_schedulingRequestToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestId },
+
+static int
+dissect_nr_rrc_MeasId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxNrofMeasId, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasIdToRemoveList_sequence_of[1] = {
+ { &hf_nr_rrc_MeasIdToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasIdToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId, SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId_sequence_of,
- 1, maxNrofSR_ConfigPerCellGroup, FALSE);
+ ett_nr_rrc_MeasIdToRemoveList, MeasIdToRemoveList_sequence_of,
+ 1, maxNrofMeasId, FALSE);
return offset;
}
-static const per_sequence_t SchedulingRequestConfig_sequence[] = {
- { &hf_nr_rrc_schedulingRequestToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod },
- { &hf_nr_rrc_schedulingRequestToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId },
+static const per_sequence_t MeasIdToAddMod_sequence[] = {
+ { &hf_nr_rrc_measId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId },
+ { &hf_nr_rrc_measObjectId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectId },
+ { &hf_nr_rrc_reportConfigId_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SchedulingRequestConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasIdToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SchedulingRequestConfig, SchedulingRequestConfig_sequence);
+ ett_nr_rrc_MeasIdToAddMod, MeasIdToAddMod_sequence);
return offset;
}
-static const value_string nr_rrc_T_periodicBSR_Timer_vals[] = {
- { 0, "sf1" },
- { 1, "sf5" },
- { 2, "sf10" },
- { 3, "sf16" },
- { 4, "sf20" },
- { 5, "sf32" },
- { 6, "sf40" },
- { 7, "sf64" },
- { 8, "sf80" },
- { 9, "sf128" },
- { 10, "sf160" },
- { 11, "sf320" },
- { 12, "sf640" },
- { 13, "sf1280" },
- { 14, "sf2560" },
- { 15, "infinity" },
- { 0, NULL }
+static const per_sequence_t MeasIdToAddModList_sequence_of[1] = {
+ { &hf_nr_rrc_MeasIdToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasIdToAddMod },
};
-
static int
-dissect_nr_rrc_T_periodicBSR_Timer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 16, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_MeasIdToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasIdToAddModList, MeasIdToAddModList_sequence_of,
+ 1, maxNrofMeasId, FALSE);
return offset;
}
-static const value_string nr_rrc_T_retxBSR_Timer_vals[] = {
- { 0, "sf10" },
- { 1, "sf20" },
- { 2, "sf40" },
- { 3, "sf80" },
- { 4, "sf160" },
- { 5, "sf320" },
- { 6, "sf640" },
- { 7, "sf1280" },
- { 8, "sf2560" },
- { 9, "sf5120" },
- { 10, "sf10240" },
+static const value_string nr_rrc_T_s_MeasureConfig_vals[] = {
+ { 0, "ssb-RSRP" },
+ { 1, "csi-RSRP" },
{ 0, NULL }
};
+static const per_choice_t T_s_MeasureConfig_choice[] = {
+ { 0, &hf_nr_rrc_ssb_RSRP , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRP_Range },
+ { 1, &hf_nr_rrc_csi_RSRP , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRP_Range },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_retxBSR_Timer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 11, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_s_MeasureConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_s_MeasureConfig, T_s_MeasureConfig_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_logicaChannelSR_DelayTimer_vals[] = {
- { 0, "sf20" },
- { 1, "sf40" },
- { 2, "sf64" },
- { 3, "sf128" },
- { 4, "sf512" },
- { 5, "sf1024" },
- { 6, "sf2560" },
- { 7, "spare1" },
+static const value_string nr_rrc_FilterCoefficient_vals[] = {
+ { 0, "fc0" },
+ { 1, "fc1" },
+ { 2, "fc2" },
+ { 3, "fc3" },
+ { 4, "fc4" },
+ { 5, "fc5" },
+ { 6, "fc6" },
+ { 7, "fc7" },
+ { 8, "fc8" },
+ { 9, "fc9" },
+ { 10, "fc11" },
+ { 11, "fc13" },
+ { 12, "fc15" },
+ { 13, "fc17" },
+ { 14, "fc19" },
+ { 15, "spare1" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_logicaChannelSR_DelayTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_FilterCoefficient(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+ 16, NULL, TRUE, 0, NULL);
return offset;
}
-static const per_sequence_t BSR_Config_sequence[] = {
- { &hf_nr_rrc_periodicBSR_Timer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicBSR_Timer },
- { &hf_nr_rrc_retxBSR_Timer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_retxBSR_Timer },
- { &hf_nr_rrc_logicaChannelSR_DelayTimer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_logicaChannelSR_DelayTimer },
+static const per_sequence_t FilterConfig_sequence[] = {
+ { &hf_nr_rrc_filterCoefficientRSRP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient },
+ { &hf_nr_rrc_filterCoefficientRSRQ, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient },
+ { &hf_nr_rrc_filterCoefficientRS_SINR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_BSR_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_FilterConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_BSR_Config, BSR_Config_sequence);
+ ett_nr_rrc_FilterConfig, FilterConfig_sequence);
return offset;
}
+static const per_sequence_t QuantityConfigRS_sequence[] = {
+ { &hf_nr_rrc_ssb_FilterConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FilterConfig },
+ { &hf_nr_rrc_cs_RS_FilterConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FilterConfig },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_BSR_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_nr_rrc_BSR_Config(tvb, offset, actx, tree, hf_index);
+dissect_nr_rrc_QuantityConfigRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_QuantityConfigRS, QuantityConfigRS_sequence);
return offset;
}
+static const per_sequence_t QuantityConfigNR_sequence[] = {
+ { &hf_nr_rrc_quantityConfigCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QuantityConfigRS },
+ { &hf_nr_rrc_quantityConfigRS_Index, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_QuantityConfigRS },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_TAG_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofTAGs_1, NULL, FALSE);
+dissect_nr_rrc_QuantityConfigNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_QuantityConfigNR, QuantityConfigNR_sequence);
return offset;
}
-static const per_sequence_t TAG_ToReleaseList_sequence_of[1] = {
- { &hf_nr_rrc_TAG_ToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG_Id },
+static const per_sequence_t QuantityConfigNR_List_sequence_of[1] = {
+ { &hf_nr_rrc_QuantityConfigNR_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QuantityConfigNR },
};
static int
-dissect_nr_rrc_TAG_ToReleaseList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_QuantityConfigNR_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_TAG_ToReleaseList, TAG_ToReleaseList_sequence_of,
- 1, maxNrofTAGs, FALSE);
+ ett_nr_rrc_QuantityConfigNR_List, QuantityConfigNR_List_sequence_of,
+ 1, maxNrofQuantityConfig, FALSE);
return offset;
}
-static const value_string nr_rrc_TimeAlignmentTimer_vals[] = {
- { 0, "ms500" },
- { 1, "ms750" },
- { 2, "ms1280" },
- { 3, "ms1920" },
- { 4, "ms2560" },
- { 5, "ms5120" },
- { 6, "ms10240" },
- { 7, "infinity" },
+static const per_sequence_t QuantityConfig_sequence[] = {
+ { &hf_nr_rrc_quantityConfigNR_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_QuantityConfigNR_List },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_QuantityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_QuantityConfig, QuantityConfig_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_gapFR2_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
+static const per_choice_t T_gapFR2_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_23 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_GapConfig },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_TimeAlignmentTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_gapFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_gapFR2, T_gapFR2_choice,
+ NULL);
return offset;
}
-static const per_sequence_t TAG_ToAddMod_sequence[] = {
- { &hf_nr_rrc_tag_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG_Id },
- { &hf_nr_rrc_timeAlignmentTimer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeAlignmentTimer },
+static const per_sequence_t MeasGapConfig_sequence[] = {
+ { &hf_nr_rrc_gapFR2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_gapFR2 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_TAG_ToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_TAG_ToAddMod, TAG_ToAddMod_sequence);
+ ett_nr_rrc_MeasGapConfig, MeasGapConfig_sequence);
return offset;
}
-static const per_sequence_t TAG_ToAddModList_sequence_of[1] = {
- { &hf_nr_rrc_TAG_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG_ToAddMod },
+static const per_sequence_t MeasConfig_sequence[] = {
+ { &hf_nr_rrc_measObjectToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasObjectToRemoveList },
+ { &hf_nr_rrc_measObjectToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasObjectToAddModList },
+ { &hf_nr_rrc_reportConfigToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReportConfigToRemoveList },
+ { &hf_nr_rrc_reportConfigToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReportConfigToAddModList },
+ { &hf_nr_rrc_measIdToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasIdToRemoveList },
+ { &hf_nr_rrc_measIdToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasIdToAddModList },
+ { &hf_nr_rrc_s_MeasureConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_s_MeasureConfig },
+ { &hf_nr_rrc_quantityConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_QuantityConfig },
+ { &hf_nr_rrc_measGapConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasGapConfig },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_TAG_ToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_TAG_ToAddModList, TAG_ToAddModList_sequence_of,
- 1, maxNrofTAGs, FALSE);
+dissect_nr_rrc_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasConfig, MeasConfig_sequence);
return offset;
}
-static const per_sequence_t TAG_Config_sequence[] = {
- { &hf_nr_rrc_tag_ToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_TAG_ToReleaseList },
- { &hf_nr_rrc_tag_ToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_TAG_ToAddModList },
+
+static int
+dissect_nr_rrc_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nonCriticalExtension_02_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_TAG_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nonCriticalExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_TAG_Config, TAG_Config_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_02, T_nonCriticalExtension_02_sequence);
return offset;
}
+static const per_sequence_t RRCReconfiguration_IEs_sequence[] = {
+ { &hf_nr_rrc_radioBearerConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RadioBearerConfig },
+ { &hf_nr_rrc_secondaryCellGroup, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_secondaryCellGroup },
+ { &hf_nr_rrc_measConfig , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasConfig },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_02 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_TAG_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_nr_rrc_TAG_Config(tvb, offset, actx, tree, hf_index);
+dissect_nr_rrc_RRCReconfiguration_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCReconfiguration_IEs, RRCReconfiguration_IEs_sequence);
return offset;
}
-static const value_string nr_rrc_T_phr_PeriodicTimer_vals[] = {
- { 0, "sf10" },
- { 1, "sf20" },
- { 2, "sf50" },
- { 3, "sf100" },
- { 4, "sf200" },
- { 5, "sf500" },
- { 6, "sf1000" },
- { 7, "infinity" },
- { 0, NULL }
+static const per_sequence_t T_criticalExtensionsFuture_02_sequence[] = {
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_phr_PeriodicTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_criticalExtensionsFuture_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_02, T_criticalExtensionsFuture_02_sequence);
return offset;
}
-static const value_string nr_rrc_T_phr_ProhibitTimer_vals[] = {
- { 0, "sf0" },
- { 1, "sf10" },
- { 2, "sf20" },
- { 3, "sf50" },
- { 4, "sf100" },
- { 5, "sf200" },
- { 6, "sf500" },
- { 7, "sf1000" },
+static const value_string nr_rrc_T_criticalExtensions_02_vals[] = {
+ { 0, "rrcReconfiguration" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
+static const per_choice_t T_criticalExtensions_02_choice[] = {
+ { 0, &hf_nr_rrc_rrcReconfiguration_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfiguration_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_02 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_phr_ProhibitTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_criticalExtensions_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_02, T_criticalExtensions_02_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_phr_Tx_PowerFactorChange_vals[] = {
- { 0, "dB1" },
- { 1, "dB3" },
- { 2, "dB6" },
- { 3, "infinity" },
- { 0, NULL }
+static const per_sequence_t RRCReconfiguration_sequence[] = {
+ { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
+ { &hf_nr_rrc_criticalExtensions_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_02 },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_phr_Tx_PowerFactorChange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_RRCReconfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCReconfiguration, RRCReconfiguration_sequence);
return offset;
}
-static const value_string nr_rrc_T_phr_ModeOtherCG_vals[] = {
- { 0, "real" },
- { 1, "virtual" },
+static const value_string nr_rrc_T_c1_01_vals[] = {
+ { 0, "rrcReconfiguration" },
+ { 1, "spare15" },
+ { 2, "spare14" },
+ { 3, "spare13" },
+ { 4, "spare12" },
+ { 5, "spare11" },
+ { 6, "spare10" },
+ { 7, "spare9" },
+ { 8, "spare8" },
+ { 9, "spare7" },
+ { 10, "spare6" },
+ { 11, "spare5" },
+ { 12, "spare4" },
+ { 13, "spare3" },
+ { 14, "spare2" },
+ { 15, "spare1" },
{ 0, NULL }
};
+static const per_choice_t T_c1_01_choice[] = {
+ { 0, &hf_nr_rrc_rrcReconfiguration, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfiguration },
+ { 1, &hf_nr_rrc_spare15 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 2, &hf_nr_rrc_spare14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 3, &hf_nr_rrc_spare13 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 4, &hf_nr_rrc_spare12 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 5, &hf_nr_rrc_spare11 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 6, &hf_nr_rrc_spare10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 7, &hf_nr_rrc_spare9 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 8, &hf_nr_rrc_spare8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 9, &hf_nr_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 10, &hf_nr_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 11, &hf_nr_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 12, &hf_nr_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 13, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 14, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 15, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_phr_ModeOtherCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_c1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_c1_01, T_c1_01_choice,
+ NULL);
return offset;
}
-static const per_sequence_t T_setup_01_sequence[] = {
- { &hf_nr_rrc_phr_PeriodicTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_PeriodicTimer },
- { &hf_nr_rrc_phr_ProhibitTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_ProhibitTimer },
- { &hf_nr_rrc_phr_Tx_PowerFactorChange, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_Tx_PowerFactorChange },
- { &hf_nr_rrc_multiplePHR , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_phr_Type2PCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_phr_Type2OtherCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_phr_ModeOtherCG, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_ModeOtherCG },
+static const per_sequence_t T_messageClassExtension_01_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_setup_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_messageClassExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_setup_01, T_setup_01_sequence);
+ ett_nr_rrc_T_messageClassExtension_01, T_messageClassExtension_01_sequence);
return offset;
}
-static const value_string nr_rrc_PHR_Config_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const value_string nr_rrc_DL_DCCH_MessageType_vals[] = {
+ { 0, "c1" },
+ { 1, "messageClassExtension" },
{ 0, NULL }
};
-static const per_choice_t PHR_Config_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_setup_01 },
+static const per_choice_t DL_DCCH_MessageType_choice[] = {
+ { 0, &hf_nr_rrc_c1_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_01 },
+ { 1, &hf_nr_rrc_messageClassExtension_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_01 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_PHR_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_DL_DCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PHR_Config, PHR_Config_choice,
+ ett_nr_rrc_DL_DCCH_MessageType, DL_DCCH_MessageType_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_sCellDeactivationTimer_vals[] = {
- { 0, "ms20" },
- { 1, "ms40" },
- { 2, "ms80" },
- { 3, "ms160" },
- { 4, "ms200" },
- { 5, "ms240" },
- { 6, "ms320" },
- { 7, "ms400" },
- { 8, "ms480" },
- { 9, "ms520" },
- { 10, "ms640" },
- { 11, "ms720" },
- { 12, "ms840" },
- { 13, "ms1280" },
- { 14, "spare2" },
- { 15, "spare1" },
+static const per_sequence_t DL_DCCH_Message_sequence[] = {
+ { &hf_nr_rrc_message_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_DCCH_MessageType },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_DL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ 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;
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_DL_DCCH_Message, DL_DCCH_Message_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_cgi_Info_vals[] = {
+ { 0, "ffsTypeAndValue" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_sCellDeactivationTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_cgi_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 16, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t MAC_CellGroupConfig_sequence[] = {
- { &hf_nr_rrc_drx_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DRX_Config },
- { &hf_nr_rrc_schedulingRequestConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SchedulingRequestConfig },
- { &hf_nr_rrc_bsr_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BSR_Configuration },
- { &hf_nr_rrc_tag_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_TAG_Configuration },
- { &hf_nr_rrc_phr_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PHR_Config },
- { &hf_nr_rrc_sCellDeactivationTimer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sCellDeactivationTimer },
- { &hf_nr_rrc_skipUplinkTxDynamic, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+static const per_sequence_t T_cellResults_sequence[] = {
+ { &hf_nr_rrc_resultsSSB_Cell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasQuantityResults },
+ { &hf_nr_rrc_resultsCSI_RS_Cell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasQuantityResults },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MAC_CellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_cellResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MAC_CellGroupConfig, MAC_CellGroupConfig_sequence);
+ ett_nr_rrc_T_cellResults, T_cellResults_sequence);
return offset;
}
-static const per_sequence_t RLF_TimersAndConstants_sequence[] = {
+static const per_sequence_t ResultsPerSSB_Index_sequence[] = {
+ { &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
+ { &hf_nr_rrc_ssb_Results , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasQuantityResults },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_RLF_TimersAndConstants(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_ResultsPerSSB_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RLF_TimersAndConstants, RLF_TimersAndConstants_sequence);
+ ett_nr_rrc_ResultsPerSSB_Index, ResultsPerSSB_Index_sequence);
return offset;
}
-static const value_string nr_rrc_T_harq_ACK_Spatial_Bundling_vals[] = {
- { 0, "true" },
- { 0, NULL }
+static const per_sequence_t ResultsPerSSB_IndexList_sequence_of[1] = {
+ { &hf_nr_rrc_ResultsPerSSB_IndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ResultsPerSSB_Index },
+};
+
+static int
+dissect_nr_rrc_ResultsPerSSB_IndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ResultsPerSSB_IndexList, ResultsPerSSB_IndexList_sequence_of,
+ 1, maxNrofSSBs, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t ResultsPerCSI_RS_Index_sequence[] = {
+ { &hf_nr_rrc_csi_RS_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Index },
+ { &hf_nr_rrc_csi_RS_Results, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasQuantityResults },
+ { NULL, 0, 0, NULL }
};
+static int
+dissect_nr_rrc_ResultsPerCSI_RS_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ResultsPerCSI_RS_Index, ResultsPerCSI_RS_Index_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ResultsPerCSI_RS_IndexList_sequence_of[1] = {
+ { &hf_nr_rrc_ResultsPerCSI_RS_IndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ResultsPerCSI_RS_Index },
+};
static int
-dissect_nr_rrc_T_harq_ACK_Spatial_Bundling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_ResultsPerCSI_RS_IndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ResultsPerCSI_RS_IndexList, ResultsPerCSI_RS_IndexList_sequence_of,
+ 1, maxNrofCSI_RS, FALSE);
return offset;
}
-static const per_sequence_t PhysicalCellGroupConfig_sequence[] = {
- { &hf_nr_rrc_harq_ACK_Spatial_Bundling, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_harq_ACK_Spatial_Bundling },
+static const per_sequence_t T_rsIndexResults_sequence[] = {
+ { &hf_nr_rrc_resultsSSB_Indexes, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ResultsPerSSB_IndexList },
+ { &hf_nr_rrc_resultsCSI_RS_Indexes, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ResultsPerCSI_RS_IndexList },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PhysicalCellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_rsIndexResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PhysicalCellGroupConfig, PhysicalCellGroupConfig_sequence);
+ ett_nr_rrc_T_rsIndexResults, T_rsIndexResults_sequence);
return offset;
}
-static const value_string nr_rrc_CarrierBandwidthNR_vals[] = {
- { 0, "ffs" },
- { 0, NULL }
+static const per_sequence_t T_measResult_sequence[] = {
+ { &hf_nr_rrc_cellResults , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellResults },
+ { &hf_nr_rrc_rsIndexResults, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rsIndexResults },
+ { NULL, 0, 0, NULL }
};
+static int
+dissect_nr_rrc_T_measResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_measResult, T_measResult_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasResultNR_sequence[] = {
+ { &hf_nr_rrc_physCellId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PhysCellId },
+ { &hf_nr_rrc_cgi_Info , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cgi_Info },
+ { &hf_nr_rrc_measResult , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResult },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_CarrierBandwidthNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_MeasResultNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasResultNR, MeasResultNR_sequence);
return offset;
}
-static const per_sequence_t T_frequencyInfoDL_sequence[] = {
- { &hf_nr_rrc_carrierFreqDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
- { &hf_nr_rrc_carrierBandwidthDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CarrierBandwidthNR },
+static const per_sequence_t MeasResultServFreq_sequence[] = {
+ { &hf_nr_rrc_servFreqId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
+ { &hf_nr_rrc_measResultServingCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultNR },
+ { &hf_nr_rrc_measResultBestNeighCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultNR },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_frequencyInfoDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasResultServFreq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_frequencyInfoDL, T_frequencyInfoDL_sequence);
+ ett_nr_rrc_MeasResultServFreq, MeasResultServFreq_sequence);
return offset;
}
+static const per_sequence_t MeasResultServFreqList_sequence_of[1] = {
+ { &hf_nr_rrc_MeasResultServFreqList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServFreq },
+};
static int
-dissect_nr_rrc_AdditionalSpectrumEmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 32U, NULL, FALSE);
+dissect_nr_rrc_MeasResultServFreqList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasResultServFreqList, MeasResultServFreqList_sequence_of,
+ 1, maxNrofServingCells, FALSE);
return offset;
}
-static const value_string nr_rrc_T_frequencyShift7p5khz_vals[] = {
- { 0, "true" },
+static const per_sequence_t MeasResultListNR_sequence_of[1] = {
+ { &hf_nr_rrc_MeasResultListNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultNR },
+};
+
+static int
+dissect_nr_rrc_MeasResultListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasResultListNR, MeasResultListNR_sequence_of,
+ 1, maxCellReport, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_measResultNeighCells_vals[] = {
+ { 0, "measResultListNR" },
{ 0, NULL }
};
+static const per_choice_t T_measResultNeighCells_choice[] = {
+ { 0, &hf_nr_rrc_measResultListNR, ASN1_EXTENSION_ROOT , dissect_nr_rrc_MeasResultListNR },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_frequencyShift7p5khz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_measResultNeighCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_measResultNeighCells, T_measResultNeighCells_choice,
+ NULL);
return offset;
}
+static const per_sequence_t MeasResults_sequence[] = {
+ { &hf_nr_rrc_measId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId },
+ { &hf_nr_rrc_measResultServingFreqList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServFreqList },
+ { &hf_nr_rrc_measResultNeighCells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_measResultNeighCells },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_BandwidthPartId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofBandwidthParts_1, NULL, FALSE);
+dissect_nr_rrc_MeasResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasResults, MeasResults_sequence);
return offset;
}
+static const per_sequence_t T_nonCriticalExtension_01_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocksTimes4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofPhysicalResourceBlocksTimes4, NULL, FALSE);
+dissect_nr_rrc_T_nonCriticalExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_01, T_nonCriticalExtension_01_sequence);
return offset;
}
+static const per_sequence_t MeasurementReport_IEs_sequence[] = {
+ { &hf_nr_rrc_measResults , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResults },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_01 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxNrofPhysicalResourceBlocks, NULL, FALSE);
+dissect_nr_rrc_MeasurementReport_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasurementReport_IEs, MeasurementReport_IEs_sequence);
return offset;
}
-static const value_string nr_rrc_T_subcarrierSpacing_vals[] = {
- { 0, "n0" },
- { 1, "n1" },
- { 2, "n2" },
- { 3, "n3" },
- { 4, "n4" },
- { 0, NULL }
+static const per_sequence_t T_criticalExtensionsFuture_01_sequence[] = {
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_subcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 5, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_criticalExtensionsFuture_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_01, T_criticalExtensionsFuture_01_sequence);
return offset;
}
-static const value_string nr_rrc_T_cyclicPrefix_vals[] = {
- { 0, "extended" },
+static const value_string nr_rrc_T_criticalExtensions_01_vals[] = {
+ { 0, "measurementReport" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
+static const per_choice_t T_criticalExtensions_01_choice[] = {
+ { 0, &hf_nr_rrc_measurementReport_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasurementReport_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_01 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_cyclicPrefix(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_criticalExtensions_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_01, T_criticalExtensions_01_choice,
+ NULL);
return offset;
}
+static const per_sequence_t MeasurementReport_sequence[] = {
+ { &hf_nr_rrc_criticalExtensions_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_01 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_3299(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 3299U, NULL, FALSE);
+dissect_nr_rrc_MeasurementReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Measurement Report");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasurementReport, MeasurementReport_sequence);
return offset;
}
-static const per_sequence_t BandwidthPart_sequence[] = {
- { &hf_nr_rrc_bandwidthPartId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandwidthPartId },
- { &hf_nr_rrc_location , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocksTimes4 },
- { &hf_nr_rrc_bandwidth , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks },
- { &hf_nr_rrc_subcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_subcarrierSpacing },
- { &hf_nr_rrc_cyclicPrefix , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cyclicPrefix },
- { &hf_nr_rrc_directCurrentLocation, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_3299 },
+static const per_sequence_t T_nonCriticalExtension_03_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_BandwidthPart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nonCriticalExtension_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_BandwidthPart, BandwidthPart_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_03, T_nonCriticalExtension_03_sequence);
return offset;
}
-static const per_sequence_t FrequencyInfoUL_sequence[] = {
- { &hf_nr_rrc_carrierFreqUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
- { &hf_nr_rrc_carrierBandwidthUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CarrierBandwidthNR },
- { &hf_nr_rrc_additionalSpectrumEmission, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_AdditionalSpectrumEmission },
- { &hf_nr_rrc_p_Max , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
- { &hf_nr_rrc_frequencyShift7p5khz, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyShift7p5khz },
- { &hf_nr_rrc_initialUplinkBandwidthPart, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandwidthPart },
+static const per_sequence_t RRCReconfigurationComplete_IEs_sequence[] = {
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_03 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_FrequencyInfoUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_RRCReconfigurationComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_FrequencyInfoUL, FrequencyInfoUL_sequence);
+ ett_nr_rrc_RRCReconfigurationComplete_IEs, RRCReconfigurationComplete_IEs_sequence);
return offset;
}
-static const per_sequence_t T_supplementaryUplink_sequence[] = {
- { &hf_nr_rrc_frequencyInfoUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FrequencyInfoUL },
+static const per_sequence_t T_criticalExtensionsFuture_03_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_supplementaryUplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensionsFuture_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_supplementaryUplink, T_supplementaryUplink_sequence);
+ ett_nr_rrc_T_criticalExtensionsFuture_03, T_criticalExtensionsFuture_03_sequence);
return offset;
}
+static const value_string nr_rrc_T_criticalExtensions_03_vals[] = {
+ { 0, "rrcReconfigurationComplete" },
+ { 1, "criticalExtensionsFuture" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_criticalExtensions_03_choice[] = {
+ { 0, &hf_nr_rrc_rrcReconfigurationComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationComplete_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_03, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_03 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_1_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 11U, NULL, FALSE);
+dissect_nr_rrc_T_criticalExtensions_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_03, T_criticalExtensions_03_choice,
+ NULL);
return offset;
}
+static const per_sequence_t RRCReconfigurationComplete_sequence[] = {
+ { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
+ { &hf_nr_rrc_criticalExtensions_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_03 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_BIT_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 4, 4, FALSE, NULL, NULL);
+dissect_nr_rrc_RRCReconfigurationComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Complete");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCReconfigurationComplete, RRCReconfigurationComplete_sequence);
return offset;
}
+static const value_string nr_rrc_T_c1_02_vals[] = {
+ { 0, "measurementReport" },
+ { 1, "rrcReconfigurationComplete" },
+ { 2, "spare14" },
+ { 3, "spare13" },
+ { 4, "spare12" },
+ { 5, "spare11" },
+ { 6, "spare10" },
+ { 7, "spare9" },
+ { 8, "spare8" },
+ { 9, "spare7" },
+ { 10, "spare6" },
+ { 11, "spare5" },
+ { 12, "spare4" },
+ { 13, "spare3" },
+ { 14, "spare2" },
+ { 15, "spare1" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_c1_02_choice[] = {
+ { 0, &hf_nr_rrc_measurementReport, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasurementReport },
+ { 1, &hf_nr_rrc_rrcReconfigurationComplete, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationComplete },
+ { 2, &hf_nr_rrc_spare14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 3, &hf_nr_rrc_spare13 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 4, &hf_nr_rrc_spare12 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 5, &hf_nr_rrc_spare11 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 6, &hf_nr_rrc_spare10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 7, &hf_nr_rrc_spare9 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 8, &hf_nr_rrc_spare8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 9, &hf_nr_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 10, &hf_nr_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 11, &hf_nr_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 12, &hf_nr_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 13, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 14, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 15, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_BIT_STRING_SIZE_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 8, 8, FALSE, NULL, NULL);
+dissect_nr_rrc_T_c1_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_c1_02, T_c1_02_choice,
+ NULL);
return offset;
}
+static const per_sequence_t T_messageClassExtension_02_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_BIT_STRING_SIZE_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 64, 64, FALSE, NULL, NULL);
+dissect_nr_rrc_T_messageClassExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_messageClassExtension_02, T_messageClassExtension_02_sequence);
return offset;
}
-static const value_string nr_rrc_T_ssb_PositionsInBurst_vals[] = {
- { 0, "shortBitmap" },
- { 1, "mediumBitmap" },
- { 2, "longBitmap" },
+static const value_string nr_rrc_UL_DCCH_MessageType_vals[] = {
+ { 0, "c1" },
+ { 1, "messageClassExtension" },
{ 0, NULL }
};
-static const per_choice_t T_ssb_PositionsInBurst_choice[] = {
- { 0, &hf_nr_rrc_shortBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 },
- { 1, &hf_nr_rrc_mediumBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
- { 2, &hf_nr_rrc_longBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 },
+static const per_choice_t UL_DCCH_MessageType_choice[] = {
+ { 0, &hf_nr_rrc_c1_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_02 },
+ { 1, &hf_nr_rrc_messageClassExtension_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_02 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_ssb_PositionsInBurst(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_UL_DCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_ssb_PositionsInBurst, T_ssb_PositionsInBurst_choice,
+ ett_nr_rrc_UL_DCCH_MessageType, UL_DCCH_MessageType_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_ssb_periodicityServingCell_vals[] = {
+static const per_sequence_t UL_DCCH_Message_sequence[] = {
+ { &hf_nr_rrc_message_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_DCCH_MessageType },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ 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;
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UL_DCCH_Message, UL_DCCH_Message_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_frequencyOffsetSSB_vals[] = {
+ { 0, "khz-5" },
+ { 1, "khz5" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_frequencyOffsetSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_ssb_PositionsInBurst_sequence[] = {
+ { &hf_nr_rrc_inOneGroup , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_8 },
+ { &hf_nr_rrc_groupPresence, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_8 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_ssb_PositionsInBurst(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_ssb_PositionsInBurst, T_ssb_PositionsInBurst_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_ssb_PeriodicityServingCell_vals[] = {
{ 0, "ms5" },
{ 1, "ms10" },
{ 2, "ms20" },
{ 3, "ms40" },
{ 4, "ms80" },
{ 5, "ms160" },
+ { 6, "spare1" },
+ { 7, "spare2" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_ssb_periodicityServingCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_ssb_PeriodicityServingCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 6, NULL, FALSE, 0, NULL);
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_dmrs_TypeA_Position_01_vals[] = {
- { 0, "pos2" },
- { 1, "pos3" },
- { 0, NULL }
+
+static int
+dissect_nr_rrc_INTEGER_M60_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ -60, 50U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_FreqBandIndicatorNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 1024U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t MultiFrequencyBandListNR_sequence_of[1] = {
+ { &hf_nr_rrc_MultiFrequencyBandListNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
};
+static int
+dissect_nr_rrc_MultiFrequencyBandListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MultiFrequencyBandListNR, MultiFrequencyBandListNR_sequence_of,
+ 1, maxNrofMultiBands, FALSE);
+
+ return offset;
+}
+
+
static int
-dissect_nr_rrc_T_dmrs_TypeA_Position_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_INTEGER_0_2199(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 2199U, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_SubcarrierSpacingSSB_vals[] = {
- { 0, "kHz15" },
- { 1, "kHz30" },
- { 2, "kHz120" },
- { 3, "kHz240" },
+static const value_string nr_rrc_T_k0_vals[] = {
+ { 0, "n-6" },
+ { 1, "n0" },
+ { 2, "n6" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_SubcarrierSpacingSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_k0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+ 3, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_dl_UL_TransmissionPeriodicity_vals[] = {
- { 0, "ms0dot5" },
- { 1, "ms1" },
- { 2, "ms2" },
- { 3, "ms5" },
- { 4, "ms10" },
+
+static int
+dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxNrofPhysicalResourceBlocks, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SCS_SpecificCarrier_sequence[] = {
+ { &hf_nr_rrc_offsetToCarrier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2199 },
+ { &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
+ { &hf_nr_rrc_k0_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_k0 },
+ { &hf_nr_rrc_carrierBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_SCS_SpecificCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SCS_SpecificCarrier, SCS_SpecificCarrier_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier_sequence_of[1] = {
+ { &hf_nr_rrc_scs_SpecificCarrierList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCS_SpecificCarrier },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier, SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier_sequence_of,
+ 1, maxSCSs, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_AdditionalSpectrumEmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 7U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_frequencyShift7p5khz_vals[] = {
+ { 0, "true" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_dl_UL_TransmissionPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_frequencyShift7p5khz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 5, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
+static const per_sequence_t FrequencyInfoUL_sequence[] = {
+ { &hf_nr_rrc_frequencyBandList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MultiFrequencyBandListNR },
+ { &hf_nr_rrc_absoluteFrequencyPointA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
+ { &hf_nr_rrc_scs_SpecificCarriers, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier },
+ { &hf_nr_rrc_additionalSpectrumEmission, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_AdditionalSpectrumEmission },
+ { &hf_nr_rrc_p_Max , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
+ { &hf_nr_rrc_frequencyShift7p5khz, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyShift7p5khz },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_160(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 160U, NULL, FALSE);
+dissect_nr_rrc_FrequencyInfoUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_FrequencyInfoUL, FrequencyInfoUL_sequence);
return offset;
}
@@ -4987,87 +7378,141 @@ dissect_nr_rrc_INTEGER_0_160(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
-dissect_nr_rrc_INTEGER_0_maxSymbolIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_0_37949(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxSymbolIndex, NULL, FALSE);
+ 0U, 37949U, NULL, FALSE);
return offset;
}
-static const per_sequence_t T_tdd_UL_DL_configurationCommon_sequence[] = {
- { &hf_nr_rrc_dl_UL_TransmissionPeriodicity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_UL_TransmissionPeriodicity },
- { &hf_nr_rrc_nrofDownlinkSlots, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_160 },
- { &hf_nr_rrc_nrofDownlinkSymbols, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxSymbolIndex },
- { &hf_nr_rrc_nrofUplinkSlots, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_160 },
- { &hf_nr_rrc_nrofUplinkSymbols, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxSymbolIndex },
+static const value_string nr_rrc_T_cyclicPrefix_vals[] = {
+ { 0, "extended" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_cyclicPrefix(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t BWP_sequence[] = {
+ { &hf_nr_rrc_locationAndBandwidth, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_37949 },
+ { &hf_nr_rrc_subcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
+ { &hf_nr_rrc_cyclicPrefix , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cyclicPrefix },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_tdd_UL_DL_configurationCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_BWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_tdd_UL_DL_configurationCommon, T_tdd_UL_DL_configurationCommon_sequence);
+ ett_nr_rrc_BWP, BWP_sequence);
return offset;
}
+static const value_string nr_rrc_T_msg1_FDM_vals[] = {
+ { 0, "one" },
+ { 1, "two" },
+ { 2, "four" },
+ { 3, "eight" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_INTEGER_M60_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_msg1_FDM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- -60, 50U, NULL, FALSE);
+ 0U, maxNrofPhysicalResourceBlocks_1, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_T_ra_Msg3SizeGroupA_vals[] = {
- { 0, "b56" },
- { 1, "b144" },
- { 2, "b208" },
- { 3, "b256" },
- { 4, "b282" },
- { 5, "b480" },
- { 6, "b640" },
- { 7, "b800" },
- { 8, "b1000" },
- { 9, "spare7" },
- { 10, "spare6" },
- { 11, "spare5" },
- { 12, "spare4" },
- { 13, "spare3" },
- { 14, "spare2" },
- { 15, "spare1" },
+
+static int
+dissect_nr_rrc_INTEGER_M200_M74(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ -200, -74, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_preambleTransMax_vals[] = {
+ { 0, "n3" },
+ { 1, "n4" },
+ { 2, "n5" },
+ { 3, "n6" },
+ { 4, "n7" },
+ { 5, "n8" },
+ { 6, "n10" },
+ { 7, "n20" },
+ { 8, "n50" },
+ { 9, "n100" },
+ { 10, "n200" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_ra_Msg3SizeGroupA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_preambleTransMax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 16, NULL, FALSE, 0, NULL);
+ 11, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_messagePowerOffsetGroupB_vals[] = {
- { 0, "minusinfinity" },
- { 1, "dB0" },
- { 2, "dB5" },
- { 3, "dB8" },
- { 4, "dB10" },
- { 5, "dB12" },
- { 6, "dB15" },
- { 7, "dB18" },
+static const value_string nr_rrc_T_powerRampingStep_vals[] = {
+ { 0, "dB0" },
+ { 1, "dB2" },
+ { 2, "dB4" },
+ { 3, "dB6" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_messagePowerOffsetGroupB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_powerRampingStep(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_ra_ResponseWindow_vals[] = {
+ { 0, "sl1" },
+ { 1, "sl2" },
+ { 2, "sl4" },
+ { 3, "sl8" },
+ { 4, "sl10" },
+ { 5, "sl20" },
+ { 6, "sl40" },
+ { 7, "sl80" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_ra_ResponseWindow(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8, NULL, FALSE, 0, NULL);
@@ -5075,16 +7520,22 @@ dissect_nr_rrc_T_messagePowerOffsetGroupB(tvbuff_t *tvb _U_, int offset _U_, asn
}
-static const per_sequence_t T_groupBconfigured_sequence[] = {
- { &hf_nr_rrc_ra_Msg3SizeGroupA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_Msg3SizeGroupA },
- { &hf_nr_rrc_messagePowerOffsetGroupB, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_messagePowerOffsetGroupB },
+static const per_sequence_t RACH_ConfigGeneric_sequence[] = {
+ { &hf_nr_rrc_prach_ConfigurationIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_255 },
+ { &hf_nr_rrc_msg1_FDM , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_msg1_FDM },
+ { &hf_nr_rrc_msg1_FrequencyStart, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 },
+ { &hf_nr_rrc_zeroCorrelationZoneConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
+ { &hf_nr_rrc_preambleReceivedTargetPower, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M200_M74 },
+ { &hf_nr_rrc_preambleTransMax, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_preambleTransMax },
+ { &hf_nr_rrc_powerRampingStep, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_powerRampingStep },
+ { &hf_nr_rrc_ra_ResponseWindow, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_ResponseWindow },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_groupBconfigured(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_RACH_ConfigGeneric(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_groupBconfigured, T_groupBconfigured_sequence);
+ ett_nr_rrc_RACH_ConfigGeneric, RACH_ConfigGeneric_sequence);
return offset;
}
@@ -5092,19 +7543,161 @@ dissect_nr_rrc_T_groupBconfigured(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
-dissect_nr_rrc_SSB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_1_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 7U, NULL, FALSE);
+ 1U, 63U, NULL, FALSE);
return offset;
}
+static const value_string nr_rrc_T_oneEighth_vals[] = {
+ { 0, "n4" },
+ { 1, "n8" },
+ { 2, "n12" },
+ { 3, "n16" },
+ { 4, "n20" },
+ { 5, "n24" },
+ { 6, "n28" },
+ { 7, "n32" },
+ { 8, "n36" },
+ { 9, "n40" },
+ { 10, "n44" },
+ { 11, "n48" },
+ { 12, "n52" },
+ { 13, "n56" },
+ { 14, "n60" },
+ { 15, "n64" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_PreambleStartIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_oneEighth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 16, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_oneFourth_vals[] = {
+ { 0, "n4" },
+ { 1, "n8" },
+ { 2, "n12" },
+ { 3, "n16" },
+ { 4, "n20" },
+ { 5, "n24" },
+ { 6, "n28" },
+ { 7, "n32" },
+ { 8, "n36" },
+ { 9, "n40" },
+ { 10, "n44" },
+ { 11, "n48" },
+ { 12, "n52" },
+ { 13, "n56" },
+ { 14, "n60" },
+ { 15, "n64" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_oneFourth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 16, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_oneHalf_vals[] = {
+ { 0, "n4" },
+ { 1, "n8" },
+ { 2, "n12" },
+ { 3, "n16" },
+ { 4, "n20" },
+ { 5, "n24" },
+ { 6, "n28" },
+ { 7, "n32" },
+ { 8, "n36" },
+ { 9, "n40" },
+ { 10, "n44" },
+ { 11, "n48" },
+ { 12, "n52" },
+ { 13, "n56" },
+ { 14, "n60" },
+ { 15, "n64" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_oneHalf(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 16, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_one_vals[] = {
+ { 0, "n4" },
+ { 1, "n8" },
+ { 2, "n12" },
+ { 3, "n16" },
+ { 4, "n20" },
+ { 5, "n24" },
+ { 6, "n28" },
+ { 7, "n32" },
+ { 8, "n36" },
+ { 9, "n40" },
+ { 10, "n44" },
+ { 11, "n48" },
+ { 12, "n52" },
+ { 13, "n56" },
+ { 14, "n60" },
+ { 15, "n64" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_one(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 16, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_two_01_vals[] = {
+ { 0, "n4" },
+ { 1, "n8" },
+ { 2, "n12" },
+ { 3, "n16" },
+ { 4, "n20" },
+ { 5, "n24" },
+ { 6, "n28" },
+ { 7, "n32" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_two_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_1_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxRA_PreambleIndex, NULL, FALSE);
+ 1U, 8U, NULL, FALSE);
return offset;
}
@@ -5112,63 +7705,121 @@ dissect_nr_rrc_PreambleStartIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
-dissect_nr_rrc_NumberofRA_Preambles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_1_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxNrOfRA_PreamblesPerSSB, NULL, FALSE);
+ 1U, 4U, NULL, FALSE);
return offset;
}
+static const value_string nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_vals[] = {
+ { 0, "oneEighth" },
+ { 1, "oneFourth" },
+ { 2, "oneHalf" },
+ { 3, "one" },
+ { 4, "two" },
+ { 5, "four" },
+ { 6, "eight" },
+ { 7, "sixteen" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_choice[] = {
+ { 0, &hf_nr_rrc_oneEighth , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_oneEighth },
+ { 1, &hf_nr_rrc_oneFourth , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_oneFourth },
+ { 2, &hf_nr_rrc_oneHalf , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_oneHalf },
+ { 3, &hf_nr_rrc_one_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_one },
+ { 4, &hf_nr_rrc_two_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_two_01 },
+ { 5, &hf_nr_rrc_four , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_16 },
+ { 6, &hf_nr_rrc_eight , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_8 },
+ { 7, &hf_nr_rrc_sixteen , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_4 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_NumberOfRA_Preambles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_nr_rrc_NumberofRA_Preambles(tvb, offset, actx, tree, hf_index);
+dissect_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB, T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_choice,
+ NULL);
return offset;
}
-static const per_sequence_t RA_Resources_sequence[] = {
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_ra_Msg3SizeGroupA_vals[] = {
+ { 0, "b56" },
+ { 1, "b144" },
+ { 2, "b208" },
+ { 3, "b256" },
+ { 4, "b282" },
+ { 5, "b480" },
+ { 6, "b640" },
+ { 7, "b800" },
+ { 8, "b1000" },
+ { 9, "spare7" },
+ { 10, "spare6" },
+ { 11, "spare5" },
+ { 12, "spare4" },
+ { 13, "spare3" },
+ { 14, "spare2" },
+ { 15, "spare1" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_RA_Resources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RA_Resources, RA_Resources_sequence);
+dissect_nr_rrc_T_ra_Msg3SizeGroupA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 16, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t CBRA_SSB_Resource_sequence[] = {
- { &hf_nr_rrc_ssb , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_ID },
- { &hf_nr_rrc_startIndexRA_PreambleGroupA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PreambleStartIndex },
- { &hf_nr_rrc_numberofRA_PreamblesGroupA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NumberOfRA_Preambles },
- { &hf_nr_rrc_numberOfRA_Preambles, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NumberOfRA_Preambles },
- { &hf_nr_rrc_ra_Resources , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RA_Resources },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_messagePowerOffsetGroupB_vals[] = {
+ { 0, "minusinfinity" },
+ { 1, "dB0" },
+ { 2, "dB5" },
+ { 3, "dB8" },
+ { 4, "dB10" },
+ { 5, "dB12" },
+ { 6, "dB15" },
+ { 7, "dB18" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_CBRA_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CBRA_SSB_Resource, CBRA_SSB_Resource_sequence);
+dissect_nr_rrc_T_messagePowerOffsetGroupB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t CBRA_SSB_ResourceList_sequence_of[1] = {
- { &hf_nr_rrc_CBRA_SSB_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CBRA_SSB_Resource },
+
+static int
+dissect_nr_rrc_INTEGER_1_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 64U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_groupBconfigured_sequence[] = {
+ { &hf_nr_rrc_ra_Msg3SizeGroupA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_Msg3SizeGroupA },
+ { &hf_nr_rrc_messagePowerOffsetGroupB, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_messagePowerOffsetGroupB },
+ { &hf_nr_rrc_numberOfRA_PreamblesGroupA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_CBRA_SSB_ResourceList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CBRA_SSB_ResourceList, CBRA_SSB_ResourceList_sequence_of,
- 1, maxRAssbResources, FALSE);
+dissect_nr_rrc_T_groupBconfigured(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_groupBconfigured, T_groupBconfigured_sequence);
return offset;
}
@@ -5239,9 +7890,9 @@ dissect_nr_rrc_T_prach_RootSequenceIndex(tvbuff_t *tvb _U_, int offset _U_, asn1
static const value_string nr_rrc_T_restrictedSetConfig_vals[] = {
- { 0, "unrestricted" },
- { 1, "restrictedToTypeA" },
- { 2, "restrictedToTypeB" },
+ { 0, "unrestrictedSet" },
+ { 1, "restrictedSetTypeA" },
+ { 2, "restrictedSetTypeB" },
{ 0, NULL }
};
@@ -5255,228 +7906,153 @@ dissect_nr_rrc_T_restrictedSetConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
}
-static const value_string nr_rrc_T_preambleReceivedTargetPower_vals[] = {
- { 0, "dBm-120" },
- { 1, "dBm-118" },
- { 2, "dBm-116" },
- { 3, "dBm-114" },
- { 4, "dBm-112" },
- { 5, "dBm-110" },
- { 6, "dBm-108" },
- { 7, "dBm-106" },
- { 8, "dBm-104" },
- { 9, "dBm-102" },
- { 10, "dBm-100" },
- { 11, "dBm-98" },
- { 12, "dBm-96" },
- { 13, "dBm-94" },
- { 14, "dBm-92" },
- { 15, "dBm-90" },
- { 16, "dBm-88" },
- { 17, "dBm-86" },
- { 18, "dBm-84" },
- { 19, "dBm-82" },
- { 20, "dBm-80" },
- { 21, "dBm-78" },
- { 22, "dBm-76" },
- { 23, "dBm-74" },
- { 24, "dBm-72" },
- { 25, "dBm-70" },
- { 26, "dBm-68" },
- { 27, "dBm-66" },
- { 28, "dBm-64" },
- { 29, "dBm-62" },
- { 30, "dBm-60" },
- { 31, "dBm-58" },
- { 32, "dBm-56" },
- { 33, "dBm-54" },
- { 34, "dBm-52" },
- { 35, "dBm-50" },
- { 36, "dBm-48" },
- { 37, "dBm-46" },
- { 38, "dBm-44" },
- { 39, "dBm-42" },
- { 40, "dBm-42" },
- { 41, "dBm-40" },
- { 42, "dBm-38" },
- { 43, "dBm-36" },
- { 44, "dBm-34" },
- { 45, "dBm-32" },
- { 46, "dBm-30" },
- { 47, "dBm-28" },
- { 48, "dBm-26" },
- { 49, "dBm-24" },
- { 50, "dBm-22" },
- { 51, "dBm-20" },
- { 52, "dBm-18" },
- { 53, "dBm-16" },
- { 54, "dBm-14" },
- { 55, "dBm-12" },
- { 56, "dBm-10" },
- { 57, "dBm-8" },
- { 58, "dBm-6" },
- { 59, "dBm-4" },
- { 60, "dBm-2" },
- { 61, "dBm-0" },
- { 62, "dBm2" },
- { 63, "dBm4" },
- { 64, "dBm6" },
- { 0, NULL }
-};
-
-static value_string_ext nr_rrc_T_preambleReceivedTargetPower_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_preambleReceivedTargetPower_vals);
-
-
-static int
-dissect_nr_rrc_T_preambleReceivedTargetPower(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 65, NULL, FALSE, 0, NULL);
+static const value_string nr_rrc_T_msg3_transformPrecoding_vals[] = {
+ { 0, "enabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_msg3_transformPrecoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_powerRampingStep_vals[] = {
- { 0, "dB0" },
- { 1, "dB2" },
- { 2, "dB4" },
- { 3, "dB6" },
+static const per_sequence_t RACH_ConfigCommon_sequence[] = {
+ { &hf_nr_rrc_rach_ConfigGeneric, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigGeneric },
+ { &hf_nr_rrc_totalNumberOfRA_Preambles, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_63 },
+ { &hf_nr_rrc_ssb_perRACH_OccasionAndCB_PreamblesPerSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB },
+ { &hf_nr_rrc_groupBconfigured, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_groupBconfigured },
+ { &hf_nr_rrc_ra_ContentionResolutionTimer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_ContentionResolutionTimer },
+ { &hf_nr_rrc_rsrp_ThresholdSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range },
+ { &hf_nr_rrc_rsrp_ThresholdSSB_SUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range },
+ { &hf_nr_rrc_prach_RootSequenceIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_prach_RootSequenceIndex },
+ { &hf_nr_rrc_msg1_SubcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
+ { &hf_nr_rrc_restrictedSetConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_restrictedSetConfig },
+ { &hf_nr_rrc_msg3_transformPrecoding, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_msg3_transformPrecoding },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RACH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RACH_ConfigCommon, RACH_ConfigCommon_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_rach_ConfigCommon_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
+static const per_choice_t T_rach_ConfigCommon_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RACH_ConfigCommon },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_powerRampingStep(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_rach_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_rach_ConfigCommon, T_rach_ConfigCommon_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_preambleTransMax_vals[] = {
- { 0, "n3" },
- { 1, "n4" },
- { 2, "n5" },
- { 3, "n6" },
- { 4, "n7" },
- { 5, "n8" },
- { 6, "n10" },
- { 7, "n20" },
- { 8, "n50" },
- { 9, "n100" },
- { 10, "n200" },
+static const value_string nr_rrc_T_groupHoppingEnabledTransformPrecoding_vals[] = {
+ { 0, "enabled" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_preambleTransMax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_groupHoppingEnabledTransformPrecoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 11, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_msg3_transformPrecoding_vals[] = {
- { 0, "true" },
+
+static int
+dissect_nr_rrc_INTEGER_0_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 7U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_mappingType_01_vals[] = {
+ { 0, "typeA" },
+ { 1, "typeB" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_msg3_transformPrecoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_mappingType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t RACH_ConfigCommon_sequence[] = {
- { &hf_nr_rrc_groupBconfigured, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_groupBconfigured },
- { &hf_nr_rrc_cbra_SSB_ResourceList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CBRA_SSB_ResourceList },
- { &hf_nr_rrc_ra_ContentionResolutionTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_ContentionResolutionTimer },
- { &hf_nr_rrc_ssb_Threshold, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NULL },
- { &hf_nr_rrc_sul_RSRP_Threshold, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NULL },
- { &hf_nr_rrc_prach_ConfigurationIndex, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_255 },
- { &hf_nr_rrc_prach_RootSequenceIndex, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_prach_RootSequenceIndex },
- { &hf_nr_rrc_zeroCorrelationZoneConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
- { &hf_nr_rrc_restrictedSetConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_restrictedSetConfig },
- { &hf_nr_rrc_preambleReceivedTargetPower, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_preambleReceivedTargetPower },
- { &hf_nr_rrc_powerRampingStep, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_powerRampingStep },
- { &hf_nr_rrc_preambleTransMax, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_preambleTransMax },
- { &hf_nr_rrc_ra_ResponseWindow, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_msg2_SubcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
- { &hf_nr_rrc_rach_ControlResourceSet, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NULL },
- { &hf_nr_rrc_msg3_SubcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
- { &hf_nr_rrc_msg3_transformPrecoding, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_msg3_transformPrecoding },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_nr_rrc_RACH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RACH_ConfigCommon, RACH_ConfigCommon_sequence);
+dissect_nr_rrc_BIT_STRING_SIZE_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 7, 7, FALSE, NULL, NULL);
return offset;
}
-static const per_sequence_t ServingCellConfigCommon_sequence[] = {
- { &hf_nr_rrc_physCellId , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PhysCellId },
- { &hf_nr_rrc_frequencyInfoDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyInfoDL },
- { &hf_nr_rrc_frequencyInfoUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FrequencyInfoUL },
- { &hf_nr_rrc_supplementaryUplink, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_supplementaryUplink },
- { &hf_nr_rrc_subcarrierSpacingCommon, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
- { &hf_nr_rrc_ssb_subcarrier_offset, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_11 },
- { &hf_nr_rrc_ssb_PositionsInBurst, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_PositionsInBurst },
- { &hf_nr_rrc_ssb_periodicityServingCell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_periodicityServingCell },
- { &hf_nr_rrc_dmrs_TypeA_Position_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dmrs_TypeA_Position_01 },
- { &hf_nr_rrc_subcarrierSpacingSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacingSSB },
- { &hf_nr_rrc_tdd_UL_DL_configurationCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_tdd_UL_DL_configurationCommon },
- { &hf_nr_rrc_ss_PBCH_BlockPower, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M60_50 },
- { &hf_nr_rrc_rach_ConfigCommon, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigCommon },
+static const per_sequence_t PUSCH_TimeDomainResourceAllocation_sequence[] = {
+ { &hf_nr_rrc_k2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_7 },
+ { &hf_nr_rrc_mappingType_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mappingType_01 },
+ { &hf_nr_rrc_startSymbolAndLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_7 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_ServingCellConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PUSCH_TimeDomainResourceAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ServingCellConfigCommon, ServingCellConfigCommon_sequence);
+ ett_nr_rrc_PUSCH_TimeDomainResourceAllocation, PUSCH_TimeDomainResourceAllocation_sequence);
return offset;
}
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofUL_Allocations_OF_PUSCH_TimeDomainResourceAllocation_sequence_of[1] = {
+ { &hf_nr_rrc_pusch_AllocationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_TimeDomainResourceAllocation },
+};
static int
-dissect_nr_rrc_C_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 16, 16, FALSE, NULL, NULL);
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofUL_Allocations_OF_PUSCH_TimeDomainResourceAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofUL_Allocations_OF_PUSCH_TimeDomainResourceAllocation, SEQUENCE_SIZE_1_maxNrofUL_Allocations_OF_PUSCH_TimeDomainResourceAllocation_sequence_of,
+ 1, maxNrofUL_Allocations, FALSE);
return offset;
}
-static const value_string nr_rrc_T_t304_vals[] = {
- { 0, "ms50" },
- { 1, "ms100" },
- { 2, "ms150" },
- { 3, "ms200" },
- { 4, "ms500" },
- { 5, "ms1000" },
- { 6, "ms2000" },
- { 7, "ms10000-v1310" },
- { 0, NULL }
-};
-
static int
-dissect_nr_rrc_T_t304(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_INTEGER_M1_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ -1, 6U, NULL, FALSE);
return offset;
}
@@ -5484,185 +8060,221 @@ dissect_nr_rrc_T_t304(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p
static int
-dissect_nr_rrc_INTEGER_0_0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_M202_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 0U, NULL, FALSE);
+ -202, 24U, NULL, FALSE);
return offset;
}
-static const per_sequence_t CFRA_SSB_Resource_sequence[] = {
- { &hf_nr_rrc_ssb , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_ID },
- { &hf_nr_rrc_ra_PreambleIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_0 },
- { &hf_nr_rrc_ra_Resources , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RA_Resources },
+static const per_sequence_t PUSCH_ConfigCommon_sequence[] = {
+ { &hf_nr_rrc_groupHoppingEnabledTransformPrecoding, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_groupHoppingEnabledTransformPrecoding },
+ { &hf_nr_rrc_pusch_AllocationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofUL_Allocations_OF_PUSCH_TimeDomainResourceAllocation },
+ { &hf_nr_rrc_msg3_DeltaPreamble, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M1_6 },
+ { &hf_nr_rrc_p0_NominalWithGrant, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M202_24 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_CFRA_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PUSCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CFRA_SSB_Resource, CFRA_SSB_Resource_sequence);
+ ett_nr_rrc_PUSCH_ConfigCommon, PUSCH_ConfigCommon_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxRAssbResources_OF_CFRA_SSB_Resource_sequence_of[1] = {
- { &hf_nr_rrc_cfra_ssb_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CFRA_SSB_Resource },
+static const value_string nr_rrc_T_pusch_ConfigCommon_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_pusch_ConfigCommon_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_ConfigCommon },
+ { 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxRAssbResources_OF_CFRA_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxRAssbResources_OF_CFRA_SSB_Resource, SEQUENCE_SIZE_1_maxRAssbResources_OF_CFRA_SSB_Resource_sequence_of,
- 1, maxRAssbResources, FALSE);
+dissect_nr_rrc_T_pusch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_pusch_ConfigCommon, T_pusch_ConfigCommon_choice,
+ NULL);
return offset;
}
+static const value_string nr_rrc_T_pucch_GroupHopping_vals[] = {
+ { 0, "neither" },
+ { 1, "enable" },
+ { 2, "disable" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_CSIRS_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
+dissect_nr_rrc_T_pucch_GroupHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t CFRA_CSIRS_Resource_sequence[] = {
- { &hf_nr_rrc_csirs , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSIRS_ID },
- { &hf_nr_rrc_ra_PreambleIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_0 },
- { &hf_nr_rrc_ra_Resources , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RA_Resources },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_nr_rrc_CFRA_CSIRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CFRA_CSIRS_Resource, CFRA_CSIRS_Resource_sequence);
+dissect_nr_rrc_BIT_STRING_SIZE_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 10, 10, FALSE, NULL, NULL);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxRAcsirsResources_OF_CFRA_CSIRS_Resource_sequence_of[1] = {
- { &hf_nr_rrc_cfra_csirs_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CFRA_CSIRS_Resource },
+static const per_sequence_t PUCCH_ConfigCommon_sequence[] = {
+ { &hf_nr_rrc_pucch_ResourceCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_4 },
+ { &hf_nr_rrc_pucch_GroupHopping, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pucch_GroupHopping },
+ { &hf_nr_rrc_hoppingId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 },
+ { &hf_nr_rrc_p0_nominal , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M202_24 },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxRAcsirsResources_OF_CFRA_CSIRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxRAcsirsResources_OF_CFRA_CSIRS_Resource, SEQUENCE_SIZE_1_maxRAcsirsResources_OF_CFRA_CSIRS_Resource_sequence_of,
- 1, maxRAcsirsResources, FALSE);
+dissect_nr_rrc_PUCCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_ConfigCommon, PUCCH_ConfigCommon_sequence);
return offset;
}
-static const value_string nr_rrc_CFRA_Resources_vals[] = {
- { 0, "cfra-ssb-ResourceList" },
- { 1, "cfra-csirs-ResourceList" },
+static const value_string nr_rrc_T_pucch_ConfigCommon_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t CFRA_Resources_choice[] = {
- { 0, &hf_nr_rrc_cfra_ssb_ResourceList, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_1_maxRAssbResources_OF_CFRA_SSB_Resource },
- { 1, &hf_nr_rrc_cfra_csirs_ResourceList, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_1_maxRAcsirsResources_OF_CFRA_CSIRS_Resource },
+static const per_choice_t T_pucch_ConfigCommon_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_ConfigCommon },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_CFRA_Resources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_pucch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CFRA_Resources, CFRA_Resources_choice,
+ ett_nr_rrc_T_pucch_ConfigCommon, T_pucch_ConfigCommon_choice,
NULL);
return offset;
}
-static const per_sequence_t RACH_ConfigDedicated_sequence[] = {
- { &hf_nr_rrc_cfra_Resources, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CFRA_Resources },
- { &hf_nr_rrc_rar_SubcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
+static const per_sequence_t BWP_UplinkCommon_sequence[] = {
+ { &hf_nr_rrc_genericParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP },
+ { &hf_nr_rrc_rach_ConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rach_ConfigCommon },
+ { &hf_nr_rrc_pusch_ConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_ConfigCommon },
+ { &hf_nr_rrc_pucch_ConfigCommon_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_ConfigCommon },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_RACH_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_BWP_UplinkCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RACH_ConfigDedicated, RACH_ConfigDedicated_sequence);
+ ett_nr_rrc_BWP_UplinkCommon, BWP_UplinkCommon_sequence);
return offset;
}
-static const per_sequence_t T_reconfigurationWithSync_sequence[] = {
- { &hf_nr_rrc_spCellConfigCommon, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellConfigCommon },
- { &hf_nr_rrc_newUE_Identity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_C_RNTI },
- { &hf_nr_rrc_t304 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t304 },
- { &hf_nr_rrc_rach_ConfigDedicated, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RACH_ConfigDedicated },
+static const per_sequence_t UplinkConfigCommon_sequence[] = {
+ { &hf_nr_rrc_frequencyInfoUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FrequencyInfoUL },
+ { &hf_nr_rrc_initialUplinkBWP_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BWP_UplinkCommon },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_reconfigurationWithSync(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_UplinkConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_reconfigurationWithSync, T_reconfigurationWithSync_sequence);
+ ett_nr_rrc_UplinkConfigCommon, UplinkConfigCommon_sequence);
return offset;
}
-static const per_sequence_t T_slotSpecificConfigurations_item_sequence[] = {
- { &hf_nr_rrc_slotIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_160 },
- { &hf_nr_rrc_nrofDownlinkSymbols, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxSymbolIndex },
- { &hf_nr_rrc_nrofUplinkSymbols, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxSymbolIndex },
+static const per_sequence_t T_supplementaryUplink_sequence[] = {
+ { &hf_nr_rrc_uplinkConfigCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfigCommon },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_slotSpecificConfigurations_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_supplementaryUplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_slotSpecificConfigurations_item, T_slotSpecificConfigurations_item_sequence);
+ ett_nr_rrc_T_supplementaryUplink, T_supplementaryUplink_sequence);
return offset;
}
-static const per_sequence_t T_slotSpecificConfigurations_sequence_of[1] = {
- { &hf_nr_rrc_slotSpecificConfigurations_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_slotSpecificConfigurations_item },
+static const value_string nr_rrc_T_dl_UL_TransmissionPeriodicity_vals[] = {
+ { 0, "ms0p5" },
+ { 1, "ms0p625" },
+ { 2, "ms1" },
+ { 3, "ms1p25" },
+ { 4, "ms2" },
+ { 5, "ms2p5" },
+ { 6, "ms5" },
+ { 7, "ms10" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_T_slotSpecificConfigurations(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_slotSpecificConfigurations, T_slotSpecificConfigurations_sequence_of,
- 0, 160, FALSE);
+dissect_nr_rrc_T_dl_UL_TransmissionPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_tdd_UL_DL_configurationDedicated_sequence[] = {
- { &hf_nr_rrc_slotSpecificConfigurations, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_slotSpecificConfigurations },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_nr_rrc_T_tdd_UL_DL_configurationDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_tdd_UL_DL_configurationDedicated, T_tdd_UL_DL_configurationDedicated_sequence);
+dissect_nr_rrc_INTEGER_0_maxNrofSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofSlots, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_maxNrofSymbols_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofSymbols_1, NULL, FALSE);
return offset;
}
+static const per_sequence_t TDD_UL_DL_ConfigCommon_sequence[] = {
+ { &hf_nr_rrc_referenceSubcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing },
+ { &hf_nr_rrc_dl_UL_TransmissionPeriodicity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_UL_TransmissionPeriodicity },
+ { &hf_nr_rrc_nrofDownlinkSlots, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxNrofSlots },
+ { &hf_nr_rrc_nrofDownlinkSymbols, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxNrofSymbols_1 },
+ { &hf_nr_rrc_nrofUplinkSlots, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxNrofSlots },
+ { &hf_nr_rrc_nrofUplinkSymbols, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxNrofSymbols_1 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_BandwidthParts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_nr_rrc_BandwidthPart(tvb, offset, actx, tree, hf_index);
+dissect_nr_rrc_TDD_UL_DL_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_TDD_UL_DL_ConfigCommon, TDD_UL_DL_ConfigCommon_sequence);
return offset;
}
@@ -5680,9 +8292,9 @@ dissect_nr_rrc_ControlResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
static int
-dissect_nr_rrc_INTEGER_0_maxCoReSetStartSymbol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxCoReSetStartSymbol, NULL, FALSE);
+dissect_nr_rrc_BIT_STRING_SIZE_45(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 45, 45, FALSE, NULL, NULL);
return offset;
}
@@ -5715,72 +8327,111 @@ dissect_nr_rrc_T_reg_BundleSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
}
-static const value_string nr_rrc_T_cce_reg_MappingType_vals[] = {
+static const value_string nr_rrc_T_interleaverSize_vals[] = {
+ { 0, "n2" },
+ { 1, "n3" },
+ { 2, "n6" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_interleaverSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_interleaved_sequence[] = {
+ { &hf_nr_rrc_reg_BundleSize, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reg_BundleSize },
+ { &hf_nr_rrc_interleaverSize, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_interleaverSize },
+ { &hf_nr_rrc_shiftIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_interleaved(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_interleaved, T_interleaved_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_cce_REG_MappingType_vals[] = {
{ 0, "interleaved" },
{ 1, "nonInterleaved" },
{ 0, NULL }
};
+static const per_choice_t T_cce_REG_MappingType_choice[] = {
+ { 0, &hf_nr_rrc_interleaved , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_interleaved },
+ { 1, &hf_nr_rrc_nonInterleaved, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_cce_reg_MappingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_cce_REG_MappingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_cce_REG_MappingType, T_cce_REG_MappingType_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_interleaverRows_vals[] = {
- { 0, "n2" },
- { 1, "n3" },
- { 2, "n6" },
+static const value_string nr_rrc_T_precoderGranularity_vals[] = {
+ { 0, "sameAsREG-bundle" },
+ { 1, "allContiguousRBs" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_interleaverRows(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_precoderGranularity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t ControlResourceSet_sequence[] = {
- { &hf_nr_rrc_controlResourceSetId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSetId },
- { &hf_nr_rrc_frequencyDomainResources, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_startSymbol , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxCoReSetStartSymbol },
- { &hf_nr_rrc_duration_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCoReSetDuration },
- { &hf_nr_rrc_reg_BundleSize, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reg_BundleSize },
- { &hf_nr_rrc_cce_reg_MappingType, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cce_reg_MappingType },
- { &hf_nr_rrc_precoderGranularity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_interleaverRows, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interleaverRows },
- { &hf_nr_rrc_shiftIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_tci_StateRefId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_pdcch_DMRS_ScramblingID, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_nr_rrc_ControlResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ControlResourceSet, ControlResourceSet_sequence);
+dissect_nr_rrc_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofTCI_States_1, NULL, FALSE);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofControlResourceSets_OF_ControlResourceSet_sequence_of[1] = {
- { &hf_nr_rrc_controlResourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSet },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId_sequence_of[1] = {
+ { &hf_nr_rrc_tci_StatesPDCCH_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofControlResourceSets_OF_ControlResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofControlResourceSets_OF_ControlResourceSet, SEQUENCE_SIZE_1_maxNrofControlResourceSets_OF_ControlResourceSet_sequence_of,
- 1, maxNrofControlResourceSets, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId, SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId_sequence_of,
+ 1, maxNrofTCI_StatesPDCCH, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_tci_PresentInDCI_vals[] = {
+ { 0, "enabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_tci_PresentInDCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
@@ -5788,22 +8439,44 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofControlResourceSets_OF_ControlResourceSet(
static int
-dissect_nr_rrc_ControlResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_nr_rrc_ControlResourceSetId(tvb, offset, actx, tree, hf_index);
+dissect_nr_rrc_BIT_STRING_SIZE_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 16, 16, FALSE, NULL, NULL);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofControlResourceSets_OF_ControlResourceId_sequence_of[1] = {
- { &hf_nr_rrc_controlResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceId },
+static const per_sequence_t ControlResourceSet_sequence[] = {
+ { &hf_nr_rrc_controlResourceSetId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSetId },
+ { &hf_nr_rrc_frequencyDomainResources, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_45 },
+ { &hf_nr_rrc_duration , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCoReSetDuration },
+ { &hf_nr_rrc_cce_REG_MappingType, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cce_REG_MappingType },
+ { &hf_nr_rrc_precoderGranularity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_precoderGranularity },
+ { &hf_nr_rrc_tci_StatesPDCCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId },
+ { &hf_nr_rrc_tci_PresentInDCI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_tci_PresentInDCI },
+ { &hf_nr_rrc_pdcch_DMRS_ScramblingID, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofControlResourceSets_OF_ControlResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_ControlResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ControlResourceSet, ControlResourceSet_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_2_OF_ControlResourceSet_sequence_of[1] = {
+ { &hf_nr_rrc_commonControlResourcesSets_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSet },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_ControlResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofControlResourceSets_OF_ControlResourceId, SEQUENCE_SIZE_1_maxNrofControlResourceSets_OF_ControlResourceId_sequence_of,
- 1, maxNrofControlResourceSets, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_ControlResourceSet, SEQUENCE_SIZE_1_2_OF_ControlResourceSet_sequence_of,
+ 1, 2, FALSE);
return offset;
}
@@ -5813,7 +8486,7 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofControlResourceSets_OF_ControlResourceId(t
static int
dissect_nr_rrc_SearchSpaceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxNrofSearchSpaces, NULL, FALSE);
+ 0U, maxNrofSearchSpaces_1, NULL, FALSE);
return offset;
}
@@ -5831,9 +8504,9 @@ dissect_nr_rrc_INTEGER_0_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
static int
-dissect_nr_rrc_INTEGER_0_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_0_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 4U, NULL, FALSE);
+ 0U, 3U, NULL, FALSE);
return offset;
}
@@ -5842,18 +8515,24 @@ dissect_nr_rrc_INTEGER_0_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
static const value_string nr_rrc_T_monitoringSlotPeriodicityAndOffset_vals[] = {
{ 0, "sl1" },
{ 1, "sl2" },
- { 2, "sl5" },
- { 3, "sl10" },
- { 4, "sl20" },
+ { 2, "sl4" },
+ { 3, "sl5" },
+ { 4, "sl8" },
+ { 5, "sl10" },
+ { 6, "sl16" },
+ { 7, "sl20" },
{ 0, NULL }
};
static const per_choice_t T_monitoringSlotPeriodicityAndOffset_choice[] = {
{ 0, &hf_nr_rrc_sl1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
{ 1, &hf_nr_rrc_sl2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1 },
- { 2, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
- { 3, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
- { 4, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
+ { 2, &hf_nr_rrc_sl4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 },
+ { 3, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
+ { 4, &hf_nr_rrc_sl8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 },
+ { 5, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
+ { 6, &hf_nr_rrc_sl16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 },
+ { 7, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
{ 0, NULL, 0, NULL }
};
@@ -5965,11 +8644,34 @@ dissect_nr_rrc_T_aggregationLevel8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
+static const value_string nr_rrc_T_aggregationLevel16_vals[] = {
+ { 0, "n0" },
+ { 1, "n1" },
+ { 2, "n2" },
+ { 3, "n3" },
+ { 4, "n4" },
+ { 5, "n5" },
+ { 6, "n6" },
+ { 7, "n8" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_aggregationLevel16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
static const per_sequence_t T_nrofCandidates_sequence[] = {
{ &hf_nr_rrc_aggregationLevel1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel1 },
{ &hf_nr_rrc_aggregationLevel2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel2 },
{ &hf_nr_rrc_aggregationLevel4, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel4 },
{ &hf_nr_rrc_aggregationLevel8, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel8 },
+ { &hf_nr_rrc_aggregationLevel16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel16 },
{ NULL, 0, 0, NULL }
};
@@ -5982,178 +8684,237 @@ dissect_nr_rrc_T_nrofCandidates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
}
-static const value_string nr_rrc_T_monitoringPeriodicity_vals[] = {
- { 0, "sl1" },
- { 1, "sl2" },
- { 2, "sl5" },
- { 3, "sl10" },
- { 4, "sl20" },
- { 5, "spare3" },
- { 6, "spare2" },
- { 7, "spare1" },
+static const per_sequence_t T_dci_Format0_0_AndFormat1_0_sequence[] = {
+ { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_dci_Format0_0_AndFormat1_0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_dci_Format0_0_AndFormat1_0, T_dci_Format0_0_AndFormat1_0_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_aggregationLevel1_01_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_monitoringPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_aggregationLevel1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
+static const value_string nr_rrc_T_aggregationLevel2_01_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_SlotFormatCombinationId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofSlotFormatCombinations_1, NULL, FALSE);
+dissect_nr_rrc_T_aggregationLevel2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t SlotFormatCombination_sequence[] = {
- { &hf_nr_rrc_slotFormatCombinationId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatCombinationId },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_aggregationLevel4_01_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_SlotFormatCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SlotFormatCombination, SlotFormatCombination_sequence);
+dissect_nr_rrc_T_aggregationLevel4_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSlotFormatCombinations_OF_SlotFormatCombination_sequence_of[1] = {
- { &hf_nr_rrc_slotFormatCombinations_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatCombination },
+static const value_string nr_rrc_T_aggregationLevel8_01_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinations_OF_SlotFormatCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinations_OF_SlotFormatCombination, SEQUENCE_SIZE_1_maxNrofSlotFormatCombinations_OF_SlotFormatCombination_sequence_of,
- 1, maxNrofSlotFormatCombinations, FALSE);
+dissect_nr_rrc_T_aggregationLevel8_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_aggregationLevel16_01_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_aggregationLevel16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t CellToSFI_sequence[] = {
- { &hf_nr_rrc_slotFormatCombinations, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinations_OF_SlotFormatCombination },
+static const per_sequence_t T_nrofCandidates_SFI_sequence[] = {
+ { &hf_nr_rrc_aggregationLevel1_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel1_01 },
+ { &hf_nr_rrc_aggregationLevel2_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel2_01 },
+ { &hf_nr_rrc_aggregationLevel4_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel4_01 },
+ { &hf_nr_rrc_aggregationLevel8_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel8_01 },
+ { &hf_nr_rrc_aggregationLevel16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel16_01 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_CellToSFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nrofCandidates_SFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CellToSFI, CellToSFI_sequence);
+ ett_nr_rrc_T_nrofCandidates_SFI, T_nrofCandidates_SFI_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CellToSFI_sequence_of[1] = {
- { &hf_nr_rrc_sfi_CellToSFI_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellToSFI },
+static const per_sequence_t T_dci_Format2_0_sequence[] = {
+ { &hf_nr_rrc_nrofCandidates_SFI, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofCandidates_SFI },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CellToSFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CellToSFI, SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CellToSFI_sequence_of,
- 1, maxNrofAggregatedCellsPerCellGroup, FALSE);
+dissect_nr_rrc_T_dci_Format2_0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_dci_Format2_0, T_dci_Format2_0_sequence);
return offset;
}
-static const value_string nr_rrc_T_nrofPDCCH_Candidates_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
- { 0, NULL }
+static const per_sequence_t T_dci_Format2_1_sequence[] = {
+ { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
+static int
+dissect_nr_rrc_T_dci_Format2_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_dci_Format2_1, T_dci_Format2_1_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_dci_Format2_2_sequence[] = {
+ { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
+};
static int
-dissect_nr_rrc_T_nrofPDCCH_Candidates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_dci_Format2_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_dci_Format2_2, T_dci_Format2_2_sequence);
return offset;
}
-static const value_string nr_rrc_T_aggregationLevel_vals[] = {
+static const value_string nr_rrc_T_monitoringPeriodicity_vals[] = {
{ 0, "n1" },
{ 1, "n2" },
{ 2, "n4" },
- { 3, "n8" },
+ { 3, "n5" },
+ { 4, "n8" },
+ { 5, "n10" },
+ { 6, "n16" },
+ { 7, "n20" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_aggregationLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_monitoringPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
+static const value_string nr_rrc_T_nrofPDCCH_Candidates_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_BIT_STRING_SIZE_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 16, 16, FALSE, NULL, NULL);
+dissect_nr_rrc_T_nrofPDCCH_Candidates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
+static const per_sequence_t T_dci_Format2_3_sequence[] = {
+ { &hf_nr_rrc_monitoringPeriodicity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_monitoringPeriodicity },
+ { &hf_nr_rrc_nrofPDCCH_Candidates, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPDCCH_Candidates },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_1_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 1U, NULL, FALSE);
+dissect_nr_rrc_T_dci_Format2_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_dci_Format2_3, T_dci_Format2_3_sequence);
return offset;
}
-static const per_sequence_t SFI_PDCCH_sequence[] = {
- { &hf_nr_rrc_monitoringPeriodicity_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_monitoringPeriodicity },
- { &hf_nr_rrc_sfi_CellToSFI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CellToSFI },
- { &hf_nr_rrc_nrofPDCCH_Candidates, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPDCCH_Candidates },
- { &hf_nr_rrc_aggregationLevel, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel },
- { &hf_nr_rrc_sfi_RNTI , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 },
- { &hf_nr_rrc_dci_PayloadLength, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NULL },
- { &hf_nr_rrc_searchSpace , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NULL },
- { &hf_nr_rrc_sfi_PositionInDCI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_1 },
+static const per_sequence_t T_common_sequence[] = {
+ { &hf_nr_rrc_dci_Format0_0_AndFormat1_0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format0_0_AndFormat1_0 },
+ { &hf_nr_rrc_dci_Format2_0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_0 },
+ { &hf_nr_rrc_dci_Format2_1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_1 },
+ { &hf_nr_rrc_dci_Format2_2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_2 },
+ { &hf_nr_rrc_dci_Format2_3, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_3 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SFI_PDCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_common(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SFI_PDCCH, SFI_PDCCH_sequence);
+ ett_nr_rrc_T_common, T_common_sequence);
return offset;
}
-static const value_string nr_rrc_T_int_TF_vals[] = {
- { 0, "set0" },
- { 1, "set1" },
+static const value_string nr_rrc_T_dci_Formats_vals[] = {
+ { 0, "formats0-0-And-1-0" },
+ { 1, "formats0-1-And-1-1" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_int_TF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_dci_Formats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -6161,25 +8922,8 @@ dissect_nr_rrc_T_int_TF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
}
-static const per_sequence_t T_common_sequence[] = {
- { &hf_nr_rrc_sfi_PDCCH , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SFI_PDCCH },
- { &hf_nr_rrc_preemp_DL , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_int_RNTI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_16 },
- { &hf_nr_rrc_int_TF , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_int_TF },
- { &hf_nr_rrc_monitoringPeriodicity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NULL },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_nr_rrc_T_common(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_common, T_common_sequence);
-
- return offset;
-}
-
-
static const per_sequence_t T_ue_Specific_sequence[] = {
+ { &hf_nr_rrc_dci_Formats , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dci_Formats },
{ NULL, 0, 0, NULL }
};
@@ -6216,10 +8960,10 @@ dissect_nr_rrc_T_searchSpaceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
static const per_sequence_t SearchSpace_sequence[] = {
{ &hf_nr_rrc_searchSpaceId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceId },
- { &hf_nr_rrc_controlResourceSetId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSetId },
+ { &hf_nr_rrc_controlResourceSetId, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ControlResourceSetId },
{ &hf_nr_rrc_monitoringSlotPeriodicityAndOffset, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_monitoringSlotPeriodicityAndOffset },
{ &hf_nr_rrc_monitoringSymbolsWithinSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_14 },
- { &hf_nr_rrc_nrofCandidates, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofCandidates },
+ { &hf_nr_rrc_nrofCandidates, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofCandidates },
{ &hf_nr_rrc_searchSpaceType, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceType },
{ NULL, 0, 0, NULL }
};
@@ -6233,79 +8977,365 @@ dissect_nr_rrc_SearchSpace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSearchSpaces_OF_SearchSpace_sequence_of[1] = {
- { &hf_nr_rrc_searchSpacesToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpace },
+static const per_sequence_t SEQUENCE_SIZE_1_4_OF_SearchSpace_sequence_of[1] = {
+ { &hf_nr_rrc_commonSearchSpaces_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpace },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSearchSpaces_OF_SearchSpace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSearchSpaces_OF_SearchSpace, SEQUENCE_SIZE_1_maxNrofSearchSpaces_OF_SearchSpace_sequence_of,
- 1, maxNrofSearchSpaces, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace, SEQUENCE_SIZE_1_4_OF_SearchSpace_sequence_of,
+ 1, 4, FALSE);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSearchSpaces_OF_SearchSpaceId_sequence_of[1] = {
- { &hf_nr_rrc_searchSpacesToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceId },
+static const per_sequence_t PDCCH_ConfigCommon_sequence[] = {
+ { &hf_nr_rrc_commonControlResourcesSets, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_ControlResourceSet },
+ { &hf_nr_rrc_commonSearchSpaces, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace },
+ { &hf_nr_rrc_searchSpaceSIB1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId },
+ { &hf_nr_rrc_searchSpaceOtherSystemInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId },
+ { &hf_nr_rrc_pagingSearchSpace, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId },
+ { &hf_nr_rrc_ra_ControlResourceSet, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ControlResourceSetId },
+ { &hf_nr_rrc_ra_SearchSpace, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PDCCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PDCCH_ConfigCommon, PDCCH_ConfigCommon_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nonCriticalExtension_04_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_nonCriticalExtension_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_04, T_nonCriticalExtension_04_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SIB1_sequence[] = {
+ { &hf_nr_rrc_frequencyOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyOffsetSSB },
+ { &hf_nr_rrc_ssb_PositionsInBurst, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ssb_PositionsInBurst },
+ { &hf_nr_rrc_ssb_PeriodicityServingCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ssb_PeriodicityServingCell },
+ { &hf_nr_rrc_ss_PBCH_BlockPower, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M60_50 },
+ { &hf_nr_rrc_uplinkConfigCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfigCommon },
+ { &hf_nr_rrc_supplementaryUplink, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_supplementaryUplink },
+ { &hf_nr_rrc_tdd_UL_DL_Configuration, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_ConfigCommon },
+ { &hf_nr_rrc_tdd_UL_DL_configurationCommon2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_ConfigCommon },
+ { &hf_nr_rrc_pdcch_ConfigCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PDCCH_ConfigCommon },
+ { &hf_nr_rrc_pucch_ConfigCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_ConfigCommon },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_04, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_04 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_SIB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SIB1, SIB1_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_Alpha_vals[] = {
+ { 0, "alpha0" },
+ { 1, "alpha04" },
+ { 2, "alpha05" },
+ { 3, "alpha06" },
+ { 4, "alpha07" },
+ { 5, "alpha08" },
+ { 6, "alpha09" },
+ { 7, "alpha1" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSearchSpaces_OF_SearchSpaceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_Alpha(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BWP_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofBWPs, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_PUCCH_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofPUCCH_ResourceSets_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofPUCCH_Resources_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_8_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId_sequence_of[1] = {
+ { &hf_nr_rrc_resources_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_8_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSearchSpaces_OF_SearchSpaceId, SEQUENCE_SIZE_1_maxNrofSearchSpaces_OF_SearchSpaceId_sequence_of,
- 1, maxNrofSearchSpaces, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_8_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId, SEQUENCE_SIZE_8_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId_sequence_of,
+ 8, maxNrofPUCCH_ResourcesPerSet, FALSE);
return offset;
}
-static const per_sequence_t T_timing_sequence[] = {
- { &hf_nr_rrc_dl_assignment_to_DL_data, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_ul_assignment_to_UL_data, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_dl_data_to_UL_ACK, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
+
+static int
+dissect_nr_rrc_INTEGER_4_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 4U, 256U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUCCH_ResourceSet_sequence[] = {
+ { &hf_nr_rrc_pucch_ResourceSetId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceSetId },
+ { &hf_nr_rrc_resources , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_8_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId },
+ { &hf_nr_rrc_maxPayloadMinus1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_4_256 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_timing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PUCCH_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_timing, T_timing_sequence);
+ ett_nr_rrc_PUCCH_ResourceSet, PUCCH_ResourceSet_sequence);
return offset;
}
-static const per_sequence_t PDCCH_Config_sequence[] = {
- { &hf_nr_rrc_controlResourceSetToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofControlResourceSets_OF_ControlResourceSet },
- { &hf_nr_rrc_controlResourceSetToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofControlResourceSets_OF_ControlResourceId },
- { &hf_nr_rrc_searchSpacesToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSearchSpaces_OF_SearchSpace },
- { &hf_nr_rrc_searchSpacesToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSearchSpaces_OF_SearchSpaceId },
- { &hf_nr_rrc_timing , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timing },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet_sequence_of[1] = {
+ { &hf_nr_rrc_resourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceSet },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet_sequence_of,
+ 1, maxNrofPUCCH_ResourceSets, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId_sequence_of[1] = {
+ { &hf_nr_rrc_resourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceSetId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId_sequence_of,
+ 1, maxNrofPUCCH_ResourceSets, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_PRB_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofPhysicalResourceBlocks_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_intraSlotFrequencyHopping_vals[] = {
+ { 0, "enabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_intraSlotFrequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 11U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_1_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 2U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUCCH_format0_sequence[] = {
+ { &hf_nr_rrc_initialCyclicShift, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 },
+ { &hf_nr_rrc_nrofSymbols , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
+ { &hf_nr_rrc_startingSymbolIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PDCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PUCCH_format0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PDCCH_Config, PDCCH_Config_sequence);
+ ett_nr_rrc_PUCCH_format0, PUCCH_format0_sequence);
return offset;
}
-static const value_string nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_vals[] = {
+
+static int
+dissect_nr_rrc_INTEGER_4_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 4U, 14U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 10U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 6U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUCCH_format1_sequence[] = {
+ { &hf_nr_rrc_initialCyclicShift, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 },
+ { &hf_nr_rrc_nrofSymbols_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_4_14 },
+ { &hf_nr_rrc_startingSymbolIndex_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10 },
+ { &hf_nr_rrc_timeDomainOCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_6 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUCCH_format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_format1, PUCCH_format1_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUCCH_format2_sequence[] = {
+ { &hf_nr_rrc_nrofPRBs_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
+ { &hf_nr_rrc_nrofSymbols , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
+ { &hf_nr_rrc_startingSymbolIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUCCH_format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_format2, PUCCH_format2_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUCCH_format3_sequence[] = {
+ { &hf_nr_rrc_nrofPRBs_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
+ { &hf_nr_rrc_nrofSymbols_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_4_14 },
+ { &hf_nr_rrc_startingSymbolIndex_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUCCH_format3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_format3, PUCCH_format3_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_occ_Length_vals[] = {
{ 0, "n2" },
{ 1, "n4" },
- { 2, "n6" },
- { 3, "n8" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_occ_Length(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_occ_Index_vals[] = {
+ { 0, "n0" },
+ { 1, "n1" },
+ { 2, "n2" },
+ { 3, "n3" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_occ_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, FALSE, 0, NULL);
@@ -6313,152 +9343,357 @@ dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock(tvbuff_t *tvb _U_, int offs
}
-static const value_string nr_rrc_T_dmrs_Type_vals[] = {
- { 0, "type1" },
- { 1, "type2" },
+static const per_sequence_t PUCCH_format4_sequence[] = {
+ { &hf_nr_rrc_nrofSymbols_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_4_14 },
+ { &hf_nr_rrc_occ_Length , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_occ_Length },
+ { &hf_nr_rrc_occ_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_occ_Index },
+ { &hf_nr_rrc_startingSymbolIndex_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUCCH_format4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_format4, PUCCH_format4_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_format_vals[] = {
+ { 0, "format0" },
+ { 1, "format1" },
+ { 2, "format2" },
+ { 3, "format3" },
+ { 4, "format4" },
{ 0, NULL }
};
+static const per_choice_t T_format_choice[] = {
+ { 0, &hf_nr_rrc_format0 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format0 },
+ { 1, &hf_nr_rrc_format1_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format1 },
+ { 2, &hf_nr_rrc_format2_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format2 },
+ { 3, &hf_nr_rrc_format3_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format3 },
+ { 4, &hf_nr_rrc_format4_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format4 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_dmrs_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_format(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_format, T_format_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUCCH_Resource_sequence[] = {
+ { &hf_nr_rrc_pucch_ResourceId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
+ { &hf_nr_rrc_startingPRB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PRB_Id },
+ { &hf_nr_rrc_intraSlotFrequencyHopping, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraSlotFrequencyHopping },
+ { &hf_nr_rrc_secondHopPRB , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PRB_Id },
+ { &hf_nr_rrc_format , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_format },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUCCH_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_Resource, PUCCH_Resource_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource_sequence_of[1] = {
+ { &hf_nr_rrc_resourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_Resource },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource, SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource_sequence_of,
+ 1, maxNrofPUCCH_Resources, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId_sequence_of[1] = {
+ { &hf_nr_rrc_resourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId, SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId_sequence_of,
+ 1, maxNrofPUCCH_Resources, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_interslotFrequencyHopping_vals[] = {
+ { 0, "enabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_interslotFrequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_dmrs_AdditionalPosition_vals[] = {
- { 0, "pos0" },
- { 1, "pos1" },
- { 2, "pos2" },
- { 3, "pos3" },
+static const value_string nr_rrc_T_additionalDMRS_vals[] = {
+ { 0, "true" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_dmrs_AdditionalPosition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_additionalDMRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_nrofPorts_01_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
+static const value_string nr_rrc_PUCCH_MaxCodeRate_vals[] = {
+ { 0, "zeroDot08" },
+ { 1, "zeroDot15" },
+ { 2, "zeroDot25" },
+ { 3, "zeroDot35" },
+ { 4, "zeroDot45" },
+ { 5, "zeroDot60" },
+ { 6, "zeroDot80" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_nrofPorts_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PUCCH_MaxCodeRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 7, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_nrofSlots_vals[] = {
+ { 0, "n2" },
+ { 1, "n4" },
+ { 2, "n8" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_nrofSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pi2PBSK_vals[] = {
+ { 0, "enabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pi2PBSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_simultaneousHARQ_ACK_CSI_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_simultaneousHARQ_ACK_CSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t Downlink_PTRS_Config_sequence[] = {
- { &hf_nr_rrc_frequencyDensity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_timeDensity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_nrofPorts_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPorts_01 },
- { &hf_nr_rrc_epre_Ratio , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NULL },
- { &hf_nr_rrc_resourceElementOffset, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NULL },
+static const per_sequence_t PUCCH_FormatConfig_sequence[] = {
+ { &hf_nr_rrc_interslotFrequencyHopping, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interslotFrequencyHopping },
+ { &hf_nr_rrc_additionalDMRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_additionalDMRS },
+ { &hf_nr_rrc_maxCodeRate , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_MaxCodeRate },
+ { &hf_nr_rrc_nrofSlots , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofSlots },
+ { &hf_nr_rrc_pi2PBSK , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pi2PBSK },
+ { &hf_nr_rrc_simultaneousHARQ_ACK_CSI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousHARQ_ACK_CSI },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_Downlink_PTRS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PUCCH_FormatConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_Downlink_PTRS_Config, Downlink_PTRS_Config_sequence);
+ ett_nr_rrc_PUCCH_FormatConfig, PUCCH_FormatConfig_sequence);
return offset;
}
-static const value_string nr_rrc_T_phaseTracking_RS_vals[] = {
+static const value_string nr_rrc_T_format1_vals[] = {
{ 0, "release" },
{ 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t T_phaseTracking_RS_choice[] = {
+static const per_choice_t T_format1_choice[] = {
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_04 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_Downlink_PTRS_Config },
+ { 1, &hf_nr_rrc_setup_32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_phaseTracking_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_phaseTracking_RS, T_phaseTracking_RS_choice,
+ ett_nr_rrc_T_format1, T_format1_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_tci_PresentInDCI_vals[] = {
- { 0, "enabled" },
+static const value_string nr_rrc_T_format2_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
+static const per_choice_t T_format2_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_tci_PresentInDCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_format2, T_format2_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_xOverhead_vals[] = {
- { 0, "n0" },
- { 1, "n6" },
- { 2, "n12" },
- { 3, "n18" },
+static const value_string nr_rrc_T_format3_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
+static const per_choice_t T_format3_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_xOverhead(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_format3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_format3, T_format3_choice,
+ NULL);
return offset;
}
+static const value_string nr_rrc_T_format4_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_format4_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_BIT_STRING_SIZE_275(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 275, 275, FALSE, NULL, NULL);
+dissect_nr_rrc_T_format4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_format4, T_format4_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_SchedulingRequestResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxNrofSR_Resources, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_SchedulingRequestId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 7U, NULL, FALSE);
return offset;
}
static const value_string nr_rrc_T_periodicityAndOffset_01_vals[] = {
- { 0, "n5" },
- { 1, "n10" },
- { 2, "n20" },
- { 3, "n40" },
+ { 0, "sym2" },
+ { 1, "sym6or7" },
+ { 2, "sl1" },
+ { 3, "sl2" },
+ { 4, "sl4" },
+ { 5, "sl5" },
+ { 6, "sl8" },
+ { 7, "sl10" },
+ { 8, "sl16" },
+ { 9, "sl20" },
+ { 10, "sl40" },
+ { 11, "sl80" },
+ { 12, "sl160" },
+ { 13, "sl320" },
+ { 14, "sl640" },
{ 0, NULL }
};
static const per_choice_t T_periodicityAndOffset_01_choice[] = {
- { 0, &hf_nr_rrc_n5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
- { 1, &hf_nr_rrc_n10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
- { 2, &hf_nr_rrc_n20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
- { 3, &hf_nr_rrc_n40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
+ { 0, &hf_nr_rrc_sym2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_sym6or7 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 2, &hf_nr_rrc_sl1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 3, &hf_nr_rrc_sl2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1 },
+ { 4, &hf_nr_rrc_sl4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 },
+ { 5, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
+ { 6, &hf_nr_rrc_sl8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 },
+ { 7, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
+ { 8, &hf_nr_rrc_sl16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 },
+ { 9, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
+ { 10, &hf_nr_rrc_sl40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
+ { 11, &hf_nr_rrc_sl80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
+ { 12, &hf_nr_rrc_sl160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
+ { 13, &hf_nr_rrc_sl320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
+ { 14, &hf_nr_rrc_sl640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 },
{ 0, NULL, 0, NULL }
};
@@ -6472,188 +9707,410 @@ dissect_nr_rrc_T_periodicityAndOffset_01(tvbuff_t *tvb _U_, int offset _U_, asn1
}
-static const per_sequence_t RateMatchPattern_sequence[] = {
- { &hf_nr_rrc_resourceBlocks, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_275 },
- { &hf_nr_rrc_symbolsInResourceBlock, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_14 },
- { &hf_nr_rrc_periodicityAndOffset_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_periodicityAndOffset_01 },
+static const per_sequence_t SchedulingRequestResourceConfig_sequence[] = {
+ { &hf_nr_rrc_schedulingRequestResourceId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceId },
+ { &hf_nr_rrc_schedulingRequestID, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestId },
+ { &hf_nr_rrc_periodicityAndOffset_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_periodicityAndOffset_01 },
+ { &hf_nr_rrc_resource , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_ResourceId },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_RateMatchPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SchedulingRequestResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RateMatchPattern, RateMatchPattern_sequence);
+ ett_nr_rrc_SchedulingRequestResourceConfig, SchedulingRequestResourceConfig_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern_sequence_of[1] = {
- { &hf_nr_rrc_setup_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPattern },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig_sequence_of[1] = {
+ { &hf_nr_rrc_schedulingRequestResourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceConfig },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern, SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern_sequence_of,
- 1, maxNrofRateMatchPatterns, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig, SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig_sequence_of,
+ 1, maxNrofSR_Resources, FALSE);
return offset;
}
-static const value_string nr_rrc_T_rateMatchPatterns_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId_sequence_of[1] = {
+ { &hf_nr_rrc_schedulingRequestResourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId, SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId_sequence_of,
+ 1, maxNrofSR_Resources, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId_sequence_of[1] = {
+ { &hf_nr_rrc_multi_CSI_PUCCH_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId, SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId_sequence_of,
+ 1, 2, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_dl_DataToUL_ACK_sequence_of[1] = {
+ { &hf_nr_rrc_dl_DataToUL_ACK_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
+};
+
+static int
+dissect_nr_rrc_T_dl_DataToUL_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_dl_DataToUL_ACK, T_dl_DataToUL_ACK_sequence_of,
+ 8, 8, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_PUCCH_SpatialRelationInfoId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxNrofSpatialRelationInfos, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_NZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofNZP_CSI_RS_Resources_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofSRS_Resources_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_referenceSignal_vals[] = {
+ { 0, "ssb-Index" },
+ { 1, "csi-RS-Index" },
+ { 2, "srs" },
{ 0, NULL }
};
-static const per_choice_t T_rateMatchPatterns_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_05 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern },
+static const per_choice_t T_referenceSignal_choice[] = {
+ { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
+ { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+ { 2, &hf_nr_rrc_srs , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_ResourceId },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_rateMatchPatterns(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_referenceSignal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_rateMatchPatterns, T_rateMatchPatterns_choice,
+ ett_nr_rrc_T_referenceSignal, T_referenceSignal_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_nrofCRS_Ports_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
- { 2, "n4" },
+
+static int
+dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofPUCCH_PathlossReferenceRSs_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_P0_PUCCH_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 8U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_closedLoopIndex_vals[] = {
+ { 0, "i0" },
+ { 1, "i1" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_nrofCRS_Ports(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_closedLoopIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_v_Shift_vals[] = {
- { 0, "n0" },
- { 1, "n1" },
- { 2, "n2" },
- { 3, "n3" },
- { 4, "n4" },
- { 5, "n5" },
- { 0, NULL }
+static const per_sequence_t PUCCH_SpatialRelationInfo_sequence[] = {
+ { &hf_nr_rrc_pucch_SpatialRelationInfoId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfoId },
+ { &hf_nr_rrc_referenceSignal, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal },
+ { &hf_nr_rrc_pucch_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id },
+ { &hf_nr_rrc_p0_PUCCH_Id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUCCH_Id },
+ { &hf_nr_rrc_closedLoopIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_closedLoopIndex },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUCCH_SpatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_SpatialRelationInfo, PUCCH_SpatialRelationInfo_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo_sequence_of[1] = {
+ { &hf_nr_rrc_spatialRelationInfoToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfo },
};
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo, SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo_sequence_of,
+ 1, maxNrofSpatialRelationInfos, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId_sequence_of[1] = {
+ { &hf_nr_rrc_spatialRelationInfoToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfoId },
+};
static int
-dissect_nr_rrc_T_v_Shift(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 6, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId, SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId_sequence_of,
+ 1, maxNrofSpatialRelationInfos, FALSE);
return offset;
}
-static const per_sequence_t T_setup_04_sequence[] = {
- { &hf_nr_rrc_nrofCRS_Ports, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofCRS_Ports },
- { &hf_nr_rrc_v_Shift , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_v_Shift },
+
+static int
+dissect_nr_rrc_INTEGER_M16_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ -16, 15U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t P0_PUCCH_sequence[] = {
+ { &hf_nr_rrc_p0_PUCCH_Id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUCCH_Id },
+ { &hf_nr_rrc_p0_PUCCH_Value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M16_15 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_setup_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_P0_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_setup_04, T_setup_04_sequence);
+ ett_nr_rrc_P0_PUCCH, P0_PUCCH_sequence);
return offset;
}
-static const value_string nr_rrc_T_lte_CRS_ToMatchAround_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH_sequence_of[1] = {
+ { &hf_nr_rrc_p0_Set_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUCCH },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH, SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH_sequence_of,
+ 1, maxNrofPUCCH_P0_PerSet, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_referenceSignal_01_vals[] = {
+ { 0, "ssb-Index" },
+ { 1, "csi-RS-Index" },
{ 0, NULL }
};
-static const per_choice_t T_lte_CRS_ToMatchAround_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_06 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_setup_04 },
+static const per_choice_t T_referenceSignal_01_choice[] = {
+ { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
+ { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_lte_CRS_ToMatchAround(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_referenceSignal_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_lte_CRS_ToMatchAround, T_lte_CRS_ToMatchAround_choice,
+ ett_nr_rrc_T_referenceSignal_01, T_referenceSignal_01_choice,
NULL);
return offset;
}
-static const per_sequence_t T_rateMatchResourcesPDSCH_sequence[] = {
- { &hf_nr_rrc_rateMatchPatterns, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatchPatterns },
- { &hf_nr_rrc_lte_CRS_ToMatchAround, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_lte_CRS_ToMatchAround },
+static const per_sequence_t PUCCH_PathlossReferenceRS_sequence[] = {
+ { &hf_nr_rrc_pucch_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id },
+ { &hf_nr_rrc_referenceSignal_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_01 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_rateMatchResourcesPDSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PUCCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_rateMatchResourcesPDSCH, T_rateMatchResourcesPDSCH_sequence);
+ ett_nr_rrc_PUCCH_PathlossReferenceRS, PUCCH_PathlossReferenceRS_sequence);
return offset;
}
-static const value_string nr_rrc_T_rbg_Size_vals[] = {
- { 0, "config1" },
- { 1, "config2" },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS_sequence_of[1] = {
+ { &hf_nr_rrc_pathlossReferenceRSs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS, SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS_sequence_of,
+ 1, maxNrofPUCCH_PathlossReferenceRSs, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_twoPUCCH_PC_AdjustmentStates_vals[] = {
+ { 0, "twoStates" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_rbg_Size(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_twoPUCCH_PC_AdjustmentStates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_mcs_Table_vals[] = {
- { 0, "dl-64QAM" },
- { 1, "dl-256QAM" },
+static const per_sequence_t PUCCH_PowerControl_sequence[] = {
+ { &hf_nr_rrc_deltaF_PUCCH_f0, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
+ { &hf_nr_rrc_deltaF_PUCCH_f1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
+ { &hf_nr_rrc_deltaF_PUCCH_f2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
+ { &hf_nr_rrc_deltaF_PUCCH_f3, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
+ { &hf_nr_rrc_deltaF_PUCCH_f4, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
+ { &hf_nr_rrc_p0_Set , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH },
+ { &hf_nr_rrc_pathlossReferenceRSs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS },
+ { &hf_nr_rrc_twoPUCCH_PC_AdjustmentStates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_PC_AdjustmentStates },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUCCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_PowerControl, PUCCH_PowerControl_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUCCH_Config_sequence[] = {
+ { &hf_nr_rrc_resourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet },
+ { &hf_nr_rrc_resourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId },
+ { &hf_nr_rrc_resourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource },
+ { &hf_nr_rrc_resourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId },
+ { &hf_nr_rrc_format1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_format1 },
+ { &hf_nr_rrc_format2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_format2 },
+ { &hf_nr_rrc_format3 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_format3 },
+ { &hf_nr_rrc_format4 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_format4 },
+ { &hf_nr_rrc_schedulingRequestResourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig },
+ { &hf_nr_rrc_schedulingRequestResourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId },
+ { &hf_nr_rrc_multi_CSI_PUCCH_ResourceList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId },
+ { &hf_nr_rrc_dl_DataToUL_ACK, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_DataToUL_ACK },
+ { &hf_nr_rrc_spatialRelationInfoToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo },
+ { &hf_nr_rrc_spatialRelationInfoToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId },
+ { &hf_nr_rrc_pucch_PowerControl, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_PowerControl },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_Config, PUCCH_Config_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pucch_Config_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
+static const per_choice_t T_pucch_Config_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_Config },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_mcs_Table(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_pucch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_pucch_Config, T_pucch_Config_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_maxNrofCodeWordsScheduledByDCI_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
+
+static int
+dissect_nr_rrc_INTEGER_0_1007(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 1007U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_txConfig_vals[] = {
+ { 0, "codebook" },
+ { 1, "nonCodebook" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_maxNrofCodeWordsScheduledByDCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_txConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -6661,51 +10118,33 @@ dissect_nr_rrc_T_maxNrofCodeWordsScheduledByDCI(tvbuff_t *tvb _U_, int offset _U
}
-static const value_string nr_rrc_T_harq_ACK_Codebook_vals[] = {
- { 0, "semiStatic" },
- { 1, "dynamic" },
+static const value_string nr_rrc_T_dmrs_Type_01_vals[] = {
+ { 0, "type2" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_harq_ACK_Codebook(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_dmrs_Type_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t PDSCH_Config_sequence[] = {
- { &hf_nr_rrc_codeBlockGroupTransmission, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock },
- { &hf_nr_rrc_codeBlockGroupFlushIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_dmrs_Type , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_Type },
- { &hf_nr_rrc_dmrs_AdditionalPosition, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_AdditionalPosition },
- { &hf_nr_rrc_dmrs_group1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_dmrs_group2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_phaseTracking_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_phaseTracking_RS },
- { &hf_nr_rrc_tci_States , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_tci_rs_SetConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_tci_PresentInDCI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tci_PresentInDCI },
- { &hf_nr_rrc_xOverhead , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_xOverhead },
- { &hf_nr_rrc_pdsch_symbolAllocation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_NULL },
- { &hf_nr_rrc_rateMatchResourcesPDSCH, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rateMatchResourcesPDSCH },
- { &hf_nr_rrc_rbg_Size , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rbg_Size },
- { &hf_nr_rrc_mcs_Table , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mcs_Table },
- { &hf_nr_rrc_maxNrofCodeWordsScheduledByDCI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNrofCodeWordsScheduledByDCI },
- { &hf_nr_rrc_nrofHARQ_processesForPDSCH, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_harq_ACK_Codebook, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_harq_ACK_Codebook },
- { &hf_nr_rrc_pdsch_BundleSize, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_prbBundlingEnabled, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_dmrs_AdditionalPosition_01_vals[] = {
+ { 0, "pos0" },
+ { 1, "pos1" },
+ { 2, "pos3" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_PDSCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PDSCH_Config, PDSCH_Config_sequence);
+dissect_nr_rrc_T_dmrs_AdditionalPosition_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
return offset;
}
@@ -6713,19 +10152,23 @@ dissect_nr_rrc_PDSCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
-dissect_nr_rrc_CSI_ResourceConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_1_276(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofCSI_ResourceConfigurations_1, NULL, FALSE);
+ 1U, 276U, NULL, FALSE);
return offset;
}
+static const per_sequence_t T_frequencyDensity_01_sequence_of[1] = {
+ { &hf_nr_rrc_frequencyDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
+};
static int
-dissect_nr_rrc_CSI_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofCSI_ResourceSets_1, NULL, FALSE);
+dissect_nr_rrc_T_frequencyDensity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_frequencyDensity_01, T_frequencyDensity_01_sequence_of,
+ 2, 2, FALSE);
return offset;
}
@@ -6733,64 +10176,54 @@ dissect_nr_rrc_CSI_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
static int
-dissect_nr_rrc_NZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_0_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofNZP_CSI_RS_Resources_1, NULL, FALSE);
+ 0U, 29U, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_T_nrofPorts_vals[] = {
- { 0, "p1" },
- { 1, "p2" },
- { 2, "p4" },
- { 3, "p8" },
- { 4, "p12" },
- { 5, "p16" },
- { 6, "p24" },
- { 7, "p32" },
- { 0, NULL }
+static const per_sequence_t T_timeDensity_01_sequence_of[1] = {
+ { &hf_nr_rrc_timeDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
};
-
static int
-dissect_nr_rrc_T_nrofPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_timeDensity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_timeDensity_01, T_timeDensity_01_sequence_of,
+ 3, 3, FALSE);
return offset;
}
-static const value_string nr_rrc_T_cdm_Value_vals[] = {
+static const value_string nr_rrc_T_maxNrofPorts_vals[] = {
{ 0, "n1" },
{ 1, "n2" },
- { 2, "n4" },
- { 3, "n8" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_cdm_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_maxNrofPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_cdm_Pattern_vals[] = {
- { 0, "freqOnly" },
- { 1, "timeAndFreq" },
- { 2, "timeOnly" },
+static const value_string nr_rrc_T_resourceElementOffset_01_vals[] = {
+ { 0, "offset01" },
+ { 1, "offset10" },
+ { 2, "offset11" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_cdm_Pattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_resourceElementOffset_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, FALSE, 0, NULL);
@@ -6798,17 +10231,17 @@ dissect_nr_rrc_T_cdm_Pattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
-static const value_string nr_rrc_T_csi_RS_Density_vals[] = {
- { 0, "dot5" },
- { 1, "one" },
- { 2, "three" },
- { 3, "spare" },
+static const value_string nr_rrc_T_ptrs_Power_vals[] = {
+ { 0, "p00" },
+ { 1, "p01" },
+ { 2, "p10" },
+ { 3, "p11" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_csi_RS_Density(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_ptrs_Power(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, FALSE, 0, NULL);
@@ -6816,195 +10249,346 @@ dissect_nr_rrc_T_csi_RS_Density(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
}
+static const per_sequence_t T_cp_OFDM_sequence[] = {
+ { &hf_nr_rrc_frequencyDensity_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyDensity_01 },
+ { &hf_nr_rrc_timeDensity_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDensity_01 },
+ { &hf_nr_rrc_maxNrofPorts , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNrofPorts },
+ { &hf_nr_rrc_resourceElementOffset_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_resourceElementOffset_01 },
+ { &hf_nr_rrc_ptrs_Power , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ptrs_Power },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_cp_OFDM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_cp_OFDM, T_cp_OFDM_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_sampleDensity_sequence_of[1] = {
+ { &hf_nr_rrc_sampleDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
+};
static int
-dissect_nr_rrc_INTEGER_0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 0U, NULL, FALSE);
+dissect_nr_rrc_T_sampleDensity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_sampleDensity, T_sampleDensity_sequence_of,
+ 5, 5, FALSE);
return offset;
}
-static const value_string nr_rrc_T_csi_RS_timeConfig_vals[] = {
- { 0, "sl5" },
- { 1, "sl10" },
- { 2, "sl20" },
- { 3, "sl40" },
- { 4, "sl80" },
- { 5, "sl160" },
- { 6, "sl320" },
- { 7, "sl640" },
+static const value_string nr_rrc_T_timeDensity_02_vals[] = {
+ { 0, "d2" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_timeDensity_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_dft_S_OFDM_sequence[] = {
+ { &hf_nr_rrc_sampleDensity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sampleDensity },
+ { &hf_nr_rrc_timeDensity_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDensity_02 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_dft_S_OFDM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_dft_S_OFDM, T_dft_S_OFDM_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_modeSpecificParameters_vals[] = {
+ { 0, "cp-OFDM" },
+ { 1, "dft-S-OFDM" },
{ 0, NULL }
};
-static const per_choice_t T_csi_RS_timeConfig_choice[] = {
- { 0, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
- { 1, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
- { 2, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
- { 3, &hf_nr_rrc_sl40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
- { 4, &hf_nr_rrc_sl80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
- { 5, &hf_nr_rrc_sl160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
- { 6, &hf_nr_rrc_sl320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
- { 7, &hf_nr_rrc_sl640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 },
+static const per_choice_t T_modeSpecificParameters_choice[] = {
+ { 0, &hf_nr_rrc_cp_OFDM , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_cp_OFDM },
+ { 1, &hf_nr_rrc_dft_S_OFDM , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_dft_S_OFDM },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_csi_RS_timeConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_modeSpecificParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_csi_RS_timeConfig, T_csi_RS_timeConfig_choice,
+ ett_nr_rrc_T_modeSpecificParameters, T_modeSpecificParameters_choice,
NULL);
return offset;
}
-static const per_sequence_t NZP_CSI_RS_Resource_sequence[] = {
- { &hf_nr_rrc_nzp_csi_rs_ResourceId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceId },
- { &hf_nr_rrc_nrofPorts , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPorts },
- { &hf_nr_rrc_resourceMapping, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_cdm_Value , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cdm_Value },
- { &hf_nr_rrc_cdm_Pattern , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cdm_Pattern },
- { &hf_nr_rrc_csi_RS_Density, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_csi_RS_Density },
- { &hf_nr_rrc_csi_RS_FreqBand, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_powerControlOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_powerControlOffsetSS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NULL },
- { &hf_nr_rrc_scramblingID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0 },
- { &hf_nr_rrc_csi_RS_timeConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_csi_RS_timeConfig },
+static const per_sequence_t PTRS_UplinkConfig_sequence[] = {
+ { &hf_nr_rrc_modeSpecificParameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_modeSpecificParameters },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_NZP_CSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PTRS_UplinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_NZP_CSI_RS_Resource, NZP_CSI_RS_Resource_sequence);
+ ett_nr_rrc_PTRS_UplinkConfig, PTRS_UplinkConfig_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_Resource_sequence_of[1] = {
- { &hf_nr_rrc_csi_rs_Resources_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_Resource },
+static const value_string nr_rrc_T_phaseTrackingRS_01_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_phaseTrackingRS_01_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_19 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PTRS_UplinkConfig },
+ { 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_Resource, SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_Resource_sequence_of,
- 1, maxNrofCSI_RS_ResourcesPerSet, FALSE);
+dissect_nr_rrc_T_phaseTrackingRS_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_phaseTrackingRS_01, T_phaseTrackingRS_01_choice,
+ NULL);
return offset;
}
-static const per_sequence_t CSI_ResourceSet_sequence[] = {
- { &hf_nr_rrc_csi_ResourceSetId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceSetId },
- { &hf_nr_rrc_csi_rs_Resources, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_Resource },
- { &hf_nr_rrc_repetition , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+static const value_string nr_rrc_T_maxLength_01_vals[] = {
+ { 0, "len2" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_maxLength_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 65535U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_disabled_01_sequence[] = {
+ { &hf_nr_rrc_scramblingID0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 },
+ { &hf_nr_rrc_scramblingID1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_CSI_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_disabled_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CSI_ResourceSet, CSI_ResourceSet_sequence);
+ ett_nr_rrc_T_disabled_01, T_disabled_01_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_ResourceSets_OF_CSI_ResourceSet_sequence_of[1] = {
- { &hf_nr_rrc_csi_ResourceSets_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceSet },
+static const value_string nr_rrc_T_disableSequenceGroupHopping_vals[] = {
+ { 0, "disabled" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceSets_OF_CSI_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceSets_OF_CSI_ResourceSet, SEQUENCE_SIZE_1_maxNrofCSI_ResourceSets_OF_CSI_ResourceSet_sequence_of,
- 1, maxNrofCSI_ResourceSets, FALSE);
+dissect_nr_rrc_T_disableSequenceGroupHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_sequenceHoppingEnabled_vals[] = {
+ { 0, "enabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_sequenceHoppingEnabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t CSI_SSB_Resource_sequence[] = {
+static const per_sequence_t T_enabled_sequence[] = {
+ { &hf_nr_rrc_nPUSCH_Identity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1007 },
+ { &hf_nr_rrc_disableSequenceGroupHopping, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_disableSequenceGroupHopping },
+ { &hf_nr_rrc_sequenceHoppingEnabled, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sequenceHoppingEnabled },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_CSI_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_enabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CSI_SSB_Resource, CSI_SSB_Resource_sequence);
+ ett_nr_rrc_T_enabled, T_enabled_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSSB_Resources_1_OF_CSI_SSB_Resource_sequence_of[1] = {
- { &hf_nr_rrc_ssb_Resources_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SSB_Resource },
+static const value_string nr_rrc_T_transformPrecoding_vals[] = {
+ { 0, "disabled" },
+ { 1, "enabled" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_transformPrecoding_choice[] = {
+ { 0, &hf_nr_rrc_disabled_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_disabled_01 },
+ { 1, &hf_nr_rrc_enabled_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_enabled },
+ { 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSSB_Resources_1_OF_CSI_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSSB_Resources_1_OF_CSI_SSB_Resource, SEQUENCE_SIZE_1_maxNrofSSB_Resources_1_OF_CSI_SSB_Resource_sequence_of,
- 1, maxNrofSSB_Resources_1, FALSE);
+dissect_nr_rrc_T_transformPrecoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_transformPrecoding, T_transformPrecoding_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_resourceType_vals[] = {
- { 0, "aperiodic" },
- { 1, "semiPersistent" },
- { 2, "periodic" },
+static const per_sequence_t DMRS_UplinkConfig_sequence[] = {
+ { &hf_nr_rrc_dmrs_Type_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_Type_01 },
+ { &hf_nr_rrc_dmrs_AdditionalPosition_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_AdditionalPosition_01 },
+ { &hf_nr_rrc_phaseTrackingRS_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_phaseTrackingRS_01 },
+ { &hf_nr_rrc_maxLength_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxLength_01 },
+ { &hf_nr_rrc_transformPrecoding, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_transformPrecoding },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_DMRS_UplinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_DMRS_UplinkConfig, DMRS_UplinkConfig_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t T_resourceType_choice[] = {
- { 0, &hf_nr_rrc_aperiodic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_semiPersistent, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 2, &hf_nr_rrc_periodic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+static const per_choice_t T_dmrs_UplinkForPUSCH_MappingTypeA_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_33 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_UplinkConfig },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_resourceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_resourceType, T_resourceType_choice,
+ ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA, T_dmrs_UplinkForPUSCH_MappingTypeA_choice,
NULL);
return offset;
}
-static const per_sequence_t CSI_ResourceConfig_sequence[] = {
- { &hf_nr_rrc_csi_ResourceConfigId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceConfigId },
- { &hf_nr_rrc_csi_ResourceSets, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceSets_OF_CSI_ResourceSet },
- { &hf_nr_rrc_ssb_Resources, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSSB_Resources_1_OF_CSI_SSB_Resource },
- { &hf_nr_rrc_resourceType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType },
+static const value_string nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_dmrs_UplinkForPUSCH_MappingTypeB_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_33 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_UplinkConfig },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB, T_dmrs_UplinkForPUSCH_MappingTypeB_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_tpc_Accumulation_vals[] = {
+ { 0, "disabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_tpc_Accumulation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_P0_PUSCH_AlphaSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofP0_PUSCH_AlphaSets_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t P0_PUSCH_AlphaSet_sequence[] = {
+ { &hf_nr_rrc_p0_PUSCH_AlphaSetId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId },
+ { &hf_nr_rrc_p0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
+ { &hf_nr_rrc_alpha , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Alpha },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_CSI_ResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_P0_PUSCH_AlphaSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CSI_ResourceConfig, CSI_ResourceConfig_sequence);
+ ett_nr_rrc_P0_PUSCH_AlphaSet, P0_PUSCH_AlphaSet_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig_sequence_of[1] = {
- { &hf_nr_rrc_csi_ResourceConfigs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceConfig },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet_sequence_of[1] = {
+ { &hf_nr_rrc_p0_AlphaSets_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSet },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig, SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig_sequence_of,
- 1, maxNrofCSI_ResourceConfigurations, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet, SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet_sequence_of,
+ 1, maxNrofP0_PUSCH_AlphaSets, FALSE);
return offset;
}
@@ -7012,147 +10596,467 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_Resource
static int
-dissect_nr_rrc_CSI_ReportConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofCSI_ReportConfig_1, NULL, FALSE);
+ 0U, maxNrofPUSCH_PathlossReferenceRSs_1, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_T_reportSlotConfig_vals[] = {
- { 0, "sl5" },
- { 1, "sl10" },
- { 2, "sl20" },
- { 3, "sl40" },
- { 4, "sl80" },
- { 5, "sl160" },
- { 6, "sl320" },
+static const value_string nr_rrc_T_referenceSignal_02_vals[] = {
+ { 0, "ssb-Index" },
+ { 1, "csi-RS-Index" },
{ 0, NULL }
};
-static const per_choice_t T_reportSlotConfig_choice[] = {
- { 0, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
- { 1, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
- { 2, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
- { 3, &hf_nr_rrc_sl40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
- { 4, &hf_nr_rrc_sl80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
- { 5, &hf_nr_rrc_sl160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
- { 6, &hf_nr_rrc_sl320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
+static const per_choice_t T_referenceSignal_02_choice[] = {
+ { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
+ { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_reportSlotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_referenceSignal_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_reportSlotConfig, T_reportSlotConfig_choice,
+ ett_nr_rrc_T_referenceSignal_02, T_referenceSignal_02_choice,
NULL);
return offset;
}
-static const per_sequence_t T_periodic_sequence[] = {
- { &hf_nr_rrc_reportSlotConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportSlotConfig },
- { &hf_nr_rrc_pucch_CSI_ResourceIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
+static const per_sequence_t PUSCH_PathlossReferenceRS_sequence[] = {
+ { &hf_nr_rrc_pusch_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id },
+ { &hf_nr_rrc_referenceSignal_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_02 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_periodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PUSCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_periodic, T_periodic_sequence);
+ ett_nr_rrc_PUSCH_PathlossReferenceRS, PUSCH_PathlossReferenceRS_sequence);
return offset;
}
-static const value_string nr_rrc_T_reportSlotConfig_01_vals[] = {
- { 0, "sl5" },
- { 1, "sl10" },
- { 2, "sl20" },
- { 3, "sl40" },
- { 4, "sl80" },
- { 5, "sl160" },
- { 6, "sl320" },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_sequence_of[1] = {
+ { &hf_nr_rrc_pathlossReferenceRSToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS, SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_sequence_of,
+ 1, maxNrofPUSCH_PathlossReferenceRSs, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id_sequence_of[1] = {
+ { &hf_nr_rrc_pathlossReferenceRSToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id, SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id_sequence_of,
+ 1, maxNrofPUSCH_PathlossReferenceRSs, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_twoPUSCH_PC_AdjustmentStates_vals[] = {
+ { 0, "twoStates" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_twoPUSCH_PC_AdjustmentStates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_deltaMCS_vals[] = {
+ { 0, "enabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_deltaMCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_SRI_PUSCH_PowerControlId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofSRI_PUSCH_Mappings_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_sri_PUSCH_ClosedLoopIndex_vals[] = {
+ { 0, "i0" },
+ { 1, "i1" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_sri_PUSCH_ClosedLoopIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t SRI_PUSCH_PowerControl_sequence[] = {
+ { &hf_nr_rrc_sri_PUSCH_PowerControlId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRI_PUSCH_PowerControlId },
+ { &hf_nr_rrc_sri_PUSCH_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id },
+ { &hf_nr_rrc_sri_P0_PUSCH_AlphaSetId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId },
+ { &hf_nr_rrc_sri_PUSCH_ClosedLoopIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sri_PUSCH_ClosedLoopIndex },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_SRI_PUSCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SRI_PUSCH_PowerControl, SRI_PUSCH_PowerControl_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl_sequence_of[1] = {
+ { &hf_nr_rrc_sri_PUSCH_MappingToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRI_PUSCH_PowerControl },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl, SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl_sequence_of,
+ 1, maxNrofSRI_PUSCH_Mappings, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId_sequence_of[1] = {
+ { &hf_nr_rrc_sri_PUSCH_MappingToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRI_PUSCH_PowerControlId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId, SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId_sequence_of,
+ 1, maxNrofSRI_PUSCH_Mappings, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUSCH_PowerControl_sequence[] = {
+ { &hf_nr_rrc_tpc_Accumulation, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_Accumulation },
+ { &hf_nr_rrc_msg3_Alpha , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Alpha },
+ { &hf_nr_rrc_p0_NominalWithoutGrant, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M202_24 },
+ { &hf_nr_rrc_p0_AlphaSets , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet },
+ { &hf_nr_rrc_pathlossReferenceRSToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS },
+ { &hf_nr_rrc_pathlossReferenceRSToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id },
+ { &hf_nr_rrc_twoPUSCH_PC_AdjustmentStates, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUSCH_PC_AdjustmentStates },
+ { &hf_nr_rrc_deltaMCS , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_deltaMCS },
+ { &hf_nr_rrc_sri_PUSCH_MappingToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl },
+ { &hf_nr_rrc_sri_PUSCH_MappingToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUSCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUSCH_PowerControl, PUSCH_PowerControl_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_frequencyHopping_01_vals[] = {
+ { 0, "mode1" },
+ { 1, "mode2" },
{ 0, NULL }
};
-static const per_choice_t T_reportSlotConfig_01_choice[] = {
- { 0, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
- { 1, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
- { 2, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
- { 3, &hf_nr_rrc_sl40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
- { 4, &hf_nr_rrc_sl80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
- { 5, &hf_nr_rrc_sl160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
- { 6, &hf_nr_rrc_sl320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
+
+static int
+dissect_nr_rrc_T_frequencyHopping_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxNrofPhysicalResourceBlocks_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_frequencyHoppingOffsetLists_sequence_of[1] = {
+ { &hf_nr_rrc_frequencyHoppingOffsetLists_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1 },
+};
+
+static int
+dissect_nr_rrc_T_frequencyHoppingOffsetLists(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_frequencyHoppingOffsetLists, T_frequencyHoppingOffsetLists_sequence_of,
+ 1, 4, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_resourceAllocation_02_vals[] = {
+ { 0, "resourceAllocationType0" },
+ { 1, "resourceAllocationType1" },
+ { 2, "dynamicSwitch" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_resourceAllocation_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pusch_AggregationFactor_vals[] = {
+ { 0, "n2" },
+ { 1, "n4" },
+ { 2, "n8" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pusch_AggregationFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_mcs_Table_02_vals[] = {
+ { 0, "qam256" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_mcs_Table_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_mcs_TableTransformPrecoder_01_vals[] = {
+ { 0, "qam256" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_mcs_TableTransformPrecoder_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_transformPrecoder_01_vals[] = {
+ { 0, "enabled" },
+ { 1, "disabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_transformPrecoder_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_codebookSubset_vals[] = {
+ { 0, "fullyAndPartialAndNonCoherent" },
+ { 1, "partialAndNonCoherent" },
+ { 2, "nonCoherent" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_codebookSubset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_rbg_Size_02_vals[] = {
+ { 0, "config2" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_rbg_Size_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t BetaOffsets_sequence[] = {
+ { &hf_nr_rrc_betaOffsetACK_Index1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
+ { &hf_nr_rrc_betaOffsetACK_Index2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
+ { &hf_nr_rrc_betaOffsetACK_Index3, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
+ { &hf_nr_rrc_betaOffsetCSI_Part1_Index1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
+ { &hf_nr_rrc_betaOffsetCSI_Part1_Index2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
+ { &hf_nr_rrc_betaOffsetCSI_Part2_Index1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
+ { &hf_nr_rrc_betaOffsetCSI_Part2_Index2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BetaOffsets, BetaOffsets_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_4_OF_BetaOffsets_sequence_of[1] = {
+ { &hf_nr_rrc_dynamic_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BetaOffsets },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets, SEQUENCE_SIZE_4_OF_BetaOffsets_sequence_of,
+ 4, 4, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_betaOffsets_vals[] = {
+ { 0, "dynamic" },
+ { 1, "semiStatic" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_betaOffsets_choice[] = {
+ { 0, &hf_nr_rrc_dynamic_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets },
+ { 1, &hf_nr_rrc_semiStatic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BetaOffsets },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_reportSlotConfig_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_betaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_reportSlotConfig_01, T_reportSlotConfig_01_choice,
+ ett_nr_rrc_T_betaOffsets, T_betaOffsets_choice,
NULL);
return offset;
}
-static const per_sequence_t T_semiPersistent_sequence[] = {
- { &hf_nr_rrc_reportSlotConfig_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportSlotConfig_01 },
- { &hf_nr_rrc_pucch_CSI_ResourceIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_scaling_vals[] = {
+ { 0, "f0p5" },
+ { 1, "f0p65" },
+ { 2, "f0p8" },
+ { 3, "f1" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_T_semiPersistent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_semiPersistent, T_semiPersistent_sequence);
+dissect_nr_rrc_T_scaling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_aperiodic_sequence[] = {
- { &hf_nr_rrc_aperiodicReportSlotOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
+static const per_sequence_t UCI_OnPUSCH_sequence[] = {
+ { &hf_nr_rrc_betaOffsets , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_betaOffsets },
+ { &hf_nr_rrc_scaling , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_scaling },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_aperiodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_UCI_OnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_aperiodic, T_aperiodic_sequence);
+ ett_nr_rrc_UCI_OnPUSCH, UCI_OnPUSCH_sequence);
return offset;
}
-static const value_string nr_rrc_T_reportConfigType_vals[] = {
- { 0, "periodic" },
- { 1, "semiPersistent" },
- { 2, "aperiodic" },
+static const value_string nr_rrc_T_uci_OnPUSCH_01_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t T_reportConfigType_choice[] = {
- { 0, &hf_nr_rrc_periodic_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_periodic },
- { 1, &hf_nr_rrc_semiPersistent_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semiPersistent },
- { 2, &hf_nr_rrc_aperiodic_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_aperiodic },
+static const per_choice_t T_uci_OnPUSCH_01_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_34 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_UCI_OnPUSCH },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_reportConfigType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_uci_OnPUSCH_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_reportConfigType, T_reportConfigType_choice,
+ ett_nr_rrc_T_uci_OnPUSCH_01, T_uci_OnPUSCH_01_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_pdsch_BundleSizeForCSI_vals[] = {
+static const value_string nr_rrc_T_vrb_ToPRB_Interleaver_01_vals[] = {
{ 0, "n2" },
{ 1, "n4" },
{ 0, NULL }
@@ -7160,7 +11064,7 @@ static const value_string nr_rrc_T_pdsch_BundleSizeForCSI_vals[] = {
static int
-dissect_nr_rrc_T_pdsch_BundleSizeForCSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_vrb_ToPRB_Interleaver_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -7168,63 +11072,68 @@ dissect_nr_rrc_T_pdsch_BundleSizeForCSI(tvbuff_t *tvb _U_, int offset _U_, asn1_
}
-static const per_sequence_t T_cRI_RI_i1_CQI_sequence[] = {
- { &hf_nr_rrc_pdsch_BundleSizeForCSI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_BundleSizeForCSI },
+static const per_sequence_t PUSCH_Config_sequence[] = {
+ { &hf_nr_rrc_dataScramblingIdentityPUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1007 },
+ { &hf_nr_rrc_txConfig , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_txConfig },
+ { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA },
+ { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB },
+ { &hf_nr_rrc_pusch_PowerControl, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PUSCH_PowerControl },
+ { &hf_nr_rrc_frequencyHopping_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyHopping_01 },
+ { &hf_nr_rrc_frequencyHoppingOffsetLists, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyHoppingOffsetLists },
+ { &hf_nr_rrc_resourceAllocation_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceAllocation_02 },
+ { &hf_nr_rrc_pusch_AllocationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofUL_Allocations_OF_PUSCH_TimeDomainResourceAllocation },
+ { &hf_nr_rrc_pusch_AggregationFactor, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_AggregationFactor },
+ { &hf_nr_rrc_mcs_Table_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_Table_02 },
+ { &hf_nr_rrc_mcs_TableTransformPrecoder_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_TableTransformPrecoder_01 },
+ { &hf_nr_rrc_transformPrecoder_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecoder_01 },
+ { &hf_nr_rrc_codebookSubset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_codebookSubset },
+ { &hf_nr_rrc_maxRank , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
+ { &hf_nr_rrc_rbg_Size_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rbg_Size_02 },
+ { &hf_nr_rrc_uci_OnPUSCH_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_uci_OnPUSCH_01 },
+ { &hf_nr_rrc_vrb_ToPRB_Interleaver_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_vrb_ToPRB_Interleaver_01 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_cRI_RI_i1_CQI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PUSCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_cRI_RI_i1_CQI, T_cRI_RI_i1_CQI_sequence);
+ ett_nr_rrc_PUSCH_Config, PUSCH_Config_sequence);
return offset;
}
-static const value_string nr_rrc_T_reportQuantity_vals[] = {
- { 0, "cRI-RI-PMI-CQI" },
- { 1, "cRI-RI-i1" },
- { 2, "cRI-RI-i1-CQI" },
- { 3, "cRI-RI-CQI" },
- { 4, "cRI" },
- { 5, "cRI-RSRP" },
- { 6, "spare1" },
- { 7, "spare0" },
+static const value_string nr_rrc_T_pusch_Config_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t T_reportQuantity_choice[] = {
- { 0, &hf_nr_rrc_cRI_RI_PMI_CQI, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_cRI_RI_i1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 2, &hf_nr_rrc_cRI_RI_i1_CQI, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_cRI_RI_i1_CQI },
- { 3, &hf_nr_rrc_cRI_RI_CQI , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 4, &hf_nr_rrc_cRI , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 5, &hf_nr_rrc_cRI_RSRP , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 6, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 7, &hf_nr_rrc_spare0 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+static const per_choice_t T_pusch_Config_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_04 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_Config },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_reportQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_pusch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_reportQuantity, T_reportQuantity_choice,
+ ett_nr_rrc_T_pusch_Config, T_pusch_Config_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_cqi_FormatIndicator_vals[] = {
- { 0, "widebandCQI" },
- { 1, "subbandCQI" },
+static const value_string nr_rrc_T_frequencyHopping_vals[] = {
+ { 0, "mode1" },
+ { 1, "mode2" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_cqi_FormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_frequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -7232,15 +11141,15 @@ dissect_nr_rrc_T_cqi_FormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
}
-static const value_string nr_rrc_T_pmi_FormatIndicator_vals[] = {
- { 0, "widebandPMI" },
- { 1, "subbandPMI" },
+static const value_string nr_rrc_T_mcs_Table_vals[] = {
+ { 0, "qam64" },
+ { 1, "qam256" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_pmi_FormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_mcs_Table(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -7248,65 +11157,153 @@ dissect_nr_rrc_T_pmi_FormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
}
+static const value_string nr_rrc_T_mcs_TableTransformPrecoder_vals[] = {
+ { 0, "qam256" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_T_csi_ReportingBand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- NO_BOUND, NO_BOUND, FALSE, NULL, NULL);
+dissect_nr_rrc_T_mcs_TableTransformPrecoder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_reportFreqConfiguration_sequence[] = {
- { &hf_nr_rrc_cqi_FormatIndicator, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cqi_FormatIndicator },
- { &hf_nr_rrc_pmi_FormatIndicator, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pmi_FormatIndicator },
- { &hf_nr_rrc_csi_ReportingBand, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_csi_ReportingBand },
- { NULL, 0, 0, NULL }
+static const per_sequence_t SEQUENCE_SIZE_1_4_OF_BetaOffsets_sequence_of[1] = {
+ { &hf_nr_rrc_dynamic_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BetaOffsets },
};
static int
-dissect_nr_rrc_T_reportFreqConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_reportFreqConfiguration, T_reportFreqConfiguration_sequence);
+dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets, SEQUENCE_SIZE_1_4_OF_BetaOffsets_sequence_of,
+ 1, 4, FALSE);
return offset;
}
-static const value_string nr_rrc_T_codebookConfig_N1_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
- { 2, "n3" },
- { 3, "n4" },
- { 4, "n6" },
- { 5, "n8" },
- { 6, "n12" },
- { 7, "n16" },
+static const value_string nr_rrc_CG_UCI_OnPUSCH_vals[] = {
+ { 0, "dynamic" },
+ { 1, "semiStatic" },
+ { 0, NULL }
+};
+
+static const per_choice_t CG_UCI_OnPUSCH_choice[] = {
+ { 0, &hf_nr_rrc_dynamic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets },
+ { 1, &hf_nr_rrc_semiStatic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BetaOffsets },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_CG_UCI_OnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CG_UCI_OnPUSCH, CG_UCI_OnPUSCH_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_uci_OnPUSCH_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_uci_OnPUSCH_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_15 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CG_UCI_OnPUSCH },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_uci_OnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_uci_OnPUSCH, T_uci_OnPUSCH_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_resourceAllocation_vals[] = {
+ { 0, "resourceAllocationType0" },
+ { 1, "resourceAllocationType1" },
+ { 2, "dynamicSwitch" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_codebookConfig_N1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_resourceAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_rbg_Size_vals[] = {
+ { 0, "config2" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_rbg_Size(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_codebookConfig_N2_vals[] = {
+static const value_string nr_rrc_T_powerControlLoopToUse_vals[] = {
+ { 0, "n0" },
+ { 1, "n1" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_powerControlLoopToUse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_transformPrecoder_vals[] = {
+ { 0, "enabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_transformPrecoder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_repK_vals[] = {
{ 0, "n1" },
{ 1, "n2" },
- { 2, "n3" },
- { 3, "n4" },
+ { 2, "n4" },
+ { 3, "n8" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_codebookConfig_N2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_repK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, FALSE, 0, NULL);
@@ -7314,49 +11311,132 @@ dissect_nr_rrc_T_codebookConfig_N2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
-static const value_string nr_rrc_T_subType_vals[] = {
- { 0, "typeI-SinglePanel" },
- { 1, "typeI-MultiPanel" },
+static const value_string nr_rrc_T_repK_RV_vals[] = {
+ { 0, "s1-0231" },
+ { 1, "s2-0303" },
+ { 2, "s3-0000" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_subType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_repK_RV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 3, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_codebookMode_vals[] = {
- { 0, "config1" },
- { 1, "config2" },
+static const value_string nr_rrc_T_periodicity_vals[] = {
+ { 0, "sym2" },
+ { 1, "sym7" },
+ { 2, "sym1x14" },
+ { 3, "sym2x14" },
+ { 4, "sym4x14" },
+ { 5, "sym5x14" },
+ { 6, "sym8x14" },
+ { 7, "sym10x14" },
+ { 8, "sym16x14" },
+ { 9, "sym20x14" },
+ { 10, "sym32x14" },
+ { 11, "sym40x14" },
+ { 12, "sym64x14" },
+ { 13, "sym80x14" },
+ { 14, "sym128x14" },
+ { 15, "sym160x14" },
+ { 16, "sym256x14" },
+ { 17, "sym320x14" },
+ { 18, "sym512x14" },
+ { 19, "sym640x14" },
+ { 20, "sym1024x14" },
+ { 21, "sym1280x14" },
+ { 22, "sym2560x14" },
+ { 23, "sym5120x14" },
+ { 24, "sym6" },
+ { 25, "sym1x12" },
+ { 26, "sym2x12" },
+ { 27, "sym4x12" },
+ { 28, "sym5x12" },
+ { 29, "sym8x12" },
+ { 30, "sym10x12" },
+ { 31, "sym16x12" },
+ { 32, "sym20x12" },
+ { 33, "sym32x12" },
+ { 34, "sym40x12" },
+ { 35, "sym64x12" },
+ { 36, "sym80x12" },
+ { 37, "sym128x12" },
+ { 38, "sym160x12" },
+ { 39, "sym256x12" },
+ { 40, "sym320x12" },
+ { 41, "sym512x12" },
+ { 42, "sym640x12" },
+ { 43, "sym1280x12" },
+ { 44, "sym2560x12" },
{ 0, NULL }
};
+static value_string_ext nr_rrc_T_periodicity_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_periodicity_vals);
+
static int
-dissect_nr_rrc_T_codebookMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_periodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 45, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_numberOfPanels_vals[] = {
- { 0, "panels2" },
- { 1, "panels4" },
+static const value_string nr_rrc_T_configuredGrantTimer_vals[] = {
+ { 0, "sym2" },
+ { 1, "sym7" },
+ { 2, "sym1x14" },
+ { 3, "sym2x14" },
+ { 4, "sym4x14" },
+ { 5, "sym5x14" },
+ { 6, "sym8x14" },
+ { 7, "sym10x14" },
+ { 8, "sym16x14" },
+ { 9, "sym20x14" },
+ { 10, "sym32x14" },
+ { 11, "sym40x14" },
+ { 12, "sym64x14" },
+ { 13, "sym80x14" },
+ { 14, "sym128x14" },
+ { 15, "sym160x14" },
+ { 16, "sym256x14" },
+ { 17, "sym512x14" },
+ { 18, "sym640x14" },
+ { 19, "sym6" },
+ { 20, "sym1x12" },
+ { 21, "sym2x12" },
+ { 22, "sym4x12" },
+ { 23, "sym5x12" },
+ { 24, "sym8x12" },
+ { 25, "sym10x12" },
+ { 26, "sym16x12" },
+ { 27, "sym20x12" },
+ { 28, "sym32x12" },
+ { 29, "sym40x12" },
+ { 30, "sym64x12" },
+ { 31, "sym80x12" },
+ { 32, "sym128x12" },
+ { 33, "sym256x12" },
+ { 34, "sym320x12" },
+ { 35, "sym512x12" },
+ { 36, "sym640x12" },
{ 0, NULL }
};
+static value_string_ext nr_rrc_T_configuredGrantTimer_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_configuredGrantTimer_vals);
+
static int
-dissect_nr_rrc_T_numberOfPanels(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_configuredGrantTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 37, NULL, FALSE, 0, NULL);
return offset;
}
@@ -7364,9 +11444,9 @@ dissect_nr_rrc_T_numberOfPanels(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
static int
-dissect_nr_rrc_T_singlePanel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_BIT_STRING_SIZE_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- NO_BOUND, NO_BOUND, FALSE, NULL, NULL);
+ 18, 18, FALSE, NULL, NULL);
return offset;
}
@@ -7374,115 +11454,335 @@ dissect_nr_rrc_T_singlePanel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
-dissect_nr_rrc_BIT_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 6, 6, FALSE, NULL, NULL);
+dissect_nr_rrc_INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofPUSCH_PathlossReferenceRSs_1, NULL, FALSE);
return offset;
}
+static const per_sequence_t T_rrc_ConfiguredUplinkGrant_sequence[] = {
+ { &hf_nr_rrc_timeDomainOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_5119 },
+ { &hf_nr_rrc_timeDomainAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
+ { &hf_nr_rrc_frequencyDomainAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_18 },
+ { &hf_nr_rrc_antennaPort , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
+ { &hf_nr_rrc_dmrs_SeqInitialization, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1 },
+ { &hf_nr_rrc_precodingAndNumberOfLayers, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
+ { &hf_nr_rrc_srs_ResourceIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
+ { &hf_nr_rrc_mcsAndTBS , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
+ { &hf_nr_rrc_frequencyHoppingOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1 },
+ { &hf_nr_rrc_pathlossReferenceIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_T_multiPanel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- NO_BOUND, NO_BOUND, FALSE, NULL, NULL);
+dissect_nr_rrc_T_rrc_ConfiguredUplinkGrant(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_rrc_ConfiguredUplinkGrant, T_rrc_ConfiguredUplinkGrant_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ConfiguredGrantConfig_sequence[] = {
+ { &hf_nr_rrc_frequencyHopping, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_frequencyHopping },
+ { &hf_nr_rrc_cg_DMRS_Configuration, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DMRS_UplinkConfig },
+ { &hf_nr_rrc_mcs_Table , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mcs_Table },
+ { &hf_nr_rrc_mcs_TableTransformPrecoder, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_TableTransformPrecoder },
+ { &hf_nr_rrc_uci_OnPUSCH , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_uci_OnPUSCH },
+ { &hf_nr_rrc_resourceAllocation, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceAllocation },
+ { &hf_nr_rrc_rbg_Size , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rbg_Size },
+ { &hf_nr_rrc_powerControlLoopToUse, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_powerControlLoopToUse },
+ { &hf_nr_rrc_p0_PUSCH_Alpha, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId },
+ { &hf_nr_rrc_transformPrecoder, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecoder },
+ { &hf_nr_rrc_nrofHARQ_Processes, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
+ { &hf_nr_rrc_repK , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_repK },
+ { &hf_nr_rrc_repK_RV , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_repK_RV },
+ { &hf_nr_rrc_periodicity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity },
+ { &hf_nr_rrc_configuredGrantTimer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredGrantTimer },
+ { &hf_nr_rrc_rrc_ConfiguredUplinkGrant, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rrc_ConfiguredUplinkGrant },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_ConfiguredGrantConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ConfiguredGrantConfig, ConfiguredGrantConfig_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_configuredGrantConfig_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_configuredGrantConfig_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_05 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_ConfiguredGrantConfig },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_configuredGrantConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_configuredGrantConfig, T_configuredGrantConfig_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_SRS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofSRS_ResourceSets_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId_sequence_of[1] = {
+ { &hf_nr_rrc_srs_ResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSetId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId, SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId_sequence_of,
+ 0, maxNrofSRS_ResourceSets, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId_sequence_of[1] = {
+ { &hf_nr_rrc_srs_ResourceIdList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId, SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId_sequence_of,
+ 1, maxNrofSRS_ResourcesPerSet, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_maxNrofSRS_TriggerStates_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofSRS_TriggerStates_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_aperiodic_01_sequence[] = {
+ { &hf_nr_rrc_aperiodicSRS_ResourceTrigger, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofSRS_TriggerStates_1 },
+ { &hf_nr_rrc_csi_RS_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+ { &hf_nr_rrc_slotOffset , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_aperiodic_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_aperiodic_01, T_aperiodic_01_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_semi_persistent_sequence[] = {
+ { &hf_nr_rrc_associatedCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_semi_persistent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_semi_persistent, T_semi_persistent_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_periodic_01_sequence[] = {
+ { &hf_nr_rrc_associatedCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_periodic_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_periodic_01, T_periodic_01_sequence);
return offset;
}
-static const value_string nr_rrc_T_codebookSubsetRestrictionType1_vals[] = {
- { 0, "singlePanel" },
- { 1, "singlePanel2TX" },
- { 2, "multiPanel" },
- { 3, "singlePanelCodebookSubsetRestriction-i2" },
+static const value_string nr_rrc_T_resourceType_01_vals[] = {
+ { 0, "aperiodic" },
+ { 1, "semi-persistent" },
+ { 2, "periodic" },
{ 0, NULL }
};
-static const per_choice_t T_codebookSubsetRestrictionType1_choice[] = {
- { 0, &hf_nr_rrc_singlePanel , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_singlePanel },
- { 1, &hf_nr_rrc_singlePanel2TX, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_6 },
- { 2, &hf_nr_rrc_multiPanel , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_multiPanel },
- { 3, &hf_nr_rrc_singlePanelCodebookSubsetRestriction_i2, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_16 },
+static const per_choice_t T_resourceType_01_choice[] = {
+ { 0, &hf_nr_rrc_aperiodic_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_aperiodic_01 },
+ { 1, &hf_nr_rrc_semi_persistent, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semi_persistent },
+ { 2, &hf_nr_rrc_periodic_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_periodic_01 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_codebookSubsetRestrictionType1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_resourceType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_codebookSubsetRestrictionType1, T_codebookSubsetRestrictionType1_choice,
+ ett_nr_rrc_T_resourceType_01, T_resourceType_01_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_ri_Restriction_vals[] = {
- { 0, "typeI-SinglePanelRI-Restriction" },
- { 1, "typeI-MultiPanelRI-Restriction" },
+static const value_string nr_rrc_T_usage_vals[] = {
+ { 0, "beamManagement" },
+ { 1, "codebook" },
+ { 2, "nonCodebook" },
+ { 3, "antennaSwitching" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pathlossReferenceRS_vals[] = {
+ { 0, "ssb-Index" },
+ { 1, "csi-RS-Index" },
{ 0, NULL }
};
-static const per_choice_t T_ri_Restriction_choice[] = {
- { 0, &hf_nr_rrc_typeI_SinglePanelRI_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
- { 1, &hf_nr_rrc_typeI_MultiPanelRI_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 },
+static const per_choice_t T_pathlossReferenceRS_choice[] = {
+ { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
+ { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_ri_Restriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_pathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_ri_Restriction, T_ri_Restriction_choice,
+ ett_nr_rrc_T_pathlossReferenceRS, T_pathlossReferenceRS_choice,
NULL);
return offset;
}
-static const per_sequence_t T_type1_sequence[] = {
- { &hf_nr_rrc_subType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subType },
- { &hf_nr_rrc_codebookMode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_codebookMode },
- { &hf_nr_rrc_numberOfPanels, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_numberOfPanels },
- { &hf_nr_rrc_codebookSubsetRestrictionType1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_codebookSubsetRestrictionType1 },
- { &hf_nr_rrc_ri_Restriction, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ri_Restriction },
+static const value_string nr_rrc_T_srs_PowerControlAdjustmentStates_vals[] = {
+ { 0, "sameAsFci2" },
+ { 1, "separateClosedLoop" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_srs_PowerControlAdjustmentStates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t SRS_ResourceSet_sequence[] = {
+ { &hf_nr_rrc_srs_ResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSetId },
+ { &hf_nr_rrc_srs_ResourceIdList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId },
+ { &hf_nr_rrc_resourceType_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType_01 },
+ { &hf_nr_rrc_usage , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_usage },
+ { &hf_nr_rrc_alpha , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_Alpha },
+ { &hf_nr_rrc_p0_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M202_24 },
+ { &hf_nr_rrc_pathlossReferenceRS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pathlossReferenceRS },
+ { &hf_nr_rrc_srs_PowerControlAdjustmentStates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_PowerControlAdjustmentStates },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_type1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SRS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_type1, T_type1_sequence);
+ ett_nr_rrc_SRS_ResourceSet, SRS_ResourceSet_sequence);
return offset;
}
-static const value_string nr_rrc_T_subType_01_vals[] = {
- { 0, "typeII" },
- { 1, "typeII-PortSelection" },
+static const per_sequence_t SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet_sequence_of[1] = {
+ { &hf_nr_rrc_srs_ResourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSet },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet, SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet_sequence_of,
+ 0, maxNrofSRS_ResourceSets, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId_sequence_of[1] = {
+ { &hf_nr_rrc_srs_ResourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId, SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId_sequence_of,
+ 1, maxNrofSRS_Resources, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_nrofSRS_Ports_vals[] = {
+ { 0, "port1" },
+ { 1, "ports2" },
+ { 2, "ports4" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_subType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nrofSRS_Ports(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 3, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_phaseAlphabetSize_vals[] = {
- { 0, "n4" },
- { 1, "n8" },
+static const value_string nr_rrc_T_ptrs_PortIndex_vals[] = {
+ { 0, "n0" },
+ { 1, "n1" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_phaseAlphabetSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_ptrs_PortIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -7490,16 +11790,78 @@ dissect_nr_rrc_T_phaseAlphabetSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
-static const value_string nr_rrc_T_numberOfBeams_vals[] = {
- { 0, "beams2" },
- { 1, "beams3" },
- { 2, "beams4" },
+static const per_sequence_t T_n2_sequence[] = {
+ { &hf_nr_rrc_combOffset_n2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1 },
+ { &hf_nr_rrc_cyclicShift_n2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_n2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_n2, T_n2_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_n4_sequence[] = {
+ { &hf_nr_rrc_combOffset_n4, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
+ { &hf_nr_rrc_cyclicShift_n4, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_n4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_n4, T_n4_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_transmissionComb_vals[] = {
+ { 0, "n2" },
+ { 1, "n4" },
{ 0, NULL }
};
+static const per_choice_t T_transmissionComb_choice[] = {
+ { 0, &hf_nr_rrc_n2_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_n2 },
+ { 1, &hf_nr_rrc_n4_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_n4 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_numberOfBeams(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_transmissionComb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_transmissionComb, T_transmissionComb_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 5U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_nrofSymbols_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n4" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_nrofSymbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, FALSE, 0, NULL);
@@ -7507,29 +11869,34 @@ dissect_nr_rrc_T_numberOfBeams(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
}
-static const value_string nr_rrc_T_portSelectionSamplingSize_vals[] = {
+static const value_string nr_rrc_T_repetitionFactor_vals[] = {
{ 0, "n1" },
{ 1, "n2" },
- { 2, "n3" },
- { 3, "n4" },
+ { 2, "n4" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_portSelectionSamplingSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_repetitionFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+ 3, NULL, FALSE, 0, NULL);
return offset;
}
+static const per_sequence_t T_resourceMapping_sequence[] = {
+ { &hf_nr_rrc_startPosition, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_5 },
+ { &hf_nr_rrc_nrofSymbols_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofSymbols },
+ { &hf_nr_rrc_repetitionFactor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_repetitionFactor },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_T_codebookSubsetRestrictionType2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- NO_BOUND, NO_BOUND, FALSE, NULL, NULL);
+dissect_nr_rrc_T_resourceMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_resourceMapping, T_resourceMapping_sequence);
return offset;
}
@@ -7537,215 +11904,477 @@ dissect_nr_rrc_T_codebookSubsetRestrictionType2(tvbuff_t *tvb _U_, int offset _U
static int
-dissect_nr_rrc_BIT_STRING_SIZE_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 2, 2, FALSE, NULL, NULL);
+dissect_nr_rrc_INTEGER_0_67(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 67U, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_T_ri_Restriction_01_vals[] = {
- { 0, "typeII-RI-Restriction" },
- { 1, "typeII-PortSelectionRI-Restriction" },
+
+static int
+dissect_nr_rrc_INTEGER_0_268(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 268U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_freqHopping_sequence[] = {
+ { &hf_nr_rrc_c_SRS , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
+ { &hf_nr_rrc_b_SRS , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
+ { &hf_nr_rrc_b_hop , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_freqHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_freqHopping, T_freqHopping_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_groupOrSequenceHopping_vals[] = {
+ { 0, "neither" },
+ { 1, "groupHopping" },
+ { 2, "sequenceHopping" },
{ 0, NULL }
};
-static const per_choice_t T_ri_Restriction_01_choice[] = {
- { 0, &hf_nr_rrc_typeII_RI_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_2 },
- { 1, &hf_nr_rrc_typeII_PortSelectionRI_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_2 },
+
+static int
+dissect_nr_rrc_T_groupOrSequenceHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_aperiodic_02_sequence[] = {
+ { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_aperiodic_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_aperiodic_02, T_aperiodic_02_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_SRS_PeriodicityAndOffset_vals[] = {
+ { 0, "sl1" },
+ { 1, "sl2" },
+ { 2, "sl4" },
+ { 3, "sl5" },
+ { 4, "sl8" },
+ { 5, "sl10" },
+ { 6, "sl16" },
+ { 7, "sl20" },
+ { 8, "sl32" },
+ { 9, "sl40" },
+ { 10, "sl64" },
+ { 11, "sl80" },
+ { 12, "sl160" },
+ { 13, "sl320" },
+ { 14, "sl640" },
+ { 15, "sl1280" },
+ { 16, "sl2560" },
+ { 0, NULL }
+};
+
+static value_string_ext nr_rrc_SRS_PeriodicityAndOffset_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_SRS_PeriodicityAndOffset_vals);
+
+static const per_choice_t SRS_PeriodicityAndOffset_choice[] = {
+ { 0, &hf_nr_rrc_sl1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_sl2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1 },
+ { 2, &hf_nr_rrc_sl4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 },
+ { 3, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
+ { 4, &hf_nr_rrc_sl8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 },
+ { 5, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
+ { 6, &hf_nr_rrc_sl16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 },
+ { 7, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
+ { 8, &hf_nr_rrc_sl32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 },
+ { 9, &hf_nr_rrc_sl40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
+ { 10, &hf_nr_rrc_sl64 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_63 },
+ { 11, &hf_nr_rrc_sl80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
+ { 12, &hf_nr_rrc_sl160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
+ { 13, &hf_nr_rrc_sl320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
+ { 14, &hf_nr_rrc_sl640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 },
+ { 15, &hf_nr_rrc_sl1280 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1279 },
+ { 16, &hf_nr_rrc_sl2560 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2559 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_ri_Restriction_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SRS_PeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_ri_Restriction_01, T_ri_Restriction_01_choice,
+ ett_nr_rrc_SRS_PeriodicityAndOffset, SRS_PeriodicityAndOffset_choice,
NULL);
return offset;
}
-static const per_sequence_t T_type2_sequence[] = {
- { &hf_nr_rrc_subType_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subType_01 },
- { &hf_nr_rrc_phaseAlphabetSize, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phaseAlphabetSize },
- { &hf_nr_rrc_subbandAmplitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_numberOfBeams, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_numberOfBeams },
- { &hf_nr_rrc_portSelectionSamplingSize, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_portSelectionSamplingSize },
- { &hf_nr_rrc_codebookSubsetRestrictionType2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_codebookSubsetRestrictionType2 },
- { &hf_nr_rrc_ri_Restriction_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ri_Restriction_01 },
+static const per_sequence_t T_semi_persistent_01_sequence[] = {
+ { &hf_nr_rrc_periodicityAndOffset_sp, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PeriodicityAndOffset },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_type2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_semi_persistent_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_type2, T_type2_sequence);
+ ett_nr_rrc_T_semi_persistent_01, T_semi_persistent_01_sequence);
return offset;
}
-static const value_string nr_rrc_T_codebookType_vals[] = {
- { 0, "type1" },
- { 1, "type2" },
+static const per_sequence_t T_periodic_02_sequence[] = {
+ { &hf_nr_rrc_periodicityAndOffset_p, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PeriodicityAndOffset },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_periodic_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_periodic_02, T_periodic_02_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_resourceType_02_vals[] = {
+ { 0, "aperiodic" },
+ { 1, "semi-persistent" },
+ { 2, "periodic" },
{ 0, NULL }
};
-static const per_choice_t T_codebookType_choice[] = {
- { 0, &hf_nr_rrc_type1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_type1 },
- { 1, &hf_nr_rrc_type2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_type2 },
+static const per_choice_t T_resourceType_02_choice[] = {
+ { 0, &hf_nr_rrc_aperiodic_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_aperiodic_02 },
+ { 1, &hf_nr_rrc_semi_persistent_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semi_persistent_01 },
+ { 2, &hf_nr_rrc_periodic_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_periodic_02 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_codebookType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_resourceType_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_codebookType, T_codebookType_choice,
+ ett_nr_rrc_T_resourceType_02, T_resourceType_02_choice,
NULL);
return offset;
}
-static const per_sequence_t CodebookConfig_sequence[] = {
- { &hf_nr_rrc_codebookConfig_N1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_codebookConfig_N1 },
- { &hf_nr_rrc_codebookConfig_N2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_codebookConfig_N2 },
- { &hf_nr_rrc_codebookType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_codebookType },
+static const value_string nr_rrc_T_spatialRelationInfo_vals[] = {
+ { 0, "ssb-Index" },
+ { 1, "csi-RS-Index" },
+ { 2, "srs" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_spatialRelationInfo_choice[] = {
+ { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
+ { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+ { 2, &hf_nr_rrc_srs , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_ResourceId },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_spatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_spatialRelationInfo, T_spatialRelationInfo_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t SRS_Resource_sequence[] = {
+ { &hf_nr_rrc_srs_ResourceId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
+ { &hf_nr_rrc_nrofSRS_Ports, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofSRS_Ports },
+ { &hf_nr_rrc_ptrs_PortIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ptrs_PortIndex },
+ { &hf_nr_rrc_transmissionComb, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_transmissionComb },
+ { &hf_nr_rrc_resourceMapping_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceMapping },
+ { &hf_nr_rrc_freqDomainPosition, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_67 },
+ { &hf_nr_rrc_freqDomainShift, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_268 },
+ { &hf_nr_rrc_freqHopping , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_freqHopping },
+ { &hf_nr_rrc_groupOrSequenceHopping, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_groupOrSequenceHopping },
+ { &hf_nr_rrc_resourceType_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType_02 },
+ { &hf_nr_rrc_sequenceId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_10 },
+ { &hf_nr_rrc_spatialRelationInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_spatialRelationInfo },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_CodebookConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CodebookConfig, CodebookConfig_sequence);
+ ett_nr_rrc_SRS_Resource, SRS_Resource_sequence);
return offset;
}
-static const value_string nr_rrc_T_nrofCQIsPerReport_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource_sequence_of[1] = {
+ { &hf_nr_rrc_srs_ResourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_Resource },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource, SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource_sequence_of,
+ 1, maxNrofSRS_Resources, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_tpc_Accumulation_01_vals[] = {
+ { 0, "disabled" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_nrofCQIsPerReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_tpc_Accumulation_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
+static const per_sequence_t SRS_Config_sequence[] = {
+ { &hf_nr_rrc_srs_ResourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId },
+ { &hf_nr_rrc_srs_ResourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet },
+ { &hf_nr_rrc_srs_ResourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId },
+ { &hf_nr_rrc_srs_ResourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource },
+ { &hf_nr_rrc_tpc_Accumulation_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_Accumulation_01 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_2_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 2U, 4U, NULL, FALSE);
+dissect_nr_rrc_SRS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SRS_Config, SRS_Config_sequence);
return offset;
}
-static const per_sequence_t T_enabled_sequence[] = {
- { &hf_nr_rrc_nrofBeamsToReport, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_4 },
+static const value_string nr_rrc_T_srs_Config_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_srs_Config_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_06 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_Config },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_srs_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_srs_Config, T_srs_Config_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t BFR_SSB_Resource_sequence[] = {
+ { &hf_nr_rrc_ssb_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
+ { &hf_nr_rrc_ra_PreambleIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_enabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_BFR_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_enabled, T_enabled_sequence);
+ ett_nr_rrc_BFR_SSB_Resource, BFR_SSB_Resource_sequence);
return offset;
}
-static const value_string nr_rrc_T_nrofReportedRS_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
- { 2, "n3" },
- { 3, "n4" },
+static const per_sequence_t BFR_CSIRS_Resource_sequence[] = {
+ { &hf_nr_rrc_csi_RS_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+ { &hf_nr_rrc_ra_PreambleIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_63 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BFR_CSIRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BFR_CSIRS_Resource, BFR_CSIRS_Resource_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_PRACH_ResourceDedicatedBFR_vals[] = {
+ { 0, "ssb" },
+ { 1, "csi-RS" },
{ 0, NULL }
};
+static const per_choice_t PRACH_ResourceDedicatedBFR_choice[] = {
+ { 0, &hf_nr_rrc_ssb , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BFR_SSB_Resource },
+ { 1, &hf_nr_rrc_csi_RS , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BFR_CSIRS_Resource },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_nrofReportedRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_PRACH_ResourceDedicatedBFR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PRACH_ResourceDedicatedBFR, PRACH_ResourceDedicatedBFR_choice,
+ NULL);
return offset;
}
-static const per_sequence_t T_disabled_sequence[] = {
- { &hf_nr_rrc_nrofReportedRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofReportedRS },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR_sequence_of[1] = {
+ { &hf_nr_rrc_candidateBeamRSList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PRACH_ResourceDedicatedBFR },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR, SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR_sequence_of,
+ 1, maxNrofCandidateBeams, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t BeamFailureRecoveryConfig_sequence[] = {
+ { &hf_nr_rrc_rootSequenceIndex_BFR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_137 },
+ { &hf_nr_rrc_rach_ConfigBFR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RACH_ConfigGeneric },
+ { &hf_nr_rrc_candidateBeamThreshold, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range },
+ { &hf_nr_rrc_candidateBeamRSList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR },
+ { &hf_nr_rrc_ra_ssb_OccasionMaskIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 },
+ { &hf_nr_rrc_recoveryControlResourceSetId, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ControlResourceSetId },
+ { &hf_nr_rrc_recoverySearchSpaceId, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_disabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_BeamFailureRecoveryConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_disabled, T_disabled_sequence);
+ ett_nr_rrc_BeamFailureRecoveryConfig, BeamFailureRecoveryConfig_sequence);
return offset;
}
-static const value_string nr_rrc_T_groupBasedBeamReporting_vals[] = {
- { 0, "enabled" },
- { 1, "disabled" },
+static const value_string nr_rrc_T_beamFailureRecoveryConfig_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t T_groupBasedBeamReporting_choice[] = {
- { 0, &hf_nr_rrc_enabled , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_enabled },
- { 1, &hf_nr_rrc_disabled , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_disabled },
+static const per_choice_t T_beamFailureRecoveryConfig_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_07 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BeamFailureRecoveryConfig },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_groupBasedBeamReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_beamFailureRecoveryConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_groupBasedBeamReporting, T_groupBasedBeamReporting_choice,
+ ett_nr_rrc_T_beamFailureRecoveryConfig, T_beamFailureRecoveryConfig_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_cqi_Table_vals[] = {
- { 0, "dl-64QAM" },
- { 1, "dl-256QAM" },
- { 2, "urllc1" },
- { 3, "urllc2" },
+static const per_sequence_t BWP_UplinkDedicated_sequence[] = {
+ { &hf_nr_rrc_pucch_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_Config },
+ { &hf_nr_rrc_pusch_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_Config },
+ { &hf_nr_rrc_configuredGrantConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredGrantConfig },
+ { &hf_nr_rrc_srs_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_Config },
+ { &hf_nr_rrc_beamFailureRecoveryConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamFailureRecoveryConfig },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BWP_UplinkDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BWP_UplinkDedicated, BWP_UplinkDedicated_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t BWP_Uplink_sequence[] = {
+ { &hf_nr_rrc_bwp_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
+ { &hf_nr_rrc_bwp_Common , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_UplinkCommon },
+ { &hf_nr_rrc_bwp_Dedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_UplinkDedicated },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BWP_Uplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BWP_Uplink, BWP_Uplink_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pdcch_ConfigCommon_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
+static const per_choice_t T_pdcch_ConfigCommon_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_08 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_ConfigCommon },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_cqi_Table(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_pdcch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_pdcch_ConfigCommon, T_pdcch_ConfigCommon_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_subbandSize_vals[] = {
- { 0, "value1" },
- { 1, "value2" },
+
+static int
+dissect_nr_rrc_INTEGER_1_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 3U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_mappingType_vals[] = {
+ { 0, "typeA" },
+ { 1, "typeB" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_subbandSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_mappingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -7753,91 +12382,163 @@ dissect_nr_rrc_T_subbandSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
-static const value_string nr_rrc_T_bler_Target_vals[] = {
- { 0, "v0dot1" },
- { 1, "spare3" },
- { 2, "space2" },
- { 3, "spare1" },
+static const per_sequence_t PDSCH_TimeDomainResourceAllocation_sequence[] = {
+ { &hf_nr_rrc_k0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_3 },
+ { &hf_nr_rrc_mappingType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mappingType },
+ { &hf_nr_rrc_startSymbolAndLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_7 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PDSCH_TimeDomainResourceAllocation, PDSCH_TimeDomainResourceAllocation_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResourceAllocation_sequence_of[1] = {
+ { &hf_nr_rrc_pdsch_AllocationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResourceAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResourceAllocation, SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResourceAllocation_sequence_of,
+ 1, maxNrofDL_Allocations, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PDSCH_ConfigCommon_sequence[] = {
+ { &hf_nr_rrc_pdsch_AllocationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResourceAllocation },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PDSCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PDSCH_ConfigCommon, PDSCH_ConfigCommon_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pdsch_ConfigCommon_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
+static const per_choice_t T_pdsch_ConfigCommon_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_09 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_ConfigCommon },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_bler_Target(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_pdsch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_pdsch_ConfigCommon, T_pdsch_ConfigCommon_choice,
+ NULL);
return offset;
}
-static const per_sequence_t CSI_ReportConfig_sequence[] = {
- { &hf_nr_rrc_reportConfigId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfigId },
- { &hf_nr_rrc_reportConfigType, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportConfigType },
- { &hf_nr_rrc_reportQuantity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportQuantity },
- { &hf_nr_rrc_reportFreqConfiguration, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportFreqConfiguration },
- { &hf_nr_rrc_measRestrictionTimeForChannel, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_measRestrictionTimeForInterference, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_codebookConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CodebookConfig },
- { &hf_nr_rrc_nrofCQIsPerReport, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofCQIsPerReport },
- { &hf_nr_rrc_groupBasedBeamReporting, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_groupBasedBeamReporting },
- { &hf_nr_rrc_cqi_Table , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cqi_Table },
- { &hf_nr_rrc_subbandSize , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subbandSize },
- { &hf_nr_rrc_bler_Target , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bler_Target },
+static const per_sequence_t BWP_DownlinkCommon_sequence[] = {
+ { &hf_nr_rrc_genericParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP },
+ { &hf_nr_rrc_pdcch_ConfigCommon_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_ConfigCommon },
+ { &hf_nr_rrc_pdsch_ConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_ConfigCommon },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_CSI_ReportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_BWP_DownlinkCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CSI_ReportConfig, CSI_ReportConfig_sequence);
+ ett_nr_rrc_BWP_DownlinkCommon, BWP_DownlinkCommon_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_Reports_OF_CSI_ReportConfig_sequence_of[1] = {
- { &hf_nr_rrc_csi_ReportConfigs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfig },
+static const per_sequence_t SEQUENCE_SIZE_1_3_OF_ControlResourceSet_sequence_of[1] = {
+ { &hf_nr_rrc_controlResourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSet },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_Reports_OF_CSI_ReportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_Reports_OF_CSI_ReportConfig, SEQUENCE_SIZE_1_maxNrofCSI_Reports_OF_CSI_ReportConfig_sequence_of,
- 1, maxNrofCSI_Reports, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet, SEQUENCE_SIZE_1_3_OF_ControlResourceSet_sequence_of,
+ 1, 3, FALSE);
return offset;
}
+static const per_sequence_t SEQUENCE_SIZE_1_3_OF_ControlResourceSetId_sequence_of[1] = {
+ { &hf_nr_rrc_controlResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSetId },
+};
static int
-dissect_nr_rrc_CSI_MeasId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofCSI_MeasId_1, NULL, FALSE);
+dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId, SEQUENCE_SIZE_1_3_OF_ControlResourceSetId_sequence_of,
+ 1, 3, FALSE);
return offset;
}
+static const per_sequence_t SEQUENCE_SIZE_1_10_OF_SearchSpace_sequence_of[1] = {
+ { &hf_nr_rrc_searchSpacesToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpace },
+};
static int
-dissect_nr_rrc_CSI_RS_ConfigurationId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
+dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpace, SEQUENCE_SIZE_1_10_OF_SearchSpace_sequence_of,
+ 1, 10, FALSE);
return offset;
}
-static const value_string nr_rrc_T_measQuantity_vals[] = {
- { 0, "channel" },
- { 1, "interference" },
+static const per_sequence_t SEQUENCE_SIZE_1_10_OF_SearchSpaceId_sequence_of[1] = {
+ { &hf_nr_rrc_searchSpacesToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId, SEQUENCE_SIZE_1_10_OF_SearchSpaceId_sequence_of,
+ 1, 10, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_RNTI_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 65535U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_timeFrequencySet_vals[] = {
+ { 0, "set0" },
+ { 1, "set1" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_measQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_timeFrequencySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -7845,246 +12546,388 @@ dissect_nr_rrc_T_measQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
}
-static const per_sequence_t CSI_MeasIdToAddMod_sequence[] = {
- { &hf_nr_rrc_csi_measId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_MeasId },
- { &hf_nr_rrc_csi_RS_resourceConfigId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_ConfigurationId },
- { &hf_nr_rrc_csi_reportConfigId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfigId },
- { &hf_nr_rrc_measQuantity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measQuantity },
+
+static int
+dissect_nr_rrc_INTEGER_0_maxINT_DCI_PayloadSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxINT_DCI_PayloadSize, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_maxINT_DCI_PayloadSize_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxINT_DCI_PayloadSize_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t INT_ConfigurationPerServingCell_sequence[] = {
+ { &hf_nr_rrc_servingCellId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
+ { &hf_nr_rrc_positionInDCI, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxINT_DCI_PayloadSize_1 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_CSI_MeasIdToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INT_ConfigurationPerServingCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CSI_MeasIdToAddMod, CSI_MeasIdToAddMod_sequence);
+ ett_nr_rrc_INT_ConfigurationPerServingCell, INT_ConfigurationPerServingCell_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_MeasId_OF_CSI_MeasIdToAddMod_sequence_of[1] = {
- { &hf_nr_rrc_csi_MeasIdToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_MeasIdToAddMod },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell_sequence_of[1] = {
+ { &hf_nr_rrc_int_ConfigurationPerServingCell_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INT_ConfigurationPerServingCell },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_MeasId_OF_CSI_MeasIdToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_MeasId_OF_CSI_MeasIdToAddMod, SEQUENCE_SIZE_1_maxNrofCSI_MeasId_OF_CSI_MeasIdToAddMod_sequence_of,
- 1, maxNrofCSI_MeasId, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell, SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell_sequence_of,
+ 1, maxNrofServingCells, FALSE);
return offset;
}
+static const per_sequence_t DownlinkPreemption_sequence[] = {
+ { &hf_nr_rrc_int_RNTI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value },
+ { &hf_nr_rrc_timeFrequencySet, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_timeFrequencySet },
+ { &hf_nr_rrc_dci_PayloadSize, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxINT_DCI_PayloadSize },
+ { &hf_nr_rrc_int_ConfigurationPerServingCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_DownlinkPreemption(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_DownlinkPreemption, DownlinkPreemption_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_downlinkPreemption_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_downlinkPreemption_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_26 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DownlinkPreemption },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_downlinkPreemption(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_downlinkPreemption, T_downlinkPreemption_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_1_maxSFI_DCI_PayloadSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 6U, NULL, FALSE);
+ 1U, maxSFI_DCI_PayloadSize, NULL, FALSE);
return offset;
}
-static const per_sequence_t T_reportTrigger_sequence[] = {
- { &hf_nr_rrc_reportTriggerSize, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_6 },
- { NULL, 0, 0, NULL }
+
+static int
+dissect_nr_rrc_SlotFormatCombinationId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofSlotFormatCombinationsPerSet_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_slotFormats_sequence_of[1] = {
+ { &hf_nr_rrc_slotFormats_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_255 },
};
static int
-dissect_nr_rrc_T_reportTrigger(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_reportTrigger, T_reportTrigger_sequence);
+dissect_nr_rrc_T_slotFormats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_slotFormats, T_slotFormats_sequence_of,
+ 1, maxNrofSlotFormatsPerCombination, FALSE);
return offset;
}
-static const per_sequence_t CSI_MeasConfig_sequence[] = {
- { &hf_nr_rrc_csi_ResourceConfigs, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig },
- { &hf_nr_rrc_csi_ReportConfigs, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_Reports_OF_CSI_ReportConfig },
- { &hf_nr_rrc_csi_MeasIdToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_MeasId_OF_CSI_MeasIdToAddMod },
- { &hf_nr_rrc_reportTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportTrigger },
+static const per_sequence_t SlotFormatCombination_sequence[] = {
+ { &hf_nr_rrc_slotFormatCombinationId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatCombinationId },
+ { &hf_nr_rrc_slotFormats , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_slotFormats },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_CSI_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SlotFormatCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CSI_MeasConfig, CSI_MeasConfig_sequence);
+ ett_nr_rrc_SlotFormatCombination, SlotFormatCombination_sequence);
return offset;
}
-static const per_sequence_t PUCCH_ResourceSet_sequence[] = {
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination_sequence_of[1] = {
+ { &hf_nr_rrc_slotFormatCombinations_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatCombination },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination, SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination_sequence_of,
+ 1, maxNrofSlotFormatCombinationsPerSet, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_maxSFI_DCI_PayloadSize_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxSFI_DCI_PayloadSize_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SlotFormatCombinationsPerCell_sequence[] = {
+ { &hf_nr_rrc_servingCellId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
+ { &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
+ { &hf_nr_rrc_subcarrierSpacing2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing },
+ { &hf_nr_rrc_slotFormatCombinations, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination },
+ { &hf_nr_rrc_positionInDCI_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxSFI_DCI_PayloadSize_1 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PUCCH_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SlotFormatCombinationsPerCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PUCCH_ResourceSet, PUCCH_ResourceSet_sequence);
+ ett_nr_rrc_SlotFormatCombinationsPerCell, SlotFormatCombinationsPerCell_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_1_OF_PUCCH_ResourceSet_sequence_of[1] = {
- { &hf_nr_rrc_resourceSets_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceSet },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell_sequence_of[1] = {
+ { &hf_nr_rrc_slotFormatCombToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatCombinationsPerCell },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_1_OF_PUCCH_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_1_OF_PUCCH_ResourceSet, SEQUENCE_SIZE_1_1_OF_PUCCH_ResourceSet_sequence_of,
- 1, 1, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell, SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell_sequence_of,
+ 1, maxNrofAggregatedCellsPerCellGroup, FALSE);
return offset;
}
-static const value_string nr_rrc_T_interslotFrequencyHopping_vals[] = {
- { 0, "enabled" },
- { 0, NULL }
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex_sequence_of[1] = {
+ { &hf_nr_rrc_slotFormatCombToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
};
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex, SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex_sequence_of,
+ 1, maxNrofAggregatedCellsPerCellGroup, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SlotFormatIndicator_sequence[] = {
+ { &hf_nr_rrc_sfi_RNTI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value },
+ { &hf_nr_rrc_dci_PayloadSize_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxSFI_DCI_PayloadSize },
+ { &hf_nr_rrc_slotFormatCombToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell },
+ { &hf_nr_rrc_slotFormatCombToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_T_interslotFrequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_SlotFormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SlotFormatIndicator, SlotFormatIndicator_sequence);
return offset;
}
-static const value_string nr_rrc_T_nrofSlots_vals[] = {
- { 0, "n1" },
- { 1, "ny1" },
- { 2, "y2" },
- { 3, "y3" },
+static const value_string nr_rrc_T_slotFormatIndicator_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
+static const per_choice_t T_slotFormatIndicator_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_27 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SlotFormatIndicator },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_nrofSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_slotFormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_slotFormatIndicator, T_slotFormatIndicator_choice,
+ NULL);
return offset;
}
-static const per_sequence_t T_setup_05_sequence[] = {
- { &hf_nr_rrc_interslotFrequencyHopping, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interslotFrequencyHopping },
- { &hf_nr_rrc_nrofSlots , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofSlots },
+
+static int
+dissect_nr_rrc_INTEGER_1_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 15U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUSCH_TPC_CommandConfig_sequence[] = {
+ { &hf_nr_rrc_tpc_Index , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_15 },
+ { &hf_nr_rrc_tpc_IndexSUL , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_15 },
+ { &hf_nr_rrc_targetCell , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_setup_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PUSCH_TPC_CommandConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_setup_05, T_setup_05_sequence);
+ ett_nr_rrc_PUSCH_TPC_CommandConfig, PUSCH_TPC_CommandConfig_sequence);
return offset;
}
-static const value_string nr_rrc_T_format1_vals[] = {
+static const value_string nr_rrc_T_tpc_PUSCH_vals[] = {
{ 0, "release" },
{ 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t T_format1_choice[] = {
+static const per_choice_t T_tpc_PUSCH_choice[] = {
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_07 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_setup_05 },
+ { 1, &hf_nr_rrc_setup_28 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_TPC_CommandConfig },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_tpc_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_format1, T_format1_choice,
+ ett_nr_rrc_T_tpc_PUSCH, T_tpc_PUSCH_choice,
NULL);
return offset;
}
+static const per_sequence_t PUCCH_TPC_CommandConfig_sequence[] = {
+ { &hf_nr_rrc_tpc_IndexPCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_15 },
+ { &hf_nr_rrc_tpc_IndexPUCCH_SCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_15 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 7U, NULL, FALSE);
+dissect_nr_rrc_PUCCH_TPC_CommandConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_TPC_CommandConfig, PUCCH_TPC_CommandConfig_sequence);
return offset;
}
-static const value_string nr_rrc_T_simultaneousHARQ_ACK_CSI_vals[] = {
- { 0, "true" },
+static const value_string nr_rrc_T_tpc_PUCCH_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
+static const per_choice_t T_tpc_PUCCH_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_29 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_TPC_CommandConfig },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_simultaneousHARQ_ACK_CSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_tpc_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_tpc_PUCCH, T_tpc_PUCCH_choice,
+ NULL);
return offset;
}
-static const per_sequence_t T_setup_06_sequence[] = {
- { &hf_nr_rrc_maxCodeRate , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_7 },
- { &hf_nr_rrc_nrofPRBs , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_16 },
- { &hf_nr_rrc_simultaneousHARQ_ACK_CSI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousHARQ_ACK_CSI },
+static const per_sequence_t PDCCH_Config_sequence[] = {
+ { &hf_nr_rrc_controlResourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet },
+ { &hf_nr_rrc_controlResourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId },
+ { &hf_nr_rrc_searchSpacesToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpace },
+ { &hf_nr_rrc_searchSpacesToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId },
+ { &hf_nr_rrc_downlinkPreemption, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_downlinkPreemption },
+ { &hf_nr_rrc_slotFormatIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_slotFormatIndicator },
+ { &hf_nr_rrc_tpc_PUSCH , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_PUSCH },
+ { &hf_nr_rrc_tpc_PUCCH , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_PUCCH },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_setup_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PDCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_setup_06, T_setup_06_sequence);
+ ett_nr_rrc_PDCCH_Config, PDCCH_Config_sequence);
return offset;
}
-static const value_string nr_rrc_T_format2_vals[] = {
+static const value_string nr_rrc_T_pdcch_Config_vals[] = {
{ 0, "release" },
{ 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t T_format2_choice[] = {
+static const per_choice_t T_pdcch_Config_choice[] = {
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_08 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_setup_06 },
+ { 1, &hf_nr_rrc_setup_10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_Config },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_pdcch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_format2, T_format2_choice,
+ ett_nr_rrc_T_pdcch_Config, T_pdcch_Config_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_interslotFrequencyHopping_01_vals[] = {
- { 0, "enabled" },
+static const value_string nr_rrc_T_dmrs_Type_vals[] = {
+ { 0, "type2" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_interslotFrequencyHopping_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_dmrs_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -8092,135 +12935,247 @@ dissect_nr_rrc_T_interslotFrequencyHopping_01(tvbuff_t *tvb _U_, int offset _U_,
}
-static const value_string nr_rrc_T_additionalDMRS_vals[] = {
- { 0, "true" },
+static const value_string nr_rrc_T_dmrs_AdditionalPosition_vals[] = {
+ { 0, "pos0" },
+ { 1, "pos1" },
+ { 2, "pos3" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_additionalDMRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_dmrs_AdditionalPosition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 3, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_nrofSlots_01_vals[] = {
- { 0, "n1" },
- { 1, "y1" },
- { 2, "y2" },
- { 3, "y3" },
+static const value_string nr_rrc_T_maxLength_vals[] = {
+ { 0, "len2" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_nrofSlots_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_maxLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_pi2PBSK_vals[] = {
- { 0, "enabled" },
+static const per_sequence_t T_frequencyDensity_sequence_of[1] = {
+ { &hf_nr_rrc_frequencyDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
+};
+
+static int
+dissect_nr_rrc_T_frequencyDensity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_frequencyDensity, T_frequencyDensity_sequence_of,
+ 2, 2, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_timeDensity_sequence_of[1] = {
+ { &hf_nr_rrc_timeDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
+};
+
+static int
+dissect_nr_rrc_T_timeDensity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_timeDensity, T_timeDensity_sequence_of,
+ 3, 3, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_epre_RatioPort2_sequence_of[1] = {
+ { &hf_nr_rrc_epre_RatioPort2_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
+};
+
+static int
+dissect_nr_rrc_T_epre_RatioPort2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_epre_RatioPort2, T_epre_RatioPort2_sequence_of,
+ 1, 2, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_resourceElementOffset_vals[] = {
+ { 0, "offset01" },
+ { 1, "offset10" },
+ { 2, "offset11" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_pi2PBSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_resourceElementOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 3, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_setup_07_sequence[] = {
- { &hf_nr_rrc_interslotFrequencyHopping_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interslotFrequencyHopping_01 },
- { &hf_nr_rrc_additionalDMRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_additionalDMRS },
- { &hf_nr_rrc_maxCodeRate , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_7 },
- { &hf_nr_rrc_nrofSlots_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofSlots_01 },
- { &hf_nr_rrc_pi2PBSK , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pi2PBSK },
+static const per_sequence_t PTRS_DownlinkConfig_sequence[] = {
+ { &hf_nr_rrc_frequencyDensity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyDensity },
+ { &hf_nr_rrc_timeDensity , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDensity },
+ { &hf_nr_rrc_epre_RatioPort1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_3 },
+ { &hf_nr_rrc_epre_RatioPort2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_epre_RatioPort2 },
+ { &hf_nr_rrc_resourceElementOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_resourceElementOffset },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_setup_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PTRS_DownlinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_setup_07, T_setup_07_sequence);
+ ett_nr_rrc_PTRS_DownlinkConfig, PTRS_DownlinkConfig_sequence);
return offset;
}
-static const value_string nr_rrc_T_format3_vals[] = {
+static const value_string nr_rrc_T_phaseTrackingRS_vals[] = {
{ 0, "release" },
{ 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t T_format3_choice[] = {
+static const per_choice_t T_phaseTrackingRS_choice[] = {
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_09 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_setup_07 },
+ { 1, &hf_nr_rrc_setup_18 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PTRS_DownlinkConfig },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_format3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_phaseTrackingRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_format3, T_format3_choice,
+ ett_nr_rrc_T_phaseTrackingRS, T_phaseTrackingRS_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_interslotFrequencyHopping_02_vals[] = {
- { 0, "enabled" },
+static const per_sequence_t DMRS_DownlinkConfig_sequence[] = {
+ { &hf_nr_rrc_dmrs_Type , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_Type },
+ { &hf_nr_rrc_dmrs_AdditionalPosition, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_AdditionalPosition },
+ { &hf_nr_rrc_dmrs_group1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_12 },
+ { &hf_nr_rrc_dmrs_group2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_12 },
+ { &hf_nr_rrc_maxLength , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxLength },
+ { &hf_nr_rrc_scramblingID0, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 },
+ { &hf_nr_rrc_scramblingID1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 },
+ { &hf_nr_rrc_phaseTrackingRS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_phaseTrackingRS },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_DMRS_DownlinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_DMRS_DownlinkConfig, DMRS_DownlinkConfig_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
+static const per_choice_t T_dmrs_DownlinkForPDSCH_MappingTypeA_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_30 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_DownlinkConfig },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_interslotFrequencyHopping_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA, T_dmrs_DownlinkForPDSCH_MappingTypeA_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_additionalDMRS_01_vals[] = {
- { 0, "true" },
+static const value_string nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
+static const per_choice_t T_dmrs_DownlinkForPDSCH_MappingTypeB_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_30 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_DownlinkConfig },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_additionalDMRS_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB, T_dmrs_DownlinkForPDSCH_MappingTypeB_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_nrofSlots_02_vals[] = {
- { 0, "n1" },
- { 1, "y1" },
- { 2, "y2" },
- { 3, "y3" },
+
+static int
+dissect_nr_rrc_NZP_CSI_RS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofNZP_CSI_RS_ResourceSets_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_referenceSignal_03_vals[] = {
+ { 0, "csi-rs" },
+ { 1, "ssb" },
+ { 2, "csi-RS-for-tracking" },
{ 0, NULL }
};
+static const per_choice_t T_referenceSignal_03_choice[] = {
+ { 0, &hf_nr_rrc_csi_rs , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+ { 1, &hf_nr_rrc_ssb_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
+ { 2, &hf_nr_rrc_csi_RS_for_tracking, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceSetId },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_nrofSlots_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_referenceSignal_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_referenceSignal_03, T_referenceSignal_03_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_qcl_Type_vals[] = {
+ { 0, "typeA" },
+ { 1, "typeB" },
+ { 2, "typeC" },
+ { 3, "typeD" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_qcl_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, FALSE, 0, NULL);
@@ -8228,156 +13183,436 @@ dissect_nr_rrc_T_nrofSlots_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
}
-static const value_string nr_rrc_T_pi2PBSK_01_vals[] = {
- { 0, "enabled" },
+static const per_sequence_t QCL_Info_sequence[] = {
+ { &hf_nr_rrc_cell , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex },
+ { &hf_nr_rrc_bwp_Id , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_Id },
+ { &hf_nr_rrc_referenceSignal_03, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_03 },
+ { &hf_nr_rrc_qcl_Type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_qcl_Type },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_QCL_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_QCL_Info, QCL_Info_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_nrofPTRS_Ports_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_pi2PBSK_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nrofPTRS_Ports(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_setup_08_sequence[] = {
- { &hf_nr_rrc_interslotFrequencyHopping_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interslotFrequencyHopping_02 },
- { &hf_nr_rrc_additionalDMRS_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_additionalDMRS_01 },
- { &hf_nr_rrc_maxCodeRate , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_7 },
- { &hf_nr_rrc_nrofSlots_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofSlots_02 },
- { &hf_nr_rrc_pi2PBSK_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pi2PBSK_01 },
+static const per_sequence_t TCI_State_sequence[] = {
+ { &hf_nr_rrc_tci_StateId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId },
+ { &hf_nr_rrc_qcl_Type1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QCL_Info },
+ { &hf_nr_rrc_qcl_Type2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_QCL_Info },
+ { &hf_nr_rrc_nrofPTRS_Ports, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofPTRS_Ports },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_setup_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_TCI_State(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_setup_08, T_setup_08_sequence);
+ ett_nr_rrc_TCI_State, TCI_State_sequence);
return offset;
}
-static const value_string nr_rrc_T_format4_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State_sequence_of[1] = {
+ { &hf_nr_rrc_tci_StatesToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_State },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State, SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State_sequence_of,
+ 1, maxNrofTCI_States, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId_sequence_of[1] = {
+ { &hf_nr_rrc_tci_StatesToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId, SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId_sequence_of,
+ 1, maxNrofTCI_States, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_vrb_ToPRB_Interleaver_vals[] = {
+ { 0, "n2" },
+ { 1, "n4" },
{ 0, NULL }
};
-static const per_choice_t T_format4_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_setup_08 },
+
+static int
+dissect_nr_rrc_T_vrb_ToPRB_Interleaver(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_resourceAllocation_01_vals[] = {
+ { 0, "resourceAllocationType0" },
+ { 1, "resourceAllocationType1" },
+ { 2, "dynamicSwitch" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_resourceAllocation_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pdsch_AggregationFactor_vals[] = {
+ { 0, "n2" },
+ { 1, "n4" },
+ { 2, "n8" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pdsch_AggregationFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_RateMatchPatternId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofRateMatchPatterns_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_275(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 275, 275, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 28, 28, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_symbolsInResourceBlock_vals[] = {
+ { 0, "oneSlot" },
+ { 1, "twoSlots" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_symbolsInResourceBlock_choice[] = {
+ { 0, &hf_nr_rrc_oneSlot , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_14 },
+ { 1, &hf_nr_rrc_twoSlots , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_28 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_format4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_symbolsInResourceBlock(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_format4, T_format4_choice,
+ ett_nr_rrc_T_symbolsInResourceBlock, T_symbolsInResourceBlock_choice,
NULL);
return offset;
}
-static const per_sequence_t SchedulingRequestResource_Config_sequence[] = {
- { NULL, 0, 0, NULL }
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 5, 5, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 20, 20, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 40, 40, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_periodicityAndPattern_vals[] = {
+ { 0, "n2" },
+ { 1, "n4" },
+ { 2, "n5" },
+ { 3, "n8" },
+ { 4, "n10" },
+ { 5, "n20" },
+ { 6, "n40" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_periodicityAndPattern_choice[] = {
+ { 0, &hf_nr_rrc_n2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_2 },
+ { 1, &hf_nr_rrc_n4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 },
+ { 2, &hf_nr_rrc_n5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_5 },
+ { 3, &hf_nr_rrc_n8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
+ { 4, &hf_nr_rrc_n10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_10 },
+ { 5, &hf_nr_rrc_n20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_20 },
+ { 6, &hf_nr_rrc_n40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_40 },
+ { 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_SchedulingRequestResource_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SchedulingRequestResource_Config, SchedulingRequestResource_Config_sequence);
+dissect_nr_rrc_T_periodicityAndPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_periodicityAndPattern, T_periodicityAndPattern_choice,
+ NULL);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSchedulingRequestResoruces_OF_SchedulingRequestResource_Config_sequence_of[1] = {
- { &hf_nr_rrc_setup_item_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResource_Config },
+static const per_sequence_t T_bitmaps_sequence[] = {
+ { &hf_nr_rrc_resourceBlocks, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_275 },
+ { &hf_nr_rrc_symbolsInResourceBlock, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_symbolsInResourceBlock },
+ { &hf_nr_rrc_periodicityAndPattern, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_periodicityAndPattern },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSchedulingRequestResoruces_OF_SchedulingRequestResource_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSchedulingRequestResoruces_OF_SchedulingRequestResource_Config, SEQUENCE_SIZE_1_maxNrofSchedulingRequestResoruces_OF_SchedulingRequestResource_Config_sequence_of,
- 1, maxNrofSchedulingRequestResoruces, FALSE);
+dissect_nr_rrc_T_bitmaps(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_bitmaps, T_bitmaps_sequence);
return offset;
}
-static const value_string nr_rrc_T_schedulingRequestResources_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const value_string nr_rrc_T_patternType_vals[] = {
+ { 0, "bitmaps" },
+ { 1, "controlResourceSet" },
{ 0, NULL }
};
-static const per_choice_t T_schedulingRequestResources_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_11 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSchedulingRequestResoruces_OF_SchedulingRequestResource_Config },
+static const per_choice_t T_patternType_choice[] = {
+ { 0, &hf_nr_rrc_bitmaps , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_bitmaps },
+ { 1, &hf_nr_rrc_controlResourceSet, ASN1_NO_EXTENSIONS , dissect_nr_rrc_ControlResourceSetId },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_schedulingRequestResources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_patternType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_schedulingRequestResources, T_schedulingRequestResources_choice,
+ ett_nr_rrc_T_patternType, T_patternType_choice,
NULL);
return offset;
}
-static const per_sequence_t PUCCH_Config_sequence[] = {
- { &hf_nr_rrc_resourceSets , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_1_OF_PUCCH_ResourceSet },
- { &hf_nr_rrc_format1 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_format1 },
- { &hf_nr_rrc_format2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_format2 },
- { &hf_nr_rrc_format3 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_format3 },
- { &hf_nr_rrc_format4 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_format4 },
- { &hf_nr_rrc_schedulingRequestResources, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_schedulingRequestResources },
- { &hf_nr_rrc_tpc_PUCCH_RNTI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 },
+static const value_string nr_rrc_T_mode_vals[] = {
+ { 0, "dynamic" },
+ { 1, "semiStatic" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t RateMatchPattern_sequence[] = {
+ { &hf_nr_rrc_rateMatchPatternId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPatternId },
+ { &hf_nr_rrc_patternType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_patternType },
+ { &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing },
+ { &hf_nr_rrc_mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mode },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PUCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_RateMatchPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PUCCH_Config, PUCCH_Config_sequence);
+ ett_nr_rrc_RateMatchPattern, RateMatchPattern_sequence);
return offset;
}
-static const value_string nr_rrc_T_codeBlockGroupTransmission_vals[] = {
- { 0, "true" },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern_sequence_of[1] = {
+ { &hf_nr_rrc_rateMatchPatternToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPattern },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern, SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern_sequence_of,
+ 1, maxNrofRateMatchPatterns, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId_sequence_of[1] = {
+ { &hf_nr_rrc_rateMatchPatternToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPatternId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId, SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId_sequence_of,
+ 1, maxNrofRateMatchPatterns, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_rbg_Size_01_vals[] = {
+ { 0, "config1" },
+ { 1, "config2" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_codeBlockGroupTransmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_rbg_Size_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01_vals[] = {
- { 0, "n2" },
- { 1, "n4" },
- { 2, "n6" },
- { 3, "n8" },
+static const value_string nr_rrc_T_mcs_Table_01_vals[] = {
+ { 0, "qam64" },
+ { 1, "qam256" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_mcs_Table_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_maxNrofCodeWordsScheduledByDCI_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_maxNrofCodeWordsScheduledByDCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_bundleSize_vals[] = {
+ { 0, "n4" },
+ { 1, "wideband" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_bundleSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_static_sequence[] = {
+ { &hf_nr_rrc_bundleSize , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bundleSize },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_static(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_static, T_static_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_bundleSizeSet1_vals[] = {
+ { 0, "n4" },
+ { 1, "wideband" },
+ { 2, "n2-wideband" },
+ { 3, "n4-wideband" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_bundleSizeSet1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, FALSE, 0, NULL);
@@ -8385,15 +13620,15 @@ dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01(tvbuff_t *tvb _U_, int o
}
-static const value_string nr_rrc_T_dmrs_Type_01_vals[] = {
- { 0, "type1" },
- { 1, "type2" },
+static const value_string nr_rrc_T_bundleSizeSet2_vals[] = {
+ { 0, "n4" },
+ { 1, "wideband" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_dmrs_Type_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_bundleSizeSet2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -8401,17 +13636,122 @@ dissect_nr_rrc_T_dmrs_Type_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
}
-static const value_string nr_rrc_T_dmrs_AdditionalPosition_01_vals[] = {
- { 0, "pos0" },
- { 1, "pos1" },
- { 2, "pos2" },
- { 3, "pos3" },
+static const per_sequence_t T_dynamic_sequence[] = {
+ { &hf_nr_rrc_bundleSizeSet1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bundleSizeSet1 },
+ { &hf_nr_rrc_bundleSizeSet2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bundleSizeSet2 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_dynamic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_dynamic, T_dynamic_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_prb_BundlingType_vals[] = {
+ { 0, "static" },
+ { 1, "dynamic" },
{ 0, NULL }
};
+static const per_choice_t T_prb_BundlingType_choice[] = {
+ { 0, &hf_nr_rrc_static , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_static },
+ { 1, &hf_nr_rrc_dynamic_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_dynamic },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_dmrs_AdditionalPosition_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_prb_BundlingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_prb_BundlingType, T_prb_BundlingType_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_ZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofZP_CSI_RS_Resources_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 3, 3, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_frequencyDomainAllocation_vals[] = {
+ { 0, "row1" },
+ { 1, "row2" },
+ { 2, "row4" },
+ { 3, "other" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_frequencyDomainAllocation_choice[] = {
+ { 0, &hf_nr_rrc_row1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 },
+ { 1, &hf_nr_rrc_row2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_12 },
+ { 2, &hf_nr_rrc_row4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_3 },
+ { 3, &hf_nr_rrc_other_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_6 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_frequencyDomainAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_frequencyDomainAllocation, T_frequencyDomainAllocation_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_nrofPorts_vals[] = {
+ { 0, "p1" },
+ { 1, "p2" },
+ { 2, "p4" },
+ { 3, "p8" },
+ { 4, "p12" },
+ { 5, "p16" },
+ { 6, "p24" },
+ { 7, "p32" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_nrofPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_cdm_Type_vals[] = {
+ { 0, "noCDM" },
+ { 1, "fd-CDM2" },
+ { 2, "cdm4-FD2-TD2" },
+ { 3, "cdm8-FD2-TD4" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_cdm_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, FALSE, 0, NULL);
@@ -8419,15 +13759,15 @@ dissect_nr_rrc_T_dmrs_AdditionalPosition_01(tvbuff_t *tvb _U_, int offset _U_, a
}
-static const value_string nr_rrc_T_nrofPorts_02_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
+static const value_string nr_rrc_T_dot5_vals[] = {
+ { 0, "evenPRBs" },
+ { 1, "oddPRBs" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_nrofPorts_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_dot5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -8435,144 +13775,591 @@ dissect_nr_rrc_T_nrofPorts_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
}
-static const per_sequence_t T_setup_10_sequence[] = {
- { &hf_nr_rrc_frequencyDensity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_timeDensity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_nrofPorts_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPorts_02 },
- { &hf_nr_rrc_resourceElementOffset, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NULL },
+static const value_string nr_rrc_T_density_vals[] = {
+ { 0, "dot5" },
+ { 1, "one" },
+ { 2, "three" },
+ { 3, "spare" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_density_choice[] = {
+ { 0, &hf_nr_rrc_dot5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_dot5 },
+ { 1, &hf_nr_rrc_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 2, &hf_nr_rrc_three , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 3, &hf_nr_rrc_spare_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_density(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_density, T_density_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_24_maxNrofPhysicalResourceBlocks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 24U, maxNrofPhysicalResourceBlocks, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t CSI_FrequencyOccupation_sequence[] = {
+ { &hf_nr_rrc_startingRB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 },
+ { &hf_nr_rrc_nrofRBs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_24_maxNrofPhysicalResourceBlocks },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_CSI_FrequencyOccupation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CSI_FrequencyOccupation, CSI_FrequencyOccupation_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t CSI_RS_ResourceMapping_sequence[] = {
+ { &hf_nr_rrc_frequencyDomainAllocation_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_frequencyDomainAllocation },
+ { &hf_nr_rrc_nrofPorts , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPorts },
+ { &hf_nr_rrc_firstOFDMSymbolInTimeDomain, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
+ { &hf_nr_rrc_firstOFDMSymbolInTimeDomain2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_13 },
+ { &hf_nr_rrc_cdm_Type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cdm_Type },
+ { &hf_nr_rrc_density , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_density },
+ { &hf_nr_rrc_freqBand , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_FrequencyOccupation },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_setup_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CSI_RS_ResourceMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_setup_10, T_setup_10_sequence);
+ ett_nr_rrc_CSI_RS_ResourceMapping, CSI_RS_ResourceMapping_sequence);
return offset;
}
-static const value_string nr_rrc_T_cp_OFDM_vals[] = {
+static const value_string nr_rrc_CSI_ResourcePeriodicityAndOffset_vals[] = {
+ { 0, "slots4" },
+ { 1, "slots5" },
+ { 2, "slots8" },
+ { 3, "slots10" },
+ { 4, "slots16" },
+ { 5, "slots20" },
+ { 6, "slots32" },
+ { 7, "slots40" },
+ { 8, "slots64" },
+ { 9, "slots80" },
+ { 10, "slots160" },
+ { 11, "slots320" },
+ { 12, "slots640" },
+ { 0, NULL }
+};
+
+static const per_choice_t CSI_ResourcePeriodicityAndOffset_choice[] = {
+ { 0, &hf_nr_rrc_slots4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 },
+ { 1, &hf_nr_rrc_slots5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
+ { 2, &hf_nr_rrc_slots8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 },
+ { 3, &hf_nr_rrc_slots10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
+ { 4, &hf_nr_rrc_slots16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 },
+ { 5, &hf_nr_rrc_slots20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
+ { 6, &hf_nr_rrc_slots32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 },
+ { 7, &hf_nr_rrc_slots40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
+ { 8, &hf_nr_rrc_slots64 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_63 },
+ { 9, &hf_nr_rrc_slots80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
+ { 10, &hf_nr_rrc_slots160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
+ { 11, &hf_nr_rrc_slots320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
+ { 12, &hf_nr_rrc_slots640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_CSI_ResourcePeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CSI_ResourcePeriodicityAndOffset, CSI_ResourcePeriodicityAndOffset_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t ZP_CSI_RS_Resource_sequence[] = {
+ { &hf_nr_rrc_zp_CSI_RS_ResourceId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceId },
+ { &hf_nr_rrc_resourceMapping, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_ResourceMapping },
+ { &hf_nr_rrc_periodicityAndOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ResourcePeriodicityAndOffset },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_ZP_CSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ZP_CSI_RS_Resource, ZP_CSI_RS_Resource_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource_sequence_of[1] = {
+ { &hf_nr_rrc_zp_CSI_RS_ResourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_Resource },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource_sequence_of,
+ 1, maxNrofZP_CSI_RS_Resources, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId_sequence_of[1] = {
+ { &hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId_sequence_of,
+ 1, maxNrofZP_CSI_RS_Resources, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_ZP_CSI_RS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofZP_CSI_RS_ResourceSets_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId_sequence_of[1] = {
+ { &hf_nr_rrc_zp_CSI_RS_ResourceIdList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId_sequence_of,
+ 1, maxNrofZP_CSI_RS_ResourcesPerSet, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_resourceType_03_vals[] = {
+ { 0, "aperiodic" },
+ { 1, "semiPersistent" },
+ { 2, "periodic" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_resourceType_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t ZP_CSI_RS_ResourceSet_sequence[] = {
+ { &hf_nr_rrc_zp_CSI_RS_ResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceSetId },
+ { &hf_nr_rrc_zp_CSI_RS_ResourceIdList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId },
+ { &hf_nr_rrc_resourceType_03, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType_03 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_ZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ZP_CSI_RS_ResourceSet, ZP_CSI_RS_ResourceSet_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSet_sequence_of[1] = {
+ { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceSet },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSet, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSet_sequence_of,
+ 1, maxNrofZP_CSI_RS_Sets, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSetId_sequence_of[1] = {
+ { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceSetId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSetId, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSetId_sequence_of,
+ 1, maxNrofZP_CSI_RS_Sets, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PDSCH_Config_sequence[] = {
+ { &hf_nr_rrc_dataScramblingIdentityPDSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1007 },
+ { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA },
+ { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB },
+ { &hf_nr_rrc_tci_StatesToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State },
+ { &hf_nr_rrc_tci_StatesToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId },
+ { &hf_nr_rrc_vrb_ToPRB_Interleaver, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_vrb_ToPRB_Interleaver },
+ { &hf_nr_rrc_resourceAllocation_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceAllocation_01 },
+ { &hf_nr_rrc_pdsch_AllocationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResourceAllocation },
+ { &hf_nr_rrc_pdsch_AggregationFactor, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_AggregationFactor },
+ { &hf_nr_rrc_rateMatchPatternToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern },
+ { &hf_nr_rrc_rateMatchPatternToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId },
+ { &hf_nr_rrc_rateMatchPatternGroup1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId },
+ { &hf_nr_rrc_rateMatchPatternGroup2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId },
+ { &hf_nr_rrc_rbg_Size_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rbg_Size_01 },
+ { &hf_nr_rrc_mcs_Table_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mcs_Table_01 },
+ { &hf_nr_rrc_maxNrofCodeWordsScheduledByDCI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNrofCodeWordsScheduledByDCI },
+ { &hf_nr_rrc_prb_BundlingType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_prb_BundlingType },
+ { &hf_nr_rrc_zp_CSI_RS_ResourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource },
+ { &hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId },
+ { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSet },
+ { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSetId },
+ { &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSet },
+ { &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSetId },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PDSCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PDSCH_Config, PDSCH_Config_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pdsch_Config_vals[] = {
{ 0, "release" },
{ 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t T_cp_OFDM_choice[] = {
+static const per_choice_t T_pdsch_Config_choice[] = {
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_setup_10 },
+ { 1, &hf_nr_rrc_setup_11 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_Config },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_cp_OFDM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_pdsch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_cp_OFDM, T_cp_OFDM_choice,
+ ett_nr_rrc_T_pdsch_Config, T_pdsch_Config_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_timeDensity_vals[] = {
- { 0, "d1" },
- { 1, "d2" },
+static const value_string nr_rrc_T_periodicity_02_vals[] = {
+ { 0, "ms10" },
+ { 1, "ms20" },
+ { 2, "ms32" },
+ { 3, "ms40" },
+ { 4, "ms64" },
+ { 5, "ms80" },
+ { 6, "ms128" },
+ { 7, "ms160" },
+ { 8, "ms320" },
+ { 9, "ms640" },
+ { 10, "spare6" },
+ { 11, "spare5" },
+ { 12, "spare4" },
+ { 13, "spare3" },
+ { 14, "spare2" },
+ { 15, "spare1" },
{ 0, NULL }
};
+static value_string_ext nr_rrc_T_periodicity_02_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_periodicity_02_vals);
+
static int
-dissect_nr_rrc_T_timeDensity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_periodicity_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 16, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_setup_11_sequence[] = {
- { &hf_nr_rrc_sampleDensity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NULL },
- { &hf_nr_rrc_timeDensity_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDensity },
- { &hf_nr_rrc_sequence , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NULL },
+static const per_sequence_t SPS_Config_sequence[] = {
+ { &hf_nr_rrc_periodicity_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity_02 },
+ { &hf_nr_rrc_nrofHARQ_Processes_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
+ { &hf_nr_rrc_n1PUCCH_AN , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_Resource },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_setup_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SPS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_setup_11, T_setup_11_sequence);
+ ett_nr_rrc_SPS_Config, SPS_Config_sequence);
return offset;
}
-static const value_string nr_rrc_T_dft_S_OFDM_vals[] = {
+static const value_string nr_rrc_T_sps_Config_vals[] = {
{ 0, "release" },
{ 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t T_dft_S_OFDM_choice[] = {
+static const per_choice_t T_sps_Config_choice[] = {
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_15 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_setup_11 },
+ { 1, &hf_nr_rrc_setup_12 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SPS_Config },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_dft_S_OFDM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_sps_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_sps_Config, T_sps_Config_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_purpose_vals[] = {
+ { 0, "beamFailure" },
+ { 1, "rlf" },
+ { 2, "both" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_purpose(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_detectionResource_vals[] = {
+ { 0, "ssb-Index" },
+ { 1, "csi-RS-Index" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_detectionResource_choice[] = {
+ { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
+ { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_detectionResource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_dft_S_OFDM, T_dft_S_OFDM_choice,
+ ett_nr_rrc_T_detectionResource, T_detectionResource_choice,
NULL);
return offset;
}
-static const per_sequence_t Uplink_PTRS_Config_sequence[] = {
- { &hf_nr_rrc_cp_OFDM , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cp_OFDM },
- { &hf_nr_rrc_dft_S_OFDM , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dft_S_OFDM },
+static const per_sequence_t RadioLinkMonitoringRS_sequence[] = {
+ { &hf_nr_rrc_purpose , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_purpose },
+ { &hf_nr_rrc_detectionResource, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_detectionResource },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RadioLinkMonitoringRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RadioLinkMonitoringRS, RadioLinkMonitoringRS_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_sequence_of[1] = {
+ { &hf_nr_rrc_failureDetectionResources_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RadioLinkMonitoringRS },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS, SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_sequence_of,
+ 1, maxNrofFailureDetectionResources, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_beamFailureInstanceMaxCount_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n3" },
+ { 3, "n4" },
+ { 4, "n5" },
+ { 5, "n6" },
+ { 6, "n8" },
+ { 7, "n10" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_beamFailureInstanceMaxCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_beamFailureDetectionTimer_vals[] = {
+ { 0, "pbfd1" },
+ { 1, "pbfd2" },
+ { 2, "pbfd3" },
+ { 3, "pbfd4" },
+ { 4, "pbfd5" },
+ { 5, "pbfd6" },
+ { 6, "pbfd8" },
+ { 7, "pbfd10" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_beamFailureDetectionTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t RadioLinkMonitoringConfig_sequence[] = {
+ { &hf_nr_rrc_failureDetectionResources, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS },
+ { &hf_nr_rrc_beamFailureInstanceMaxCount, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamFailureInstanceMaxCount },
+ { &hf_nr_rrc_beamFailureDetectionTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamFailureDetectionTimer },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_Uplink_PTRS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_RadioLinkMonitoringConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_Uplink_PTRS_Config, Uplink_PTRS_Config_sequence);
+ ett_nr_rrc_RadioLinkMonitoringConfig, RadioLinkMonitoringConfig_sequence);
return offset;
}
-static const value_string nr_rrc_T_phaseTracking_RS_01_vals[] = {
+static const value_string nr_rrc_T_radioLinkMonitoringConfig_vals[] = {
{ 0, "release" },
{ 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t T_phaseTracking_RS_01_choice[] = {
+static const per_choice_t T_radioLinkMonitoringConfig_choice[] = {
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_12 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_Uplink_PTRS_Config },
+ { 1, &hf_nr_rrc_setup_13 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RadioLinkMonitoringConfig },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_phaseTracking_RS_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_radioLinkMonitoringConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_phaseTracking_RS_01, T_phaseTracking_RS_01_choice,
+ ett_nr_rrc_T_radioLinkMonitoringConfig, T_radioLinkMonitoringConfig_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_tpcAccumulation_vals[] = {
- { 0, "enabled" },
+static const per_sequence_t BWP_DownlinkDedicated_sequence[] = {
+ { &hf_nr_rrc_pdcch_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_Config },
+ { &hf_nr_rrc_pdsch_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_Config },
+ { &hf_nr_rrc_sps_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sps_Config },
+ { &hf_nr_rrc_radioLinkMonitoringConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_radioLinkMonitoringConfig },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BWP_DownlinkDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BWP_DownlinkDedicated, BWP_DownlinkDedicated_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t BWP_Downlink_sequence[] = {
+ { &hf_nr_rrc_bwp_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
+ { &hf_nr_rrc_bwp_Common_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_DownlinkCommon },
+ { &hf_nr_rrc_bwp_Dedicated_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_DownlinkDedicated },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BWP_Downlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BWP_Downlink, BWP_Downlink_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_servedRadioBearer_vals[] = {
+ { 0, "srb-Identity" },
+ { 1, "drb-Identity" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_servedRadioBearer_choice[] = {
+ { 0, &hf_nr_rrc_srb_Identity , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRB_Identity },
+ { 1, &hf_nr_rrc_drb_Identity , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DRB_Identity },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_servedRadioBearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_servedRadioBearer, T_servedRadioBearer_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_reestablishRLC_vals[] = {
+ { 0, "true" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_tpcAccumulation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_reestablishRLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -8580,15 +14367,15 @@ dissect_nr_rrc_T_tpcAccumulation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
}
-static const value_string nr_rrc_T_frequencyHopping_vals[] = {
- { 0, "mode1" },
- { 1, "mode2" },
+static const value_string nr_rrc_SN_FieldLengthAM_vals[] = {
+ { 0, "size12" },
+ { 1, "size18" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_frequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SN_FieldLengthAM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -8596,78 +14383,422 @@ dissect_nr_rrc_T_frequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
-static const value_string nr_rrc_T_rateMatching_vals[] = {
- { 0, "fullBufferRM" },
- { 1, "limitedBufferRM" },
+static const value_string nr_rrc_T_PollRetransmit_vals[] = {
+ { 0, "ms5" },
+ { 1, "ms10" },
+ { 2, "ms15" },
+ { 3, "ms20" },
+ { 4, "ms25" },
+ { 5, "ms30" },
+ { 6, "ms35" },
+ { 7, "ms40" },
+ { 8, "ms45" },
+ { 9, "ms50" },
+ { 10, "ms55" },
+ { 11, "ms60" },
+ { 12, "ms65" },
+ { 13, "ms70" },
+ { 14, "ms75" },
+ { 15, "ms80" },
+ { 16, "ms85" },
+ { 17, "ms90" },
+ { 18, "ms95" },
+ { 19, "ms100" },
+ { 20, "ms105" },
+ { 21, "ms110" },
+ { 22, "ms115" },
+ { 23, "ms120" },
+ { 24, "ms125" },
+ { 25, "ms130" },
+ { 26, "ms135" },
+ { 27, "ms140" },
+ { 28, "ms145" },
+ { 29, "ms150" },
+ { 30, "ms155" },
+ { 31, "ms160" },
+ { 32, "ms165" },
+ { 33, "ms170" },
+ { 34, "ms175" },
+ { 35, "ms180" },
+ { 36, "ms185" },
+ { 37, "ms190" },
+ { 38, "ms195" },
+ { 39, "ms200" },
+ { 40, "ms205" },
+ { 41, "ms210" },
+ { 42, "ms215" },
+ { 43, "ms220" },
+ { 44, "ms225" },
+ { 45, "ms230" },
+ { 46, "ms235" },
+ { 47, "ms240" },
+ { 48, "ms245" },
+ { 49, "ms250" },
+ { 50, "ms300" },
+ { 51, "ms350" },
+ { 52, "ms400" },
+ { 53, "ms450" },
+ { 54, "ms500" },
+ { 55, "ms800" },
+ { 56, "ms1000" },
+ { 57, "ms2000" },
+ { 58, "ms4000" },
+ { 59, "spare5" },
+ { 60, "spare4" },
+ { 61, "spare3" },
+ { 62, "spare2" },
+ { 63, "spare1" },
{ 0, NULL }
};
+static value_string_ext nr_rrc_T_PollRetransmit_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_PollRetransmit_vals);
+
static int
-dissect_nr_rrc_T_rateMatching(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_PollRetransmit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 64, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_mcs_Table_01_vals[] = {
- { 0, "ul-64QAM" },
- { 1, "ul-256QAM" },
+static const value_string nr_rrc_PollPDU_vals[] = {
+ { 0, "p4" },
+ { 1, "p8" },
+ { 2, "p16" },
+ { 3, "p32" },
+ { 4, "p64" },
+ { 5, "p128" },
+ { 6, "p256" },
+ { 7, "p512" },
+ { 8, "p1024" },
+ { 9, "p2048" },
+ { 10, "p4096" },
+ { 11, "p6144" },
+ { 12, "p8192" },
+ { 13, "p12288" },
+ { 14, "p16384" },
+ { 15, "p20480" },
+ { 16, "p24576" },
+ { 17, "p28672" },
+ { 18, "p32768" },
+ { 19, "p40960" },
+ { 20, "p49152" },
+ { 21, "p57344" },
+ { 22, "p65536" },
+ { 23, "infinity" },
+ { 24, "spare8" },
+ { 25, "spare7" },
+ { 26, "spare6" },
+ { 27, "spare5" },
+ { 28, "spare4" },
+ { 29, "spare3" },
+ { 30, "spare2" },
+ { 31, "spare1" },
{ 0, NULL }
};
+static value_string_ext nr_rrc_PollPDU_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_PollPDU_vals);
+
static int
-dissect_nr_rrc_T_mcs_Table_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PollPDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 32, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_mcs_TableTransformPrecoder_vals[] = {
- { 0, "ul-64QAM" },
- { 1, "ul-256QAM" },
+static const value_string nr_rrc_PollByte_vals[] = {
+ { 0, "kB1" },
+ { 1, "kB2" },
+ { 2, "kB5" },
+ { 3, "kB8" },
+ { 4, "kB10" },
+ { 5, "kB15" },
+ { 6, "kB25" },
+ { 7, "kB50" },
+ { 8, "kB75" },
+ { 9, "kB100" },
+ { 10, "kB125" },
+ { 11, "kB250" },
+ { 12, "kB375" },
+ { 13, "kB500" },
+ { 14, "kB750" },
+ { 15, "kB1000" },
+ { 16, "kB1250" },
+ { 17, "kB1500" },
+ { 18, "kB2000" },
+ { 19, "kB3000" },
+ { 20, "kB4000" },
+ { 21, "kB4500" },
+ { 22, "kB5000" },
+ { 23, "kB5500" },
+ { 24, "kB6000" },
+ { 25, "kB6500" },
+ { 26, "kB7000" },
+ { 27, "kB7500" },
+ { 28, "mB8" },
+ { 29, "mB9" },
+ { 30, "mB10" },
+ { 31, "mB11" },
+ { 32, "mB12" },
+ { 33, "mB13" },
+ { 34, "mB14" },
+ { 35, "mB15" },
+ { 36, "mB16" },
+ { 37, "mB17" },
+ { 38, "mB18" },
+ { 39, "mB20" },
+ { 40, "mB25" },
+ { 41, "mB30" },
+ { 42, "mB40" },
+ { 43, "infinity" },
+ { 44, "spare20" },
+ { 45, "spare19" },
+ { 46, "spare18" },
+ { 47, "spare17" },
+ { 48, "spare16" },
+ { 49, "spare15" },
+ { 50, "spare14" },
+ { 51, "spare13" },
+ { 52, "spare12" },
+ { 53, "spare11" },
+ { 54, "spare10" },
+ { 55, "spare9" },
+ { 56, "spare8" },
+ { 57, "spare7" },
+ { 58, "spare6" },
+ { 59, "spare5" },
+ { 60, "spare4" },
+ { 61, "spare3" },
+ { 62, "spare2" },
+ { 63, "spare1" },
{ 0, NULL }
};
+static value_string_ext nr_rrc_PollByte_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_PollByte_vals);
+
static int
-dissect_nr_rrc_T_mcs_TableTransformPrecoder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PollByte(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 64, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_transformPrecoder_vals[] = {
- { 0, "enabled" },
+static const value_string nr_rrc_T_maxRetxThreshold_vals[] = {
+ { 0, "t1" },
+ { 1, "t2" },
+ { 2, "t3" },
+ { 3, "t4" },
+ { 4, "t6" },
+ { 5, "t8" },
+ { 6, "t16" },
+ { 7, "t32" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_transformPrecoder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_maxRetxThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_rbg_Size_01_vals[] = {
- { 0, "config1" },
- { 1, "config2" },
+static const per_sequence_t UL_AM_RLC_sequence[] = {
+ { &hf_nr_rrc_sn_FieldLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SN_FieldLengthAM },
+ { &hf_nr_rrc_t_PollRetransmit, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_PollRetransmit },
+ { &hf_nr_rrc_pollPDU , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PollPDU },
+ { &hf_nr_rrc_pollByte , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PollByte },
+ { &hf_nr_rrc_maxRetxThreshold, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxRetxThreshold },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UL_AM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UL_AM_RLC, UL_AM_RLC_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_Reassembly_vals[] = {
+ { 0, "ms0" },
+ { 1, "ms5" },
+ { 2, "ms10" },
+ { 3, "ms15" },
+ { 4, "ms20" },
+ { 5, "ms25" },
+ { 6, "ms30" },
+ { 7, "ms35" },
+ { 8, "ms40" },
+ { 9, "ms45" },
+ { 10, "ms50" },
+ { 11, "ms55" },
+ { 12, "ms60" },
+ { 13, "ms65" },
+ { 14, "ms70" },
+ { 15, "ms75" },
+ { 16, "ms80" },
+ { 17, "ms85" },
+ { 18, "ms90" },
+ { 19, "ms95" },
+ { 20, "ms100" },
+ { 21, "ms110" },
+ { 22, "ms120" },
+ { 23, "ms130" },
+ { 24, "ms140" },
+ { 25, "ms150" },
+ { 26, "ms160" },
+ { 27, "ms170" },
+ { 28, "ms180" },
+ { 29, "ms190" },
+ { 30, "ms200" },
+ { 31, "spare1" },
{ 0, NULL }
};
+static value_string_ext nr_rrc_T_Reassembly_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_Reassembly_vals);
+
static int
-dissect_nr_rrc_T_rbg_Size_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_Reassembly(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 32, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_StatusProhibit_vals[] = {
+ { 0, "ms0" },
+ { 1, "ms5" },
+ { 2, "ms10" },
+ { 3, "ms15" },
+ { 4, "ms20" },
+ { 5, "ms25" },
+ { 6, "ms30" },
+ { 7, "ms35" },
+ { 8, "ms40" },
+ { 9, "ms45" },
+ { 10, "ms50" },
+ { 11, "ms55" },
+ { 12, "ms60" },
+ { 13, "ms65" },
+ { 14, "ms70" },
+ { 15, "ms75" },
+ { 16, "ms80" },
+ { 17, "ms85" },
+ { 18, "ms90" },
+ { 19, "ms95" },
+ { 20, "ms100" },
+ { 21, "ms105" },
+ { 22, "ms110" },
+ { 23, "ms115" },
+ { 24, "ms120" },
+ { 25, "ms125" },
+ { 26, "ms130" },
+ { 27, "ms135" },
+ { 28, "ms140" },
+ { 29, "ms145" },
+ { 30, "ms150" },
+ { 31, "ms155" },
+ { 32, "ms160" },
+ { 33, "ms165" },
+ { 34, "ms170" },
+ { 35, "ms175" },
+ { 36, "ms180" },
+ { 37, "ms185" },
+ { 38, "ms190" },
+ { 39, "ms195" },
+ { 40, "ms200" },
+ { 41, "ms205" },
+ { 42, "ms210" },
+ { 43, "ms215" },
+ { 44, "ms220" },
+ { 45, "ms225" },
+ { 46, "ms230" },
+ { 47, "ms235" },
+ { 48, "ms240" },
+ { 49, "ms245" },
+ { 50, "ms250" },
+ { 51, "ms300" },
+ { 52, "ms350" },
+ { 53, "ms400" },
+ { 54, "ms450" },
+ { 55, "ms500" },
+ { 56, "ms800" },
+ { 57, "ms1000" },
+ { 58, "ms1200" },
+ { 59, "ms1600" },
+ { 60, "ms2000" },
+ { 61, "ms2400" },
+ { 62, "spare2" },
+ { 63, "spare1" },
+ { 0, NULL }
+};
+
+static value_string_ext nr_rrc_T_StatusProhibit_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_StatusProhibit_vals);
+
+
+static int
+dissect_nr_rrc_T_StatusProhibit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 64, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t DL_AM_RLC_sequence[] = {
+ { &hf_nr_rrc_sn_FieldLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SN_FieldLengthAM },
+ { &hf_nr_rrc_t_Reassembly , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reassembly },
+ { &hf_nr_rrc_t_StatusProhibit, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_StatusProhibit },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_DL_AM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_DL_AM_RLC, DL_AM_RLC_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_am_sequence[] = {
+ { &hf_nr_rrc_ul_AM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_AM_RLC },
+ { &hf_nr_rrc_dl_AM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_AM_RLC },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_am(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_am, T_am_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_SN_FieldLengthUM_vals[] = {
+ { 0, "size6" },
+ { 1, "size12" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_SN_FieldLengthUM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -8675,600 +14806,1629 @@ dissect_nr_rrc_T_rbg_Size_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
-static const per_sequence_t BetaOffsets_sequence[] = {
- { &hf_nr_rrc_betaOffsetACK_Index1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
- { &hf_nr_rrc_betaOffsetACK_Index2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
- { &hf_nr_rrc_betaOffsetACK_Index3, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
- { &hf_nr_rrc_betaOffsetCSI_part1_Index1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
- { &hf_nr_rrc_betaOffsetCSI_part1_Index2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
- { &hf_nr_rrc_betaOffsetCSI_part2_Index1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
- { &hf_nr_rrc_betaOffsetCSI_part2_Index2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
+static const per_sequence_t UL_UM_RLC_sequence[] = {
+ { &hf_nr_rrc_sn_FieldLength_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SN_FieldLengthUM },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_UL_UM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_BetaOffsets, BetaOffsets_sequence);
+ ett_nr_rrc_UL_UM_RLC, UL_UM_RLC_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_4_OF_BetaOffsets_sequence_of[1] = {
- { &hf_nr_rrc_dynamic_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BetaOffsets },
+static const per_sequence_t DL_UM_RLC_sequence[] = {
+ { &hf_nr_rrc_sn_FieldLength_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SN_FieldLengthUM },
+ { &hf_nr_rrc_t_Reassembly , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reassembly },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_DL_UM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_DL_UM_RLC, DL_UM_RLC_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_um_Bi_Directional_sequence[] = {
+ { &hf_nr_rrc_ul_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_UM_RLC },
+ { &hf_nr_rrc_dl_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_UM_RLC },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_um_Bi_Directional(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_um_Bi_Directional, T_um_Bi_Directional_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_um_Uni_Directional_UL_sequence[] = {
+ { &hf_nr_rrc_ul_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_UM_RLC },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_um_Uni_Directional_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_um_Uni_Directional_UL, T_um_Uni_Directional_UL_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_um_Uni_Directional_DL_sequence[] = {
+ { &hf_nr_rrc_dl_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_UM_RLC },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_um_Uni_Directional_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_um_Uni_Directional_DL, T_um_Uni_Directional_DL_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_RLC_Config_vals[] = {
+ { 0, "am" },
+ { 1, "um-Bi-Directional" },
+ { 2, "um-Uni-Directional-UL" },
+ { 3, "um-Uni-Directional-DL" },
+ { 0, NULL }
+};
+
+static const per_choice_t RLC_Config_choice[] = {
+ { 0, &hf_nr_rrc_am , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_am },
+ { 1, &hf_nr_rrc_um_Bi_Directional, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_um_Bi_Directional },
+ { 2, &hf_nr_rrc_um_Uni_Directional_UL, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_um_Uni_Directional_UL },
+ { 3, &hf_nr_rrc_um_Uni_Directional_DL, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_um_Uni_Directional_DL },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RLC_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RLC_Config, RLC_Config_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_prioritisedBitRate_vals[] = {
+ { 0, "kBps0" },
+ { 1, "kBps8" },
+ { 2, "kBps16" },
+ { 3, "kBps32" },
+ { 4, "kBps64" },
+ { 5, "kBps128" },
+ { 6, "kBps256" },
+ { 7, "kBps512" },
+ { 8, "kBps1024" },
+ { 9, "kBps2048" },
+ { 10, "kBps4096" },
+ { 11, "kBps8192" },
+ { 12, "kBps16384" },
+ { 13, "kBps32768" },
+ { 14, "kBps65536" },
+ { 15, "infinity" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_prioritisedBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 16, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_bucketSizeDuration_vals[] = {
+ { 0, "ms50" },
+ { 1, "ms100" },
+ { 2, "ms150" },
+ { 3, "ms300" },
+ { 4, "ms500" },
+ { 5, "ms1000" },
+ { 6, "spare2" },
+ { 7, "spare1" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_bucketSizeDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex_sequence_of[1] = {
+ { &hf_nr_rrc_allowedServingCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets, SEQUENCE_SIZE_1_4_OF_BetaOffsets_sequence_of,
- 1, 4, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex, SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex_sequence_of,
+ 1, maxNrofServingCells_1, FALSE);
return offset;
}
-static const value_string nr_rrc_T_setup_09_vals[] = {
- { 0, "dynamic" },
- { 1, "semiStatic" },
+static const per_sequence_t SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing_sequence_of[1] = {
+ { &hf_nr_rrc_allowedSCS_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing, SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing_sequence_of,
+ 1, maxSCSs, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_maxPUSCH_Duration_vals[] = {
+ { 0, "ms0p02" },
+ { 1, "ms0p04" },
+ { 2, "ms0p0625" },
+ { 3, "ms0p125" },
+ { 4, "ms0p25" },
+ { 5, "ms0p5" },
+ { 6, "spare2" },
+ { 7, "spare1" },
{ 0, NULL }
};
-static const per_choice_t T_setup_09_choice[] = {
- { 0, &hf_nr_rrc_dynamic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets },
- { 1, &hf_nr_rrc_semiStatic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BetaOffsets },
+
+static int
+dissect_nr_rrc_T_maxPUSCH_Duration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_configuredGrantType1Allowed_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_configuredGrantType1Allowed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_maxLCG_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxLCG_ID, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_ul_SpecificParameters_sequence[] = {
+ { &hf_nr_rrc_priority , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
+ { &hf_nr_rrc_prioritisedBitRate, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_prioritisedBitRate },
+ { &hf_nr_rrc_bucketSizeDuration, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_bucketSizeDuration },
+ { &hf_nr_rrc_allowedServingCells, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex },
+ { &hf_nr_rrc_allowedSCS_List, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing },
+ { &hf_nr_rrc_maxPUSCH_Duration, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxPUSCH_Duration },
+ { &hf_nr_rrc_configuredGrantType1Allowed, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredGrantType1Allowed },
+ { &hf_nr_rrc_logicalChannelGroup, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxLCG_ID },
+ { &hf_nr_rrc_schedulingRequestID, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SchedulingRequestId },
+ { &hf_nr_rrc_logicalChannelSR_Mask, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_logicalChannelSR_DelayTimerApplied, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_ul_SpecificParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_ul_SpecificParameters, T_ul_SpecificParameters_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t LogicalChannelConfig_sequence[] = {
+ { &hf_nr_rrc_ul_SpecificParameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_SpecificParameters },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_LogicalChannelConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_LogicalChannelConfig, LogicalChannelConfig_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RLC_Bearer_Config_sequence[] = {
+ { &hf_nr_rrc_logicalChannelIdentity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogicalChannelIdentity },
+ { &hf_nr_rrc_servedRadioBearer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_servedRadioBearer },
+ { &hf_nr_rrc_reestablishRLC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reestablishRLC },
+ { &hf_nr_rrc_rlc_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RLC_Config },
+ { &hf_nr_rrc_mac_LogicalChannelConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_LogicalChannelConfig },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RLC_Bearer_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RLC_Bearer_Config, RLC_Bearer_Config_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_Bearer_Config_sequence_of[1] = {
+ { &hf_nr_rrc_rlc_BearerToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RLC_Bearer_Config },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_Bearer_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_Bearer_Config, SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_Bearer_Config_sequence_of,
+ 1, maxLC_ID, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity_sequence_of[1] = {
+ { &hf_nr_rrc_rlc_BearerToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogicalChannelIdentity },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity, SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity_sequence_of,
+ 1, maxLC_ID, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_1_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 31U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_milliSeconds_vals[] = {
+ { 0, "ms1" },
+ { 1, "ms2" },
+ { 2, "ms3" },
+ { 3, "ms4" },
+ { 4, "ms5" },
+ { 5, "ms6" },
+ { 6, "ms8" },
+ { 7, "ms10" },
+ { 8, "ms20" },
+ { 9, "ms30" },
+ { 10, "ms40" },
+ { 11, "ms50" },
+ { 12, "ms60" },
+ { 13, "ms80" },
+ { 14, "ms100" },
+ { 15, "ms200" },
+ { 16, "ms300" },
+ { 17, "ms400" },
+ { 18, "ms500" },
+ { 19, "ms600" },
+ { 20, "ms800" },
+ { 21, "ms1000" },
+ { 22, "ms1200" },
+ { 23, "ms1600" },
+ { 24, "spare9" },
+ { 25, "spare8" },
+ { 26, "spare7" },
+ { 27, "spare6" },
+ { 28, "spare5" },
+ { 29, "spare4" },
+ { 30, "spare3" },
+ { 31, "spare2" },
+ { 32, "spare1" },
+ { 0, NULL }
+};
+
+static value_string_ext nr_rrc_T_milliSeconds_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_milliSeconds_vals);
+
+
+static int
+dissect_nr_rrc_T_milliSeconds(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 33, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_drx_onDurationTimer_vals[] = {
+ { 0, "subMilliSeconds" },
+ { 1, "milliSeconds" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_drx_onDurationTimer_choice[] = {
+ { 0, &hf_nr_rrc_subMilliSeconds, ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_31 },
+ { 1, &hf_nr_rrc_milliSeconds , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_milliSeconds },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_setup_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_drx_onDurationTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_setup_09, T_setup_09_choice,
+ ett_nr_rrc_T_drx_onDurationTimer, T_drx_onDurationTimer_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_uci_on_PUSCH_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const value_string nr_rrc_T_drx_InactivityTimer_vals[] = {
+ { 0, "ms0" },
+ { 1, "ms1" },
+ { 2, "ms2" },
+ { 3, "ms3" },
+ { 4, "ms4" },
+ { 5, "ms5" },
+ { 6, "ms6" },
+ { 7, "ms8" },
+ { 8, "ms10" },
+ { 9, "ms20" },
+ { 10, "ms30" },
+ { 11, "ms40" },
+ { 12, "ms50" },
+ { 13, "ms60" },
+ { 14, "ms80" },
+ { 15, "ms100" },
+ { 16, "ms200" },
+ { 17, "ms300" },
+ { 18, "ms500" },
+ { 19, "ms750" },
+ { 20, "ms1280" },
+ { 21, "ms1920" },
+ { 22, "ms2560" },
+ { 23, "spare9" },
+ { 24, "spare8" },
+ { 25, "spare7" },
+ { 26, "spare6" },
+ { 27, "spare5" },
+ { 28, "spare4" },
+ { 29, "spare3" },
+ { 30, "spare2" },
+ { 31, "spare1" },
{ 0, NULL }
};
-static const per_choice_t T_uci_on_PUSCH_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_13 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_setup_09 },
+static value_string_ext nr_rrc_T_drx_InactivityTimer_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_InactivityTimer_vals);
+
+
+static int
+dissect_nr_rrc_T_drx_InactivityTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 32, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_56(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 56U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_drx_RetransmissionTimerDL_vals[] = {
+ { 0, "sl0" },
+ { 1, "sl1" },
+ { 2, "sl2" },
+ { 3, "sl4" },
+ { 4, "sl6" },
+ { 5, "sl8" },
+ { 6, "sl16" },
+ { 7, "sl24" },
+ { 8, "sl33" },
+ { 9, "sl40" },
+ { 10, "sl64" },
+ { 11, "sl80" },
+ { 12, "sl96" },
+ { 13, "sl112" },
+ { 14, "sl128" },
+ { 15, "sl160" },
+ { 16, "sl320" },
+ { 17, "spare15" },
+ { 18, "spare14" },
+ { 19, "spare13" },
+ { 20, "spare12" },
+ { 21, "spare11" },
+ { 22, "spare10" },
+ { 23, "spare9" },
+ { 24, "spare8" },
+ { 25, "spare7" },
+ { 26, "spare6" },
+ { 27, "spare5" },
+ { 28, "spare4" },
+ { 29, "spare3" },
+ { 30, "spare2" },
+ { 31, "spare1" },
+ { 0, NULL }
+};
+
+static value_string_ext nr_rrc_T_drx_RetransmissionTimerDL_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_RetransmissionTimerDL_vals);
+
+
+static int
+dissect_nr_rrc_T_drx_RetransmissionTimerDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 32, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_drx_RetransmissionTimerUL_vals[] = {
+ { 0, "sl0" },
+ { 1, "sl1" },
+ { 2, "sl2" },
+ { 3, "sl4" },
+ { 4, "sl6" },
+ { 5, "sl8" },
+ { 6, "sl16" },
+ { 7, "sl24" },
+ { 8, "sl33" },
+ { 9, "sl40" },
+ { 10, "sl64" },
+ { 11, "sl80" },
+ { 12, "sl96" },
+ { 13, "sl112" },
+ { 14, "sl128" },
+ { 15, "sl160" },
+ { 16, "sl320" },
+ { 17, "spare15" },
+ { 18, "spare14" },
+ { 19, "spare13" },
+ { 20, "spare12" },
+ { 21, "spare11" },
+ { 22, "spare10" },
+ { 23, "spare9" },
+ { 24, "spare8" },
+ { 25, "spare7" },
+ { 26, "spare6" },
+ { 27, "spare5" },
+ { 28, "spare4" },
+ { 29, "spare3" },
+ { 30, "spare2" },
+ { 31, "spare1" },
+ { 0, NULL }
+};
+
+static value_string_ext nr_rrc_T_drx_RetransmissionTimerUL_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_RetransmissionTimerUL_vals);
+
+
+static int
+dissect_nr_rrc_T_drx_RetransmissionTimerUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 32, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_drx_LongCycleStartOffset_01_vals[] = {
+ { 0, "ms10" },
+ { 1, "ms20" },
+ { 2, "ms32" },
+ { 3, "ms40" },
+ { 4, "ms60" },
+ { 5, "ms64" },
+ { 6, "ms70" },
+ { 7, "ms80" },
+ { 8, "ms128" },
+ { 9, "ms160" },
+ { 10, "ms256" },
+ { 11, "ms320" },
+ { 12, "ms512" },
+ { 13, "ms640" },
+ { 14, "ms1024" },
+ { 15, "ms1280" },
+ { 16, "ms2048" },
+ { 17, "ms2560" },
+ { 18, "ms5120" },
+ { 19, "ms10240" },
+ { 0, NULL }
+};
+
+static value_string_ext nr_rrc_T_drx_LongCycleStartOffset_01_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_LongCycleStartOffset_01_vals);
+
+static const per_choice_t T_drx_LongCycleStartOffset_01_choice[] = {
+ { 0, &hf_nr_rrc_ms10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
+ { 1, &hf_nr_rrc_ms20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
+ { 2, &hf_nr_rrc_ms32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 },
+ { 3, &hf_nr_rrc_ms40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
+ { 4, &hf_nr_rrc_ms60 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_59 },
+ { 5, &hf_nr_rrc_ms64 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_63 },
+ { 6, &hf_nr_rrc_ms70 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_69 },
+ { 7, &hf_nr_rrc_ms80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
+ { 8, &hf_nr_rrc_ms128 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_127 },
+ { 9, &hf_nr_rrc_ms160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
+ { 10, &hf_nr_rrc_ms256 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_255 },
+ { 11, &hf_nr_rrc_ms320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
+ { 12, &hf_nr_rrc_ms512 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_511 },
+ { 13, &hf_nr_rrc_ms640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 },
+ { 14, &hf_nr_rrc_ms1024 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1023 },
+ { 15, &hf_nr_rrc_ms1280 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1279 },
+ { 16, &hf_nr_rrc_ms2048 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2047 },
+ { 17, &hf_nr_rrc_ms2560 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2559 },
+ { 18, &hf_nr_rrc_ms5120 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_5119 },
+ { 19, &hf_nr_rrc_ms10240 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_10239 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_uci_on_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_drx_LongCycleStartOffset_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_uci_on_PUSCH, T_uci_on_PUSCH_choice,
+ ett_nr_rrc_T_drx_LongCycleStartOffset_01, T_drx_LongCycleStartOffset_01_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_xOverhead_01_vals[] = {
- { 0, "n0" },
- { 1, "n6" },
- { 2, "n12" },
- { 3, "n18" },
+static const value_string nr_rrc_T_drx_ShortCycle_01_vals[] = {
+ { 0, "ms2" },
+ { 1, "ms3" },
+ { 2, "ms4" },
+ { 3, "ms5" },
+ { 4, "ms6" },
+ { 5, "ms7" },
+ { 6, "ms8" },
+ { 7, "ms10" },
+ { 8, "ms14" },
+ { 9, "ms16" },
+ { 10, "ms20" },
+ { 11, "ms30" },
+ { 12, "ms32" },
+ { 13, "ms35" },
+ { 14, "ms40" },
+ { 15, "ms64" },
+ { 16, "ms80" },
+ { 17, "ms128" },
+ { 18, "ms160" },
+ { 19, "ms256" },
+ { 20, "ms320" },
+ { 21, "ms512" },
+ { 22, "ms640" },
+ { 23, "spare9" },
+ { 24, "spare8" },
+ { 25, "spare7" },
+ { 26, "spare6" },
+ { 27, "spare5" },
+ { 28, "spare4" },
+ { 29, "spare3" },
+ { 30, "spare2" },
+ { 31, "spare1" },
{ 0, NULL }
};
+static value_string_ext nr_rrc_T_drx_ShortCycle_01_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_ShortCycle_01_vals);
+
static int
-dissect_nr_rrc_T_xOverhead_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_drx_ShortCycle_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+ 32, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t PUSCH_Config_sequence[] = {
- { &hf_nr_rrc_codeBlockGroupTransmission_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_codeBlockGroupTransmission },
- { &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01 },
- { &hf_nr_rrc_dmrs_Type_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_Type_01 },
- { &hf_nr_rrc_dmrs_AdditionalPosition_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_AdditionalPosition_01 },
- { &hf_nr_rrc_phaseTracking_RS_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_phaseTracking_RS_01 },
- { &hf_nr_rrc_tpcAccumulation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpcAccumulation },
- { &hf_nr_rrc_tcp_PUSCH_RNTI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 },
- { &hf_nr_rrc_frequencyHopping, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_frequencyHopping },
- { &hf_nr_rrc_rateMatching , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rateMatching },
- { &hf_nr_rrc_rateMatchResources, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_symbolAllocationIndexs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_NULL },
- { &hf_nr_rrc_mcs_Table_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mcs_Table_01 },
- { &hf_nr_rrc_mcs_TableTransformPrecoder, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mcs_TableTransformPrecoder },
- { &hf_nr_rrc_transformPrecoder, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecoder },
- { &hf_nr_rrc_rbg_Size_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rbg_Size_01 },
- { &hf_nr_rrc_uci_on_PUSCH , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_uci_on_PUSCH },
- { &hf_nr_rrc_xOverhead_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_xOverhead_01 },
+static const per_sequence_t T_shortDRX_01_sequence[] = {
+ { &hf_nr_rrc_drx_ShortCycle_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_ShortCycle_01 },
+ { &hf_nr_rrc_drx_ShortCycleTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PUSCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_shortDRX_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PUSCH_Config, PUSCH_Config_sequence);
+ ett_nr_rrc_T_shortDRX_01, T_shortDRX_01_sequence);
return offset;
}
+static const per_sequence_t DRX_Config_sequence[] = {
+ { &hf_nr_rrc_drx_onDurationTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_onDurationTimer },
+ { &hf_nr_rrc_drx_InactivityTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_InactivityTimer },
+ { &hf_nr_rrc_drx_HARQ_RTT_TimerDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_56 },
+ { &hf_nr_rrc_drx_HARQ_RTT_TimerUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_56 },
+ { &hf_nr_rrc_drx_RetransmissionTimerDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_RetransmissionTimerDL },
+ { &hf_nr_rrc_drx_RetransmissionTimerUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_RetransmissionTimerUL },
+ { &hf_nr_rrc_drx_LongCycleStartOffset_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_LongCycleStartOffset_01 },
+ { &hf_nr_rrc_shortDRX_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_shortDRX_01 },
+ { &hf_nr_rrc_drx_SlotOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_SRS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofSRS_ResourceSets_1, NULL, FALSE);
+dissect_nr_rrc_DRX_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_DRX_Config, DRX_Config_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId_sequence_of[1] = {
- { &hf_nr_rrc_srs_ResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSetId },
+static const value_string nr_rrc_T_drx_Config_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_drx_Config_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DRX_Config },
+ { 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId, SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId_sequence_of,
- 0, maxNrofSRS_ResourceSets, FALSE);
+dissect_nr_rrc_T_drx_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_drx_Config, T_drx_Config_choice,
+ NULL);
return offset;
}
+static const value_string nr_rrc_T_sr_ProhibitTimer_vals[] = {
+ { 0, "ms1" },
+ { 1, "ms2" },
+ { 2, "ms4" },
+ { 3, "ms8" },
+ { 4, "ms16" },
+ { 5, "ms32" },
+ { 6, "ms64" },
+ { 7, "ms128" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofSRS_Resources_1, NULL, FALSE);
+dissect_nr_rrc_T_sr_ProhibitTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId_sequence_of[1] = {
- { &hf_nr_rrc_srs_ResourcesIds_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
+static const value_string nr_rrc_T_sr_TransMax_vals[] = {
+ { 0, "n4" },
+ { 1, "n8" },
+ { 2, "n16" },
+ { 3, "n32" },
+ { 4, "n64" },
+ { 5, "spare3" },
+ { 6, "spare2" },
+ { 7, "spare1" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId, SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId_sequence_of,
- 1, maxNrofSRS_ResourcesPerSet, FALSE);
+dissect_nr_rrc_T_sr_TransMax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t SRS_ResourceSet_sequence[] = {
- { &hf_nr_rrc_srs_ResourceSetId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSetId },
- { &hf_nr_rrc_srs_ResourcesIds, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId },
- { &hf_nr_rrc_aperiodicSRS_ResourceTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
+static const per_sequence_t SchedulingRequestToAddMod_sequence[] = {
+ { &hf_nr_rrc_sr_ConfigIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestId },
+ { &hf_nr_rrc_sr_ProhibitTimer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sr_ProhibitTimer },
+ { &hf_nr_rrc_sr_TransMax , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sr_TransMax },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SRS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SchedulingRequestToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SRS_ResourceSet, SRS_ResourceSet_sequence);
+ ett_nr_rrc_SchedulingRequestToAddMod, SchedulingRequestToAddMod_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet_sequence_of[1] = {
- { &hf_nr_rrc_srs_ResourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSet },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod_sequence_of[1] = {
+ { &hf_nr_rrc_schedulingRequestToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestToAddMod },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet, SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet_sequence_of,
- 0, maxNrofSRS_ResourceSets, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod, SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod_sequence_of,
+ 1, maxNrofSR_ConfigPerCellGroup, FALSE);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId_sequence_of[1] = {
- { &hf_nr_rrc_srs_ResourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId_sequence_of[1] = {
+ { &hf_nr_rrc_schedulingRequestToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestId },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId, SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId_sequence_of,
- 1, maxNrofSRS_Resources, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId, SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId_sequence_of,
+ 1, maxNrofSR_ConfigPerCellGroup, FALSE);
return offset;
}
-static const value_string nr_rrc_T_nrofSRS_Ports_vals[] = {
- { 0, "port1" },
- { 1, "ports2" },
- { 2, "ports4" },
+static const per_sequence_t SchedulingRequestConfig_sequence[] = {
+ { &hf_nr_rrc_schedulingRequestToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod },
+ { &hf_nr_rrc_schedulingRequestToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_SchedulingRequestConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SchedulingRequestConfig, SchedulingRequestConfig_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_periodicBSR_Timer_vals[] = {
+ { 0, "sf1" },
+ { 1, "sf5" },
+ { 2, "sf10" },
+ { 3, "sf16" },
+ { 4, "sf20" },
+ { 5, "sf32" },
+ { 6, "sf40" },
+ { 7, "sf64" },
+ { 8, "sf80" },
+ { 9, "sf128" },
+ { 10, "sf160" },
+ { 11, "sf320" },
+ { 12, "sf640" },
+ { 13, "sf1280" },
+ { 14, "sf2560" },
+ { 15, "infinity" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_nrofSRS_Ports(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_periodicBSR_Timer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+ 16, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_transmissionComb_vals[] = {
- { 0, "n2" },
- { 1, "n4" },
+static const value_string nr_rrc_T_retxBSR_Timer_vals[] = {
+ { 0, "sf10" },
+ { 1, "sf20" },
+ { 2, "sf40" },
+ { 3, "sf80" },
+ { 4, "sf160" },
+ { 5, "sf320" },
+ { 6, "sf640" },
+ { 7, "sf1280" },
+ { 8, "sf2560" },
+ { 9, "sf5120" },
+ { 10, "sf10240" },
+ { 11, "spare5" },
+ { 12, "spare4" },
+ { 13, "spare3" },
+ { 14, "spare2" },
+ { 15, "spare1" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_transmissionComb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_retxBSR_Timer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 16, NULL, FALSE, 0, NULL);
return offset;
}
+static const value_string nr_rrc_T_logicalChannelSR_DelayTimer_vals[] = {
+ { 0, "sf20" },
+ { 1, "sf40" },
+ { 2, "sf64" },
+ { 3, "sf128" },
+ { 4, "sf512" },
+ { 5, "sf1024" },
+ { 6, "sf2560" },
+ { 7, "spare1" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_INTEGER_0_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_logicalChannelSR_DelayTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t BSR_Config_sequence[] = {
+ { &hf_nr_rrc_periodicBSR_Timer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicBSR_Timer },
+ { &hf_nr_rrc_retxBSR_Timer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_retxBSR_Timer },
+ { &hf_nr_rrc_logicalChannelSR_DelayTimer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_logicalChannelSR_DelayTimer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BSR_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BSR_Config, BSR_Config_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_TAG_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 2U, NULL, FALSE);
+ 0U, maxNrofTAGs_1, NULL, FALSE);
return offset;
}
-static const per_sequence_t T_aperiodic_01_sequence[] = {
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id_sequence_of[1] = {
+ { &hf_nr_rrc_tag_ToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG_Id },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id, SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id_sequence_of,
+ 1, maxNrofTAGs, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_TimeAlignmentTimer_vals[] = {
+ { 0, "ms500" },
+ { 1, "ms750" },
+ { 2, "ms1280" },
+ { 3, "ms1920" },
+ { 4, "ms2560" },
+ { 5, "ms5120" },
+ { 6, "ms10240" },
+ { 7, "infinity" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_TimeAlignmentTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t TAG_ToAddMod_sequence[] = {
+ { &hf_nr_rrc_tag_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG_Id },
+ { &hf_nr_rrc_timeAlignmentTimer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeAlignmentTimer },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_aperiodic_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_TAG_ToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_aperiodic_01, T_aperiodic_01_sequence);
+ ett_nr_rrc_TAG_ToAddMod, TAG_ToAddMod_sequence);
return offset;
}
-static const per_sequence_t T_semi_persistent_sequence[] = {
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_ToAddMod_sequence_of[1] = {
+ { &hf_nr_rrc_tag_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG_ToAddMod },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_ToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_ToAddMod, SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_ToAddMod_sequence_of,
+ 1, maxNrofTAGs, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t TAG_Config_sequence[] = {
+ { &hf_nr_rrc_tag_ToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id },
+ { &hf_nr_rrc_tag_ToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_ToAddMod },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_semi_persistent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_TAG_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_semi_persistent, T_semi_persistent_sequence);
+ ett_nr_rrc_TAG_Config, TAG_Config_sequence);
return offset;
}
-static const per_sequence_t T_periodic_01_sequence[] = {
+static const value_string nr_rrc_T_phr_PeriodicTimer_vals[] = {
+ { 0, "sf10" },
+ { 1, "sf20" },
+ { 2, "sf50" },
+ { 3, "sf100" },
+ { 4, "sf200" },
+ { 5, "sf500" },
+ { 6, "sf1000" },
+ { 7, "infinity" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_phr_PeriodicTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_phr_ProhibitTimer_vals[] = {
+ { 0, "sf0" },
+ { 1, "sf10" },
+ { 2, "sf20" },
+ { 3, "sf50" },
+ { 4, "sf100" },
+ { 5, "sf200" },
+ { 6, "sf500" },
+ { 7, "sf1000" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_phr_ProhibitTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_phr_Tx_PowerFactorChange_vals[] = {
+ { 0, "dB1" },
+ { 1, "dB3" },
+ { 2, "dB6" },
+ { 3, "infinity" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_phr_Tx_PowerFactorChange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_phr_ModeOtherCG_vals[] = {
+ { 0, "real" },
+ { 1, "virtual" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_phr_ModeOtherCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t PHR_Config_sequence[] = {
+ { &hf_nr_rrc_phr_PeriodicTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_PeriodicTimer },
+ { &hf_nr_rrc_phr_ProhibitTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_ProhibitTimer },
+ { &hf_nr_rrc_phr_Tx_PowerFactorChange, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_Tx_PowerFactorChange },
+ { &hf_nr_rrc_multiplePHR , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_phr_Type2PCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_phr_Type2OtherCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_phr_ModeOtherCG, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_ModeOtherCG },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_periodic_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PHR_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_periodic_01, T_periodic_01_sequence);
+ ett_nr_rrc_PHR_Config, PHR_Config_sequence);
return offset;
}
-static const value_string nr_rrc_T_resourceType_01_vals[] = {
- { 0, "aperiodic" },
- { 1, "semi-persistent" },
- { 2, "periodic" },
+static const value_string nr_rrc_T_phr_Config_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t T_resourceType_01_choice[] = {
- { 0, &hf_nr_rrc_aperiodic_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_aperiodic_01 },
- { 1, &hf_nr_rrc_semi_persistent, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semi_persistent },
- { 2, &hf_nr_rrc_periodic_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_periodic_01 },
+static const per_choice_t T_phr_Config_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_21 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PHR_Config },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_resourceType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_phr_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_resourceType_01, T_resourceType_01_choice,
+ ett_nr_rrc_T_phr_Config, T_phr_Config_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_periodicityAndOffset_02_vals[] = {
- { 0, "sl2" },
- { 1, "sl5" },
- { 2, "sl10" },
- { 3, "sl20" },
- { 4, "sl40" },
- { 5, "sl80" },
- { 6, "sl160" },
- { 7, "sl320" },
+static const value_string nr_rrc_T_cs_RNTI_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t T_periodicityAndOffset_02_choice[] = {
- { 0, &hf_nr_rrc_sl2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1 },
- { 1, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
- { 2, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
- { 3, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
- { 4, &hf_nr_rrc_sl40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
- { 5, &hf_nr_rrc_sl80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
- { 6, &hf_nr_rrc_sl160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
- { 7, &hf_nr_rrc_sl320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
+static const per_choice_t T_cs_RNTI_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_22 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RNTI_Value },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_periodicityAndOffset_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_cs_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_periodicityAndOffset_02, T_periodicityAndOffset_02_choice,
+ ett_nr_rrc_T_cs_RNTI, T_cs_RNTI_choice,
NULL);
return offset;
}
+static const per_sequence_t MAC_CellGroupConfig_sequence[] = {
+ { &hf_nr_rrc_drx_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_drx_Config },
+ { &hf_nr_rrc_schedulingRequestConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SchedulingRequestConfig },
+ { &hf_nr_rrc_bsr_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BSR_Config },
+ { &hf_nr_rrc_tag_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_TAG_Config },
+ { &hf_nr_rrc_phr_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_phr_Config },
+ { &hf_nr_rrc_skipUplinkTxDynamic, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_cs_RNTI , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cs_RNTI },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 12U, NULL, FALSE);
+dissect_nr_rrc_MAC_CellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MAC_CellGroupConfig, MAC_CellGroupConfig_sequence);
return offset;
}
-static const value_string nr_rrc_T_spatialRelationInfo_vals[] = {
- { 0, "ssb-pbch" },
- { 1, "csi-rs" },
- { 2, "srs" },
+static const value_string nr_rrc_T_harq_ACK_SpatialBundlingPUCCH_vals[] = {
+ { 0, "true" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_spatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t SRS_Resource_sequence[] = {
- { &hf_nr_rrc_srs_ResourceId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
- { &hf_nr_rrc_nrofSRS_Ports, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofSRS_Ports },
- { &hf_nr_rrc_transmissionComb, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_transmissionComb },
- { &hf_nr_rrc_resourceMapping, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_freqDomainPosition, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NULL },
- { &hf_nr_rrc_freqHopping , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
- { &hf_nr_rrc_groupOrSequenceHopping, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_2 },
- { &hf_nr_rrc_resourceType_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_resourceType_01 },
- { &hf_nr_rrc_periodicityAndOffset_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicityAndOffset_02 },
- { &hf_nr_rrc_sequenceId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_antennaSwitching, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_carrierSwitching, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NULL },
- { &hf_nr_rrc_cyclicShift , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_12 },
- { &hf_nr_rrc_spatialRelationInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_spatialRelationInfo },
+static const value_string nr_rrc_T_harq_ACK_SpatialBundlingPUSCH_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pdsch_HARQ_ACK_Codebook_vals[] = {
+ { 0, "semiStatic" },
+ { 1, "dynamic" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pdsch_HARQ_ACK_Codebook(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t PhysicalCellGroupConfig_sequence[] = {
+ { &hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUCCH },
+ { &hf_nr_rrc_harq_ACK_SpatialBundlingPUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUSCH },
+ { &hf_nr_rrc_p_NR , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
+ { &hf_nr_rrc_pdsch_HARQ_ACK_Codebook, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pdsch_HARQ_ACK_Codebook },
+ { &hf_nr_rrc_tpc_SRS_RNTI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RNTI_Value },
+ { &hf_nr_rrc_tpc_PUCCH_RNTI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RNTI_Value },
+ { &hf_nr_rrc_tpc_PUSCH_RNTI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RNTI_Value },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PhysicalCellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SRS_Resource, SRS_Resource_sequence);
+ ett_nr_rrc_PhysicalCellGroupConfig, PhysicalCellGroupConfig_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource_sequence_of[1] = {
- { &hf_nr_rrc_srs_ResourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_Resource },
-};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource, SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource_sequence_of,
- 1, maxNrofSRS_Resources, FALSE);
+dissect_nr_rrc_INTEGER_1_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 23U, NULL, FALSE);
return offset;
}
-static const per_sequence_t SRS_Config_sequence[] = {
- { &hf_nr_rrc_srs_ResourceSetToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId },
- { &hf_nr_rrc_srs_ResourceSetToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet },
- { &hf_nr_rrc_srs_ResourceToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId },
- { &hf_nr_rrc_srs_ResourceToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource },
- { &hf_nr_rrc_tpc_SRS_RNTI , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 },
+static const per_sequence_t FrequencyInfoDL_sequence[] = {
+ { &hf_nr_rrc_absoluteFrequencySSB, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
+ { &hf_nr_rrc_ssb_SubcarrierOffset_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_23 },
+ { &hf_nr_rrc_frequencyBandList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MultiFrequencyBandListNR },
+ { &hf_nr_rrc_absoluteFrequencyPointA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
+ { &hf_nr_rrc_scs_SpecificCarrierList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SRS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_FrequencyInfoDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SRS_Config, SRS_Config_sequence);
+ ett_nr_rrc_FrequencyInfoDL, FrequencyInfoDL_sequence);
return offset;
}
-static const value_string nr_rrc_T_transformPrecoder_01_vals[] = {
- { 0, "enabled" },
+static const value_string nr_rrc_T_ssb_PositionsInBurst_01_vals[] = {
+ { 0, "shortBitmap" },
+ { 1, "mediumBitmap" },
+ { 2, "longBitmap" },
{ 0, NULL }
};
+static const per_choice_t T_ssb_PositionsInBurst_01_choice[] = {
+ { 0, &hf_nr_rrc_shortBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 },
+ { 1, &hf_nr_rrc_mediumBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
+ { 2, &hf_nr_rrc_longBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_transformPrecoder_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_ssb_PositionsInBurst_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_ssb_PositionsInBurst_01, T_ssb_PositionsInBurst_01_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_ssb_periodicityServingCell_vals[] = {
+ { 0, "ms5" },
+ { 1, "ms10" },
+ { 2, "ms20" },
+ { 3, "ms40" },
+ { 4, "ms80" },
+ { 5, "ms160" },
+ { 6, "spare2" },
+ { 7, "spare1" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_ssb_periodicityServingCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_repK_RV_vals[] = {
- { 0, "s1-0231" },
- { 1, "s2-0303" },
- { 2, "s3-0000" },
+static const value_string nr_rrc_T_dmrs_TypeA_Position_01_vals[] = {
+ { 0, "pos2" },
+ { 1, "pos3" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_repK_RV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_dmrs_TypeA_Position_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_priodicity_vals[] = {
- { 0, "sym2" },
- { 1, "sym7" },
- { 2, "ms0dot125" },
- { 3, "ms0dot25" },
- { 4, "ms0dot5" },
- { 5, "ms1" },
- { 6, "ms2" },
- { 7, "ms5" },
- { 8, "ms10" },
- { 9, "ms20" },
- { 10, "ms32" },
- { 11, "ms40" },
- { 12, "ms64" },
- { 13, "ms80" },
- { 14, "ms128" },
- { 15, "ms160" },
- { 16, "ms320" },
- { 17, "ms640" },
+
+static int
+dissect_nr_rrc_INTEGER_0_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 16383U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_carrierBandwidthDL_vals[] = {
+ { 0, "n6" },
+ { 1, "n15" },
+ { 2, "n25" },
+ { 3, "n50" },
+ { 4, "n75" },
+ { 5, "n100" },
+ { 6, "spare2" },
+ { 7, "spare1" },
{ 0, NULL }
};
-static value_string_ext nr_rrc_T_priodicity_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_priodicity_vals);
+
+static int
+dissect_nr_rrc_T_carrierBandwidthDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_radioframeAllocationPeriod_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n4" },
+ { 3, "n8" },
+ { 4, "n16" },
+ { 5, "n32" },
+ { 0, NULL }
+};
static int
-dissect_nr_rrc_T_priodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_radioframeAllocationPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 18, NULL, FALSE, 0, NULL);
+ 6, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 24, 24, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_subframeAllocation_vals[] = {
+ { 0, "oneFrame" },
+ { 1, "fourFrames" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_subframeAllocation_choice[] = {
+ { 0, &hf_nr_rrc_oneFrame , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_6 },
+ { 1, &hf_nr_rrc_fourFrames , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_24 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_subframeAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_subframeAllocation, T_subframeAllocation_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_subframeAllocation_v1430_vals[] = {
+ { 0, "oneFrame-v1430" },
+ { 1, "fourFrames-v1430" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_subframeAllocation_v1430_choice[] = {
+ { 0, &hf_nr_rrc_oneFrame_v1430, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_2 },
+ { 1, &hf_nr_rrc_fourFrames_v1430, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_subframeAllocation_v1430(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_subframeAllocation_v1430, T_subframeAllocation_v1430_choice,
+ NULL);
return offset;
}
-static const per_sequence_t T_setup_12_sequence[] = {
- { &hf_nr_rrc_timeDomainOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_timeDomainAllocation, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_frequencyDomainAllocation, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_dmrs , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_mcsAndTBS , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_repK , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
+static const per_sequence_t EUTRA_MBSFN_SubframeConfig_sequence[] = {
+ { &hf_nr_rrc_radioframeAllocationPeriod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_radioframeAllocationPeriod },
+ { &hf_nr_rrc_radioframeAllocationOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 },
+ { &hf_nr_rrc_subframeAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subframeAllocation },
+ { &hf_nr_rrc_subframeAllocation_v1430, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_subframeAllocation_v1430 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_setup_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_EUTRA_MBSFN_SubframeConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_setup_12, T_setup_12_sequence);
+ ett_nr_rrc_EUTRA_MBSFN_SubframeConfig, EUTRA_MBSFN_SubframeConfig_sequence);
return offset;
}
-static const value_string nr_rrc_T_rrcConfiguredUplinkGrant_vals[] = {
- { 0, "setup" },
- { 1, "release" },
+static const per_sequence_t EUTRA_MBSFN_SubframeConfigList_sequence_of[1] = {
+ { &hf_nr_rrc_EUTRA_MBSFN_SubframeConfigList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_MBSFN_SubframeConfig },
+};
+
+static int
+dissect_nr_rrc_EUTRA_MBSFN_SubframeConfigList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_EUTRA_MBSFN_SubframeConfigList, EUTRA_MBSFN_SubframeConfigList_sequence_of,
+ 1, maxMBSFN_Allocations, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_nrofCRS_Ports_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n4" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_nrofCRS_Ports(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_v_Shift_vals[] = {
+ { 0, "n0" },
+ { 1, "n1" },
+ { 2, "n2" },
+ { 3, "n3" },
+ { 4, "n4" },
+ { 5, "n5" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_v_Shift(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 6, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t RateMatchPatternLTE_CRS_sequence[] = {
+ { &hf_nr_rrc_carrierFreqDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_16383 },
+ { &hf_nr_rrc_carrierBandwidthDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_carrierBandwidthDL },
+ { &hf_nr_rrc_mbsfn_SubframeConfigList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_MBSFN_SubframeConfigList },
+ { &hf_nr_rrc_nrofCRS_Ports, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofCRS_Ports },
+ { &hf_nr_rrc_v_Shift , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_v_Shift },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RateMatchPatternLTE_CRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RateMatchPatternLTE_CRS, RateMatchPatternLTE_CRS_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_lte_CRS_ToMatchAround_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t T_rrcConfiguredUplinkGrant_choice[] = {
- { 0, &hf_nr_rrc_setup_16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_setup_12 },
- { 1, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+static const per_choice_t T_lte_CRS_ToMatchAround_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RateMatchPatternLTE_CRS },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_rrcConfiguredUplinkGrant(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_lte_CRS_ToMatchAround(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_rrcConfiguredUplinkGrant, T_rrcConfiguredUplinkGrant_choice,
+ ett_nr_rrc_T_lte_CRS_ToMatchAround, T_lte_CRS_ToMatchAround_choice,
NULL);
return offset;
}
-static const per_sequence_t T_uplink_sequence[] = {
- { &hf_nr_rrc_periodicity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_powerControl , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_transformPrecoder_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecoder_01 },
- { &hf_nr_rrc_nrofHARQ_processes, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_1 },
- { &hf_nr_rrc_repK_RV , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_repK_RV },
- { &hf_nr_rrc_priodicity , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_priodicity },
- { &hf_nr_rrc_rrcConfiguredUplinkGrant, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rrcConfiguredUplinkGrant },
+static const per_sequence_t ServingCellConfigCommon_sequence[] = {
+ { &hf_nr_rrc_physCellId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PhysCellId },
+ { &hf_nr_rrc_frequencyInfoDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_FrequencyInfoDL },
+ { &hf_nr_rrc_initialDownlinkBWP_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_DownlinkCommon },
+ { &hf_nr_rrc_uplinkConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfigCommon },
+ { &hf_nr_rrc_supplementaryUplinkConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfigCommon },
+ { &hf_nr_rrc_ssb_PositionsInBurst_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_PositionsInBurst_01 },
+ { &hf_nr_rrc_ssb_periodicityServingCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_periodicityServingCell },
+ { &hf_nr_rrc_dmrs_TypeA_Position_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dmrs_TypeA_Position_01 },
+ { &hf_nr_rrc_lte_CRS_ToMatchAround, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_lte_CRS_ToMatchAround },
+ { &hf_nr_rrc_rateMatchPatternToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern },
+ { &hf_nr_rrc_rateMatchPatternToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId },
+ { &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing },
+ { &hf_nr_rrc_tdd_UL_DL_ConfigurationCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_ConfigCommon },
+ { &hf_nr_rrc_tdd_UL_DL_ConfigurationCommon2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_ConfigCommon },
+ { &hf_nr_rrc_ss_PBCH_BlockPower, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M60_50 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_uplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_ServingCellConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_uplink, T_uplink_sequence);
+ ett_nr_rrc_ServingCellConfigCommon, ServingCellConfigCommon_sequence);
return offset;
}
-static const per_sequence_t SPS_Config_sequence[] = {
- { &hf_nr_rrc_uplink , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_uplink },
+static const value_string nr_rrc_T_t304_vals[] = {
+ { 0, "ms50" },
+ { 1, "ms100" },
+ { 2, "ms150" },
+ { 3, "ms200" },
+ { 4, "ms500" },
+ { 5, "ms1000" },
+ { 6, "ms2000" },
+ { 7, "ms10000" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_t304(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t CFRA_SSB_Resource_sequence[] = {
+ { &hf_nr_rrc_ssb_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
+ { &hf_nr_rrc_ra_PreambleIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SPS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CFRA_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SPS_Config, SPS_Config_sequence);
+ ett_nr_rrc_CFRA_SSB_Resource, CFRA_SSB_Resource_sequence);
return offset;
}
-static const per_sequence_t T_own_sequence[] = {
- { &hf_nr_rrc_cif_Presence , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+static const per_sequence_t SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource_sequence_of[1] = {
+ { &hf_nr_rrc_ssb_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CFRA_SSB_Resource },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource, SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource_sequence_of,
+ 1, maxRA_SSB_Resources, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_ssb_sequence[] = {
+ { &hf_nr_rrc_ssb_ResourceList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource },
+ { &hf_nr_rrc_ra_ssb_OccasionMaskIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_own(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_ssb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_own, T_own_sequence);
+ ett_nr_rrc_T_ssb, T_ssb_sequence);
return offset;
}
@@ -9276,530 +16436,856 @@ dissect_nr_rrc_T_own(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
static int
-dissect_nr_rrc_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_0_maxRA_Occasions_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 16U, NULL, FALSE);
+ 0U, maxRA_Occasions_1, NULL, FALSE);
return offset;
}
+static const per_sequence_t T_ra_OccasionList_sequence_of[1] = {
+ { &hf_nr_rrc_ra_OccasionList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxRA_Occasions_1 },
+};
static int
-dissect_nr_rrc_INTEGER_1_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 4U, NULL, FALSE);
+dissect_nr_rrc_T_ra_OccasionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_ra_OccasionList, T_ra_OccasionList_sequence_of,
+ 1, maxRA_OccasionsPerCSIRS, FALSE);
return offset;
}
-static const per_sequence_t T_other_sequence[] = {
- { &hf_nr_rrc_schedulingCellId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
- { &hf_nr_rrc_pdsch_Start , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
- { &hf_nr_rrc_cif_InSchedulingCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_7 },
+static const per_sequence_t CFRA_CSIRS_Resource_sequence[] = {
+ { &hf_nr_rrc_csi_RS_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Index },
+ { &hf_nr_rrc_ra_OccasionList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_OccasionList },
+ { &hf_nr_rrc_ra_PreambleIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_other(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CFRA_CSIRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_other, T_other_sequence);
+ ett_nr_rrc_CFRA_CSIRS_Resource, CFRA_CSIRS_Resource_sequence);
return offset;
}
-static const value_string nr_rrc_T_schedulingCellInfo_vals[] = {
- { 0, "own" },
- { 1, "other" },
+static const per_sequence_t SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource_sequence_of[1] = {
+ { &hf_nr_rrc_csirs_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CFRA_CSIRS_Resource },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource, SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource_sequence_of,
+ 1, maxRA_CSIRS_Resources, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_csirs_sequence[] = {
+ { &hf_nr_rrc_csirs_ResourceList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource },
+ { &hf_nr_rrc_cfra_csirs_DedicatedRACH_Threshold, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RSRP_Range },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_csirs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_csirs, T_csirs_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_CFRA_Resources_vals[] = {
+ { 0, "ssb" },
+ { 1, "csirs" },
{ 0, NULL }
};
-static const per_choice_t T_schedulingCellInfo_choice[] = {
- { 0, &hf_nr_rrc_own , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_own },
- { 1, &hf_nr_rrc_other , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_other },
+static const per_choice_t CFRA_Resources_choice[] = {
+ { 0, &hf_nr_rrc_ssb_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_ssb },
+ { 1, &hf_nr_rrc_csirs , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_csirs },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_schedulingCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CFRA_Resources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_schedulingCellInfo, T_schedulingCellInfo_choice,
+ ett_nr_rrc_CFRA_Resources, CFRA_Resources_choice,
NULL);
return offset;
}
-static const per_sequence_t CrossCarrierSchedulingConfig_sequence[] = {
- { &hf_nr_rrc_schedulingCellInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_schedulingCellInfo },
+static const per_sequence_t RACH_ConfigDedicated_sequence[] = {
+ { &hf_nr_rrc_cfra_Resources, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CFRA_Resources },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_CrossCarrierSchedulingConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_RACH_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CrossCarrierSchedulingConfig, CrossCarrierSchedulingConfig_sequence);
+ ett_nr_rrc_RACH_ConfigDedicated, RACH_ConfigDedicated_sequence);
return offset;
}
-static const value_string nr_rrc_T_ue_BeamLockFunction_vals[] = {
- { 0, "enabled" },
+static const value_string nr_rrc_T_rach_ConfigDedicated_vals[] = {
+ { 0, "uplink" },
+ { 1, "supplementaryUplink" },
{ 0, NULL }
};
+static const per_choice_t T_rach_ConfigDedicated_choice[] = {
+ { 0, &hf_nr_rrc_uplink , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RACH_ConfigDedicated },
+ { 1, &hf_nr_rrc_supplementaryUplink_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RACH_ConfigDedicated },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_ue_BeamLockFunction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_rach_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_rach_ConfigDedicated, T_rach_ConfigDedicated_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t ReconfigurationWithSync_sequence[] = {
+ { &hf_nr_rrc_spCellConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServingCellConfigCommon },
+ { &hf_nr_rrc_newUE_Identity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value },
+ { &hf_nr_rrc_t304 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t304 },
+ { &hf_nr_rrc_rach_ConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rach_ConfigDedicated },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_ReconfigurationWithSync(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ReconfigurationWithSync, ReconfigurationWithSync_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_t310_vals[] = {
+ { 0, "ms0" },
+ { 1, "ms50" },
+ { 2, "ms100" },
+ { 3, "ms200" },
+ { 4, "ms500" },
+ { 5, "ms1000" },
+ { 6, "ms2000" },
+ { 7, "ms4000" },
+ { 8, "ms6000" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_t310(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 9, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_pathlossReferenceLinking_vals[] = {
- { 0, "pCell" },
- { 1, "sCell" },
+static const value_string nr_rrc_T_n310_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n3" },
+ { 3, "n4" },
+ { 4, "n6" },
+ { 5, "n8" },
+ { 6, "n10" },
+ { 7, "n20" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_pathlossReferenceLinking(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_n310(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t ServingCellConfigDedicated_sequence[] = {
- { &hf_nr_rrc_tdd_UL_DL_configurationDedicated, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_tdd_UL_DL_configurationDedicated },
- { &hf_nr_rrc_bandwidthParts, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandwidthParts },
- { &hf_nr_rrc_dataScramblingIdentity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NULL },
- { &hf_nr_rrc_pdcch_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PDCCH_Config },
- { &hf_nr_rrc_pdsch_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PDSCH_Config },
- { &hf_nr_rrc_csi_MeasConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CSI_MeasConfig },
- { &hf_nr_rrc_pucch_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_Config },
- { &hf_nr_rrc_pusch_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUSCH_Config },
- { &hf_nr_rrc_srs_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SRS_Config },
- { &hf_nr_rrc_sps_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SPS_Config },
- { &hf_nr_rrc_crossCarrierSchedulingConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CrossCarrierSchedulingConfig },
- { &hf_nr_rrc_tag_Id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG_Id },
- { &hf_nr_rrc_ue_BeamLockFunction, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_BeamLockFunction },
- { &hf_nr_rrc_pathlossReferenceLinking, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pathlossReferenceLinking },
+static const value_string nr_rrc_T_n311_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n3" },
+ { 3, "n4" },
+ { 4, "n5" },
+ { 5, "n6" },
+ { 6, "n8" },
+ { 7, "n10" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_n311(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t RLF_TimersAndConstants_sequence[] = {
+ { &hf_nr_rrc_t310 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t310 },
+ { &hf_nr_rrc_n310 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n310 },
+ { &hf_nr_rrc_n311 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n311 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_ServingCellConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_RLF_TimersAndConstants(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ServingCellConfigDedicated, ServingCellConfigDedicated_sequence);
+ ett_nr_rrc_RLF_TimersAndConstants, RLF_TimersAndConstants_sequence);
return offset;
}
-static const per_sequence_t SpCellConfig_sequence[] = {
- { &hf_nr_rrc_reconfigurationWithSync, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reconfigurationWithSync },
- { &hf_nr_rrc_spCellConfigDedicated, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ServingCellConfigDedicated },
+static const value_string nr_rrc_T_rlf_TimersAndConstants_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_rlf_TimersAndConstants_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RLF_TimersAndConstants },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_rlf_TimersAndConstants(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_rlf_TimersAndConstants, T_rlf_TimersAndConstants_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_TDD_UL_DL_SlotIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofSlots_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_1_maxNrofSymbols_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxNrofSymbols_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_explicit_sequence[] = {
+ { &hf_nr_rrc_nrofDownlinkSymbols_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofSymbols_1 },
+ { &hf_nr_rrc_nrofUplinkSymbols_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofSymbols_1 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SpCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_explicit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SpCellConfig, SpCellConfig_sequence);
+ ett_nr_rrc_T_explicit, T_explicit_sequence);
return offset;
}
+static const value_string nr_rrc_T_symbols_vals[] = {
+ { 0, "allDownlink" },
+ { 1, "allUplink" },
+ { 2, "explicit" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_symbols_choice[] = {
+ { 0, &hf_nr_rrc_allDownlink , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_allUplink , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 2, &hf_nr_rrc_explicit , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_explicit },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_SCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 31U, NULL, FALSE);
+dissect_nr_rrc_T_symbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_symbols, T_symbols_choice,
+ NULL);
return offset;
}
-static const per_sequence_t SCellConfig_sequence[] = {
- { &hf_nr_rrc_sCellIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellIndex },
- { &hf_nr_rrc_sCellConfigCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ServingCellConfigCommon },
- { &hf_nr_rrc_sCellConfigDedicated, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ServingCellConfigDedicated },
+static const per_sequence_t TDD_UL_DL_SlotConfig_sequence[] = {
+ { &hf_nr_rrc_slotIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_SlotIndex },
+ { &hf_nr_rrc_symbols , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_symbols },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_TDD_UL_DL_SlotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SCellConfig, SCellConfig_sequence);
+ ett_nr_rrc_TDD_UL_DL_SlotConfig, TDD_UL_DL_SlotConfig_sequence);
return offset;
}
-static const per_sequence_t SCellToAddModList_sequence_of[1] = {
- { &hf_nr_rrc_SCellToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellConfig },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_sequence_of[1] = {
+ { &hf_nr_rrc_slotSpecificConfigurationsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_SlotConfig },
};
static int
-dissect_nr_rrc_SCellToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SCellToAddModList, SCellToAddModList_sequence_of,
- 1, maxNrofSCells, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig, SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_sequence_of,
+ 1, maxNrofSlots, FALSE);
return offset;
}
-static const per_sequence_t SCellToReleaseList_sequence_of[1] = {
- { &hf_nr_rrc_SCellToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellIndex },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex_sequence_of[1] = {
+ { &hf_nr_rrc_slotSpecificConfigurationsToreleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_SlotIndex },
};
static int
-dissect_nr_rrc_SCellToReleaseList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SCellToReleaseList, SCellToReleaseList_sequence_of,
- 1, maxNrofSCells, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex, SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex_sequence_of,
+ 1, maxNrofSlots, FALSE);
return offset;
}
-static const per_sequence_t CellGroupConfig_sequence[] = {
- { &hf_nr_rrc_cellGroupId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupId },
- { &hf_nr_rrc_rlc_BearerToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxLCH_OF_LCH_Config },
- { &hf_nr_rrc_rlc_BearerToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxLCH_OF_LogicalChannelIdentity },
- { &hf_nr_rrc_mac_CellGroupConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_CellGroupConfig },
- { &hf_nr_rrc_rlf_TimersAndConstants, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RLF_TimersAndConstants },
- { &hf_nr_rrc_physical_CellGroupConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PhysicalCellGroupConfig },
- { &hf_nr_rrc_spCellConfig , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SpCellConfig },
- { &hf_nr_rrc_sCellToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SCellToAddModList },
- { &hf_nr_rrc_sCellToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SCellToReleaseList },
+static const per_sequence_t TDD_UL_DL_ConfigDedicated_sequence[] = {
+ { &hf_nr_rrc_slotSpecificConfigurationsToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig },
+ { &hf_nr_rrc_slotSpecificConfigurationsToreleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_CellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_TDD_UL_DL_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CellGroupConfig, CellGroupConfig_sequence);
+ ett_nr_rrc_TDD_UL_DL_ConfigDedicated, TDD_UL_DL_ConfigDedicated_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxSCellGroups_OF_CellGroupConfig_sequence_of[1] = {
- { &hf_nr_rrc_secondaryCellGroupToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupConfig },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id_sequence_of[1] = {
+ { &hf_nr_rrc_downlinkBWP_ToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCellGroups_OF_CellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxSCellGroups_OF_CellGroupConfig, SEQUENCE_SIZE_1_maxSCellGroups_OF_CellGroupConfig_sequence_of,
- 1, maxSCellGroups, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id, SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id_sequence_of,
+ 1, maxNrofBWPs, FALSE);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxSCellGroups_OF_CellGroupId_sequence_of[1] = {
- { &hf_nr_rrc_secondaryCellGroupToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupId },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink_sequence_of[1] = {
+ { &hf_nr_rrc_downlinkBWP_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Downlink },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCellGroups_OF_CellGroupId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxSCellGroups_OF_CellGroupId, SEQUENCE_SIZE_1_maxSCellGroups_OF_CellGroupId_sequence_of,
- 1, maxSCellGroups, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink, SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink_sequence_of,
+ 1, maxNrofBWPs, FALSE);
return offset;
}
+static const value_string nr_rrc_T_bwp_InactivityTimer_vals[] = {
+ { 0, "ms2" },
+ { 1, "ms3" },
+ { 2, "ms4" },
+ { 3, "ms5" },
+ { 4, "ms6" },
+ { 5, "ms8" },
+ { 6, "ms10" },
+ { 7, "ms20" },
+ { 8, "ms30" },
+ { 9, "ms40" },
+ { 10, "ms50" },
+ { 11, "ms60" },
+ { 12, "ms80" },
+ { 13, "ms100" },
+ { 14, "ms200" },
+ { 15, "ms300" },
+ { 16, "ms500" },
+ { 17, "ms750" },
+ { 18, "ms1280" },
+ { 19, "ms1920" },
+ { 20, "ms2560" },
+ { 21, "spare10" },
+ { 22, "spare9" },
+ { 23, "spare8" },
+ { 24, "spare7" },
+ { 25, "spare6" },
+ { 26, "spare5" },
+ { 27, "spare4" },
+ { 28, "spare3" },
+ { 29, "spare2" },
+ { 30, "spare1" },
+ { 0, NULL }
+};
+
+static value_string_ext nr_rrc_T_bwp_InactivityTimer_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_bwp_InactivityTimer_vals);
+
static int
-dissect_nr_rrc_MeasObjectId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxNrofObjectId, NULL, FALSE);
+dissect_nr_rrc_T_bwp_InactivityTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 31, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t MeasObjectToRemoveList_sequence_of[1] = {
- { &hf_nr_rrc_MeasObjectToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectId },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink_sequence_of[1] = {
+ { &hf_nr_rrc_uplinkBWP_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Uplink },
};
static int
-dissect_nr_rrc_MeasObjectToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasObjectToRemoveList, MeasObjectToRemoveList_sequence_of,
- 1, maxNrofObjectId, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink, SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink_sequence_of,
+ 1, maxNrofBWPs, FALSE);
return offset;
}
-static const value_string nr_rrc_T_periodicityAndOffset_vals[] = {
- { 0, "sf5" },
- { 1, "sf10" },
- { 2, "sf20" },
- { 3, "sf40" },
- { 4, "sf80" },
- { 5, "sf160" },
+static const value_string nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01_vals[] = {
+ { 0, "n2" },
+ { 1, "n4" },
+ { 2, "n6" },
+ { 3, "n8" },
{ 0, NULL }
};
-static const per_choice_t T_periodicityAndOffset_choice[] = {
- { 0, &hf_nr_rrc_sf5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
- { 1, &hf_nr_rrc_sf10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
- { 2, &hf_nr_rrc_sf20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
- { 3, &hf_nr_rrc_sf40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
- { 4, &hf_nr_rrc_sf80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
- { 5, &hf_nr_rrc_sf160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
+
+static int
+dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUSCH_CodeBlockGroupGransmission_sequence[] = {
+ { &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUSCH_CodeBlockGroupGransmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUSCH_CodeBlockGroupGransmission, PUSCH_CodeBlockGroupGransmission_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_codeBlockGroupTransmission_01_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_codeBlockGroupTransmission_01_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_35 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_CodeBlockGroupGransmission },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_periodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_codeBlockGroupTransmission_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_periodicityAndOffset, T_periodicityAndOffset_choice,
+ ett_nr_rrc_T_codeBlockGroupTransmission_01, T_codeBlockGroupTransmission_01_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_duration_vals[] = {
- { 0, "sf1" },
- { 1, "sf5" },
+static const value_string nr_rrc_T_rateMatching_vals[] = {
+ { 0, "limitedBufferRM" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_duration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_rateMatching(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_setup_02_vals[] = {
- { 0, "shortBitmap" },
- { 1, "mediumBitmap" },
- { 2, "longBitmap" },
+static const value_string nr_rrc_T_xOverhead_01_vals[] = {
+ { 0, "xoh6" },
+ { 1, "xoh12" },
+ { 2, "xoh18" },
{ 0, NULL }
};
-static const per_choice_t T_setup_02_choice[] = {
- { 0, &hf_nr_rrc_shortBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 },
- { 1, &hf_nr_rrc_mediumBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
- { 2, &hf_nr_rrc_longBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 },
- { 0, NULL, 0, NULL }
+
+static int
+dissect_nr_rrc_T_xOverhead_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUSCH_ServingCellConfig_sequence[] = {
+ { &hf_nr_rrc_codeBlockGroupTransmission_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_codeBlockGroupTransmission_01 },
+ { &hf_nr_rrc_rateMatching , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatching },
+ { &hf_nr_rrc_xOverhead_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_xOverhead_01 },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_setup_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_setup_02, T_setup_02_choice,
- NULL);
+dissect_nr_rrc_PUSCH_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUSCH_ServingCellConfig, PUSCH_ServingCellConfig_sequence);
return offset;
}
-static const value_string nr_rrc_T_ssb_ToMeasure_vals[] = {
+static const value_string nr_rrc_T_pusch_ServingCellConfig_vals[] = {
{ 0, "release" },
{ 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t T_ssb_ToMeasure_choice[] = {
+static const per_choice_t T_pusch_ServingCellConfig_choice[] = {
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_setup_02 },
+ { 1, &hf_nr_rrc_setup_39 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_ServingCellConfig },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_ssb_ToMeasure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_pusch_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_ssb_ToMeasure, T_ssb_ToMeasure_choice,
+ ett_nr_rrc_T_pusch_ServingCellConfig, T_pusch_ServingCellConfig_choice,
NULL);
return offset;
}
-static const per_sequence_t T_smtc1_sequence[] = {
- { &hf_nr_rrc_periodicityAndOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicityAndOffset },
- { &hf_nr_rrc_duration , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_duration },
- { &hf_nr_rrc_ssb_ToMeasure, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_ToMeasure },
+static const per_sequence_t UplinkConfig_sequence[] = {
+ { &hf_nr_rrc_initialUplinkBWP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_UplinkDedicated },
+ { &hf_nr_rrc_uplinkBWP_ToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id },
+ { &hf_nr_rrc_uplinkBWP_ToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink },
+ { &hf_nr_rrc_firstActiveUplinkBWP_Id, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_Id },
+ { &hf_nr_rrc_pusch_ServingCellConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_ServingCellConfig },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_smtc1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_UplinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_smtc1, T_smtc1_sequence);
+ ett_nr_rrc_UplinkConfig, UplinkConfig_sequence);
return offset;
}
+static const value_string nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_vals[] = {
+ { 0, "n2" },
+ { 1, "n4" },
+ { 2, "n6" },
+ { 3, "n8" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_PhysicalCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_nr_rrc_PhysCellId(tvb, offset, actx, tree, hf_index);
+dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysicalCellId_sequence_of[1] = {
- { &hf_nr_rrc_pci_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysicalCellId },
+static const per_sequence_t PDSCH_CodeBlockGroupTransmission_sequence[] = {
+ { &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock },
+ { &hf_nr_rrc_codeBlockGroupFlushIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysicalCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysicalCellId, SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysicalCellId_sequence_of,
- 1, maxNrofPCIsPerSMTC, FALSE);
+dissect_nr_rrc_PDSCH_CodeBlockGroupTransmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PDSCH_CodeBlockGroupTransmission, PDSCH_CodeBlockGroupTransmission_sequence);
return offset;
}
-static const per_sequence_t T_smtc2_sequence[] = {
- { &hf_nr_rrc_pci_List , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysicalCellId },
- { &hf_nr_rrc_periodicty , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_codeBlockGroupTransmission_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_codeBlockGroupTransmission_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_31 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_CodeBlockGroupTransmission },
+ { 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_smtc2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_smtc2, T_smtc2_sequence);
+dissect_nr_rrc_T_codeBlockGroupTransmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_codeBlockGroupTransmission, T_codeBlockGroupTransmission_choice,
+ NULL);
return offset;
}
-static const per_sequence_t SSB_MeasurementTimingConfiguration_sequence[] = {
- { &hf_nr_rrc_smtc1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_smtc1 },
- { &hf_nr_rrc_smtc2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_smtc2 },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_xOverhead_vals[] = {
+ { 0, "xOh6" },
+ { 1, "xOh12" },
+ { 2, "xOh18" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_SSB_MeasurementTimingConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SSB_MeasurementTimingConfiguration, SSB_MeasurementTimingConfiguration_sequence);
+dissect_nr_rrc_T_xOverhead(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_present_sequence[] = {
- { &hf_nr_rrc_frequencyOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_subcarrierSpacing_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_nrofHARQ_ProcessesForPDSCH_vals[] = {
+ { 0, "n2" },
+ { 1, "n4" },
+ { 2, "n6" },
+ { 3, "n10" },
+ { 4, "n12" },
+ { 5, "n16" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_T_present(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_present, T_present_sequence);
+dissect_nr_rrc_T_nrofHARQ_ProcessesForPDSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 6, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_notPresent_sequence[] = {
+static const per_sequence_t PDSCH_ServingCellConfig_sequence[] = {
+ { &hf_nr_rrc_codeBlockGroupTransmission, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_codeBlockGroupTransmission },
+ { &hf_nr_rrc_xOverhead , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_xOverhead },
+ { &hf_nr_rrc_nrofHARQ_ProcessesForPDSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofHARQ_ProcessesForPDSCH },
+ { &hf_nr_rrc_pucch_Cell , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_notPresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PDSCH_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_notPresent, T_notPresent_sequence);
+ ett_nr_rrc_PDSCH_ServingCellConfig, PDSCH_ServingCellConfig_sequence);
return offset;
}
-static const value_string nr_rrc_T_ssbPresence_vals[] = {
- { 0, "present" },
- { 1, "notPresent" },
+static const value_string nr_rrc_T_pdsch_ServingCellConfig_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t T_ssbPresence_choice[] = {
- { 0, &hf_nr_rrc_present , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_present },
- { 1, &hf_nr_rrc_notPresent , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_notPresent },
+static const per_choice_t T_pdsch_ServingCellConfig_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_36 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_ServingCellConfig },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_ssbPresence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_pdsch_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_ssbPresence, T_ssbPresence_choice,
+ ett_nr_rrc_T_pdsch_ServingCellConfig, T_pdsch_ServingCellConfig_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_csi_rs_measurementBW_size_vals[] = {
- { 0, "size24" },
- { 1, "size48" },
- { 2, "size96" },
- { 3, "size192" },
- { 4, "size268" },
+
+static int
+dissect_nr_rrc_INTEGER_M8_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ -8, 15U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_powerControlOffsetSS_vals[] = {
+ { 0, "db-3" },
+ { 1, "db0" },
+ { 2, "db3" },
+ { 3, "db6" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_csi_rs_measurementBW_size(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_powerControlOffsetSS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 5, NULL, FALSE, 0, NULL);
+ 4, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_csi_rs_measurement_BW_start_vals[] = {
- { 0, "ffsTypeAndValue" },
+
+static int
+dissect_nr_rrc_ScramblingId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 1023U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t NZP_CSI_RS_Resource_sequence[] = {
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+ { &hf_nr_rrc_resourceMapping, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_ResourceMapping },
+ { &hf_nr_rrc_powerControlOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M8_15 },
+ { &hf_nr_rrc_powerControlOffsetSS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_powerControlOffsetSS },
+ { &hf_nr_rrc_scramblingID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ScramblingId },
+ { &hf_nr_rrc_periodicityAndOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ResourcePeriodicityAndOffset },
+ { &hf_nr_rrc_qcl_InfoPeriodicCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_TCI_StateId },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_NZP_CSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_NZP_CSI_RS_Resource, NZP_CSI_RS_Resource_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource_sequence_of[1] = {
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_Resource },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource_sequence_of,
+ 1, maxNrofNZP_CSI_RS_Resources, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId_sequence_of[1] = {
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId_sequence_of,
+ 1, maxNrofNZP_CSI_RS_Resources, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId_sequence_of[1] = {
+ { &hf_nr_rrc_nzp_CSI_RS_Resources_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId_sequence_of,
+ 1, maxNrofNZP_CSI_RS_ResourcesPerSet, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_repetition_vals[] = {
+ { 0, "on" },
+ { 1, "off" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_csi_rs_measurement_BW_start(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_repetition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_associated_SSB_vals[] = {
- { 0, "ffsTypeAndValue" },
+static const value_string nr_rrc_T_trs_Info_vals[] = {
+ { 0, "true" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_associated_SSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_trs_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -9807,19 +17293,47 @@ dissect_nr_rrc_T_associated_SSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
}
-static const per_sequence_t T_csi_rs_MeasurementBW_sequence[] = {
- { &hf_nr_rrc_csi_rs_measurementBW_size, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_csi_rs_measurementBW_size },
- { &hf_nr_rrc_csi_rs_measurement_BW_start, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_csi_rs_measurement_BW_start },
- { &hf_nr_rrc_associated_SSB, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_associated_SSB },
- { &hf_nr_rrc_qcled_SSB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_isServingCellMO, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+static const per_sequence_t NZP_CSI_RS_ResourceSet_sequence[] = {
+ { &hf_nr_rrc_nzp_CSI_ResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSetId },
+ { &hf_nr_rrc_nzp_CSI_RS_Resources, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId },
+ { &hf_nr_rrc_repetition , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_repetition },
+ { &hf_nr_rrc_aperiodicTriggeringOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_4 },
+ { &hf_nr_rrc_trs_Info , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_trs_Info },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_csi_rs_MeasurementBW(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_NZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_csi_rs_MeasurementBW, T_csi_rs_MeasurementBW_sequence);
+ ett_nr_rrc_NZP_CSI_RS_ResourceSet, NZP_CSI_RS_ResourceSet_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet_sequence_of[1] = {
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSet },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet_sequence_of,
+ 1, maxNrofNZP_CSI_RS_ResourceSets, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId_sequence_of[1] = {
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSetId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId_sequence_of,
+ 1, maxNrofNZP_CSI_RS_ResourceSets, FALSE);
return offset;
}
@@ -9827,150 +17341,220 @@ dissect_nr_rrc_T_csi_rs_MeasurementBW(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
static int
-dissect_nr_rrc_CSI_RS_ResourceId_RRM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CSI_IM_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofCSI_RS_ResourcesRRM_1, NULL, FALSE);
+ 0U, maxNrofCSI_IM_Resources_1, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_T_slotConfig_vals[] = {
- { 0, "ms5" },
- { 1, "ms10" },
- { 2, "ms20" },
- { 3, "ms40" },
- { 4, "ms80" },
- { 5, "ms160" },
+static const value_string nr_rrc_T_subcarrierLocation_p0_vals[] = {
+ { 0, "s0" },
+ { 1, "s2" },
+ { 2, "s4" },
+ { 3, "s6" },
+ { 4, "s8" },
+ { 5, "s10" },
{ 0, NULL }
};
-static const per_choice_t T_slotConfig_choice[] = {
- { 0, &hf_nr_rrc_ms5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
- { 1, &hf_nr_rrc_ms10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
- { 2, &hf_nr_rrc_ms20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
- { 3, &hf_nr_rrc_ms40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
- { 4, &hf_nr_rrc_ms80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
- { 5, &hf_nr_rrc_ms160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
- { 0, NULL, 0, NULL }
-};
static int
-dissect_nr_rrc_T_slotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_slotConfig, T_slotConfig_choice,
- NULL);
+dissect_nr_rrc_T_subcarrierLocation_p0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 6, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t CSI_RS_Resource_Mobility_sequence[] = {
- { &hf_nr_rrc_csi_rs_ResourceId_RRM, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_ResourceId_RRM },
- { &hf_nr_rrc_cellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysicalCellId },
- { &hf_nr_rrc_slotConfig , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_slotConfig },
- { &hf_nr_rrc_resourceElementMappingPattern, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_sequenceGenerationConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
+
+static int
+dissect_nr_rrc_INTEGER_0_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 12U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_pattern0_sequence[] = {
+ { &hf_nr_rrc_subcarrierLocation_p0, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subcarrierLocation_p0 },
+ { &hf_nr_rrc_symbolLocation_p0, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_12 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_CSI_RS_Resource_Mobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_pattern0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CSI_RS_Resource_Mobility, CSI_RS_Resource_Mobility_sequence);
+ ett_nr_rrc_T_pattern0, T_pattern0_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility_sequence_of[1] = {
- { &hf_nr_rrc_csi_rs_ResourceList_Mobility_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Resource_Mobility },
+static const value_string nr_rrc_T_subcarrierLocation_p1_vals[] = {
+ { 0, "s0" },
+ { 1, "s4" },
+ { 2, "s8" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility, SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility_sequence_of,
- 1, maxNrofCSI_RS_ResourcesRRM, FALSE);
+dissect_nr_rrc_T_subcarrierLocation_p1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t CSI_RS_ResourceConfig_Mobility_sequence[] = {
- { &hf_nr_rrc_csi_rs_MeasurementBW, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_csi_rs_MeasurementBW },
- { &hf_nr_rrc_subcarrierSpacing_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
- { &hf_nr_rrc_csi_rs_ResourceList_Mobility, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility },
+static const per_sequence_t T_pattern1_sequence[] = {
+ { &hf_nr_rrc_subcarrierLocation_p1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subcarrierLocation_p1 },
+ { &hf_nr_rrc_symbolLocation_p1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_CSI_RS_ResourceConfig_Mobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_pattern1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CSI_RS_ResourceConfig_Mobility, CSI_RS_ResourceConfig_Mobility_sequence);
+ ett_nr_rrc_T_pattern1, T_pattern1_sequence);
return offset;
}
-static const per_sequence_t ReferenceSignalConfig_sequence[] = {
- { &hf_nr_rrc_ssb_MeasurementTimingConfiguration, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MeasurementTimingConfiguration },
- { &hf_nr_rrc_ssbPresence , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ssbPresence },
- { &hf_nr_rrc_csi_rs_ResourceConfig_Mobility, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CSI_RS_ResourceConfig_Mobility },
- { &hf_nr_rrc_useServingCellTimingForSync, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+static const value_string nr_rrc_T_csi_IM_ResourceElementPattern_vals[] = {
+ { 0, "pattern0" },
+ { 1, "pattern1" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_csi_IM_ResourceElementPattern_choice[] = {
+ { 0, &hf_nr_rrc_pattern0 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_pattern0 },
+ { 1, &hf_nr_rrc_pattern1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_pattern1 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_csi_IM_ResourceElementPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_csi_IM_ResourceElementPattern, T_csi_IM_ResourceElementPattern_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t CSI_IM_Resource_sequence[] = {
+ { &hf_nr_rrc_csi_IM_ResourceId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceId },
+ { &hf_nr_rrc_csi_IM_ResourceElementPattern, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_IM_ResourceElementPattern },
+ { &hf_nr_rrc_freqBand , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_FrequencyOccupation },
+ { &hf_nr_rrc_periodicityAndOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ResourcePeriodicityAndOffset },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_ReferenceSignalConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CSI_IM_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ReferenceSignalConfig, ReferenceSignalConfig_sequence);
+ ett_nr_rrc_CSI_IM_Resource, CSI_IM_Resource_sequence);
return offset;
}
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource_sequence_of[1] = {
+ { &hf_nr_rrc_csi_IM_ResourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_Resource },
+};
static int
-dissect_nr_rrc_SINR_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource, SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource_sequence_of,
+ 1, maxNrofCSI_IM_Resources, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId_sequence_of[1] = {
+ { &hf_nr_rrc_csi_IM_ResourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId, SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId_sequence_of,
+ 1, maxNrofCSI_IM_Resources, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_CSI_IM_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 127U, NULL, FALSE);
+ 0U, maxNrofCSI_IM_ResourceSets_1, NULL, FALSE);
return offset;
}
-static const per_sequence_t ThresholdNR_sequence[] = {
- { &hf_nr_rrc_threshold_RSRP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range },
- { &hf_nr_rrc_threshold_RSRQ, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_Range },
- { &hf_nr_rrc_threshold_SINR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SINR_Range },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId_sequence_of[1] = {
+ { &hf_nr_rrc_csi_IM_Resources_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId, SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId_sequence_of,
+ 1, maxNrofCSI_IM_ResourcesPerSet, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t CSI_IM_ResourceSet_sequence[] = {
+ { &hf_nr_rrc_csi_IM_ResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceSetId },
+ { &hf_nr_rrc_csi_IM_Resources, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_ThresholdNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CSI_IM_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ThresholdNR, ThresholdNR_sequence);
+ ett_nr_rrc_CSI_IM_ResourceSet, CSI_IM_ResourceSet_sequence);
return offset;
}
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet_sequence_of[1] = {
+ { &hf_nr_rrc_csi_IM_ResourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceSet },
+};
static int
-dissect_nr_rrc_INTEGER_2_maxNroSS_BlocksToAverage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 2U, maxNroSS_BlocksToAverage, NULL, FALSE);
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet, SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet_sequence_of,
+ 1, maxNrofCSI_IM_ResourceSets, FALSE);
return offset;
}
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId_sequence_of[1] = {
+ { &hf_nr_rrc_csi_IM_ResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceSetId },
+};
static int
-dissect_nr_rrc_INTEGER_2_maxNroCSI_RS_ResourcesToAverage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 2U, maxNroCSI_RS_ResourcesToAverage, NULL, FALSE);
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId, SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId_sequence_of,
+ 1, maxNrofCSI_IM_ResourceSets, FALSE);
return offset;
}
@@ -9978,99 +17562,66 @@ dissect_nr_rrc_INTEGER_2_maxNroCSI_RS_ResourcesToAverage(tvbuff_t *tvb _U_, int
static int
-dissect_nr_rrc_INTEGER_1_maxQuantityConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CSI_SSB_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxQuantityConfigId, NULL, FALSE);
+ 0U, maxNrofCSI_SSB_ResourceSets_1, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_Q_OffsetRange_vals[] = {
- { 0, "dB-24" },
- { 1, "dB-22" },
- { 2, "dB-20" },
- { 3, "dB-18" },
- { 4, "dB-16" },
- { 5, "dB-14" },
- { 6, "dB-12" },
- { 7, "dB-10" },
- { 8, "dB-8" },
- { 9, "dB-6" },
- { 10, "dB-5" },
- { 11, "dB-4" },
- { 12, "dB-3" },
- { 13, "dB-2" },
- { 14, "dB-1" },
- { 15, "dB0" },
- { 16, "dB1" },
- { 17, "dB2" },
- { 18, "dB3" },
- { 19, "dB4" },
- { 20, "dB5" },
- { 21, "dB6" },
- { 22, "dB8" },
- { 23, "dB10" },
- { 24, "dB12" },
- { 25, "dB14" },
- { 26, "dB16" },
- { 27, "dB18" },
- { 28, "dB20" },
- { 29, "dB22" },
- { 30, "dB24" },
- { 0, NULL }
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index_sequence_of[1] = {
+ { &hf_nr_rrc_csi_SSB_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
};
-static value_string_ext nr_rrc_Q_OffsetRange_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_Q_OffsetRange_vals);
-
-
static int
-dissect_nr_rrc_Q_OffsetRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 31, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index, SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index_sequence_of,
+ 1, maxNrofCSI_SSB_ResourcePerSet, FALSE);
return offset;
}
-static const per_sequence_t Q_OffsetRangeList_sequence[] = {
- { &hf_nr_rrc_rsrpOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
- { &hf_nr_rrc_rsrqOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
- { &hf_nr_rrc_sinrOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
- { &hf_nr_rrc_rsrpOffsetCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
- { &hf_nr_rrc_rsrqOffsetCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
- { &hf_nr_rrc_sinrOffsetCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
+static const per_sequence_t CSI_SSB_ResourceSet_sequence[] = {
+ { &hf_nr_rrc_csi_SSB_ResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SSB_ResourceSetId },
+ { &hf_nr_rrc_csi_SSB_ResourceList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_Q_OffsetRangeList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CSI_SSB_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_Q_OffsetRangeList, Q_OffsetRangeList_sequence);
+ ett_nr_rrc_CSI_SSB_ResourceSet, CSI_SSB_ResourceSet_sequence);
return offset;
}
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet_sequence_of[1] = {
+ { &hf_nr_rrc_csi_SSB_ResourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SSB_ResourceSet },
+};
static int
-dissect_nr_rrc_CellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxNrofCellMeas, NULL, FALSE);
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet, SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet_sequence_of,
+ 1, maxNrofCSI_SSB_ResourceSets, FALSE);
return offset;
}
-static const per_sequence_t CellIndexList_sequence_of[1] = {
- { &hf_nr_rrc_CellIndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellIndex },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId_sequence_of[1] = {
+ { &hf_nr_rrc_csi_SSB_ResourceSetToAddReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SSB_ResourceSetId },
};
static int
-dissect_nr_rrc_CellIndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CellIndexList, CellIndexList_sequence_of,
- 1, maxNrofCellMeas, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId, SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId_sequence_of,
+ 1, maxNrofCSI_SSB_ResourceSets, FALSE);
return offset;
}
@@ -10078,271 +17629,384 @@ dissect_nr_rrc_CellIndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
-dissect_nr_rrc_INTEGER_1_maxNrofCellMeas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CSI_ResourceConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxNrofCellMeas, NULL, FALSE);
+ 0U, maxNrofCSI_ResourceConfigurations_1, NULL, FALSE);
return offset;
}
-static const per_sequence_t CellsToAddMod_sequence[] = {
- { &hf_nr_rrc_cellIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofCellMeas },
- { &hf_nr_rrc_physCellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
- { &hf_nr_rrc_cellIndividualOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRangeList },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId_sequence_of[1] = {
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceSetList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSetId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId_sequence_of,
+ 1, maxNrofNZP_CSI_RS_ResourceSetsPerConfig, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId_sequence_of[1] = {
+ { &hf_nr_rrc_csi_SSB_ResourceSetList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SSB_ResourceSetId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId, SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId_sequence_of,
+ 1, maxNrofCSI_SSB_ResourceSetsPerConfig, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nzp_CSI_RS_SSB_sequence[] = {
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceSetList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId },
+ { &hf_nr_rrc_csi_SSB_ResourceSetList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_CellsToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nzp_CSI_RS_SSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CellsToAddMod, CellsToAddMod_sequence);
+ ett_nr_rrc_T_nzp_CSI_RS_SSB, T_nzp_CSI_RS_SSB_sequence);
return offset;
}
-static const per_sequence_t CellsToAddModList_sequence_of[1] = {
- { &hf_nr_rrc_CellsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellsToAddMod },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId_sequence_of[1] = {
+ { &hf_nr_rrc_csi_IM_ResourceSetList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceSetId },
};
static int
-dissect_nr_rrc_CellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CellsToAddModList, CellsToAddModList_sequence_of,
- 1, maxNrofCellMeas, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId, SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId_sequence_of,
+ 1, maxNrofCSI_IM_ResourceSetsPerConfig, FALSE);
return offset;
}
-static const value_string nr_rrc_T_range_vals[] = {
- { 0, "n4" },
- { 1, "n8" },
- { 2, "n12" },
- { 3, "n16" },
- { 4, "n24" },
- { 5, "n32" },
- { 6, "n48" },
- { 7, "n64" },
- { 8, "n84" },
- { 9, "n96" },
- { 10, "n128" },
- { 11, "n168" },
- { 12, "n252" },
- { 13, "n504" },
- { 14, "spare2" },
- { 15, "spare1" },
+static const value_string nr_rrc_T_csi_RS_ResourceSetList_vals[] = {
+ { 0, "nzp-CSI-RS-SSB" },
+ { 1, "csi-IM-ResourceSetList" },
{ 0, NULL }
};
+static const per_choice_t T_csi_RS_ResourceSetList_choice[] = {
+ { 0, &hf_nr_rrc_nzp_CSI_RS_SSB, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nzp_CSI_RS_SSB },
+ { 1, &hf_nr_rrc_csi_IM_ResourceSetList, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_csi_RS_ResourceSetList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_csi_RS_ResourceSetList, T_csi_RS_ResourceSetList_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_resourceType_vals[] = {
+ { 0, "aperiodic" },
+ { 1, "semiPersistent" },
+ { 2, "periodic" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_resourceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 16, NULL, FALSE, 0, NULL);
+ 3, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t PhysCellIdRange_sequence[] = {
- { &hf_nr_rrc_start , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
- { &hf_nr_rrc_range , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_range },
+static const per_sequence_t CSI_ResourceConfig_sequence[] = {
+ { &hf_nr_rrc_csi_ResourceConfigId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceConfigId },
+ { &hf_nr_rrc_csi_RS_ResourceSetList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_csi_RS_ResourceSetList },
+ { &hf_nr_rrc_bwp_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
+ { &hf_nr_rrc_resourceType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PhysCellIdRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CSI_ResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PhysCellIdRange, PhysCellIdRange_sequence);
+ ett_nr_rrc_CSI_ResourceConfig, CSI_ResourceConfig_sequence);
return offset;
}
-static const per_sequence_t BlackCellsToAddMod_sequence[] = {
- { &hf_nr_rrc_cellIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofCellMeas },
- { &hf_nr_rrc_physCellIdRange, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellIdRange },
- { NULL, 0, 0, NULL }
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig_sequence_of[1] = {
+ { &hf_nr_rrc_csi_ResourceConfigToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceConfig },
};
static int
-dissect_nr_rrc_BlackCellsToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_BlackCellsToAddMod, BlackCellsToAddMod_sequence);
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig, SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig_sequence_of,
+ 1, maxNrofCSI_ResourceConfigurations, FALSE);
return offset;
}
-static const per_sequence_t BlackCellsToAddModList_sequence_of[1] = {
- { &hf_nr_rrc_BlackCellsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BlackCellsToAddMod },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId_sequence_of[1] = {
+ { &hf_nr_rrc_csi_ResourceConfigToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceConfigId },
};
static int
-dissect_nr_rrc_BlackCellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_BlackCellsToAddModList, BlackCellsToAddModList_sequence_of,
- 1, maxNrofCellMeas, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId, SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId_sequence_of,
+ 1, maxNrofCSI_ResourceConfigurations, FALSE);
return offset;
}
-static const per_sequence_t WhiteCellsToAddMod_sequence[] = {
- { &hf_nr_rrc_cellIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofCellMeas },
- { &hf_nr_rrc_physCellIdRange, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellIdRange },
- { NULL, 0, 0, NULL }
+
+static int
+dissect_nr_rrc_CSI_ReportConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofCSI_ReportConfigurations_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_CSI_ReportPeriodicityAndOffset_vals[] = {
+ { 0, "slots4" },
+ { 1, "slots5" },
+ { 2, "slots8" },
+ { 3, "slots10" },
+ { 4, "slots16" },
+ { 5, "slots20" },
+ { 6, "slots40" },
+ { 7, "slots80" },
+ { 8, "slots160" },
+ { 9, "slots320" },
+ { 0, NULL }
+};
+
+static const per_choice_t CSI_ReportPeriodicityAndOffset_choice[] = {
+ { 0, &hf_nr_rrc_slots4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 },
+ { 1, &hf_nr_rrc_slots5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
+ { 2, &hf_nr_rrc_slots8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 },
+ { 3, &hf_nr_rrc_slots10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
+ { 4, &hf_nr_rrc_slots16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 },
+ { 5, &hf_nr_rrc_slots20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
+ { 6, &hf_nr_rrc_slots40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
+ { 7, &hf_nr_rrc_slots80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
+ { 8, &hf_nr_rrc_slots160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
+ { 9, &hf_nr_rrc_slots320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
+ { 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_WhiteCellsToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_WhiteCellsToAddMod, WhiteCellsToAddMod_sequence);
+dissect_nr_rrc_CSI_ReportPeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CSI_ReportPeriodicityAndOffset, CSI_ReportPeriodicityAndOffset_choice,
+ NULL);
return offset;
}
-static const per_sequence_t WhiteCellsToAddModList_sequence_of[1] = {
- { &hf_nr_rrc_WhiteCellsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_WhiteCellsToAddMod },
+static const value_string nr_rrc_PUCCH_CSI_Resource_vals[] = {
+ { 0, "uplinkBandwidthPartId" },
+ { 1, "pucch-Resource" },
+ { 0, NULL }
+};
+
+static const per_choice_t PUCCH_CSI_Resource_choice[] = {
+ { 0, &hf_nr_rrc_uplinkBandwidthPartId, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BWP_Id },
+ { 1, &hf_nr_rrc_pucch_Resource, ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_Resource },
+ { 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_WhiteCellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PUCCH_CSI_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_CSI_Resource, PUCCH_CSI_Resource_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource_sequence_of[1] = {
+ { &hf_nr_rrc_pucch_CSI_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_CSI_Resource },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_WhiteCellsToAddModList, WhiteCellsToAddModList_sequence_of,
- 1, maxNrofCellMeas, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource, SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource_sequence_of,
+ 1, maxNrofBWPs, FALSE);
return offset;
}
-static const per_sequence_t MeasObjectNR_sequence[] = {
- { &hf_nr_rrc_carrierFreq , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
- { &hf_nr_rrc_referenceSignalConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ReferenceSignalConfig },
- { &hf_nr_rrc_absThreshSS_BlocksConsolidation, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ThresholdNR },
- { &hf_nr_rrc_absThreshCSI_RS_Consolidation, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ThresholdNR },
- { &hf_nr_rrc_nroSS_BlocksToAverage, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_maxNroSS_BlocksToAverage },
- { &hf_nr_rrc_nroCSI_RS_ResourcesToAverage, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_maxNroCSI_RS_ResourcesToAverage },
- { &hf_nr_rrc_quantityConfigIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxQuantityConfigId },
- { &hf_nr_rrc_offsetFreq , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRangeList },
- { &hf_nr_rrc_cellsToRemoveList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CellIndexList },
- { &hf_nr_rrc_cellsToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CellsToAddModList },
- { &hf_nr_rrc_blackCellsToRemoveList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CellIndexList },
- { &hf_nr_rrc_blackCellsToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BlackCellsToAddModList },
- { &hf_nr_rrc_whiteCellsToRemoveList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CellIndexList },
- { &hf_nr_rrc_whiteCellsToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_WhiteCellsToAddModList },
+static const per_sequence_t T_periodic_sequence[] = {
+ { &hf_nr_rrc_reportSlotConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportPeriodicityAndOffset },
+ { &hf_nr_rrc_pucch_CSI_ResourceList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasObjectNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_periodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasObjectNR, MeasObjectNR_sequence);
+ ett_nr_rrc_T_periodic, T_periodic_sequence);
return offset;
}
-static const per_sequence_t MeasObjectEUTRA_sequence[] = {
+static const per_sequence_t T_semiPersistentOnPUCCH_sequence[] = {
+ { &hf_nr_rrc_reportSlotConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportPeriodicityAndOffset },
+ { &hf_nr_rrc_pucch_CSI_ResourceList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasObjectEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_semiPersistentOnPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasObjectEUTRA, MeasObjectEUTRA_sequence);
+ ett_nr_rrc_T_semiPersistentOnPUCCH, T_semiPersistentOnPUCCH_sequence);
return offset;
}
-static const value_string nr_rrc_T_measObject_vals[] = {
- { 0, "measObjectNR" },
- { 1, "measObjectEUTRA" },
+static const value_string nr_rrc_T_reportSlotConfig_vals[] = {
+ { 0, "sl5" },
+ { 1, "sl10" },
+ { 2, "sl20" },
+ { 3, "sl40" },
+ { 4, "sl80" },
+ { 5, "sl160" },
+ { 6, "sl320" },
{ 0, NULL }
};
-static const per_choice_t T_measObject_choice[] = {
- { 0, &hf_nr_rrc_measObjectNR , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasObjectNR },
- { 1, &hf_nr_rrc_measObjectEUTRA, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasObjectEUTRA },
- { 0, NULL, 0, NULL }
+
+static int
+dissect_nr_rrc_T_reportSlotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 7, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_reportSlotOffsetList_sequence_of[1] = {
+ { &hf_nr_rrc_reportSlotOffsetList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 },
};
static int
-dissect_nr_rrc_T_measObject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_measObject, T_measObject_choice,
- NULL);
+dissect_nr_rrc_T_reportSlotOffsetList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_reportSlotOffsetList, T_reportSlotOffsetList_sequence_of,
+ 1, 4, FALSE);
return offset;
}
-static const per_sequence_t MeasObjectToAddMod_sequence[] = {
- { &hf_nr_rrc_measObjectId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectId },
- { &hf_nr_rrc_measObject , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measObject },
+static const per_sequence_t T_semiPersistentOnPUSCH_sequence[] = {
+ { &hf_nr_rrc_reportSlotConfig_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportSlotConfig },
+ { &hf_nr_rrc_reportSlotOffsetList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportSlotOffsetList },
+ { &hf_nr_rrc_csi_RNTI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value },
+ { &hf_nr_rrc_p0alpha , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasObjectToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_semiPersistentOnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasObjectToAddMod, MeasObjectToAddMod_sequence);
+ ett_nr_rrc_T_semiPersistentOnPUSCH, T_semiPersistentOnPUSCH_sequence);
return offset;
}
-static const per_sequence_t MeasObjectToAddModList_sequence_of[1] = {
- { &hf_nr_rrc_MeasObjectToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectToAddMod },
+static const per_sequence_t T_reportSlotOffsetList_01_sequence_of[1] = {
+ { &hf_nr_rrc_reportSlotOffsetList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 },
};
static int
-dissect_nr_rrc_MeasObjectToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_reportSlotOffsetList_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasObjectToAddModList, MeasObjectToAddModList_sequence_of,
- 1, maxNrofObjectId, FALSE);
+ ett_nr_rrc_T_reportSlotOffsetList_01, T_reportSlotOffsetList_01_sequence_of,
+ 1, 16, FALSE);
return offset;
}
+static const per_sequence_t T_aperiodic_sequence[] = {
+ { &hf_nr_rrc_reportSlotOffsetList_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportSlotOffsetList_01 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_ReportConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxNrofReportConfigId, NULL, FALSE);
+dissect_nr_rrc_T_aperiodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_aperiodic, T_aperiodic_sequence);
return offset;
}
-static const per_sequence_t ReportConfigToRemoveList_sequence_of[1] = {
- { &hf_nr_rrc_ReportConfigToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId },
+static const value_string nr_rrc_T_reportConfigType_vals[] = {
+ { 0, "periodic" },
+ { 1, "semiPersistentOnPUCCH" },
+ { 2, "semiPersistentOnPUSCH" },
+ { 3, "aperiodic" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_reportConfigType_choice[] = {
+ { 0, &hf_nr_rrc_periodic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_periodic },
+ { 1, &hf_nr_rrc_semiPersistentOnPUCCH, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semiPersistentOnPUCCH },
+ { 2, &hf_nr_rrc_semiPersistentOnPUSCH, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semiPersistentOnPUSCH },
+ { 3, &hf_nr_rrc_aperiodic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_aperiodic },
+ { 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_ReportConfigToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ReportConfigToRemoveList, ReportConfigToRemoveList_sequence_of,
- 1, maxNrofReportConfigId, FALSE);
+dissect_nr_rrc_T_reportConfigType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_reportConfigType, T_reportConfigType_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_rsType_01_vals[] = {
- { 0, "ssb" },
- { 1, "csi-rs" },
+static const value_string nr_rrc_T_pdsch_BundleSizeForCSI_vals[] = {
+ { 0, "n2" },
+ { 1, "n4" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_rsType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_pdsch_BundleSizeForCSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -10350,103 +18014,243 @@ dissect_nr_rrc_T_rsType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
}
-static const value_string nr_rrc_ReportInterval_vals[] = {
- { 0, "ms120" },
- { 1, "ms240" },
- { 2, "ms480" },
- { 3, "ms640" },
- { 4, "ms1024" },
- { 5, "ms2048" },
- { 6, "ms5120" },
- { 7, "ms10240" },
- { 8, "min1" },
- { 9, "min6" },
- { 10, "min12" },
- { 11, "min30" },
- { 12, "min60" },
- { 13, "spare3" },
- { 14, "spare2" },
- { 15, "spare1" },
+static const per_sequence_t T_cri_RI_i1_CQI_sequence[] = {
+ { &hf_nr_rrc_pdsch_BundleSizeForCSI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_BundleSizeForCSI },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_cri_RI_i1_CQI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_cri_RI_i1_CQI, T_cri_RI_i1_CQI_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_reportQuantity_vals[] = {
+ { 0, "none" },
+ { 1, "cri-RI-PMI-CQI" },
+ { 2, "cri-RI-i1" },
+ { 3, "cri-RI-i1-CQI" },
+ { 4, "cri-RI-CQI" },
+ { 5, "cri-RSRP" },
+ { 6, "ssb-Index-RSRP" },
+ { 7, "cri-RI-LI-PMI-CQI" },
{ 0, NULL }
};
+static const per_choice_t T_reportQuantity_choice[] = {
+ { 0, &hf_nr_rrc_none , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_cri_RI_PMI_CQI, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 2, &hf_nr_rrc_cri_RI_i1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 3, &hf_nr_rrc_cri_RI_i1_CQI, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_cri_RI_i1_CQI },
+ { 4, &hf_nr_rrc_cri_RI_CQI , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 5, &hf_nr_rrc_cri_RSRP , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 6, &hf_nr_rrc_ssb_Index_RSRP, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 7, &hf_nr_rrc_cri_RI_LI_PMI_CQI, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_ReportInterval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_reportQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_reportQuantity, T_reportQuantity_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_cqi_FormatIndicator_vals[] = {
+ { 0, "widebandCQI" },
+ { 1, "subbandCQI" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_cqi_FormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 16, NULL, FALSE, 0, NULL);
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_reportAmount_01_vals[] = {
- { 0, "ffs" },
+static const value_string nr_rrc_T_pmi_FormatIndicator_vals[] = {
+ { 0, "widebandPMI" },
+ { 1, "subbandPMI" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_reportAmount_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_pmi_FormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t MeasReportQuantity_sequence[] = {
- { &hf_nr_rrc_rsrp_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_rsrq_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_sinr_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 9, 9, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 11, 11, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 13, 13, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 15, 15, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 17, 17, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_csi_ReportingBand_vals[] = {
+ { 0, "subbands3" },
+ { 1, "subbands4" },
+ { 2, "subbands5" },
+ { 3, "subbands6" },
+ { 4, "subbands7" },
+ { 5, "subbands8" },
+ { 6, "subbands9" },
+ { 7, "subbands10" },
+ { 8, "subbands11" },
+ { 9, "subbands12" },
+ { 10, "subbands13" },
+ { 11, "subbands14" },
+ { 12, "subbands15" },
+ { 13, "subbands16" },
+ { 14, "subbands17" },
+ { 15, "subbands18" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_csi_ReportingBand_choice[] = {
+ { 0, &hf_nr_rrc_subbands3 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_3 },
+ { 1, &hf_nr_rrc_subbands4 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_4 },
+ { 2, &hf_nr_rrc_subbands5 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_5 },
+ { 3, &hf_nr_rrc_subbands6 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_6 },
+ { 4, &hf_nr_rrc_subbands7 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_7 },
+ { 5, &hf_nr_rrc_subbands8 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_8 },
+ { 6, &hf_nr_rrc_subbands9 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_9 },
+ { 7, &hf_nr_rrc_subbands10 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_10 },
+ { 8, &hf_nr_rrc_subbands11 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_11 },
+ { 9, &hf_nr_rrc_subbands12 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_12 },
+ { 10, &hf_nr_rrc_subbands13 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_13 },
+ { 11, &hf_nr_rrc_subbands14 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_14 },
+ { 12, &hf_nr_rrc_subbands15 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_15 },
+ { 13, &hf_nr_rrc_subbands16 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_16 },
+ { 14, &hf_nr_rrc_subbands17 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_17 },
+ { 15, &hf_nr_rrc_subbands18 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_18 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_csi_ReportingBand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_csi_ReportingBand, T_csi_ReportingBand_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_reportFreqConfiguration_sequence[] = {
+ { &hf_nr_rrc_cqi_FormatIndicator, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cqi_FormatIndicator },
+ { &hf_nr_rrc_pmi_FormatIndicator, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pmi_FormatIndicator },
+ { &hf_nr_rrc_csi_ReportingBand, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_ReportingBand },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasReportQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_reportFreqConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasReportQuantity, MeasReportQuantity_sequence);
+ ett_nr_rrc_T_reportFreqConfiguration, T_reportFreqConfiguration_sequence);
return offset;
}
+static const value_string nr_rrc_T_timeRestrictionForChannelMeasurements_vals[] = {
+ { 0, "configured" },
+ { 1, "notConfigured" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_INTEGER_1_maxCellReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxCellReport, NULL, FALSE);
+dissect_nr_rrc_T_timeRestrictionForChannelMeasurements(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
+static const value_string nr_rrc_T_timeRestrictionForInterferenceMeasurements_vals[] = {
+ { 0, "configured" },
+ { 1, "notConfigured" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_INTEGER_1_maxNroIndexesToReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxNroIndexesToReport, NULL, FALSE);
+dissect_nr_rrc_T_timeRestrictionForInterferenceMeasurements(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t PeriodicalReportConfig_sequence[] = {
- { &hf_nr_rrc_rsType_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rsType_01 },
- { &hf_nr_rrc_reportInterval, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
- { &hf_nr_rrc_reportAmount_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_01 },
- { &hf_nr_rrc_reportQuantityCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity },
- { &hf_nr_rrc_maxReportCells, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport },
- { &hf_nr_rrc_reportQuantityRsIndexes, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasReportQuantity },
- { &hf_nr_rrc_maxNroRsIndexesToReport, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNroIndexesToReport },
- { &hf_nr_rrc_onlyReportBeamIds, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN },
+static const per_sequence_t T_two_sequence[] = {
+ { &hf_nr_rrc_twoTX_CodebookSubsetRestriction, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_6 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PeriodicalReportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_two(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PeriodicalReportConfig, PeriodicalReportConfig_sequence);
+ ett_nr_rrc_T_two, T_two_sequence);
return offset;
}
@@ -10454,8 +18258,9 @@ dissect_nr_rrc_PeriodicalReportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
static int
-dissect_nr_rrc_RSRPRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_nr_rrc_RSRP_Range(tvb, offset, actx, tree, hf_index);
+dissect_nr_rrc_BIT_STRING_SIZE_96(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 96, 96, FALSE, NULL, NULL);
return offset;
}
@@ -10463,8 +18268,9 @@ dissect_nr_rrc_RSRPRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
static int
-dissect_nr_rrc_RSRQRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_nr_rrc_RSRQ_Range(tvb, offset, actx, tree, hf_index);
+dissect_nr_rrc_BIT_STRING_SIZE_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 128, 128, FALSE, NULL, NULL);
return offset;
}
@@ -10472,247 +18278,419 @@ dissect_nr_rrc_RSRQRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
static int
-dissect_nr_rrc_SINRRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_nr_rrc_SINR_Range(tvb, offset, actx, tree, hf_index);
+dissect_nr_rrc_BIT_STRING_SIZE_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 32, 32, FALSE, NULL, NULL);
return offset;
}
-static const value_string nr_rrc_MeasTriggerQuantity_vals[] = {
- { 0, "rsrp" },
- { 1, "rsrq" },
- { 2, "sinr" },
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_192(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 192, 192, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 48, 48, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 256, 256, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_n1_n2_vals[] = {
+ { 0, "two-one-TypeI-SinglePanel-Restriction" },
+ { 1, "two-two-TypeI-SinglePanel-Restriction" },
+ { 2, "four-one-TypeI-SinglePanel-Restriction" },
+ { 3, "three-two-TypeI-SinglePanel-Restriction" },
+ { 4, "six-one-TypeI-SinglePanel-Restriction" },
+ { 5, "four-two-TypeI-SinglePanel-Restriction" },
+ { 6, "eight-one-TypeI-SinglePanel-Restriction" },
+ { 7, "four-three-TypeI-SinglePanel-Restriction" },
+ { 8, "six-two-TypeI-SinglePanel-Restriction" },
+ { 9, "twelve-one-TypeI-SinglePanel-Restriction" },
+ { 10, "four-four-TypeI-SinglePanel-Restriction" },
+ { 11, "eight-two-TypeI-SinglePanel-Restriction" },
+ { 12, "sixteen-one-TypeI-SinglePanel-Restriction" },
{ 0, NULL }
};
-static const per_choice_t MeasTriggerQuantity_choice[] = {
- { 0, &hf_nr_rrc_rsrp , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRPRange },
- { 1, &hf_nr_rrc_rsrq , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRQRange },
- { 2, &hf_nr_rrc_sinr , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SINRRange },
+static const per_choice_t T_n1_n2_choice[] = {
+ { 0, &hf_nr_rrc_two_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
+ { 1, &hf_nr_rrc_two_two_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 },
+ { 2, &hf_nr_rrc_four_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_16 },
+ { 3, &hf_nr_rrc_three_two_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_96 },
+ { 4, &hf_nr_rrc_six_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_24 },
+ { 5, &hf_nr_rrc_four_two_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_128 },
+ { 6, &hf_nr_rrc_eight_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_32 },
+ { 7, &hf_nr_rrc_four_three_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_192 },
+ { 8, &hf_nr_rrc_six_two_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_192 },
+ { 9, &hf_nr_rrc_twelve_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_48 },
+ { 10, &hf_nr_rrc_four_four_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_256 },
+ { 11, &hf_nr_rrc_eight_two_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_256 },
+ { 12, &hf_nr_rrc_sixteen_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_MeasTriggerQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_n1_n2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasTriggerQuantity, MeasTriggerQuantity_choice,
+ ett_nr_rrc_T_n1_n2, T_n1_n2_choice,
NULL);
return offset;
}
+static const per_sequence_t T_moreThanTwo_sequence[] = {
+ { &hf_nr_rrc_n1_n2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n1_n2 },
+ { &hf_nr_rrc_typeI_SinglePanel_codebookSubsetRestriction_i2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_Hysteresis(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 30U, NULL, FALSE);
+dissect_nr_rrc_T_moreThanTwo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_moreThanTwo, T_moreThanTwo_sequence);
return offset;
}
-static const value_string nr_rrc_TimeToTrigger_vals[] = {
- { 0, "ms0" },
- { 1, "ms40" },
- { 2, "ms64" },
- { 3, "ms80" },
- { 4, "ms100" },
- { 5, "ms128" },
- { 6, "ms160" },
- { 7, "ms256" },
- { 8, "ms320" },
- { 9, "ms480" },
- { 10, "ms512" },
- { 11, "ms640" },
- { 12, "ms1024" },
- { 13, "ms1280" },
- { 14, "ms2560" },
- { 15, "ms5120" },
+static const value_string nr_rrc_T_nrOfAntennaPorts_vals[] = {
+ { 0, "two" },
+ { 1, "moreThanTwo" },
{ 0, NULL }
};
+static const per_choice_t T_nrOfAntennaPorts_choice[] = {
+ { 0, &hf_nr_rrc_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_two },
+ { 1, &hf_nr_rrc_moreThanTwo , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_moreThanTwo },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_TimeToTrigger(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 16, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_nrOfAntennaPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nrOfAntennaPorts, T_nrOfAntennaPorts_choice,
+ NULL);
return offset;
}
-static const per_sequence_t T_eventA1_sequence[] = {
- { &hf_nr_rrc_a1_Threshold , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
- { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
- { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
+static const per_sequence_t T_typeI_SinglePanel_sequence[] = {
+ { &hf_nr_rrc_nrOfAntennaPorts, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrOfAntennaPorts },
+ { &hf_nr_rrc_typeI_SinglePanel_ri_Restriction, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_8 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_eventA1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_typeI_SinglePanel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_eventA1, T_eventA1_sequence);
+ ett_nr_rrc_T_typeI_SinglePanel, T_typeI_SinglePanel_sequence);
return offset;
}
-static const per_sequence_t T_eventA2_sequence[] = {
- { &hf_nr_rrc_a2_Threshold , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
- { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
- { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
+static const value_string nr_rrc_T_ng_n1_n2_vals[] = {
+ { 0, "two-two-one-TypeI-MultiPanel-Restriction" },
+ { 1, "two-four-one-TypeI-MultiPanel-Restriction" },
+ { 2, "four-two-one-TypeI-MultiPanel-Restriction" },
+ { 3, "two-two-two-TypeI-MultiPanel-Restriction" },
+ { 4, "two-eight-one-TypeI-MultiPanel-Restriction" },
+ { 5, "four-four-one-TypeI-MultiPanel-Restriction" },
+ { 6, "two-four-two-TypeI-MultiPanel-Restriction" },
+ { 7, "four-two-two-TypeI-MultiPanel-Restriction" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_ng_n1_n2_choice[] = {
+ { 0, &hf_nr_rrc_two_two_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
+ { 1, &hf_nr_rrc_two_four_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_32 },
+ { 2, &hf_nr_rrc_four_two_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_32 },
+ { 3, &hf_nr_rrc_two_two_two_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_128 },
+ { 4, &hf_nr_rrc_two_eight_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 },
+ { 5, &hf_nr_rrc_four_four_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 },
+ { 6, &hf_nr_rrc_two_four_two_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_256 },
+ { 7, &hf_nr_rrc_four_two_two_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_256 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_ng_n1_n2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_ng_n1_n2, T_ng_n1_n2_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_typeI_MultiPanel_sequence[] = {
+ { &hf_nr_rrc_ng_n1_n2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ng_n1_n2 },
+ { &hf_nr_rrc_ri_Restriction, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_4 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_eventA2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_typeI_MultiPanel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_eventA2, T_eventA2_sequence);
+ ett_nr_rrc_T_typeI_MultiPanel, T_typeI_MultiPanel_sequence);
return offset;
}
-static const value_string nr_rrc_MeasTriggerQuantityOffset_vals[] = {
- { 0, "rsrp" },
- { 1, "rsrq" },
- { 2, "sinr" },
+static const value_string nr_rrc_T_subType_vals[] = {
+ { 0, "typeI-SinglePanel" },
+ { 1, "typeI-MultiPanel" },
{ 0, NULL }
};
-static const per_choice_t MeasTriggerQuantityOffset_choice[] = {
- { 0, &hf_nr_rrc_rsrp_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0 },
- { 1, &hf_nr_rrc_rsrq_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0 },
- { 2, &hf_nr_rrc_sinr_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0 },
+static const per_choice_t T_subType_choice[] = {
+ { 0, &hf_nr_rrc_typeI_SinglePanel, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_typeI_SinglePanel },
+ { 1, &hf_nr_rrc_typeI_MultiPanel, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_typeI_MultiPanel },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_MeasTriggerQuantityOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_subType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasTriggerQuantityOffset, MeasTriggerQuantityOffset_choice,
+ ett_nr_rrc_T_subType, T_subType_choice,
NULL);
return offset;
}
-static const per_sequence_t T_eventA3_sequence[] = {
- { &hf_nr_rrc_a3_Offset , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityOffset },
- { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
- { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
- { &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN },
+static const per_sequence_t T_type1_sequence[] = {
+ { &hf_nr_rrc_subType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subType },
+ { &hf_nr_rrc_codebookMode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_eventA3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_type1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_eventA3, T_eventA3_sequence);
+ ett_nr_rrc_T_type1, T_type1_sequence);
return offset;
}
-static const per_sequence_t T_eventA4_sequence[] = {
- { &hf_nr_rrc_a4_Threshold , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
- { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
- { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
- { &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN },
- { NULL, 0, 0, NULL }
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_139(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 139, 139, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_59(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 59, 59, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_49(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 49, 49, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_75(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 75, 75, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_65(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 65, 65, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_107(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 107, 107, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_129(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 129, 129, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_n1_n2_codebookSubsetRestriction_vals[] = {
+ { 0, "two-one" },
+ { 1, "two-two" },
+ { 2, "four-one" },
+ { 3, "three-two" },
+ { 4, "six-one" },
+ { 5, "four-two" },
+ { 6, "eight-one" },
+ { 7, "four-three" },
+ { 8, "six-two" },
+ { 9, "twelve-one" },
+ { 10, "four-four" },
+ { 11, "eight-two" },
+ { 12, "sixteen-one" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_n1_n2_codebookSubsetRestriction_choice[] = {
+ { 0, &hf_nr_rrc_two_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_16 },
+ { 1, &hf_nr_rrc_two_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_139 },
+ { 2, &hf_nr_rrc_four_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_32 },
+ { 3, &hf_nr_rrc_three_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_59 },
+ { 4, &hf_nr_rrc_six_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_49 },
+ { 5, &hf_nr_rrc_four_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_75 },
+ { 6, &hf_nr_rrc_eight_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_65 },
+ { 7, &hf_nr_rrc_four_three , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_107 },
+ { 8, &hf_nr_rrc_six_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_107 },
+ { 9, &hf_nr_rrc_twelve_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_129 },
+ { 10, &hf_nr_rrc_four_four , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_139 },
+ { 11, &hf_nr_rrc_eight_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_139 },
+ { 12, &hf_nr_rrc_sixteen_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_129 },
+ { 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_eventA4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_eventA4, T_eventA4_sequence);
+dissect_nr_rrc_T_n1_n2_codebookSubsetRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_n1_n2_codebookSubsetRestriction, T_n1_n2_codebookSubsetRestriction_choice,
+ NULL);
return offset;
}
-static const per_sequence_t T_eventA5_sequence[] = {
- { &hf_nr_rrc_a5_Threshold1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
- { &hf_nr_rrc_a5_Threshold2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
- { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
- { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
- { &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN },
+static const per_sequence_t T_typeII_sequence[] = {
+ { &hf_nr_rrc_n1_n2_codebookSubsetRestriction, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n1_n2_codebookSubsetRestriction },
+ { &hf_nr_rrc_typeII_RI_Restriction, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_2 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_eventA5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_typeII(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_eventA5, T_eventA5_sequence);
+ ett_nr_rrc_T_typeII, T_typeII_sequence);
return offset;
}
-static const per_sequence_t T_eventA6_sequence[] = {
- { &hf_nr_rrc_a6_Offset , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityOffset },
- { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
- { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
- { &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN },
+static const value_string nr_rrc_T_portSelectionSamplingSize_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n3" },
+ { 3, "n4" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_portSelectionSamplingSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_typeII_PortSelection_sequence[] = {
+ { &hf_nr_rrc_portSelectionSamplingSize, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_portSelectionSamplingSize },
+ { &hf_nr_rrc_typeII_PortSelectionRI_Restriction, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_2 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_eventA6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_typeII_PortSelection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_eventA6, T_eventA6_sequence);
+ ett_nr_rrc_T_typeII_PortSelection, T_typeII_PortSelection_sequence);
return offset;
}
-static const value_string nr_rrc_T_eventId_vals[] = {
- { 0, "eventA1" },
- { 1, "eventA2" },
- { 2, "eventA3" },
- { 3, "eventA4" },
- { 4, "eventA5" },
- { 5, "eventA6" },
+static const value_string nr_rrc_T_subType_01_vals[] = {
+ { 0, "typeII" },
+ { 1, "typeII-PortSelection" },
{ 0, NULL }
};
-static const per_choice_t T_eventId_choice[] = {
- { 0, &hf_nr_rrc_eventA1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eventA1 },
- { 1, &hf_nr_rrc_eventA2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eventA2 },
- { 2, &hf_nr_rrc_eventA3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eventA3 },
- { 3, &hf_nr_rrc_eventA4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eventA4 },
- { 4, &hf_nr_rrc_eventA5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eventA5 },
- { 5, &hf_nr_rrc_eventA6 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eventA6 },
+static const per_choice_t T_subType_01_choice[] = {
+ { 0, &hf_nr_rrc_typeII , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_typeII },
+ { 1, &hf_nr_rrc_typeII_PortSelection, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_typeII_PortSelection },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_eventId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_subType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_eventId, T_eventId_choice,
+ ett_nr_rrc_T_subType_01, T_subType_01_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_rsType_vals[] = {
- { 0, "ss" },
- { 1, "csi-rs" },
+static const value_string nr_rrc_T_phaseAlphabetSize_vals[] = {
+ { 0, "n4" },
+ { 1, "n8" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_rsType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_phaseAlphabetSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -10720,1061 +18698,3123 @@ dissect_nr_rrc_T_rsType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
}
-static const value_string nr_rrc_T_reportAmount_vals[] = {
- { 0, "ffs" },
+static const value_string nr_rrc_T_numberOfBeams_vals[] = {
+ { 0, "two" },
+ { 1, "three" },
+ { 2, "four" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_reportAmount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_numberOfBeams(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 3, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t EventTriggerConfig_sequence[] = {
- { &hf_nr_rrc_eventId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eventId },
- { &hf_nr_rrc_rsType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rsType },
- { &hf_nr_rrc_reportInterval, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
- { &hf_nr_rrc_reportAmount , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount },
- { &hf_nr_rrc_reportQuantityCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity },
- { &hf_nr_rrc_maxReportCells, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport },
- { &hf_nr_rrc_reportQuantityRsIndexes, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasReportQuantity },
- { &hf_nr_rrc_maxNroIndexesToReport, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNroIndexesToReport },
- { &hf_nr_rrc_onlyReportBeamIds, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_reportAddNeighMeas, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
+static const per_sequence_t T_type2_sequence[] = {
+ { &hf_nr_rrc_subType_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subType_01 },
+ { &hf_nr_rrc_phaseAlphabetSize, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phaseAlphabetSize },
+ { &hf_nr_rrc_subbandAmplitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_numberOfBeams, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_numberOfBeams },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_EventTriggerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_type2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_EventTriggerConfig, EventTriggerConfig_sequence);
+ ett_nr_rrc_T_type2, T_type2_sequence);
return offset;
}
-static const value_string nr_rrc_T_reportType_vals[] = {
- { 0, "periodical" },
- { 1, "eventTriggered" },
- { 2, "reportCGI" },
+static const value_string nr_rrc_T_codebookType_vals[] = {
+ { 0, "type1" },
+ { 1, "type2" },
{ 0, NULL }
};
-static const per_choice_t T_reportType_choice[] = {
- { 0, &hf_nr_rrc_periodical , ASN1_EXTENSION_ROOT , dissect_nr_rrc_PeriodicalReportConfig },
- { 1, &hf_nr_rrc_eventTriggered, ASN1_EXTENSION_ROOT , dissect_nr_rrc_EventTriggerConfig },
- { 2, &hf_nr_rrc_reportCGI , ASN1_EXTENSION_ROOT , dissect_nr_rrc_NULL },
+static const per_choice_t T_codebookType_choice[] = {
+ { 0, &hf_nr_rrc_type1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_type1 },
+ { 1, &hf_nr_rrc_type2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_type2 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_reportType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_codebookType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_reportType, T_reportType_choice,
+ ett_nr_rrc_T_codebookType, T_codebookType_choice,
NULL);
return offset;
}
-static const per_sequence_t ReportConfigNR_sequence[] = {
- { &hf_nr_rrc_reportType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportType },
+static const per_sequence_t CodebookConfig_sequence[] = {
+ { &hf_nr_rrc_codebookType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_codebookType },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_ReportConfigNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CodebookConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ReportConfigNR, ReportConfigNR_sequence);
+ ett_nr_rrc_CodebookConfig, CodebookConfig_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_nrofCQIsPerReport_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_nrofCQIsPerReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_nrofReportedRS_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n3" },
+ { 3, "n4" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_nrofReportedRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t ReportConfigEUTRA_sequence[] = {
+static const per_sequence_t T_disabled_sequence[] = {
+ { &hf_nr_rrc_nrofReportedRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofReportedRS },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_ReportConfigEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_disabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ReportConfigEUTRA, ReportConfigEUTRA_sequence);
+ ett_nr_rrc_T_disabled, T_disabled_sequence);
return offset;
}
-static const value_string nr_rrc_T_reportConfig_vals[] = {
- { 0, "reportConfigNR" },
- { 1, "reportConfigEUTRA" },
+static const value_string nr_rrc_T_groupBasedBeamReporting_vals[] = {
+ { 0, "enabled" },
+ { 1, "disabled" },
{ 0, NULL }
};
-static const per_choice_t T_reportConfig_choice[] = {
- { 0, &hf_nr_rrc_reportConfigNR, ASN1_NO_EXTENSIONS , dissect_nr_rrc_ReportConfigNR },
- { 1, &hf_nr_rrc_reportConfigEUTRA, ASN1_NO_EXTENSIONS , dissect_nr_rrc_ReportConfigEUTRA },
+static const per_choice_t T_groupBasedBeamReporting_choice[] = {
+ { 0, &hf_nr_rrc_enabled , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_disabled , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_disabled },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_reportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_groupBasedBeamReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_reportConfig, T_reportConfig_choice,
+ ett_nr_rrc_T_groupBasedBeamReporting, T_groupBasedBeamReporting_choice,
NULL);
return offset;
}
-static const per_sequence_t ReportConfigToAddMod_sequence[] = {
- { &hf_nr_rrc_reportConfigId_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId },
- { &hf_nr_rrc_reportConfig , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportConfig },
+static const value_string nr_rrc_T_cqi_Table_vals[] = {
+ { 0, "table1" },
+ { 1, "table2" },
+ { 2, "spare2" },
+ { 3, "spare1" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_cqi_Table(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_subbandSize_vals[] = {
+ { 0, "value1" },
+ { 1, "value2" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_subbandSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_bler_Target_vals[] = {
+ { 0, "zerodot1" },
+ { 1, "spare3" },
+ { 2, "space2" },
+ { 3, "spare1" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_bler_Target(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 7U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_2_OF_PortIndex8_sequence_of[1] = {
+ { &hf_nr_rrc_rank2_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PortIndex8, SEQUENCE_SIZE_1_2_OF_PortIndex8_sequence_of,
+ 1, 2, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_3_OF_PortIndex8_sequence_of[1] = {
+ { &hf_nr_rrc_rank3_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_PortIndex8, SEQUENCE_SIZE_1_3_OF_PortIndex8_sequence_of,
+ 1, 3, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_4_OF_PortIndex8_sequence_of[1] = {
+ { &hf_nr_rrc_rank4_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_PortIndex8, SEQUENCE_SIZE_1_4_OF_PortIndex8_sequence_of,
+ 1, 4, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_5_OF_PortIndex8_sequence_of[1] = {
+ { &hf_nr_rrc_rank5_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_5_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_5_OF_PortIndex8, SEQUENCE_SIZE_1_5_OF_PortIndex8_sequence_of,
+ 1, 5, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_6_OF_PortIndex8_sequence_of[1] = {
+ { &hf_nr_rrc_rank6_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_6_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_6_OF_PortIndex8, SEQUENCE_SIZE_1_6_OF_PortIndex8_sequence_of,
+ 1, 6, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_7_OF_PortIndex8_sequence_of[1] = {
+ { &hf_nr_rrc_rank7_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_7_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_7_OF_PortIndex8, SEQUENCE_SIZE_1_7_OF_PortIndex8_sequence_of,
+ 1, 7, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_8_OF_PortIndex8_sequence_of[1] = {
+ { &hf_nr_rrc_rank8_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_8_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_8_OF_PortIndex8, SEQUENCE_SIZE_1_8_OF_PortIndex8_sequence_of,
+ 1, 8, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_portIndex8_sequence[] = {
+ { &hf_nr_rrc_rank1_8 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
+ { &hf_nr_rrc_rank2_8 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_PortIndex8 },
+ { &hf_nr_rrc_rank3_8 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_PortIndex8 },
+ { &hf_nr_rrc_rank4_8 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_PortIndex8 },
+ { &hf_nr_rrc_rank5_8 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_5_OF_PortIndex8 },
+ { &hf_nr_rrc_rank6_8 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_6_OF_PortIndex8 },
+ { &hf_nr_rrc_rank7_8 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_7_OF_PortIndex8 },
+ { &hf_nr_rrc_rank8_8 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_8_OF_PortIndex8 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_ReportConfigToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_portIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ReportConfigToAddMod, ReportConfigToAddMod_sequence);
+ ett_nr_rrc_T_portIndex8, T_portIndex8_sequence);
return offset;
}
-static const per_sequence_t ReportConfigToAddModList_sequence_of[1] = {
- { &hf_nr_rrc_ReportConfigToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigToAddMod },
+
+static int
+dissect_nr_rrc_PortIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 3U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_2_OF_PortIndex4_sequence_of[1] = {
+ { &hf_nr_rrc_rank2_4_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex4 },
};
static int
-dissect_nr_rrc_ReportConfigToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_PortIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ReportConfigToAddModList, ReportConfigToAddModList_sequence_of,
- 1, maxReportConfigId, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PortIndex4, SEQUENCE_SIZE_1_2_OF_PortIndex4_sequence_of,
+ 1, 2, FALSE);
return offset;
}
+static const per_sequence_t SEQUENCE_SIZE_1_3_OF_PortIndex4_sequence_of[1] = {
+ { &hf_nr_rrc_rank3_4_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex4 },
+};
static int
-dissect_nr_rrc_MeasId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxNrofMeasId, NULL, FALSE);
+dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_PortIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_PortIndex4, SEQUENCE_SIZE_1_3_OF_PortIndex4_sequence_of,
+ 1, 3, FALSE);
return offset;
}
-static const per_sequence_t MeasIdToRemoveList_sequence_of[1] = {
- { &hf_nr_rrc_MeasIdToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId },
+static const per_sequence_t SEQUENCE_SIZE_1_4_OF_PortIndex4_sequence_of[1] = {
+ { &hf_nr_rrc_rank4_4_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex4 },
};
static int
-dissect_nr_rrc_MeasIdToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_PortIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasIdToRemoveList, MeasIdToRemoveList_sequence_of,
- 1, maxNrofMeasId, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_PortIndex4, SEQUENCE_SIZE_1_4_OF_PortIndex4_sequence_of,
+ 1, 4, FALSE);
return offset;
}
-static const per_sequence_t MeasIdToAddMod_sequence[] = {
- { &hf_nr_rrc_measId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId },
- { &hf_nr_rrc_measObjectId , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasObjectId },
- { &hf_nr_rrc_reportConfigId_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId },
+static const per_sequence_t T_portIndex4_sequence[] = {
+ { &hf_nr_rrc_rank1_4 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex4 },
+ { &hf_nr_rrc_rank2_4 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_PortIndex4 },
+ { &hf_nr_rrc_rank3_4 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_PortIndex4 },
+ { &hf_nr_rrc_rank4_4 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_PortIndex4 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasIdToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_portIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasIdToAddMod, MeasIdToAddMod_sequence);
+ ett_nr_rrc_T_portIndex4, T_portIndex4_sequence);
return offset;
}
-static const per_sequence_t MeasIdToAddModList_sequence_of[1] = {
- { &hf_nr_rrc_MeasIdToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasIdToAddMod },
+
+static int
+dissect_nr_rrc_PortIndex2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 1U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_2_OF_PortIndex2_sequence_of[1] = {
+ { &hf_nr_rrc_rank2_2_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex2 },
};
static int
-dissect_nr_rrc_MeasIdToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_PortIndex2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasIdToAddModList, MeasIdToAddModList_sequence_of,
- 1, maxNrofMeasId, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PortIndex2, SEQUENCE_SIZE_1_2_OF_PortIndex2_sequence_of,
+ 1, 2, FALSE);
return offset;
}
-static const value_string nr_rrc_T_s_MeasureConfig_vals[] = {
- { 0, "ssb-rsrp" },
- { 1, "csi-rsrp" },
+static const per_sequence_t T_portIndex2_sequence[] = {
+ { &hf_nr_rrc_rank1_2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex2 },
+ { &hf_nr_rrc_rank2_2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_PortIndex2 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_portIndex2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_portIndex2, T_portIndex2_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_PortIndexFor8Ranks_vals[] = {
+ { 0, "portIndex8" },
+ { 1, "portIndex4" },
+ { 2, "portIndex2" },
+ { 3, "portIndex1" },
{ 0, NULL }
};
-static const per_choice_t T_s_MeasureConfig_choice[] = {
- { 0, &hf_nr_rrc_ssb_rsrp , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRP_Range },
- { 1, &hf_nr_rrc_csi_rsrp , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRP_Range },
+static const per_choice_t PortIndexFor8Ranks_choice[] = {
+ { 0, &hf_nr_rrc_portIndex8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_portIndex8 },
+ { 1, &hf_nr_rrc_portIndex4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_portIndex4 },
+ { 2, &hf_nr_rrc_portIndex2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_portIndex2 },
+ { 3, &hf_nr_rrc_portIndex1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_s_MeasureConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PortIndexFor8Ranks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_s_MeasureConfig, T_s_MeasureConfig_choice,
+ ett_nr_rrc_PortIndexFor8Ranks, PortIndexFor8Ranks_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_FilterCoefficient_vals[] = {
- { 0, "fc0" },
- { 1, "fc1" },
- { 2, "fc2" },
- { 3, "fc3" },
- { 4, "fc4" },
- { 5, "fc5" },
- { 6, "fc6" },
- { 7, "fc7" },
- { 8, "fc8" },
- { 9, "fc9" },
- { 10, "fc11" },
- { 11, "fc13" },
- { 12, "fc15" },
- { 13, "fc17" },
- { 14, "fc19" },
- { 15, "spare1" },
- { 0, NULL }
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks_sequence_of[1] = {
+ { &hf_nr_rrc_non_PMI_PortIndication_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndexFor8Ranks },
};
-
static int
-dissect_nr_rrc_FilterCoefficient(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 16, NULL, TRUE, 0, NULL);
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks_sequence_of,
+ 1, maxNrofNZP_CSI_RS_ResourcesPerConfig, FALSE);
return offset;
}
-static const per_sequence_t QuantityConfigRS_sequence[] = {
- { &hf_nr_rrc_ssbFilterCoefficientRSRP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient },
- { &hf_nr_rrc_ssbFilterCoefficientRSRQ, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient },
- { &hf_nr_rrc_ssbFilterCoefficientRS_SINR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient },
- { &hf_nr_rrc_csi_rsFilterCoefficientRSRP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient },
- { &hf_nr_rrc_csi_rsFilterCoefficientRSRQ, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient },
- { &hf_nr_rrc_csi_rsFilterCoefficientRS_SINR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient },
+static const per_sequence_t CSI_ReportConfig_sequence[] = {
+ { &hf_nr_rrc_reportConfigId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfigId },
+ { &hf_nr_rrc_carrier , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex },
+ { &hf_nr_rrc_resourcesForChannelMeasurement, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceConfigId },
+ { &hf_nr_rrc_csi_IM_ResourcesForInterference, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ResourceConfigId },
+ { &hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ResourceConfigId },
+ { &hf_nr_rrc_reportConfigType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportConfigType },
+ { &hf_nr_rrc_reportQuantity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportQuantity },
+ { &hf_nr_rrc_reportFreqConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportFreqConfiguration },
+ { &hf_nr_rrc_timeRestrictionForChannelMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_timeRestrictionForChannelMeasurements },
+ { &hf_nr_rrc_timeRestrictionForInterferenceMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_timeRestrictionForInterferenceMeasurements },
+ { &hf_nr_rrc_codebookConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CodebookConfig },
+ { &hf_nr_rrc_nrofCQIsPerReport, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofCQIsPerReport },
+ { &hf_nr_rrc_groupBasedBeamReporting, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_groupBasedBeamReporting },
+ { &hf_nr_rrc_cqi_Table , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cqi_Table },
+ { &hf_nr_rrc_subbandSize , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subbandSize },
+ { &hf_nr_rrc_bler_Target , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_bler_Target },
+ { &hf_nr_rrc_non_PMI_PortIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_QuantityConfigRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CSI_ReportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_QuantityConfigRS, QuantityConfigRS_sequence);
+ ett_nr_rrc_CSI_ReportConfig, CSI_ReportConfig_sequence);
return offset;
}
-static const per_sequence_t QuantityConfig_sequence[] = {
- { &hf_nr_rrc_quantityConfigRSindex, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_QuantityConfigRS },
- { NULL, 0, 0, NULL }
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig_sequence_of[1] = {
+ { &hf_nr_rrc_csi_ReportConfigToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfig },
};
static int
-dissect_nr_rrc_QuantityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_QuantityConfig, QuantityConfig_sequence);
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig, SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig_sequence_of,
+ 1, maxNrofCSI_ReportConfigurations, FALSE);
return offset;
}
-static const per_sequence_t MeasGapConfig_sequence[] = {
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId_sequence_of[1] = {
+ { &hf_nr_rrc_csi_ReportConfigToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfigId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId, SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId_sequence_of,
+ 1, maxNrofCSI_ReportConfigurations, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxNrofNZP_CSI_RS_ResourceSetsPerConfig, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId_sequence_of[1] = {
+ { &hf_nr_rrc_qcl_info_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId, SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId_sequence_of,
+ 1, maxNrofAP_CSI_RS_ResourcesPerSet, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nzp_CSI_RS_sequence[] = {
+ { &hf_nr_rrc_resourceSet , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig },
+ { &hf_nr_rrc_qcl_info , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nzp_CSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasGapConfig, MeasGapConfig_sequence);
+ ett_nr_rrc_T_nzp_CSI_RS, T_nzp_CSI_RS_sequence);
return offset;
}
-static const per_sequence_t MeasConfig_sequence[] = {
- { &hf_nr_rrc_measObjectToRemoveList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasObjectToRemoveList },
- { &hf_nr_rrc_measObjectToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasObjectToAddModList },
- { &hf_nr_rrc_reportConfigToRemoveList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ReportConfigToRemoveList },
- { &hf_nr_rrc_reportConfigToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ReportConfigToAddModList },
- { &hf_nr_rrc_measIdToRemoveList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasIdToRemoveList },
- { &hf_nr_rrc_measIdToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasIdToAddModList },
- { &hf_nr_rrc_s_MeasureConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_s_MeasureConfig },
- { &hf_nr_rrc_quantityConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_QuantityConfig },
- { &hf_nr_rrc_measGapConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasGapConfig },
+
+static int
+dissect_nr_rrc_INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxNrofCSI_SSB_ResourceSetsPerConfig, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_resourcesForChannel_vals[] = {
+ { 0, "nzp-CSI-RS" },
+ { 1, "csi-SSB-ResourceSet" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_resourcesForChannel_choice[] = {
+ { 0, &hf_nr_rrc_nzp_CSI_RS , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nzp_CSI_RS },
+ { 1, &hf_nr_rrc_csi_SSB_ResourceSet, ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfig },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_resourcesForChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_resourcesForChannel, T_resourcesForChannel_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxNrofCSI_IM_ResourceSetsPerConfig, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t CSI_AssociatedReportConfigInfo_sequence[] = {
+ { &hf_nr_rrc_reportConfigId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfigId },
+ { &hf_nr_rrc_resourcesForChannel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourcesForChannel },
+ { &hf_nr_rrc_csi_IM_ResourcesforInteference, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig },
+ { &hf_nr_rrc_nzp_CSI_RS_ResourcesforInterference, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CSI_AssociatedReportConfigInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasConfig, MeasConfig_sequence);
+ ett_nr_rrc_CSI_AssociatedReportConfigInfo, CSI_AssociatedReportConfigInfo_sequence);
return offset;
}
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo_sequence_of[1] = {
+ { &hf_nr_rrc_associatedReportConfigInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_AssociatedReportConfigInfo },
+};
static int
-dissect_nr_rrc_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
- NO_BOUND, NO_BOUND, FALSE, NULL);
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo, SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo_sequence_of,
+ 1, maxNrofReportConfigPerAperiodicTrigger, FALSE);
return offset;
}
-static const per_sequence_t T_nonCriticalExtension_01_sequence[] = {
+static const per_sequence_t CSI_AperiodicTriggerState_sequence[] = {
+ { &hf_nr_rrc_associatedReportConfigInfoList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_nonCriticalExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CSI_AperiodicTriggerState(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_nonCriticalExtension_01, T_nonCriticalExtension_01_sequence);
+ ett_nr_rrc_CSI_AperiodicTriggerState, CSI_AperiodicTriggerState_sequence);
return offset;
}
-static const per_sequence_t RRCReconfiguration_IEs_sequence[] = {
- { &hf_nr_rrc_radioBearerConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RadioBearerConfig },
- { &hf_nr_rrc_masterCellGroupConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CellGroupConfig },
- { &hf_nr_rrc_secondaryCellGroupToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCellGroups_OF_CellGroupConfig },
- { &hf_nr_rrc_secondaryCellGroupToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCellGroups_OF_CellGroupId },
- { &hf_nr_rrc_measConfig , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasConfig },
- { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
- { &hf_nr_rrc_nonCriticalExtension_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_01 },
+static const per_sequence_t CSI_AperiodicTriggerStateList_sequence_of[1] = {
+ { &hf_nr_rrc_CSI_AperiodicTriggerStateList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_AperiodicTriggerState },
+};
+
+static int
+dissect_nr_rrc_CSI_AperiodicTriggerStateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CSI_AperiodicTriggerStateList, CSI_AperiodicTriggerStateList_sequence_of,
+ 1, maxNrOfCSI_AperiodicTriggers, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_aperiodicTriggerStateList_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_aperiodicTriggerStateList_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_AperiodicTriggerStateList },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_aperiodicTriggerStateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_aperiodicTriggerStateList, T_aperiodicTriggerStateList_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t CSI_SemiPersistentOnPUSCH_TriggerState_sequence[] = {
+ { &hf_nr_rrc_associatedReportConfigInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfigId },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_RRCReconfiguration_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RRCReconfiguration_IEs, RRCReconfiguration_IEs_sequence);
+ ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState, CSI_SemiPersistentOnPUSCH_TriggerState_sequence);
return offset;
}
-static const per_sequence_t T_criticalExtensionsFuture_02_sequence[] = {
+static const per_sequence_t CSI_SemiPersistentOnPUSCH_TriggerStateList_sequence_of[1] = {
+ { &hf_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState },
+};
+
+static int
+dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList, CSI_SemiPersistentOnPUSCH_TriggerStateList_sequence_of,
+ 1, maxNrOfSemiPersistentPUSCH_Triggers, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_semiPersistentOnPUSCH_TriggerStateList_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_17 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList, T_semiPersistentOnPUSCH_TriggerStateList_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t CSI_MeasConfig_sequence[] = {
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource },
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId },
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet },
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId },
+ { &hf_nr_rrc_csi_IM_ResourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource },
+ { &hf_nr_rrc_csi_IM_ResourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId },
+ { &hf_nr_rrc_csi_IM_ResourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet },
+ { &hf_nr_rrc_csi_IM_ResourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId },
+ { &hf_nr_rrc_csi_SSB_ResourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet },
+ { &hf_nr_rrc_csi_SSB_ResourceSetToAddReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId },
+ { &hf_nr_rrc_csi_ResourceConfigToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig },
+ { &hf_nr_rrc_csi_ResourceConfigToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId },
+ { &hf_nr_rrc_csi_ReportConfigToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig },
+ { &hf_nr_rrc_csi_ReportConfigToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId },
+ { &hf_nr_rrc_reportTriggerSize, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_6 },
+ { &hf_nr_rrc_aperiodicTriggerStateList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_aperiodicTriggerStateList },
+ { &hf_nr_rrc_semiPersistentOnPUSCH_TriggerStateList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensionsFuture_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CSI_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensionsFuture_02, T_criticalExtensionsFuture_02_sequence);
+ ett_nr_rrc_CSI_MeasConfig, CSI_MeasConfig_sequence);
return offset;
}
-static const value_string nr_rrc_T_criticalExtensions_02_vals[] = {
- { 0, "rrcReconfiguration" },
- { 1, "criticalExtensionsFuture" },
+static const value_string nr_rrc_T_csi_MeasConfig_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t T_criticalExtensions_02_choice[] = {
- { 0, &hf_nr_rrc_rrcReconfiguration_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfiguration_IEs },
- { 1, &hf_nr_rrc_criticalExtensionsFuture_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_02 },
+static const per_choice_t T_csi_MeasConfig_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_37 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_MeasConfig },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensions_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_csi_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensions_02, T_criticalExtensions_02_choice,
+ ett_nr_rrc_T_csi_MeasConfig, T_csi_MeasConfig_choice,
NULL);
return offset;
}
-static const per_sequence_t RRCReconfiguration_sequence[] = {
- { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
- { &hf_nr_rrc_criticalExtensions_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_02 },
+static const per_sequence_t SRS_CC_SetIndex_sequence[] = {
+ { &hf_nr_rrc_cc_SetIndex , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_3 },
+ { &hf_nr_rrc_cc_IndexInOneCC_Set, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_7 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_RRCReconfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration");
+dissect_nr_rrc_SRS_CC_SetIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SRS_CC_SetIndex, SRS_CC_SetIndex_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex_sequence_of[1] = {
+ { &hf_nr_rrc_srs_CC_SetIndexlist_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_CC_SetIndex },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex, SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex_sequence_of,
+ 1, 4, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SRS_TPC_PDCCH_Config_sequence[] = {
+ { &hf_nr_rrc_startingBitOfFormat2_3, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_31 },
+ { &hf_nr_rrc_fieldTypeFormat2_3, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1 },
+ { &hf_nr_rrc_srs_CC_SetIndexlist, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex },
+ { NULL, 0, 0, NULL }
+};
+static int
+dissect_nr_rrc_SRS_TPC_PDCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RRCReconfiguration, RRCReconfiguration_sequence);
+ ett_nr_rrc_SRS_TPC_PDCCH_Config, SRS_TPC_PDCCH_Config_sequence);
return offset;
}
-static const value_string nr_rrc_T_c1_01_vals[] = {
- { 0, "rrcReconfiguration" },
- { 1, "spare15" },
- { 2, "spare14" },
- { 3, "spare13" },
- { 4, "spare12" },
- { 5, "spare11" },
- { 6, "spare10" },
- { 7, "spare9" },
- { 8, "spare8" },
- { 9, "spare7" },
- { 10, "spare6" },
- { 11, "spare5" },
- { 12, "spare4" },
- { 13, "spare3" },
- { 14, "spare2" },
- { 15, "spare1" },
+static const per_sequence_t SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config_sequence_of[1] = {
+ { &hf_nr_rrc_typeA_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_TPC_PDCCH_Config },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config, SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config_sequence_of,
+ 1, 32, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_srs_TPC_PDCCH_Group_vals[] = {
+ { 0, "typeA" },
+ { 1, "typeB" },
{ 0, NULL }
};
-static const per_choice_t T_c1_01_choice[] = {
- { 0, &hf_nr_rrc_rrcReconfiguration, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfiguration },
- { 1, &hf_nr_rrc_spare15 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 2, &hf_nr_rrc_spare14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 3, &hf_nr_rrc_spare13 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 4, &hf_nr_rrc_spare12 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 5, &hf_nr_rrc_spare11 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 6, &hf_nr_rrc_spare10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 7, &hf_nr_rrc_spare9 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 8, &hf_nr_rrc_spare8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 9, &hf_nr_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 10, &hf_nr_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 11, &hf_nr_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 12, &hf_nr_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 13, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 14, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 15, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+static const per_choice_t T_srs_TPC_PDCCH_Group_choice[] = {
+ { 0, &hf_nr_rrc_typeA , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config },
+ { 1, &hf_nr_rrc_typeB , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_TPC_PDCCH_Config },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_c1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_srs_TPC_PDCCH_Group(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_c1_01, T_c1_01_choice,
+ ett_nr_rrc_T_srs_TPC_PDCCH_Group, T_srs_TPC_PDCCH_Group_choice,
NULL);
return offset;
}
-static const per_sequence_t T_messageClassExtension_01_sequence[] = {
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_SlotFormatCombinationsPerCell_sequence_of[1] = {
+ { &hf_nr_rrc_srs_CellToSFI_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatCombinationsPerCell },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_SlotFormatCombinationsPerCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_SlotFormatCombinationsPerCell, SEQUENCE_SIZE_1_maxNrofServingCells_OF_SlotFormatCombinationsPerCell_sequence_of,
+ 1, maxNrofServingCells, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex_sequence_of[1] = {
+ { &hf_nr_rrc_monitoringCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex, SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex_sequence_of,
+ 1, maxNrofServingCells, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SRS_CarrierSwitching_sequence[] = {
+ { &hf_nr_rrc_srs_SwitchFromServCellIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
+ { &hf_nr_rrc_srs_TPC_PDCCH_Group, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_TPC_PDCCH_Group },
+ { &hf_nr_rrc_srs_CellToSFI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_SlotFormatCombinationsPerCell },
+ { &hf_nr_rrc_monitoringCells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_messageClassExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SRS_CarrierSwitching(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_messageClassExtension_01, T_messageClassExtension_01_sequence);
+ ett_nr_rrc_SRS_CarrierSwitching, SRS_CarrierSwitching_sequence);
return offset;
}
-static const value_string nr_rrc_DL_DCCH_MessageType_vals[] = {
- { 0, "c1" },
- { 1, "messageClassExtension" },
+static const value_string nr_rrc_T_carrierSwitching_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t DL_DCCH_MessageType_choice[] = {
- { 0, &hf_nr_rrc_c1_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_01 },
- { 1, &hf_nr_rrc_messageClassExtension_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_01 },
+static const per_choice_t T_carrierSwitching_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_38 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_CarrierSwitching },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_DL_DCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_carrierSwitching(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_DL_DCCH_MessageType, DL_DCCH_MessageType_choice,
+ ett_nr_rrc_T_carrierSwitching, T_carrierSwitching_choice,
NULL);
return offset;
}
-static const per_sequence_t DL_DCCH_Message_sequence[] = {
- { &hf_nr_rrc_message_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_DCCH_MessageType },
+static const value_string nr_rrc_T_sCellDeactivationTimer_vals[] = {
+ { 0, "ms20" },
+ { 1, "ms40" },
+ { 2, "ms80" },
+ { 3, "ms160" },
+ { 4, "ms200" },
+ { 5, "ms240" },
+ { 6, "ms320" },
+ { 7, "ms400" },
+ { 8, "ms480" },
+ { 9, "ms520" },
+ { 10, "ms640" },
+ { 11, "ms720" },
+ { 12, "ms840" },
+ { 13, "ms1280" },
+ { 14, "spare2" },
+ { 15, "spare1" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_sCellDeactivationTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 16, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_own_sequence[] = {
+ { &hf_nr_rrc_cif_Presence , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_DL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- proto_item *ti;
+dissect_nr_rrc_T_own(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_own, T_own_sequence);
- col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
- col_clear(actx->pinfo->cinfo, COL_INFO);
+ return offset;
+}
- 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;
+static int
+dissect_nr_rrc_INTEGER_1_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 7U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_other_sequence[] = {
+ { &hf_nr_rrc_schedulingCellId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
+ { &hf_nr_rrc_cif_InSchedulingCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_7 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_other(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_DL_DCCH_Message, DL_DCCH_Message_sequence);
+ ett_nr_rrc_T_other, T_other_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_schedulingCellInfo_vals[] = {
+ { 0, "own" },
+ { 1, "other" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_schedulingCellInfo_choice[] = {
+ { 0, &hf_nr_rrc_own , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_own },
+ { 1, &hf_nr_rrc_other , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_other },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_schedulingCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_schedulingCellInfo, T_schedulingCellInfo_choice,
+ NULL);
return offset;
}
-static const per_sequence_t ResultsSSBCell_sequence[] = {
- { &hf_nr_rrc_ssb_Cellrsrp , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range },
- { &hf_nr_rrc_ssb_Cellrsrq , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_Range },
- { &hf_nr_rrc_ssb_Cellsinr , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SINR_Range },
+static const per_sequence_t CrossCarrierSchedulingConfig_sequence[] = {
+ { &hf_nr_rrc_schedulingCellInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_schedulingCellInfo },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_ResultsSSBCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CrossCarrierSchedulingConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ResultsSSBCell, ResultsSSBCell_sequence);
+ ett_nr_rrc_CrossCarrierSchedulingConfig, CrossCarrierSchedulingConfig_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_ue_BeamLockFunction_vals[] = {
+ { 0, "enabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_ue_BeamLockFunction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t ResultsCSI_RSCell_sequence[] = {
- { &hf_nr_rrc_csi_rs_Cellrsrp, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range },
- { &hf_nr_rrc_csi_rs_Cellrsrq, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_Range },
- { &hf_nr_rrc_csi_rs_Cellsinr, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SINR_Range },
+static const value_string nr_rrc_T_pathlossReferenceLinking_vals[] = {
+ { 0, "pCell" },
+ { 1, "sCell" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pathlossReferenceLinking(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServingCellConfig_sequence[] = {
+ { &hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_ConfigDedicated },
+ { &hf_nr_rrc_initialDownlinkBWP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BWP_DownlinkDedicated },
+ { &hf_nr_rrc_downlinkBWP_ToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id },
+ { &hf_nr_rrc_downlinkBWP_ToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink },
+ { &hf_nr_rrc_firstActiveDownlinkBWP_Id, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BWP_Id },
+ { &hf_nr_rrc_bwp_InactivityTimer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_InactivityTimer },
+ { &hf_nr_rrc_defaultDownlinkBWP_Id, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BWP_Id },
+ { &hf_nr_rrc_uplinkConfig , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfig },
+ { &hf_nr_rrc_supplementaryUplink_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfig },
+ { &hf_nr_rrc_pdsch_ServingCellConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_ServingCellConfig },
+ { &hf_nr_rrc_csi_MeasConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_MeasConfig },
+ { &hf_nr_rrc_carrierSwitching, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_carrierSwitching },
+ { &hf_nr_rrc_sCellDeactivationTimer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sCellDeactivationTimer },
+ { &hf_nr_rrc_crossCarrierSchedulingConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CrossCarrierSchedulingConfig },
+ { &hf_nr_rrc_tag_Id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG_Id },
+ { &hf_nr_rrc_ue_BeamLockFunction, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_BeamLockFunction },
+ { &hf_nr_rrc_pathlossReferenceLinking, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pathlossReferenceLinking },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_ResultsCSI_RSCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ResultsCSI_RSCell, ResultsCSI_RSCell_sequence);
+ ett_nr_rrc_ServingCellConfig, ServingCellConfig_sequence);
return offset;
}
-static const per_sequence_t T_cellResults_sequence[] = {
- { &hf_nr_rrc_resultsSSBCell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ResultsSSBCell },
- { &hf_nr_rrc_resultsCSI_RSCell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ResultsCSI_RSCell },
+static const per_sequence_t SpCellConfig_sequence[] = {
+ { &hf_nr_rrc_servCellIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex },
+ { &hf_nr_rrc_reconfigurationWithSync, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReconfigurationWithSync },
+ { &hf_nr_rrc_rlf_TimersAndConstants, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rlf_TimersAndConstants },
+ { &hf_nr_rrc_rlmInSyncOutOfSyncThreshold, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1 },
+ { &hf_nr_rrc_spCellConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServingCellConfig },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_cellResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SpCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_cellResults, T_cellResults_sequence);
+ ett_nr_rrc_SpCellConfig, SpCellConfig_sequence);
return offset;
}
-static const per_sequence_t ResultsPerSSBIndex_sequence[] = {
- { &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
- { &hf_nr_rrc_ss_rsrp , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range },
- { &hf_nr_rrc_ss_rsrq , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_Range },
- { &hf_nr_rrc_ss_sinr , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SINR_Range },
+
+static int
+dissect_nr_rrc_SCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 31U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SCellConfig_sequence[] = {
+ { &hf_nr_rrc_sCellIndex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellIndex },
+ { &hf_nr_rrc_sCellConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServingCellConfigCommon },
+ { &hf_nr_rrc_sCellConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServingCellConfig },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_ResultsPerSSBIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ResultsPerSSBIndex, ResultsPerSSBIndex_sequence);
+ ett_nr_rrc_SCellConfig, SCellConfig_sequence);
return offset;
}
-static const per_sequence_t ResultsPerSSBIndexList_sequence_of[1] = {
- { &hf_nr_rrc_ResultsPerSSBIndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ResultsPerSSBIndex },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig_sequence_of[1] = {
+ { &hf_nr_rrc_sCellToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellConfig },
};
static int
-dissect_nr_rrc_ResultsPerSSBIndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ResultsPerSSBIndexList, ResultsPerSSBIndexList_sequence_of,
- 1, maxNroSSBs, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig, SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig_sequence_of,
+ 1, maxNrofSCells, FALSE);
return offset;
}
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex_sequence_of[1] = {
+ { &hf_nr_rrc_sCellToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellIndex },
+};
static int
-dissect_nr_rrc_CSI_RSIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex, SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex_sequence_of,
+ 1, maxNrofSCells, FALSE);
return offset;
}
-static const per_sequence_t ResultsPerCSI_RSIndex_sequence[] = {
- { &hf_nr_rrc_csi_rsIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RSIndex },
- { &hf_nr_rrc_csi_rsrp , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range },
- { &hf_nr_rrc_csi_rsrq , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_Range },
- { &hf_nr_rrc_csi_sinr , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SINR_Range },
+static const per_sequence_t CellGroupConfig_sequence[] = {
+ { &hf_nr_rrc_cellGroupId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupId },
+ { &hf_nr_rrc_rlc_BearerToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_Bearer_Config },
+ { &hf_nr_rrc_rlc_BearerToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity },
+ { &hf_nr_rrc_mac_CellGroupConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MAC_CellGroupConfig },
+ { &hf_nr_rrc_physicalCellGroupConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PhysicalCellGroupConfig },
+ { &hf_nr_rrc_spCellConfig , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SpCellConfig },
+ { &hf_nr_rrc_sCellToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig },
+ { &hf_nr_rrc_sCellToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_ResultsPerCSI_RSIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ResultsPerCSI_RSIndex, ResultsPerCSI_RSIndex_sequence);
+ ett_nr_rrc_CellGroupConfig, CellGroupConfig_sequence);
return offset;
}
-static const per_sequence_t ResultsPerCSI_RSIndexList_sequence_of[1] = {
- { &hf_nr_rrc_ResultsPerCSI_RSIndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ResultsPerCSI_RSIndex },
+static const per_sequence_t MeasResultServFreq2NR_sequence[] = {
+ { &hf_nr_rrc_ssbFrequency , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
+ { &hf_nr_rrc_refFreqCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
+ { &hf_nr_rrc_measResultServingCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultNR },
+ { &hf_nr_rrc_measResultBestNeighCell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultNR },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_ResultsPerCSI_RSIndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasResultServFreq2NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasResultServFreq2NR, MeasResultServFreq2NR_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasResultServFreqList2NR_sequence_of[1] = {
+ { &hf_nr_rrc_MeasResultServFreqList2NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServFreq2NR },
+};
+
+static int
+dissect_nr_rrc_MeasResultServFreqList2NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ResultsPerCSI_RSIndexList, ResultsPerCSI_RSIndexList_sequence_of,
- 1, maxNroCSI_RS, FALSE);
+ ett_nr_rrc_MeasResultServFreqList2NR, MeasResultServFreqList2NR_sequence_of,
+ 1, maxNrofServingCells, FALSE);
return offset;
}
-static const per_sequence_t T_rsIndexResults_sequence[] = {
- { &hf_nr_rrc_resultsSSBIndexes, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ResultsPerSSBIndexList },
- { &hf_nr_rrc_resultsCSI_RSIndexes, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ResultsPerCSI_RSIndexList },
+static const per_sequence_t MeasResult2NR_sequence[] = {
+ { &hf_nr_rrc_ssbFrequency , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
+ { &hf_nr_rrc_refFreqCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
+ { &hf_nr_rrc_measResultListNR, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultListNR },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_rsIndexResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasResult2NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_rsIndexResults, T_rsIndexResults_sequence);
+ ett_nr_rrc_MeasResult2NR, MeasResult2NR_sequence);
return offset;
}
-static const per_sequence_t T_measResult_sequence[] = {
- { &hf_nr_rrc_cellResults , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellResults },
- { &hf_nr_rrc_rsIndexResults, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rsIndexResults },
+static const per_sequence_t MeasResultList2NR_sequence_of[1] = {
+ { &hf_nr_rrc_MeasResultList2NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResult2NR },
+};
+
+static int
+dissect_nr_rrc_MeasResultList2NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasResultList2NR, MeasResultList2NR_sequence_of,
+ 1, maxFreq, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasResultSCG_Failure_sequence[] = {
+ { &hf_nr_rrc_measResultServFreqList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServFreqList2NR },
+ { &hf_nr_rrc_measResultNeighCells_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultList2NR },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_measResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasResultSCG_Failure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_measResult, T_measResult_sequence);
+ ett_nr_rrc_MeasResultSCG_Failure, MeasResultSCG_Failure_sequence);
return offset;
}
-static const per_sequence_t MeasResultNR_sequence[] = {
- { &hf_nr_rrc_physCellId , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PhysCellId },
- { &hf_nr_rrc_cgi_Info , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NULL },
- { &hf_nr_rrc_measResult , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResult },
+
+static int
+dissect_nr_rrc_FreqBandIndicatorEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxBandsEUTRA, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_CA_BandwidthClassEUTRA_vals[] = {
+ { 0, "a" },
+ { 1, "b" },
+ { 2, "c" },
+ { 3, "d" },
+ { 4, "e" },
+ { 5, "f" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_CA_BandwidthClassEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 6, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_mimo_CapabilityDL_vals[] = {
+ { 0, "twoLayers" },
+ { 1, "fourLayers" },
+ { 2, "eightLayers" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_mimo_CapabilityDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t IntraBandContiguousCC_InfoDL_EUTRA_sequence[] = {
+ { &hf_nr_rrc_mimo_CapabilityDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mimo_CapabilityDL },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasResultNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_IntraBandContiguousCC_InfoDL_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasResultNR, MeasResultNR_sequence);
+ ett_nr_rrc_IntraBandContiguousCC_InfoDL_EUTRA, IntraBandContiguousCC_InfoDL_EUTRA_sequence);
return offset;
}
-static const per_sequence_t MeasResultServFreq_sequence[] = {
- { &hf_nr_rrc_servFreqId , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex },
- { &hf_nr_rrc_measResultServingCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultNR },
- { &hf_nr_rrc_measResultBestNeighCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultNR },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoDL_EUTRA_sequence_of[1] = {
+ { &hf_nr_rrc_intraBandContiguousCC_InfoDL_EUTRA_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntraBandContiguousCC_InfoDL_EUTRA },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoDL_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoDL_EUTRA, SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoDL_EUTRA_sequence_of,
+ 1, maxNrofServingCellsEUTRA, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t BandAndDL_ParametersEUTRA_sequence[] = {
+ { &hf_nr_rrc_bandEUTRA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA },
+ { &hf_nr_rrc_ca_BandwidthClassDL_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_BandwidthClassEUTRA },
+ { &hf_nr_rrc_intraBandContiguousCC_InfoDL_EUTRA_List, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoDL_EUTRA },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasResultServFreq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_BandAndDL_ParametersEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasResultServFreq, MeasResultServFreq_sequence);
+ ett_nr_rrc_BandAndDL_ParametersEUTRA, BandAndDL_ParametersEUTRA_sequence);
return offset;
}
-static const per_sequence_t MeasResultServFreqList_sequence_of[1] = {
- { &hf_nr_rrc_MeasResultServFreqList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServFreq },
+static const value_string nr_rrc_CA_BandwidthClassNR_vals[] = {
+ { 0, "a" },
+ { 1, "b" },
+ { 2, "c" },
+ { 3, "d" },
+ { 4, "e" },
+ { 5, "f" },
+ { 6, "g" },
+ { 7, "h" },
+ { 8, "i" },
+ { 9, "j" },
+ { 10, "k" },
+ { 11, "l" },
+ { 12, "m" },
+ { 13, "n" },
+ { 14, "o" },
+ { 15, "p" },
+ { 16, "q" },
+ { 0, NULL }
};
+static value_string_ext nr_rrc_CA_BandwidthClassNR_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_CA_BandwidthClassNR_vals);
+
+
static int
-dissect_nr_rrc_MeasResultServFreqList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasResultServFreqList, MeasResultServFreqList_sequence_of,
- 1, maxServCell, FALSE);
+dissect_nr_rrc_CA_BandwidthClassNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 17, NULL, TRUE, 0, NULL);
return offset;
}
-static const per_sequence_t MeasResultListNR_sequence_of[1] = {
- { &hf_nr_rrc_MeasResultListNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultNR },
+static const value_string nr_rrc_FreqSeparationClass_vals[] = {
+ { 0, "c1" },
+ { 1, "c2" },
+ { 2, "c3" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_MeasResultListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_FreqSeparationClass(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_MIMO_LayersDL_vals[] = {
+ { 0, "twoLayers" },
+ { 1, "fourLayers" },
+ { 2, "eightLayers" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_MIMO_LayersDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t IntraBandContiguousCC_InfoDL_sequence[] = {
+ { &hf_nr_rrc_maxNumberMIMO_LayersPDSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersDL },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_IntraBandContiguousCC_InfoDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_IntraBandContiguousCC_InfoDL, IntraBandContiguousCC_InfoDL_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoDL_sequence_of[1] = {
+ { &hf_nr_rrc_intraBandContiguousCC_InfoDL_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntraBandContiguousCC_InfoDL },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasResultListNR, MeasResultListNR_sequence_of,
- 1, maxCellReport, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoDL, SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoDL_sequence_of,
+ 1, maxNrofServingCells, FALSE);
return offset;
}
-static const per_sequence_t MeasResultListEUTRA_sequence[] = {
+static const per_sequence_t BandAndDL_ParametersNR_sequence[] = {
+ { &hf_nr_rrc_bandNR , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
+ { &hf_nr_rrc_ca_BandwidthClassDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_BandwidthClassNR },
+ { &hf_nr_rrc_intraBandFreqSeparationDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FreqSeparationClass },
+ { &hf_nr_rrc_intraBandContiguousCC_InfoDL_List, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoDL },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasResultListEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_BandAndDL_ParametersNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasResultListEUTRA, MeasResultListEUTRA_sequence);
+ ett_nr_rrc_BandAndDL_ParametersNR, BandAndDL_ParametersNR_sequence);
return offset;
}
-static const value_string nr_rrc_T_measResultNeighCells_vals[] = {
- { 0, "measResultListNR" },
- { 1, "measResultListEUTRA" },
+static const value_string nr_rrc_BandAndDL_Parameters_vals[] = {
+ { 0, "bandAndDL-ParametersEUTRA" },
+ { 1, "bandAndDL-ParametersNR" },
{ 0, NULL }
};
-static const per_choice_t T_measResultNeighCells_choice[] = {
- { 0, &hf_nr_rrc_measResultListNR, ASN1_EXTENSION_ROOT , dissect_nr_rrc_MeasResultListNR },
- { 1, &hf_nr_rrc_measResultListEUTRA, ASN1_EXTENSION_ROOT , dissect_nr_rrc_MeasResultListEUTRA },
+static const per_choice_t BandAndDL_Parameters_choice[] = {
+ { 0, &hf_nr_rrc_bandAndDL_ParametersEUTRA, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BandAndDL_ParametersEUTRA },
+ { 1, &hf_nr_rrc_bandAndDL_ParametersNR, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BandAndDL_ParametersNR },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_measResultNeighCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_BandAndDL_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_measResultNeighCells, T_measResultNeighCells_choice,
+ ett_nr_rrc_BandAndDL_Parameters, BandAndDL_Parameters_choice,
NULL);
return offset;
}
-static const per_sequence_t MeasResults_sequence[] = {
- { &hf_nr_rrc_measId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId },
- { &hf_nr_rrc_measResultServingFreqList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServFreqList },
- { &hf_nr_rrc_measResultNeighCells, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_measResultNeighCells },
+static const per_sequence_t BandAndDL_ParametersList_sequence_of[1] = {
+ { &hf_nr_rrc_BandAndDL_ParametersList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandAndDL_Parameters },
+};
+
+static int
+dissect_nr_rrc_BandAndDL_ParametersList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BandAndDL_ParametersList, BandAndDL_ParametersList_sequence_of,
+ 1, maxSimultaneousBands, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_1_maxBandComb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 1, maxBandComb, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_multipleTimingAdvances_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_multipleTimingAdvances(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_simultaneousRxTxInterBandCA_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_simultaneousRxTxInterBandCA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 1, 32, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t CA_ParametersNR_sequence[] = {
+ { &hf_nr_rrc_multipleTimingAdvances, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleTimingAdvances },
+ { &hf_nr_rrc_simultaneousRxTxInterBandCA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRxTxInterBandCA },
+ { &hf_nr_rrc_supportedBandwidthCombinationSet, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_1_32 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CA_ParametersNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasResults, MeasResults_sequence);
+ ett_nr_rrc_CA_ParametersNR, CA_ParametersNR_sequence);
return offset;
}
-static const per_sequence_t MeasurementReport_IEs_sequence[] = {
- { &hf_nr_rrc_measResults , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResults },
+static const value_string nr_rrc_T_singleUL_Transmission_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_singleUL_Transmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_ul_SharingEUTRA_NR_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_ul_SharingEUTRA_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_ul_SwitchingTimeEUTRA_NR_vals[] = {
+ { 0, "type1" },
+ { 1, "type2" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_ul_SwitchingTimeEUTRA_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_simultaneousRxTxInterBandENDC_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_simultaneousRxTxInterBandENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_asyncIntraBandENDC_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_asyncIntraBandENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BasebandProcessingCombinationIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxBasebandProcComb, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex_sequence_of[1] = {
+ { &hf_nr_rrc_basebandProcessingCombinationLinkedIndexSN_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandProcessingCombinationIndex },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex, SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex_sequence_of,
+ 1, maxBasebandProcComb, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t BasebandProcessingCombinationLink_sequence[] = {
+ { &hf_nr_rrc_basebandProcessingCombinationIndexMN, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandProcessingCombinationIndex },
+ { &hf_nr_rrc_basebandProcessingCombinationLinkedIndexSN, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasurementReport_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_BasebandProcessingCombinationLink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasurementReport_IEs, MeasurementReport_IEs_sequence);
+ ett_nr_rrc_BasebandProcessingCombinationLink, BasebandProcessingCombinationLink_sequence);
return offset;
}
-static const per_sequence_t T_criticalExtensionsFuture_01_sequence[] = {
+static const per_sequence_t BasebandProcessingCombinationMRDC_sequence_of[1] = {
+ { &hf_nr_rrc_BasebandProcessingCombinationMRDC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandProcessingCombinationLink },
+};
+
+static int
+dissect_nr_rrc_BasebandProcessingCombinationMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BasebandProcessingCombinationMRDC, BasebandProcessingCombinationMRDC_sequence_of,
+ 1, maxBasebandProcComb, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t MRDC_Parameters_sequence[] = {
+ { &hf_nr_rrc_singleUL_Transmission, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_singleUL_Transmission },
+ { &hf_nr_rrc_ul_SharingEUTRA_NR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_SharingEUTRA_NR },
+ { &hf_nr_rrc_ul_SwitchingTimeEUTRA_NR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_SwitchingTimeEUTRA_NR },
+ { &hf_nr_rrc_simultaneousRxTxInterBandENDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRxTxInterBandENDC },
+ { &hf_nr_rrc_asyncIntraBandENDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_asyncIntraBandENDC },
+ { &hf_nr_rrc_basebandProcesingCombinationMRDC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandProcessingCombinationMRDC },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensionsFuture_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MRDC_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensionsFuture_01, T_criticalExtensionsFuture_01_sequence);
+ ett_nr_rrc_MRDC_Parameters, MRDC_Parameters_sequence);
return offset;
}
-static const value_string nr_rrc_T_criticalExtensions_01_vals[] = {
- { 0, "measurementReport" },
- { 1, "criticalExtensionsFuture" },
+static const per_sequence_t BandCombinationParameters_sequence[] = {
+ { &hf_nr_rrc_ca_ParametersNR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_ParametersNR },
+ { &hf_nr_rrc_mrdc_Parameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MRDC_Parameters },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BandCombinationParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BandCombinationParameters, BandCombinationParameters_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxBandComb_OF_BandCombinationParameters_sequence_of[1] = {
+ { &hf_nr_rrc_bandCombinationParametersList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationParameters },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_BandCombinationParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_BandCombinationParameters, SEQUENCE_SIZE_1_maxBandComb_OF_BandCombinationParameters_sequence_of,
+ 1, maxBandComb, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t BandCombination_sequence[] = {
+ { &hf_nr_rrc_bandAndDL_ParametersList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandAndDL_ParametersList },
+ { &hf_nr_rrc_bandCombinationsUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1_maxBandComb },
+ { &hf_nr_rrc_bandCombinationParametersList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_BandCombinationParameters },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BandCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BandCombination, BandCombination_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t BandCombinationList_sequence_of[1] = {
+ { &hf_nr_rrc_BandCombinationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination },
+};
+
+static int
+dissect_nr_rrc_BandCombinationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BandCombinationList, BandCombinationList_sequence_of,
+ 1, maxBandComb, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_mimo_CapabilityUL_vals[] = {
+ { 0, "twoLayers" },
+ { 1, "fourLayers" },
{ 0, NULL }
};
-static const per_choice_t T_criticalExtensions_01_choice[] = {
- { 0, &hf_nr_rrc_measurementReport_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasurementReport_IEs },
- { 1, &hf_nr_rrc_criticalExtensionsFuture_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_01 },
+
+static int
+dissect_nr_rrc_T_mimo_CapabilityUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t IntraBandContiguousCC_InfoUL_EUTRA_sequence[] = {
+ { &hf_nr_rrc_mimo_CapabilityUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mimo_CapabilityUL },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_IntraBandContiguousCC_InfoUL_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_IntraBandContiguousCC_InfoUL_EUTRA, IntraBandContiguousCC_InfoUL_EUTRA_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoUL_EUTRA_sequence_of[1] = {
+ { &hf_nr_rrc_intraBandContiguousCC_InfoUL_EUTRA_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntraBandContiguousCC_InfoUL_EUTRA },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoUL_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoUL_EUTRA, SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoUL_EUTRA_sequence_of,
+ 1, maxNrofServingCellsEUTRA, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t BandParametersUL_EUTRA_sequence[] = {
+ { &hf_nr_rrc_ca_BandwidthClassUL_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_BandwidthClassEUTRA },
+ { &hf_nr_rrc_intraBandContiguousCC_InfoUL_EUTRA_List, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoUL_EUTRA },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BandParametersUL_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BandParametersUL_EUTRA, BandParametersUL_EUTRA_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_MIMO_LayersUL_vals[] = {
+ { 0, "oneLayer" },
+ { 1, "twoLayers" },
+ { 2, "fourLayers" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_MIMO_LayersUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t IntraBandContiguousCC_InfoUL_sequence[] = {
+ { &hf_nr_rrc_maxNumberMIMO_LayersCB_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersUL },
+ { &hf_nr_rrc_maxNumberMIMO_LayersNonCB_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersUL },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_IntraBandContiguousCC_InfoUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_IntraBandContiguousCC_InfoUL, IntraBandContiguousCC_InfoUL_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoUL_sequence_of[1] = {
+ { &hf_nr_rrc_intraBandContiguousCC_InfoUL_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntraBandContiguousCC_InfoUL },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoUL, SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoUL_sequence_of,
+ 1, maxNrofServingCells, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t BandParametersUL_NR_sequence[] = {
+ { &hf_nr_rrc_ca_BandwidthClassUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_BandwidthClassNR },
+ { &hf_nr_rrc_intraBandFreqSeparationUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FreqSeparationClass },
+ { &hf_nr_rrc_intraBandContiguousCC_InfoUL_List, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoUL },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BandParametersUL_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BandParametersUL_NR, BandParametersUL_NR_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_BandParametersUL_vals[] = {
+ { 0, "bandParametersUL-EUTRA" },
+ { 1, "bandParametersUL-NR" },
+ { 0, NULL }
+};
+
+static const per_choice_t BandParametersUL_choice[] = {
+ { 0, &hf_nr_rrc_bandParametersUL_EUTRA, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BandParametersUL_EUTRA },
+ { 1, &hf_nr_rrc_bandParametersUL_NR, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BandParametersUL_NR },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensions_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_BandParametersUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensions_01, T_criticalExtensions_01_choice,
+ ett_nr_rrc_BandParametersUL, BandParametersUL_choice,
NULL);
return offset;
}
-static const per_sequence_t MeasurementReport_sequence[] = {
- { &hf_nr_rrc_criticalExtensions_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_01 },
+static const per_sequence_t BandCombinationParametersUL_sequence_of[1] = {
+ { &hf_nr_rrc_BandCombinationParametersUL_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParametersUL },
+};
+
+static int
+dissect_nr_rrc_BandCombinationParametersUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BandCombinationParametersUL, BandCombinationParametersUL_sequence_of,
+ 1, maxSimultaneousBands, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t BandCombinationParametersUL_List_sequence_of[1] = {
+ { &hf_nr_rrc_BandCombinationParametersUL_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationParametersUL },
+};
+
+static int
+dissect_nr_rrc_BandCombinationParametersUL_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BandCombinationParametersUL_List, BandCombinationParametersUL_List_sequence_of,
+ 1, maxBandComb, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_freqRange_vals[] = {
+ { 0, "fr1" },
+ { 1, "fr2" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_freqRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_fr1_vals[] = {
+ { 0, "mhz5" },
+ { 1, "mhz10" },
+ { 2, "mhz15" },
+ { 3, "mhz20" },
+ { 4, "mhz25" },
+ { 5, "mhz30" },
+ { 6, "mhz40" },
+ { 7, "mhz50" },
+ { 8, "mhz60" },
+ { 9, "mhz80" },
+ { 10, "mhz100" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_fr1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 11, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_fr2_vals[] = {
+ { 0, "mhz50" },
+ { 1, "mhz100" },
+ { 2, "mhz200" },
+ { 3, "mhz400" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_fr2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_supportedBandwidthUL_vals[] = {
+ { 0, "fr1" },
+ { 1, "fr2" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_supportedBandwidthUL_choice[] = {
+ { 0, &hf_nr_rrc_fr1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr1 },
+ { 1, &hf_nr_rrc_fr2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr2 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_supportedBandwidthUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_supportedBandwidthUL, T_supportedBandwidthUL_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scalingFactor0dot75_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scalingFactor0dot75(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_ModulationOrder_vals[] = {
+ { 0, "bpsk-halfpi" },
+ { 1, "bpsk" },
+ { 2, "qpsk" },
+ { 3, "qam16" },
+ { 4, "qam64" },
+ { 5, "qam256" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_ModulationOrder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 6, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_maxNumberAperiodicSRS_PerBWP_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n4" },
+ { 3, "n8" },
+ { 4, "n16" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_maxNumberAperiodicSRS_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 5, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_1_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 6U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_maxNumberPeriodicSRS_PerBWP_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n4" },
+ { 3, "n8" },
+ { 4, "n16" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_maxNumberPeriodicSRS_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 5, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_maxNumberSemiPersitentSRS_PerBWP_vals[] = {
+ { 0, "n0" },
+ { 1, "n1" },
+ { 2, "n2" },
+ { 3, "n4" },
+ { 4, "n8" },
+ { 5, "n16" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_maxNumberSemiPersitentSRS_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 6, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_maxNumberSRS_Ports_PerResource_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n4" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_maxNumberSRS_Ports_PerResource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t SRS_Resources_sequence[] = {
+ { &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberAperiodicSRS_PerBWP },
+ { &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP_PerSlot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_6 },
+ { &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPeriodicSRS_PerBWP },
+ { &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP_PerSlot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_6 },
+ { &hf_nr_rrc_maxNumberSemiPersitentSRS_PerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSemiPersitentSRS_PerBWP },
+ { &hf_nr_rrc_maxNumberSP_SRS_PerBWP_PerSlot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_6 },
+ { &hf_nr_rrc_maxNumberSRS_Ports_PerResource, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_Ports_PerResource },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasurementReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Measurement Report");
+dissect_nr_rrc_SRS_Resources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SRS_Resources, SRS_Resources_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_supportedSRS_TxPortSwitch_vals[] = {
+ { 0, "t1r2" },
+ { 1, "t1r4" },
+ { 2, "t2r4" },
+ { 3, "t1r4-t2r4" },
+ { 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_supportedSRS_TxPortSwitch(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_txSwitchImpactToRx_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_txSwitchImpactToRx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t SRS_TxSwitch_sequence[] = {
+ { &hf_nr_rrc_supportedSRS_TxPortSwitch, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedSRS_TxPortSwitch },
+ { &hf_nr_rrc_txSwitchImpactToRx, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_txSwitchImpactToRx },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_SRS_TxSwitch(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasurementReport, MeasurementReport_sequence);
+ ett_nr_rrc_SRS_TxSwitch, SRS_TxSwitch_sequence);
return offset;
}
-static const per_sequence_t RRCReconfigurationComplete_IEs_sequence[] = {
+static const value_string nr_rrc_T_lowLatencyCSI_Feedback_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_lowLatencyCSI_Feedback(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_15kHz_vals[] = {
+ { 0, "upto2" },
+ { 1, "upto7" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_15kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_30kHz_vals[] = {
+ { 0, "upto2" },
+ { 1, "upto7" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_30kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_60kHz_vals[] = {
+ { 0, "upto2" },
+ { 1, "upto7" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_60kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_120kHz_vals[] = {
+ { 0, "upto2" },
+ { 1, "upto7" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_120kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_pusch_DifferentTB_PerSlot_sequence[] = {
+ { &hf_nr_rrc_scs_15kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz },
+ { &hf_nr_rrc_scs_30kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz },
+ { &hf_nr_rrc_scs_60kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz },
+ { &hf_nr_rrc_scs_120kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_RRCReconfigurationComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_pusch_DifferentTB_PerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RRCReconfigurationComplete_IEs, RRCReconfigurationComplete_IEs_sequence);
+ ett_nr_rrc_T_pusch_DifferentTB_PerSlot, T_pusch_DifferentTB_PerSlot_sequence);
return offset;
}
-static const per_sequence_t T_criticalExtensionsFuture_03_sequence[] = {
+static const value_string nr_rrc_T_twoPUCCH_Group_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_twoPUCCH_Group(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_diffNumerologyAcrossPUCCH_Group_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_diffNumerologyAcrossPUCCH_Group(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_diffNumerologyWithinPUCCH_Group_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_diffNumerologyWithinPUCCH_Group(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_crossCarrierScheduling_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_crossCarrierScheduling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_supportedNumberTAG_vals[] = {
+ { 0, "n2" },
+ { 1, "n3" },
+ { 2, "n4" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_supportedNumberTAG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_dynamicSwitchSUL_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_dynamicSwitchSUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_simultaneousTxSUL_NonSUL_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_simultaneousTxSUL_NonSUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_searchSpaceSharingCA_UL_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_searchSpaceSharingCA_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t BasebandParametersPerCC_UL_sequence[] = {
+ { &hf_nr_rrc_supportedSubcarrierSpacingUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
+ { &hf_nr_rrc_supportedBandwidthUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedBandwidthUL },
+ { &hf_nr_rrc_scalingFactor0dot75, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scalingFactor0dot75 },
+ { &hf_nr_rrc_maxNumberMIMO_LayersCB_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersUL },
+ { &hf_nr_rrc_maxNumberMIMO_LayersNonCB_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersUL },
+ { &hf_nr_rrc_supportedModulationOrderUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ModulationOrder },
+ { &hf_nr_rrc_supportedSRS_Resources, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SRS_Resources },
+ { &hf_nr_rrc_srs_TxSwitch , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SRS_TxSwitch },
+ { &hf_nr_rrc_lowLatencyCSI_Feedback, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_lowLatencyCSI_Feedback },
+ { &hf_nr_rrc_pusch_DifferentTB_PerSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_DifferentTB_PerSlot },
+ { &hf_nr_rrc_twoPUCCH_Group, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_Group },
+ { &hf_nr_rrc_diffNumerologyAcrossPUCCH_Group, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_diffNumerologyAcrossPUCCH_Group },
+ { &hf_nr_rrc_diffNumerologyWithinPUCCH_Group, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_diffNumerologyWithinPUCCH_Group },
+ { &hf_nr_rrc_crossCarrierScheduling, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_crossCarrierScheduling },
+ { &hf_nr_rrc_supportedNumberTAG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_supportedNumberTAG },
+ { &hf_nr_rrc_dynamicSwitchSUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicSwitchSUL },
+ { &hf_nr_rrc_simultaneousTxSUL_NonSUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousTxSUL_NonSUL },
+ { &hf_nr_rrc_searchSpaceSharingCA_UL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceSharingCA_UL },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensionsFuture_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_BasebandParametersPerCC_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensionsFuture_03, T_criticalExtensionsFuture_03_sequence);
+ ett_nr_rrc_BasebandParametersPerCC_UL, BasebandParametersPerCC_UL_sequence);
return offset;
}
-static const value_string nr_rrc_T_criticalExtensions_03_vals[] = {
- { 0, "rrcReconfigurationComplete" },
- { 1, "criticalExtensionsFuture" },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_UL_sequence_of[1] = {
+ { &hf_nr_rrc_basebandParametersPerCC_UL_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandParametersPerCC_UL },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_UL, SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_UL_sequence_of,
+ 1, maxNrofServingCells, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t BasebandParametersPerBandUL_sequence[] = {
+ { &hf_nr_rrc_ca_BandwidthClassUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CA_BandwidthClassNR },
+ { &hf_nr_rrc_freqRange , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_freqRange },
+ { &hf_nr_rrc_basebandParametersPerCC_UL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_UL },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BasebandParametersPerBandUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BasebandParametersPerBandUL, BasebandParametersPerBandUL_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t BasebandCombinationParametersUL_sequence_of[1] = {
+ { &hf_nr_rrc_BasebandCombinationParametersUL_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandParametersPerBandUL },
+};
+
+static int
+dissect_nr_rrc_BasebandCombinationParametersUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BasebandCombinationParametersUL, BasebandCombinationParametersUL_sequence_of,
+ 1, maxSimultaneousBands, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t BasebandCombinationParametersUL_List_sequence_of[1] = {
+ { &hf_nr_rrc_BasebandCombinationParametersUL_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandCombinationParametersUL },
+};
+
+static int
+dissect_nr_rrc_BasebandCombinationParametersUL_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BasebandCombinationParametersUL_List, BasebandCombinationParametersUL_List_sequence_of,
+ 1, maxBasebandProcComb, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_FreqBandInformation_vals[] = {
+ { 0, "bandEUTRA" },
+ { 1, "bandNR" },
{ 0, NULL }
};
-static const per_choice_t T_criticalExtensions_03_choice[] = {
- { 0, &hf_nr_rrc_rrcReconfigurationComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationComplete_IEs },
- { 1, &hf_nr_rrc_criticalExtensionsFuture_03, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_03 },
+static const per_choice_t FreqBandInformation_choice[] = {
+ { 0, &hf_nr_rrc_bandEUTRA , ASN1_NO_EXTENSIONS , dissect_nr_rrc_FreqBandIndicatorEUTRA },
+ { 1, &hf_nr_rrc_bandNR , ASN1_NO_EXTENSIONS , dissect_nr_rrc_FreqBandIndicatorNR },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensions_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_FreqBandInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensions_03, T_criticalExtensions_03_choice,
+ ett_nr_rrc_FreqBandInformation, FreqBandInformation_choice,
NULL);
return offset;
}
-static const per_sequence_t RRCReconfigurationComplete_sequence[] = {
- { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
- { &hf_nr_rrc_criticalExtensions_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_03 },
- { NULL, 0, 0, NULL }
+static const per_sequence_t FreqBandList_sequence_of[1] = {
+ { &hf_nr_rrc_FreqBandList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandInformation },
};
static int
-dissect_nr_rrc_RRCReconfigurationComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Complete");
+dissect_nr_rrc_FreqBandList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_FreqBandList, FreqBandList_sequence_of,
+ 1, maxBandsMRDC, FALSE);
+
+ return offset;
+}
+static const value_string nr_rrc_RAT_Type_vals[] = {
+ { RAT_Type_nr, "nr" },
+ { RAT_Type_eutra_nr, "eutra-nr" },
+ { RAT_Type_spare2, "spare2" },
+ { RAT_Type_spare1, "spare1" },
+ { 0, NULL }
+};
+static int
+dissect_nr_rrc_RAT_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ guint32 rat_type;
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, &rat_type, TRUE, 0, NULL);
+
+ private_data_set_rat_type(actx, (guint8)rat_type);
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RRCReconfigurationComplete, RRCReconfigurationComplete_sequence);
return offset;
}
-static const value_string nr_rrc_T_c1_02_vals[] = {
- { 0, "measurementReport" },
- { 1, "rrcReconfigurationComplete" },
- { 2, "spare14" },
- { 3, "spare13" },
- { 4, "spare12" },
- { 5, "spare11" },
- { 6, "spare10" },
- { 7, "spare9" },
- { 8, "spare8" },
- { 9, "spare7" },
- { 10, "spare6" },
- { 11, "spare5" },
- { 12, "spare4" },
- { 13, "spare3" },
- { 14, "spare2" },
- { 15, "spare1" },
+static const value_string nr_rrc_T_freqRange_01_vals[] = {
+ { 0, "fr1" },
+ { 1, "fr2" },
{ 0, NULL }
};
-static const per_choice_t T_c1_02_choice[] = {
- { 0, &hf_nr_rrc_measurementReport, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasurementReport },
- { 1, &hf_nr_rrc_rrcReconfigurationComplete, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationComplete },
- { 2, &hf_nr_rrc_spare14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 3, &hf_nr_rrc_spare13 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 4, &hf_nr_rrc_spare12 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 5, &hf_nr_rrc_spare11 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 6, &hf_nr_rrc_spare10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 7, &hf_nr_rrc_spare9 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 8, &hf_nr_rrc_spare8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 9, &hf_nr_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 10, &hf_nr_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 11, &hf_nr_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 12, &hf_nr_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 13, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 14, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 15, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+
+static int
+dissect_nr_rrc_T_freqRange_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_fr1_01_vals[] = {
+ { 0, "mhz5" },
+ { 1, "mhz10" },
+ { 2, "mhz15" },
+ { 3, "mhz20" },
+ { 4, "mhz25" },
+ { 5, "mhz30" },
+ { 6, "mhz40" },
+ { 7, "mhz50" },
+ { 8, "mhz60" },
+ { 9, "mhz80" },
+ { 10, "mhz100" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_fr1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 11, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_fr2_01_vals[] = {
+ { 0, "mhz50" },
+ { 1, "mhz100" },
+ { 2, "mhz200" },
+ { 3, "mhz400" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_fr2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_supportedBandwidthDL_vals[] = {
+ { 0, "fr1" },
+ { 1, "fr2" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_supportedBandwidthDL_choice[] = {
+ { 0, &hf_nr_rrc_fr1_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr1_01 },
+ { 1, &hf_nr_rrc_fr2_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr2_01 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_c1_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_supportedBandwidthDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_c1_02, T_c1_02_choice,
+ ett_nr_rrc_T_supportedBandwidthDL, T_supportedBandwidthDL_choice,
NULL);
return offset;
}
-static const per_sequence_t T_messageClassExtension_02_sequence[] = {
+static const value_string nr_rrc_T_scalingFactor0dot75_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scalingFactor0dot75_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_60kHz_01_vals[] = {
+ { 0, "s7" },
+ { 1, "s14" },
+ { 2, "s28" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_60kHz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_sch_120kHz_vals[] = {
+ { 0, "s14" },
+ { 1, "s28" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_sch_120kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_timeDurationForQCL_sequence[] = {
+ { &hf_nr_rrc_scs_60kHz_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_01 },
+ { &hf_nr_rrc_sch_120kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sch_120kHz },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_messageClassExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_timeDurationForQCL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_messageClassExtension_02, T_messageClassExtension_02_sequence);
+ ett_nr_rrc_T_timeDurationForQCL, T_timeDurationForQCL_sequence);
return offset;
}
-static const value_string nr_rrc_UL_DCCH_MessageType_vals[] = {
- { 0, "c1" },
- { 1, "messageClassExtension" },
+static const value_string nr_rrc_T_scellWithoutSSB_vals[] = {
+ { 0, "supported" },
{ 0, NULL }
};
-static const per_choice_t UL_DCCH_MessageType_choice[] = {
- { 0, &hf_nr_rrc_c1_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_02 },
- { 1, &hf_nr_rrc_messageClassExtension_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_02 },
- { 0, NULL, 0, NULL }
+
+static int
+dissect_nr_rrc_T_scellWithoutSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_csi_RS_MeasSCellWithoutSSB_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_UL_DCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_UL_DCCH_MessageType, UL_DCCH_MessageType_choice,
- NULL);
+dissect_nr_rrc_T_csi_RS_MeasSCellWithoutSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t UL_DCCH_Message_sequence[] = {
- { &hf_nr_rrc_message_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_DCCH_MessageType },
+static const value_string nr_rrc_T_srs_AssocCSI_RS_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_srs_AssocCSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_type1_3_CSS_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_type1_3_CSS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pdcchMonitoringAnyOccasions_vals[] = {
+ { 0, "withoutDCI-gap" },
+ { 1, "withDCI-gap" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pdcchMonitoringAnyOccasions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_ue_SpecificUL_DL_Assignment_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_ue_SpecificUL_DL_Assignment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_15kHz_01_vals[] = {
+ { 0, "upto2" },
+ { 1, "upto7" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_15kHz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_30kHz_01_vals[] = {
+ { 0, "upto2" },
+ { 1, "upto7" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_30kHz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_60kHz_02_vals[] = {
+ { 0, "upto2" },
+ { 1, "upto7" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_60kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_120kHz_01_vals[] = {
+ { 0, "upto2" },
+ { 1, "upto7" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_120kHz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_pdsch_DifferentTB_PerSlot_sequence[] = {
+ { &hf_nr_rrc_scs_15kHz_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_01 },
+ { &hf_nr_rrc_scs_30kHz_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_01 },
+ { &hf_nr_rrc_scs_60kHz_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_02 },
+ { &hf_nr_rrc_scs_120kHz_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_01 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_UL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- proto_item *ti;
+dissect_nr_rrc_T_pdsch_DifferentTB_PerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_pdsch_DifferentTB_PerSlot, T_pdsch_DifferentTB_PerSlot_sequence);
- col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
- col_clear(actx->pinfo->cinfo, COL_INFO);
+ return offset;
+}
- 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;
+static const value_string nr_rrc_T_crossCarrierScheduling_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_crossCarrierScheduling_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_searchSpaceSharingCA_DL_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_searchSpaceSharingCA_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+ return offset;
+}
+
+
+static const per_sequence_t BasebandParametersPerCC_DL_sequence[] = {
+ { &hf_nr_rrc_supportedSubcarrierSpacingDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
+ { &hf_nr_rrc_supportedBandwidthDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedBandwidthDL },
+ { &hf_nr_rrc_scalingFactor0dot75_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scalingFactor0dot75_01 },
+ { &hf_nr_rrc_timeDurationForQCL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDurationForQCL },
+ { &hf_nr_rrc_scellWithoutSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scellWithoutSSB },
+ { &hf_nr_rrc_csi_RS_MeasSCellWithoutSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_MeasSCellWithoutSSB },
+ { &hf_nr_rrc_maxNumberMIMO_LayersPDSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersDL },
+ { &hf_nr_rrc_supportedModulationOrderDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ModulationOrder },
+ { &hf_nr_rrc_srs_AssocCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_AssocCSI_RS },
+ { &hf_nr_rrc_type1_3_CSS , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type1_3_CSS },
+ { &hf_nr_rrc_pdcchMonitoringAnyOccasions, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcchMonitoringAnyOccasions },
+ { &hf_nr_rrc_ue_SpecificUL_DL_Assignment, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_SpecificUL_DL_Assignment },
+ { &hf_nr_rrc_pdsch_DifferentTB_PerSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_DifferentTB_PerSlot },
+ { &hf_nr_rrc_crossCarrierScheduling_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_crossCarrierScheduling_01 },
+ { &hf_nr_rrc_searchSpaceSharingCA_DL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceSharingCA_DL },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BasebandParametersPerCC_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_UL_DCCH_Message, UL_DCCH_Message_sequence);
+ ett_nr_rrc_BasebandParametersPerCC_DL, BasebandParametersPerCC_DL_sequence);
return offset;
}
-static const per_sequence_t BandCombination_sequence[] = {
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_DL_sequence_of[1] = {
+ { &hf_nr_rrc_basebandParametersPerCC_DL_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandParametersPerCC_DL },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_DL, SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_DL_sequence_of,
+ 1, maxNrofServingCells, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t BasebandParametersPerBandDL_sequence[] = {
+ { &hf_nr_rrc_ca_BandwidthClassDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CA_BandwidthClassNR },
+ { &hf_nr_rrc_freqRange_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_freqRange_01 },
+ { &hf_nr_rrc_basebandParametersPerCC_DL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_DL },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_BandCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_BasebandParametersPerBandDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_BandCombination, BandCombination_sequence);
+ ett_nr_rrc_BasebandParametersPerBandDL, BasebandParametersPerBandDL_sequence);
return offset;
}
-static const per_sequence_t BandCombinationList_sequence_of[1] = {
- { &hf_nr_rrc_BandCombinationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination },
+static const per_sequence_t SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBandDL_sequence_of[1] = {
+ { &hf_nr_rrc_basebandParametersDL_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandParametersPerBandDL },
};
static int
-dissect_nr_rrc_BandCombinationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBandDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_BandCombinationList, BandCombinationList_sequence_of,
- 1, maxBandComb, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBandDL, SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBandDL_sequence_of,
+ 1, maxSimultaneousBands, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_1_maxBasebandProcComb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 1, maxBasebandProcComb, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t BasebandProcessingCombination_sequence[] = {
+ { &hf_nr_rrc_basebandParametersDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBandDL },
+ { &hf_nr_rrc_basebandParametersUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1_maxBasebandProcComb },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BasebandProcessingCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BasebandProcessingCombination, BasebandProcessingCombination_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SupportedBasebandProcessingCombination_sequence_of[1] = {
+ { &hf_nr_rrc_SupportedBasebandProcessingCombination_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandProcessingCombination },
+};
+
+static int
+dissect_nr_rrc_SupportedBasebandProcessingCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SupportedBasebandProcessingCombination, SupportedBasebandProcessingCombination_sequence_of,
+ 1, maxBasebandProcComb, FALSE);
return offset;
}
-static const value_string nr_rrc_T_intraCarrierConcurrentMeas_vals[] = {
+
+static int
+dissect_nr_rrc_T_ue_CapabilityRAT_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ tvbuff_t *ue_cap_tvb=NULL;
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, &ue_cap_tvb);
+
+
+
+ if (ue_cap_tvb) {
+ 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:
+ dissect_nr_rrc_UE_NR_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case RAT_Type_eutra_nr:
+ dissect_nr_rrc_UE_MRDC_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+ }
+ return offset;
+}
+
+
+static const per_sequence_t UE_CapabilityRAT_Container_sequence[] = {
+ { &hf_nr_rrc_rat_Type , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RAT_Type },
+ { &hf_nr_rrc_ue_CapabilityRAT_Container, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ue_CapabilityRAT_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UE_CapabilityRAT_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ /* Initialise to invalid value */
+ private_data_set_rat_type(actx, 0xFF);
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UE_CapabilityRAT_Container, UE_CapabilityRAT_Container_sequence);
+
+
+
+ return offset;
+}
+
+
+static const per_sequence_t UE_CapabilityRAT_ContainerList_sequence_of[1] = {
+ { &hf_nr_rrc_UE_CapabilityRAT_ContainerList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UE_CapabilityRAT_Container },
+};
+
+static int
+dissect_nr_rrc_UE_CapabilityRAT_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UE_CapabilityRAT_ContainerList, UE_CapabilityRAT_ContainerList_sequence_of,
+ 0, maxRAT_CapabilityContainers, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_independentGapConfig_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_intraCarrierConcurrentMeas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_independentGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -11782,14 +21822,28 @@ dissect_nr_rrc_T_intraCarrierConcurrentMeas(tvbuff_t *tvb _U_, int offset _U_, a
}
-static const value_string nr_rrc_T_independentGapConfig_vals[] = {
+static const per_sequence_t MeasParametersMRDC_Common_sequence[] = {
+ { &hf_nr_rrc_independentGapConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_independentGapConfig },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MeasParametersMRDC_Common(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasParametersMRDC_Common, MeasParametersMRDC_Common_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_sftd_MeasPSCell_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_independentGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_sftd_MeasPSCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -11797,14 +21851,14 @@ dissect_nr_rrc_T_independentGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
}
-static const value_string nr_rrc_T_sstd_MeasType1_vals[] = {
+static const value_string nr_rrc_T_sftd_MeasNR_Cell_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_sstd_MeasType1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_sftd_MeasNR_Cell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -11812,136 +21866,309 @@ dissect_nr_rrc_T_sstd_MeasType1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
}
-static const per_sequence_t MeasParameters_MRDC_sequence[] = {
- { &hf_nr_rrc_intraCarrierConcurrentMeas, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraCarrierConcurrentMeas },
- { &hf_nr_rrc_independentGapConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_independentGapConfig },
- { &hf_nr_rrc_sstd_MeasType1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sstd_MeasType1 },
+static const per_sequence_t MeasParametersMRDC_XDD_Diff_sequence[] = {
+ { &hf_nr_rrc_sftd_MeasPSCell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sftd_MeasPSCell },
+ { &hf_nr_rrc_sftd_MeasNR_Cell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sftd_MeasNR_Cell },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MeasParametersMRDC_XDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasParametersMRDC_XDD_Diff, MeasParametersMRDC_XDD_Diff_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasParametersMRDC_FRX_Diff_sequence[] = {
+ { &hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MeasParametersMRDC_FRX_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasParametersMRDC_FRX_Diff, MeasParametersMRDC_FRX_Diff_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasParametersMRDC_sequence[] = {
+ { &hf_nr_rrc_measParametersMRDC_Common, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasParametersMRDC_Common },
+ { &hf_nr_rrc_measParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersMRDC_XDD_Diff },
+ { &hf_nr_rrc_measParametersMRDC_FRX_Diff, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasParametersMRDC_FRX_Diff },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasParameters_MRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasParameters_MRDC, MeasParameters_MRDC_sequence);
+ ett_nr_rrc_MeasParametersMRDC, MeasParametersMRDC_sequence);
return offset;
}
-static const per_sequence_t RF_Parameters_MRDC_sequence[] = {
+static const per_sequence_t RF_ParametersMRDC_sequence[] = {
{ &hf_nr_rrc_supportedBandCombination, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationList },
+ { &hf_nr_rrc_bandCombinationParametersUL_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationParametersUL_List },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_RF_Parameters_MRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_RF_ParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RF_Parameters_MRDC, RF_Parameters_MRDC_sequence);
+ ett_nr_rrc_RF_ParametersMRDC, RF_ParametersMRDC_sequence);
return offset;
}
+static const value_string nr_rrc_T_dynamicPowerSharing_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_BasebandProcessingCombinationIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxBasebandProcComb, NULL, FALSE);
+dissect_nr_rrc_T_dynamicPowerSharing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex_sequence_of[1] = {
- { &hf_nr_rrc_basebandProcessingCombinationLinkedIndex_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandProcessingCombinationIndex },
+static const value_string nr_rrc_T_tdm_Pattern_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex, SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex_sequence_of,
- 1, maxBasebandProcComb, FALSE);
+dissect_nr_rrc_T_tdm_Pattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t LinkedBasebandProcessingCombination_sequence[] = {
- { &hf_nr_rrc_basebandProcessingCombinationIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandProcessingCombinationIndex },
- { &hf_nr_rrc_basebandProcessingCombinationLinkedIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex },
+static const per_sequence_t Phy_ParametersMRDC_XDD_Diff_sequence[] = {
+ { &hf_nr_rrc_dynamicPowerSharing, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicPowerSharing },
+ { &hf_nr_rrc_tdm_Pattern , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_tdm_Pattern },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_LinkedBasebandProcessingCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_Phy_ParametersMRDC_XDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_LinkedBasebandProcessingCombination, LinkedBasebandProcessingCombination_sequence);
+ ett_nr_rrc_Phy_ParametersMRDC_XDD_Diff, Phy_ParametersMRDC_XDD_Diff_sequence);
return offset;
}
-static const per_sequence_t BasebandProcessingCombination_MRDC_sequence_of[1] = {
- { &hf_nr_rrc_BasebandProcessingCombination_MRDC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LinkedBasebandProcessingCombination },
+static const value_string nr_rrc_T_dynamicPowerSharing_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_BasebandProcessingCombination_MRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_BasebandProcessingCombination_MRDC, BasebandProcessingCombination_MRDC_sequence_of,
- 1, maxBasebandProcComb, FALSE);
+dissect_nr_rrc_T_dynamicPowerSharing_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_tdm_Pattern_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_tdm_Pattern_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t PhyLayerParameters_MRDC_sequence[] = {
- { &hf_nr_rrc_supportedBasebandProcessingCombination_MRDC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandProcessingCombination_MRDC },
+static const per_sequence_t Phy_ParametersMRDC_FRX_Diff_sequence[] = {
+ { &hf_nr_rrc_dynamicPowerSharing_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicPowerSharing_01 },
+ { &hf_nr_rrc_tdm_Pattern_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_tdm_Pattern_01 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PhyLayerParameters_MRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_Phy_ParametersMRDC_FRX_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PhyLayerParameters_MRDC, PhyLayerParameters_MRDC_sequence);
+ ett_nr_rrc_Phy_ParametersMRDC_FRX_Diff, Phy_ParametersMRDC_FRX_Diff_sequence);
return offset;
}
-static const per_sequence_t UE_MRDC_Capability_sequence[] = {
- { &hf_nr_rrc_measParameters_MRDC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasParameters_MRDC },
- { &hf_nr_rrc_rf_Parameters_MRDC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_MRDC },
- { &hf_nr_rrc_phyLayerParameters_MRDC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhyLayerParameters_MRDC },
+static const per_sequence_t Phy_ParametersMRDC_sequence[] = {
+ { &hf_nr_rrc_phy_ParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersMRDC_XDD_Diff },
+ { &hf_nr_rrc_phy_ParametersMRDC_FRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersMRDC_FRX_Diff },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_UE_MRDC_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_Phy_ParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_UE_MRDC_Capability, UE_MRDC_Capability_sequence);
+ ett_nr_rrc_Phy_ParametersMRDC, Phy_ParametersMRDC_sequence);
return offset;
}
-static const value_string nr_rrc_T_dataRateDRB_IP_vals[] = {
- { 0, "kbps64" },
- { 1, "spare6" },
- { 2, "spare5" },
- { 3, "spare4" },
- { 4, "spare3" },
- { 5, "spare2" },
- { 6, "spare1" },
- { 7, "spare0" },
+static const value_string nr_rrc_T_splitSRB_WithOneUL_Path_vals[] = {
+ { 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_dataRateDRB_IP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_splitSRB_WithOneUL_Path(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_splitDRB_withUL_Both_MCG_SCG_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_splitDRB_withUL_Both_MCG_SCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_srb3_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_srb3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t GeneralParametersMRDC_XDD_Diff_sequence[] = {
+ { &hf_nr_rrc_splitSRB_WithOneUL_Path, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_splitSRB_WithOneUL_Path },
+ { &hf_nr_rrc_splitDRB_withUL_Both_MCG_SCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_splitDRB_withUL_Both_MCG_SCG },
+ { &hf_nr_rrc_srb3 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_srb3 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_GeneralParametersMRDC_XDD_Diff, GeneralParametersMRDC_XDD_Diff_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t UE_MRDC_CapabilityAddXDD_Mode_sequence[] = {
+ { &hf_nr_rrc_phy_ParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersMRDC_XDD_Diff },
+ { &hf_nr_rrc_measParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersMRDC_XDD_Diff },
+ { &hf_nr_rrc_generalParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode, UE_MRDC_CapabilityAddXDD_Mode_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t UE_MRDC_CapabilityAddFRX_Mode_sequence[] = {
+ { &hf_nr_rrc_phy_ParametersMRDC_FRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersMRDC_FRX_Diff },
+ { &hf_nr_rrc_measParametersMRDC_FRX_Diff, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasParametersMRDC_FRX_Diff },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode, UE_MRDC_CapabilityAddFRX_Mode_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nonCriticalExtension_05_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_nonCriticalExtension_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_05, T_nonCriticalExtension_05_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t UE_MRDC_Capability_sequence[] = {
+ { &hf_nr_rrc_measParametersMRDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersMRDC },
+ { &hf_nr_rrc_rf_ParametersMRDC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC },
+ { &hf_nr_rrc_phy_ParametersMRDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersMRDC },
+ { &hf_nr_rrc_generalParametersMRDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff },
+ { &hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode },
+ { &hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode },
+ { &hf_nr_rrc_fr1_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode },
+ { &hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_05 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UE_MRDC_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UE_MRDC_Capability, UE_MRDC_Capability_sequence);
return offset;
}
@@ -12060,30 +22287,13 @@ dissect_nr_rrc_T_shortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
}
-static const value_string nr_rrc_T_volteOverNR_PDCP_vals[] = {
- { 0, "supported" },
- { 0, NULL }
-};
-
-
-static int
-dissect_nr_rrc_T_volteOverNR_PDCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
-
- return offset;
-}
-
-
static const per_sequence_t PDCP_Parameters_sequence[] = {
- { &hf_nr_rrc_dataRateDRB_IP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dataRateDRB_IP },
{ &hf_nr_rrc_supportedROHC_Profiles, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedROHC_Profiles },
{ &hf_nr_rrc_maxNumberROHC_ContextSessions, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberROHC_ContextSessions },
{ &hf_nr_rrc_uplinkOnlyROHC_Profiles, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_uplinkOnlyROHC_Profiles },
{ &hf_nr_rrc_continueROHC_Context, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_continueROHC_Context },
{ &hf_nr_rrc_outOfOrderDelivery_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_outOfOrderDelivery },
{ &hf_nr_rrc_shortSN , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_shortSN },
- { &hf_nr_rrc_volteOverNR_PDCP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_volteOverNR_PDCP },
{ NULL, 0, 0, NULL }
};
@@ -12096,14 +22306,14 @@ dissect_nr_rrc_PDCP_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
}
-static const value_string nr_rrc_T_amWithShortSN_vals[] = {
+static const value_string nr_rrc_T_am_WithShortSN_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_amWithShortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_am_WithShortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -12111,14 +22321,14 @@ dissect_nr_rrc_T_amWithShortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
}
-static const value_string nr_rrc_T_umWithShortSN_vals[] = {
+static const value_string nr_rrc_T_um_WithShortSN_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_umWithShortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_um_WithShortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -12126,14 +22336,14 @@ dissect_nr_rrc_T_umWithShortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
}
-static const value_string nr_rrc_T_umWIthLongSN_vals[] = {
+static const value_string nr_rrc_T_um_WIthLongSN_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_umWIthLongSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_um_WIthLongSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -12142,9 +22352,9 @@ dissect_nr_rrc_T_umWIthLongSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
static const per_sequence_t RLC_Parameters_sequence[] = {
- { &hf_nr_rrc_amWithShortSN, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_amWithShortSN },
- { &hf_nr_rrc_umWithShortSN, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_umWithShortSN },
- { &hf_nr_rrc_umWIthLongSN , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_umWIthLongSN },
+ { &hf_nr_rrc_am_WithShortSN, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_am_WithShortSN },
+ { &hf_nr_rrc_um_WithShortSN, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_um_WithShortSN },
+ { &hf_nr_rrc_um_WIthLongSN, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_um_WIthLongSN },
{ NULL, 0, 0, NULL }
};
@@ -12172,6 +22382,36 @@ dissect_nr_rrc_T_lcp_Restriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
}
+static const value_string nr_rrc_T_pucch_SpatialRelInfoMAC_CE_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pucch_SpatialRelInfoMAC_CE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t MAC_ParametersCommon_sequence[] = {
+ { &hf_nr_rrc_lcp_Restriction, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_lcp_Restriction },
+ { &hf_nr_rrc_pucch_SpatialRelInfoMAC_CE, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_SpatialRelInfoMAC_CE },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MAC_ParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MAC_ParametersCommon, MAC_ParametersCommon_sequence);
+
+ return offset;
+}
+
+
static const value_string nr_rrc_T_skipUplinkTxDynamic_vals[] = {
{ 0, "supported" },
{ 0, NULL }
@@ -12187,14 +22427,14 @@ dissect_nr_rrc_T_skipUplinkTxDynamic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
}
-static const value_string nr_rrc_T_logicalChannelSR_DelayTimer_vals[] = {
+static const value_string nr_rrc_T_logicalChannelSR_DelayTimer_01_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_logicalChannelSR_DelayTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_logicalChannelSR_DelayTimer_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -12232,48 +22472,58 @@ dissect_nr_rrc_T_shortDRX_Cycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
}
-static const value_string nr_rrc_T_numberOfSR_Configurations_vals[] = {
- { 0, "n2" },
- { 1, "n3" },
- { 2, "n4" },
+static const value_string nr_rrc_T_multipleSR_Configurations_vals[] = {
+ { 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_numberOfSR_Configurations(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_multipleSR_Configurations(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, TRUE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_numberOfConfiguredGrantConfigurations_vals[] = {
- { 0, "n2" },
- { 1, "n3" },
- { 2, "n4" },
+static const value_string nr_rrc_T_multipleConfiguredGrantConfigurations_vals[] = {
+ { 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_numberOfConfiguredGrantConfigurations(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_multipleConfiguredGrantConfigurations(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, TRUE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t MAC_Parameters_sequence[] = {
- { &hf_nr_rrc_lcp_Restriction, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_lcp_Restriction },
+static const per_sequence_t MAC_ParametersXDD_Diff_sequence[] = {
{ &hf_nr_rrc_skipUplinkTxDynamic_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_skipUplinkTxDynamic },
- { &hf_nr_rrc_logicalChannelSR_DelayTimer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_logicalChannelSR_DelayTimer },
+ { &hf_nr_rrc_logicalChannelSR_DelayTimer_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_logicalChannelSR_DelayTimer_01 },
{ &hf_nr_rrc_longDRX_Cycle, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_longDRX_Cycle },
{ &hf_nr_rrc_shortDRX_Cycle, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_shortDRX_Cycle },
- { &hf_nr_rrc_numberOfSR_Configurations, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_numberOfSR_Configurations },
- { &hf_nr_rrc_numberOfConfiguredGrantConfigurations, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_numberOfConfiguredGrantConfigurations },
+ { &hf_nr_rrc_multipleSR_Configurations, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleSR_Configurations },
+ { &hf_nr_rrc_multipleConfiguredGrantConfigurations, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleConfiguredGrantConfigurations },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MAC_ParametersXDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MAC_ParametersXDD_Diff, MAC_ParametersXDD_Diff_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MAC_Parameters_sequence[] = {
+ { &hf_nr_rrc_mac_ParametersCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersCommon },
+ { &hf_nr_rrc_mac_ParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersXDD_Diff },
{ NULL, 0, 0, NULL }
};
@@ -12286,173 +22536,1542 @@ dissect_nr_rrc_MAC_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
}
-static const value_string nr_rrc_CA_BandwidthClass_vals[] = {
- { 0, "a" },
- { 1, "b" },
- { 2, "c" },
- { 3, "d" },
- { 4, "e" },
- { 5, "f" },
+static const value_string nr_rrc_T_csi_RS_CFRA_ForHO_vals[] = {
+ { 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_CA_BandwidthClass(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_csi_RS_CFRA_ForHO(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 6, NULL, TRUE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_dynamicPRB_BundlingDL_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_dynamicPRB_BundlingDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_sp_CSI_ReportPUCCH_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_sp_CSI_ReportPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_sp_CSI_ReportPUSCH_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_sp_CSI_ReportPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_nzp_CSI_RS_IntefMgmt_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_nzp_CSI_RS_IntefMgmt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_type2_SP_CSI_Feedback_LongPUCCH_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_type2_SP_CSI_Feedback_LongPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_multipleCORESET_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_multipleCORESET(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_dynamicSFI_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_dynamicSFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_precoderGranularityCORESET_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_precoderGranularityCORESET(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_dynamicHARQ_ACK_Codebook_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_dynamicHARQ_ACK_Codebook(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_semiStaticHARQ_ACK_Codebook_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_semiStaticHARQ_ACK_Codebook(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_spatialBundlingHARQ_ACK_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_spatialBundlingHARQ_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_dynamicBetaOffsetInd_HARQ_ACK_CSI_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_dynamicBetaOffsetInd_HARQ_ACK_CSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pucch_Repetition_F1_3_4_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pucch_Repetition_F1_3_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_ra_Type0_PUSCH_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_ra_Type0_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_dynamicSwitchRA_Type0_1_PDSCH_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_dynamicSwitchRA_Type0_1_PDSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_dynamicSwitchRA_Type0_1_PUSCH_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_dynamicSwitchRA_Type0_1_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pdsch_MappingTypeA_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pdsch_MappingTypeA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pdsch_MappingTypeB_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pdsch_MappingTypeB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_interleavingVRB_ToPRB_PDSCH_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_interleavingVRB_ToPRB_PDSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_interleavingVRB_ToPRB_PUSCH_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_interleavingVRB_ToPRB_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_interSlotFreqHopping_PUSCH_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_interSlotFreqHopping_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_type1_PUSCH_RepetitionOneSlot_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_type1_PUSCH_RepetitionOneSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_type1_PUSCH_RepetitionMultiSlots_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_type1_PUSCH_RepetitionMultiSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_type2_PUSCH_RepetitionOneSlot_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_type2_PUSCH_RepetitionOneSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_type2_PUSCH_RepetitionMultiSlots_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_type2_PUSCH_RepetitionMultiSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pusch_RepetitionMultiSlots_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pusch_RepetitionMultiSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pdsch_RepetitionMultiSlots_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pdsch_RepetitionMultiSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_downlinkSPS_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_downlinkSPS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_configuredUL_GrantType1_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_configuredUL_GrantType1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_configuredUL_GrantType2_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_configuredUL_GrantType2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pre_EmptIndication_DL_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pre_EmptIndication_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_cbg_FlushIndication_DL_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_cbg_FlushIndication_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t MIMO_Capability_sequence[] = {
+static const value_string nr_rrc_T_rateMatchingResrcSetSemi_Static_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_rateMatchingResrcSetSemi_Static(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_rateMatchingResrcSetDynamic_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_rateMatchingResrcSetDynamic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_rateMatchingLTE_CRS_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_rateMatchingLTE_CRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_bwp_SwitchingDelay_vals[] = {
+ { 0, "type1" },
+ { 1, "type2" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_bwp_SwitchingDelay(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t Phy_ParametersCommon_sequence[] = {
+ { &hf_nr_rrc_csi_RS_CFRA_ForHO, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_CFRA_ForHO },
+ { &hf_nr_rrc_dynamicPRB_BundlingDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicPRB_BundlingDL },
+ { &hf_nr_rrc_sp_CSI_ReportPUCCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_CSI_ReportPUCCH },
+ { &hf_nr_rrc_sp_CSI_ReportPUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_CSI_ReportPUSCH },
+ { &hf_nr_rrc_nzp_CSI_RS_IntefMgmt, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nzp_CSI_RS_IntefMgmt },
+ { &hf_nr_rrc_type2_SP_CSI_Feedback_LongPUCCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_SP_CSI_Feedback_LongPUCCH },
+ { &hf_nr_rrc_multipleCORESET, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleCORESET },
+ { &hf_nr_rrc_dynamicSFI , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicSFI },
+ { &hf_nr_rrc_precoderGranularityCORESET, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_precoderGranularityCORESET },
+ { &hf_nr_rrc_dynamicHARQ_ACK_Codebook, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicHARQ_ACK_Codebook },
+ { &hf_nr_rrc_semiStaticHARQ_ACK_Codebook, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_semiStaticHARQ_ACK_Codebook },
+ { &hf_nr_rrc_spatialBundlingHARQ_ACK, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_spatialBundlingHARQ_ACK },
+ { &hf_nr_rrc_dynamicBetaOffsetInd_HARQ_ACK_CSI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicBetaOffsetInd_HARQ_ACK_CSI },
+ { &hf_nr_rrc_pucch_Repetition_F1_3_4, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_Repetition_F1_3_4 },
+ { &hf_nr_rrc_ra_Type0_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ra_Type0_PUSCH },
+ { &hf_nr_rrc_dynamicSwitchRA_Type0_1_PDSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicSwitchRA_Type0_1_PDSCH },
+ { &hf_nr_rrc_dynamicSwitchRA_Type0_1_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicSwitchRA_Type0_1_PUSCH },
+ { &hf_nr_rrc_pdsch_MappingTypeA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_MappingTypeA },
+ { &hf_nr_rrc_pdsch_MappingTypeB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_MappingTypeB },
+ { &hf_nr_rrc_interleavingVRB_ToPRB_PDSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interleavingVRB_ToPRB_PDSCH },
+ { &hf_nr_rrc_interleavingVRB_ToPRB_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interleavingVRB_ToPRB_PUSCH },
+ { &hf_nr_rrc_interSlotFreqHopping_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interSlotFreqHopping_PUSCH },
+ { &hf_nr_rrc_type1_PUSCH_RepetitionOneSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type1_PUSCH_RepetitionOneSlot },
+ { &hf_nr_rrc_type1_PUSCH_RepetitionMultiSlots, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type1_PUSCH_RepetitionMultiSlots },
+ { &hf_nr_rrc_type2_PUSCH_RepetitionOneSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_PUSCH_RepetitionOneSlot },
+ { &hf_nr_rrc_type2_PUSCH_RepetitionMultiSlots, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_PUSCH_RepetitionMultiSlots },
+ { &hf_nr_rrc_pusch_RepetitionMultiSlots, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_RepetitionMultiSlots },
+ { &hf_nr_rrc_pdsch_RepetitionMultiSlots, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_RepetitionMultiSlots },
+ { &hf_nr_rrc_downlinkSPS , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_downlinkSPS },
+ { &hf_nr_rrc_configuredUL_GrantType1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredUL_GrantType1 },
+ { &hf_nr_rrc_configuredUL_GrantType2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredUL_GrantType2 },
+ { &hf_nr_rrc_pre_EmptIndication_DL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pre_EmptIndication_DL },
+ { &hf_nr_rrc_cbg_TransIndication, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 },
+ { &hf_nr_rrc_cbg_FlushIndication_DL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cbg_FlushIndication_DL },
+ { &hf_nr_rrc_dynamicHARQ_ACK_CodeB_CBG_Retx_DL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL },
+ { &hf_nr_rrc_rateMatchingResrcSetSemi_Static, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatchingResrcSetSemi_Static },
+ { &hf_nr_rrc_rateMatchingResrcSetDynamic, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatchingResrcSetDynamic },
+ { &hf_nr_rrc_rateMatchingLTE_CRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatchingLTE_CRS },
+ { &hf_nr_rrc_bwp_SwitchingDelay, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_SwitchingDelay },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MIMO_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_Phy_ParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MIMO_Capability, MIMO_Capability_sequence);
+ ett_nr_rrc_Phy_ParametersCommon, Phy_ParametersCommon_sequence);
return offset;
}
-static const per_sequence_t ModulationOrder_sequence[] = {
+static const value_string nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_twoDifferentTPC_Loop_PUSCH_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_twoDifferentTPC_Loop_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_twoDifferentTPC_Loop_PUCCH_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_twoDifferentTPC_Loop_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t Phy_ParametersXDD_Diff_sequence[] = {
+ { &hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols },
+ { &hf_nr_rrc_twoDifferentTPC_Loop_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoDifferentTPC_Loop_PUSCH },
+ { &hf_nr_rrc_twoDifferentTPC_Loop_PUCCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoDifferentTPC_Loop_PUCCH },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_ModulationOrder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_Phy_ParametersXDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ModulationOrder, ModulationOrder_sequence);
+ ett_nr_rrc_Phy_ParametersXDD_Diff, Phy_ParametersXDD_Diff_sequence);
return offset;
}
-static const per_sequence_t SubCarrierSpacing_sequence[] = {
+static const value_string nr_rrc_T_supportedDMRS_TypeDL_vals[] = {
+ { 0, "type1" },
+ { 1, "type2" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_supportedDMRS_TypeDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_supportedDMRS_TypeUL_vals[] = {
+ { 0, "type1" },
+ { 1, "type2" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_supportedDMRS_TypeUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_semiOpenLoopCSI_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_semiOpenLoopCSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_csi_ReportWithoutPMI_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_csi_ReportWithoutPMI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_csi_ReportWithCRI_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_csi_ReportWithCRI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_csi_ReportWithoutCQI_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_csi_ReportWithoutCQI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pucch_F2_WithFH_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pucch_F2_WithFH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pucch_F3_WithFH_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pucch_F3_WithFH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pucch_F4_WithFH_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pucch_F4_WithFH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_freqHoppingPUCCH_F0_2_vals[] = {
+ { 0, "notSupported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_freqHoppingPUCCH_F0_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_freqHoppingPUCCH_F1_3_4_vals[] = {
+ { 0, "notSupported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_freqHoppingPUCCH_F1_3_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_uci_CodeBlockSegmentation_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_uci_CodeBlockSegmentation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_onePUCCH_LongAndShortFormat_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_onePUCCH_LongAndShortFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_twoPUCCH_AnyOthersInSlot_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_twoPUCCH_AnyOthersInSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_intraSlotFreqHopping_PUSCH_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_intraSlotFreqHopping_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pusch_LBRM_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pusch_LBRM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pdcch_BlindDetectionCA_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pdcch_BlindDetectionCA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_tpc_PUSCH_RNTI_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_tpc_PUSCH_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_tpc_PUCCH_RNTI_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_tpc_PUCCH_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_tpc_SRS_RNTI_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_tpc_SRS_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_absoluteTPC_Command_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_absoluteTPC_Command(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_twoDifferentTPC_Loop_PUSCH_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_twoDifferentTPC_Loop_PUSCH_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_twoDifferentTPC_Loop_PUCCH_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_twoDifferentTPC_Loop_PUCCH_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pusch_HalfPi_BPSK_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pusch_HalfPi_BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pucch_F3_4_HalfPi_BPSK_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pucch_F3_4_HalfPi_BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_oneSymbolGP_TDD_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_oneSymbolGP_TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_almostContiguousCP_OFDM_UL_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_almostContiguousCP_OFDM_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t Phy_ParametersFRX_Diff_sequence[] = {
+ { &hf_nr_rrc_oneFL_DMRS_TwoAdditionalDMRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 },
+ { &hf_nr_rrc_twoFL_DMRS , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 },
+ { &hf_nr_rrc_twoFL_DMRS_TwoAdditionalDMRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 },
+ { &hf_nr_rrc_oneFL_DMRS_ThreeAdditionalDMRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 },
+ { &hf_nr_rrc_supportedDMRS_TypeDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_supportedDMRS_TypeDL },
+ { &hf_nr_rrc_supportedDMRS_TypeUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_supportedDMRS_TypeUL },
+ { &hf_nr_rrc_semiOpenLoopCSI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_semiOpenLoopCSI },
+ { &hf_nr_rrc_csi_ReportWithoutPMI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_ReportWithoutPMI },
+ { &hf_nr_rrc_csi_ReportWithCRI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_ReportWithCRI },
+ { &hf_nr_rrc_csi_ReportWithoutCQI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_ReportWithoutCQI },
+ { &hf_nr_rrc_onePortsPTRS , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 },
+ { &hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_01 },
+ { &hf_nr_rrc_pucch_F2_WithFH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_F2_WithFH },
+ { &hf_nr_rrc_pucch_F3_WithFH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_F3_WithFH },
+ { &hf_nr_rrc_pucch_F4_WithFH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_F4_WithFH },
+ { &hf_nr_rrc_freqHoppingPUCCH_F0_2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_freqHoppingPUCCH_F0_2 },
+ { &hf_nr_rrc_freqHoppingPUCCH_F1_3_4, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_freqHoppingPUCCH_F1_3_4 },
+ { &hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH },
+ { &hf_nr_rrc_uci_CodeBlockSegmentation, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_uci_CodeBlockSegmentation },
+ { &hf_nr_rrc_onePUCCH_LongAndShortFormat, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_onePUCCH_LongAndShortFormat },
+ { &hf_nr_rrc_twoPUCCH_AnyOthersInSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_AnyOthersInSlot },
+ { &hf_nr_rrc_intraSlotFreqHopping_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraSlotFreqHopping_PUSCH },
+ { &hf_nr_rrc_pusch_LBRM , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_LBRM },
+ { &hf_nr_rrc_pdcch_BlindDetectionCA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_BlindDetectionCA },
+ { &hf_nr_rrc_tpc_PUSCH_RNTI_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_PUSCH_RNTI },
+ { &hf_nr_rrc_tpc_PUCCH_RNTI_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_PUCCH_RNTI },
+ { &hf_nr_rrc_tpc_SRS_RNTI_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_SRS_RNTI },
+ { &hf_nr_rrc_absoluteTPC_Command, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_absoluteTPC_Command },
+ { &hf_nr_rrc_twoDifferentTPC_Loop_PUSCH_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoDifferentTPC_Loop_PUSCH_01 },
+ { &hf_nr_rrc_twoDifferentTPC_Loop_PUCCH_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoDifferentTPC_Loop_PUCCH_01 },
+ { &hf_nr_rrc_pusch_HalfPi_BPSK, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_HalfPi_BPSK },
+ { &hf_nr_rrc_pucch_F3_4_HalfPi_BPSK, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_F3_4_HalfPi_BPSK },
+ { &hf_nr_rrc_oneSymbolGP_TDD, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_oneSymbolGP_TDD },
+ { &hf_nr_rrc_almostContiguousCP_OFDM_UL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_almostContiguousCP_OFDM_UL },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SubCarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_Phy_ParametersFRX_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SubCarrierSpacing, SubCarrierSpacing_sequence);
+ ett_nr_rrc_Phy_ParametersFRX_Diff, Phy_ParametersFRX_Diff_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pdcchMonitoringSingleOccasion_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pdcchMonitoringSingleOccasion(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_60kHz_03_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_60kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pdsch_256QAM_FR1_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pdsch_256QAM_FR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t BasebandParametersPerCC_sequence[] = {
- { &hf_nr_rrc_supportedMIMO_CapabilityDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_Capability },
- { &hf_nr_rrc_supportedMIMO_CapabilityUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_Capability },
- { &hf_nr_rrc_modulationOrder, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ModulationOrder },
- { &hf_nr_rrc_subCarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubCarrierSpacing },
+static const per_sequence_t Phy_ParametersFR1_sequence[] = {
+ { &hf_nr_rrc_pdcchMonitoringSingleOccasion, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcchMonitoringSingleOccasion },
+ { &hf_nr_rrc_scs_60kHz_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_03 },
+ { &hf_nr_rrc_pdsch_256QAM_FR1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_256QAM_FR1 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_BasebandParametersPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_Phy_ParametersFR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_BasebandParametersPerCC, BasebandParametersPerCC_sequence);
+ ett_nr_rrc_Phy_ParametersFR1, Phy_ParametersFR1_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxServCell_OF_BasebandParametersPerCC_sequence_of[1] = {
- { &hf_nr_rrc_basebandParametersPerCC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandParametersPerCC },
+static const value_string nr_rrc_T_calibrationGapPA_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxServCell_OF_BasebandParametersPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxServCell_OF_BasebandParametersPerCC, SEQUENCE_SIZE_1_maxServCell_OF_BasebandParametersPerCC_sequence_of,
- 1, maxServCell, FALSE);
+dissect_nr_rrc_T_calibrationGapPA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
+static const per_sequence_t Phy_ParametersFR2_sequence[] = {
+ { &hf_nr_rrc_calibrationGapPA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_calibrationGapPA },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_BWPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_nr_rrc_CA_BandwidthClass(tvb, offset, actx, tree, hf_index);
+dissect_nr_rrc_Phy_ParametersFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_Phy_ParametersFR2, Phy_ParametersFR2_sequence);
return offset;
}
-static const per_sequence_t BasebandParametersPerBand_sequence[] = {
- { &hf_nr_rrc_ca_BandwidthClassDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CA_BandwidthClass },
- { &hf_nr_rrc_ca_BandwidthClassUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CA_BandwidthClass },
- { &hf_nr_rrc_basebandParametersPerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxServCell_OF_BasebandParametersPerCC },
- { &hf_nr_rrc_supportedBWPerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWPerCC },
+static const per_sequence_t Phy_Parameters_sequence[] = {
+ { &hf_nr_rrc_phy_ParametersCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersCommon },
+ { &hf_nr_rrc_phy_ParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersXDD_Diff },
+ { &hf_nr_rrc_phy_ParametersFRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersFRX_Diff },
+ { &hf_nr_rrc_phy_ParametersFR1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersFR1 },
+ { &hf_nr_rrc_phy_ParametersFR2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersFR2 },
+ { &hf_nr_rrc_supportedBasebandProcessingCombination, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SupportedBasebandProcessingCombination },
+ { &hf_nr_rrc_basebandCombinationParametersUL_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandCombinationParametersUL_List },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_BasebandParametersPerBand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_Phy_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_BasebandParametersPerBand, BasebandParametersPerBand_sequence);
+ ett_nr_rrc_Phy_Parameters, Phy_Parameters_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBand_sequence_of[1] = {
- { &hf_nr_rrc_basebandParametersPerBand_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandParametersPerBand },
+static const value_string nr_rrc_T_maxChannelBW_PerCC_vals[] = {
+ { 0, "mhz400" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBand, SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBand_sequence_of,
- 1, maxSimultaneousBands, FALSE);
+dissect_nr_rrc_T_maxChannelBW_PerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t BasebandProcessingCombination_sequence[] = {
- { &hf_nr_rrc_basebandParametersPerBand, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBand },
+static const value_string nr_rrc_T_scs_60kHz_06_vals[] = {
+ { 0, "s7" },
+ { 1, "s14" },
+ { 2, "s28" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_60kHz_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_sch_120kHz_01_vals[] = {
+ { 0, "s14" },
+ { 1, "s28" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_sch_120kHz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_timeDurationForQCL_01_sequence[] = {
+ { &hf_nr_rrc_scs_60kHz_06 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_06 },
+ { &hf_nr_rrc_sch_120kHz_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sch_120kHz_01 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_BasebandProcessingCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_timeDurationForQCL_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_BasebandProcessingCombination, BasebandProcessingCombination_sequence);
+ ett_nr_rrc_T_timeDurationForQCL_01, T_timeDurationForQCL_01_sequence);
return offset;
}
-static const per_sequence_t SupportedBasebandProcessingCombination_sequence_of[1] = {
- { &hf_nr_rrc_SupportedBasebandProcessingCombination_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandProcessingCombination },
+static const value_string nr_rrc_T_maxNumberConfiguredTCIstates_vals[] = {
+ { 0, "n4" },
+ { 1, "n8" },
+ { 2, "n16" },
+ { 3, "n32" },
+ { 4, "n64" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_SupportedBasebandProcessingCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SupportedBasebandProcessingCombination, SupportedBasebandProcessingCombination_sequence_of,
- 1, maxBasebandProcComb, FALSE);
+dissect_nr_rrc_T_maxNumberConfiguredTCIstates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 5, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t PhyLayerParameters_sequence[] = {
- { &hf_nr_rrc_supportedBasebandProcessingCombination, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SupportedBasebandProcessingCombination },
+static const value_string nr_rrc_T_maxNumberActiveTCI_PerCC_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n4" },
+ { 3, "n8" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_maxNumberActiveTCI_PerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pusch_TransCoherence_vals[] = {
+ { 0, "nonCoherent" },
+ { 1, "partialNonCoherent" },
+ { 2, "fullCoherent" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pusch_TransCoherence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_beamCorrespondence_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_beamCorrespondence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_periodicBeamReport_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_periodicBeamReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_aperiodicBeamReport_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_aperiodicBeamReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_sp_BeamReportPUCCH_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_sp_BeamReportPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_sp_BeamReportPUSCH_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_sp_BeamReportPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx_vals[] = {
+ { 0, "n8" },
+ { 1, "n16" },
+ { 2, "n32" },
+ { 3, "n64" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx_vals[] = {
+ { 0, "n0" },
+ { 1, "n4" },
+ { 2, "n8" },
+ { 3, "n16" },
+ { 4, "n32" },
+ { 5, "n64" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 6, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_supportedCSI_RS_Density_vals[] = {
+ { 0, "one" },
+ { 1, "three" },
+ { 2, "oneAndThree" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_supportedCSI_RS_Density(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t BeamManagementSSB_CSI_RS_sequence[] = {
+ { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx },
+ { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceTwoTx, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx },
+ { &hf_nr_rrc_supportedCSI_RS_Density, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_Density },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PhyLayerParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_BeamManagementSSB_CSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PhyLayerParameters, PhyLayerParameters_sequence);
+ ett_nr_rrc_BeamManagementSSB_CSI_RS, BeamManagementSSB_CSI_RS_sequence);
return offset;
}
@@ -12460,8 +24079,721 @@ dissect_nr_rrc_PhyLayerParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
-dissect_nr_rrc_FreqBandIndicatorNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
+dissect_nr_rrc_INTEGER_2_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 2U, 8U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_15kHz_04_vals[] = {
+ { 0, "n4" },
+ { 1, "n7" },
+ { 2, "n14" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_15kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_30kHz_04_vals[] = {
+ { 0, "n4" },
+ { 1, "n7" },
+ { 2, "n14" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_30kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_60kHz_07_vals[] = {
+ { 0, "n4" },
+ { 1, "n7" },
+ { 2, "n14" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_60kHz_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_120kHz_04_vals[] = {
+ { 0, "n4" },
+ { 1, "n7" },
+ { 2, "n14" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_120kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_240kHz_vals[] = {
+ { 0, "n4" },
+ { 1, "n7" },
+ { 2, "n14" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_240kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_maxNumberRxTxBeamSwitchDL_sequence[] = {
+ { &hf_nr_rrc_scs_15kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_04 },
+ { &hf_nr_rrc_scs_30kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_04 },
+ { &hf_nr_rrc_scs_60kHz_07 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_07 },
+ { &hf_nr_rrc_scs_120kHz_04, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_04 },
+ { &hf_nr_rrc_scs_240kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_240kHz },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_maxNumberRxTxBeamSwitchDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_maxNumberRxTxBeamSwitchDL, T_maxNumberRxTxBeamSwitchDL_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_maxNumberNonGroupBeamReporting_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n4" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_maxNumberNonGroupBeamReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_groupBeamReporting_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_groupBeamReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_maxNumberSRS_ResourcePerSet_vals[] = {
+ { 0, "n8" },
+ { 1, "n16" },
+ { 2, "n32" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_maxNumberSRS_ResourcePerSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_uplinkBeamManagement_sequence[] = {
+ { &hf_nr_rrc_maxNumberSRS_ResourcePerSet, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_ResourcePerSet },
+ { &hf_nr_rrc_maxNumberSRS_ResourceSet, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_uplinkBeamManagement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_uplinkBeamManagement, T_uplinkBeamManagement_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_1_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 256U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_lowLatencyCSI_Feedback_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_lowLatencyCSI_Feedback_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t MIMO_ParametersPerBand_sequence[] = {
+ { &hf_nr_rrc_timeDurationForQCL_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDurationForQCL_01 },
+ { &hf_nr_rrc_maxNumberMIMO_LayersPDSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersDL },
+ { &hf_nr_rrc_maxNumberMIMO_LayersCB_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersUL },
+ { &hf_nr_rrc_maxNumberMIMO_LayersNonCB_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersUL },
+ { &hf_nr_rrc_maxNumberConfiguredTCIstates, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberConfiguredTCIstates },
+ { &hf_nr_rrc_maxNumberActiveTCI_PerCC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberActiveTCI_PerCC },
+ { &hf_nr_rrc_pusch_TransCoherence, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_TransCoherence },
+ { &hf_nr_rrc_beamCorrespondence, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_beamCorrespondence },
+ { &hf_nr_rrc_periodicBeamReport, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_periodicBeamReport },
+ { &hf_nr_rrc_aperiodicBeamReport, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aperiodicBeamReport },
+ { &hf_nr_rrc_sp_BeamReportPUCCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_BeamReportPUCCH },
+ { &hf_nr_rrc_sp_BeamReportPUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_BeamReportPUSCH },
+ { &hf_nr_rrc_beamManagementSSB_CSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BeamManagementSSB_CSI_RS },
+ { &hf_nr_rrc_maxNumberRxBeam, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_8 },
+ { &hf_nr_rrc_maxNumberRxTxBeamSwitchDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberRxTxBeamSwitchDL },
+ { &hf_nr_rrc_maxNumberNonGroupBeamReporting, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberNonGroupBeamReporting },
+ { &hf_nr_rrc_groupBeamReporting, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_groupBeamReporting },
+ { &hf_nr_rrc_uplinkBeamManagement, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_uplinkBeamManagement },
+ { &hf_nr_rrc_maxNumberCSI_RS_BFR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_64 },
+ { &hf_nr_rrc_maxNumberSSB_BFR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_64 },
+ { &hf_nr_rrc_maxNumberCSI_RS_SSB_BFR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_256 },
+ { &hf_nr_rrc_twoPortsPTRS , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 },
+ { &hf_nr_rrc_supportedSRS_Resources, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SRS_Resources },
+ { &hf_nr_rrc_srs_TxSwitch , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SRS_TxSwitch },
+ { &hf_nr_rrc_maxNumberSimultaneousSRS_PerCC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_4 },
+ { &hf_nr_rrc_lowLatencyCSI_Feedback_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_lowLatencyCSI_Feedback_01 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MIMO_ParametersPerBand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MIMO_ParametersPerBand, MIMO_ParametersPerBand_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_extendedCP_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_extendedCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_phaseCoherenceUL_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_phaseCoherenceUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scellWithoutSSB_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scellWithoutSSB_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_csi_RS_MeasSCellWithoutSSB_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_csi_RS_MeasSCellWithoutSSB_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_srs_AssocCSI_RS_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_srs_AssocCSI_RS_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_type1_3_CSS_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_type1_3_CSS_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_multipleTCI_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_multipleTCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pdcchMonitoringAnyOccasions_01_vals[] = {
+ { 0, "withoutDCI-gap" },
+ { 1, "withDCI-gap" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pdcchMonitoringAnyOccasions_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_ue_SpecificUL_DL_Assignment_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_ue_SpecificUL_DL_Assignment_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_15kHz_02_vals[] = {
+ { 0, "upto2" },
+ { 1, "upto7" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_15kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_30kHz_02_vals[] = {
+ { 0, "upto2" },
+ { 1, "upto7" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_30kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_60kHz_04_vals[] = {
+ { 0, "upto2" },
+ { 1, "upto7" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_60kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_120kHz_02_vals[] = {
+ { 0, "upto2" },
+ { 1, "upto7" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_120kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_pdsch_DifferentTB_PerSlot_01_sequence[] = {
+ { &hf_nr_rrc_scs_15kHz_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_02 },
+ { &hf_nr_rrc_scs_30kHz_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_02 },
+ { &hf_nr_rrc_scs_60kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_04 },
+ { &hf_nr_rrc_scs_120kHz_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_02 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_pdsch_DifferentTB_PerSlot_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_pdsch_DifferentTB_PerSlot_01, T_pdsch_DifferentTB_PerSlot_01_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_15kHz_03_vals[] = {
+ { 0, "upto2" },
+ { 1, "upto7" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_15kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_30kHz_03_vals[] = {
+ { 0, "upto2" },
+ { 1, "upto7" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_30kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_60kHz_05_vals[] = {
+ { 0, "upto2" },
+ { 1, "upto7" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_60kHz_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_120kHz_03_vals[] = {
+ { 0, "upto2" },
+ { 1, "upto7" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_120kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_pusch_DifferentTB_PerSlot_01_sequence[] = {
+ { &hf_nr_rrc_scs_15kHz_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_03 },
+ { &hf_nr_rrc_scs_30kHz_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_03 },
+ { &hf_nr_rrc_scs_60kHz_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_05 },
+ { &hf_nr_rrc_scs_120kHz_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_03 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_pusch_DifferentTB_PerSlot_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_pusch_DifferentTB_PerSlot_01, T_pusch_DifferentTB_PerSlot_01_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_bwp_SameNumerology_vals[] = {
+ { 0, "upto2" },
+ { 1, "upto4" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_bwp_SameNumerology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_bwp_DiffNumerology_vals[] = {
+ { 0, "upto4" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_bwp_DiffNumerology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_twoPUCCH_Group_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_twoPUCCH_Group_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_diffNumerologyAcrossPUCCH_Group_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_diffNumerologyAcrossPUCCH_Group_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_diffNumerologyWithinPUCCH_Group_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_diffNumerologyWithinPUCCH_Group_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_crossCarrierScheduling_02_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_crossCarrierScheduling_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_supportedNumberTAG_01_vals[] = {
+ { 0, "n2" },
+ { 1, "n3" },
+ { 2, "n4" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_supportedNumberTAG_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_simultaneousTxSUL_NonSUL_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_simultaneousTxSUL_NonSUL_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_searchSpaceSharingCA_DL_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_searchSpaceSharingCA_DL_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_searchSpaceSharingCA_UL_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_searchSpaceSharingCA_UL_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pdsch_256QAM_FR2_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pdsch_256QAM_FR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pusch_256QAM_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pusch_256QAM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
@@ -12469,8 +24801,32 @@ dissect_nr_rrc_FreqBandIndicatorNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static const per_sequence_t BandNR_sequence[] = {
{ &hf_nr_rrc_bandNR , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
- { &hf_nr_rrc_supportedMIMO_CapabilityDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_Capability },
- { &hf_nr_rrc_supportedMIMO_CapabilityUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_Capability },
+ { &hf_nr_rrc_modifiedMPR_Behaviour, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_8 },
+ { &hf_nr_rrc_maxChannelBW_PerCC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxChannelBW_PerCC },
+ { &hf_nr_rrc_mimo_ParametersPerBand, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_ParametersPerBand },
+ { &hf_nr_rrc_extendedCP , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_extendedCP },
+ { &hf_nr_rrc_phaseCoherenceUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_phaseCoherenceUL },
+ { &hf_nr_rrc_scellWithoutSSB_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scellWithoutSSB_01 },
+ { &hf_nr_rrc_csi_RS_MeasSCellWithoutSSB_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_MeasSCellWithoutSSB_01 },
+ { &hf_nr_rrc_srs_AssocCSI_RS_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_AssocCSI_RS_01 },
+ { &hf_nr_rrc_type1_3_CSS_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type1_3_CSS_01 },
+ { &hf_nr_rrc_multipleTCI , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleTCI },
+ { &hf_nr_rrc_pdcchMonitoringAnyOccasions_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcchMonitoringAnyOccasions_01 },
+ { &hf_nr_rrc_ue_SpecificUL_DL_Assignment_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_SpecificUL_DL_Assignment_01 },
+ { &hf_nr_rrc_pdsch_DifferentTB_PerSlot_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_DifferentTB_PerSlot_01 },
+ { &hf_nr_rrc_pusch_DifferentTB_PerSlot_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_DifferentTB_PerSlot_01 },
+ { &hf_nr_rrc_bwp_SameNumerology, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_SameNumerology },
+ { &hf_nr_rrc_bwp_DiffNumerology, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_DiffNumerology },
+ { &hf_nr_rrc_twoPUCCH_Group_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_Group_01 },
+ { &hf_nr_rrc_diffNumerologyAcrossPUCCH_Group_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_diffNumerologyAcrossPUCCH_Group_01 },
+ { &hf_nr_rrc_diffNumerologyWithinPUCCH_Group_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_diffNumerologyWithinPUCCH_Group_01 },
+ { &hf_nr_rrc_crossCarrierScheduling_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_crossCarrierScheduling_02 },
+ { &hf_nr_rrc_supportedNumberTAG_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_supportedNumberTAG_01 },
+ { &hf_nr_rrc_simultaneousTxSUL_NonSUL_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousTxSUL_NonSUL_01 },
+ { &hf_nr_rrc_searchSpaceSharingCA_DL_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceSharingCA_DL_01 },
+ { &hf_nr_rrc_searchSpaceSharingCA_UL_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceSharingCA_UL_01 },
+ { &hf_nr_rrc_pdsch_256QAM_FR2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_256QAM_FR2 },
+ { &hf_nr_rrc_pusch_256QAM , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_256QAM },
{ NULL, 0, 0, NULL }
};
@@ -12497,14 +24853,30 @@ dissect_nr_rrc_SupportedBandListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
-static const value_string nr_rrc_T_intraBandAsyncFDD_vals[] = {
+static const per_sequence_t RF_Parameters_sequence[] = {
+ { &hf_nr_rrc_supportedBandListNR, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SupportedBandListNR },
+ { &hf_nr_rrc_supportedBandCombination, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationList },
+ { &hf_nr_rrc_bandCombinationParametersUL_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationParametersUL_List },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RF_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RF_Parameters, RF_Parameters_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_intraAndInterF_MeasAndReport_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_intraBandAsyncFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_intraAndInterF_MeasAndReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -12512,88 +24884,227 @@ dissect_nr_rrc_T_intraBandAsyncFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
-static const per_sequence_t RF_Parameters_sequence[] = {
- { &hf_nr_rrc_supportedBandListNR, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SupportedBandListNR },
- { &hf_nr_rrc_supportedBandCombination, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationList },
- { &hf_nr_rrc_intraBandAsyncFDD, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraBandAsyncFDD },
+static const value_string nr_rrc_T_eventA_MeasAndReport_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_eventA_MeasAndReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasParametersXDD_Diff_sequence[] = {
+ { &hf_nr_rrc_intraAndInterF_MeasAndReport, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraAndInterF_MeasAndReport },
+ { &hf_nr_rrc_eventA_MeasAndReport, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eventA_MeasAndReport },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_RF_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasParametersXDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RF_Parameters, RF_Parameters_sequence);
+ ett_nr_rrc_MeasParametersXDD_Diff, MeasParametersXDD_Diff_sequence);
return offset;
}
-static const per_sequence_t T_nonCriticalExtension_02_sequence[] = {
+static const value_string nr_rrc_T_ss_SINR_Meas_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_ss_SINR_Meas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_csi_SINR_Meas_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_csi_SINR_Meas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_csi_RS_RLM_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_csi_RS_RLM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasParametersFRX_Diff_sequence[] = {
+ { &hf_nr_rrc_ss_SINR_Meas , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ss_SINR_Meas },
+ { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB },
+ { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB },
+ { &hf_nr_rrc_csi_SINR_Meas, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_SINR_Meas },
+ { &hf_nr_rrc_csi_RS_RLM , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_RLM },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_nonCriticalExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasParametersFRX_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_nonCriticalExtension_02, T_nonCriticalExtension_02_sequence);
+ ett_nr_rrc_MeasParametersFRX_Diff, MeasParametersFRX_Diff_sequence);
return offset;
}
-static const per_sequence_t UE_NR_Capability_sequence[] = {
- { &hf_nr_rrc_pdcp_Parameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCP_Parameters },
- { &hf_nr_rrc_rlc_Parameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RLC_Parameters },
- { &hf_nr_rrc_mac_Parameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_Parameters },
- { &hf_nr_rrc_phyLayerParameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhyLayerParameters },
- { &hf_nr_rrc_rf_Parameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters },
- { &hf_nr_rrc_nonCriticalExtension_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_02 },
+static const per_sequence_t MeasParameters_sequence[] = {
+ { &hf_nr_rrc_measParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersXDD_Diff },
+ { &hf_nr_rrc_measParametersFRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersFRX_Diff },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_UE_NR_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_UE_NR_Capability, UE_NR_Capability_sequence);
+ ett_nr_rrc_MeasParameters, MeasParameters_sequence);
return offset;
}
+static const per_sequence_t UE_NR_CapabilityAddXDD_Mode_sequence[] = {
+ { &hf_nr_rrc_phy_ParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersXDD_Diff },
+ { &hf_nr_rrc_mac_ParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersXDD_Diff },
+ { &hf_nr_rrc_measParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersXDD_Diff },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_UECapabilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- tvbuff_t *parameter_tvb;
- proto_tree *subtree;
+dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode, UE_NR_CapabilityAddXDD_Mode_sequence);
- offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
- NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
+ return offset;
+}
- 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);
- }
+static const per_sequence_t UE_NR_CapabilityAddFRX_Mode_sequence[] = {
+ { &hf_nr_rrc_phy_ParametersFRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersFRX_Diff },
+ { &hf_nr_rrc_measParametersFRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersFRX_Diff },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode, UE_NR_CapabilityAddFRX_Mode_sequence);
return offset;
}
+static const per_sequence_t T_nonCriticalExtension_06_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_RadioBearerConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_nr_rrc_RadioBearerConfig(tvb, offset, actx, tree, hf_index);
+dissect_nr_rrc_T_nonCriticalExtension_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_06, T_nonCriticalExtension_06_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t UE_NR_Capability_sequence[] = {
+ { &hf_nr_rrc_pdcp_Parameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCP_Parameters },
+ { &hf_nr_rrc_rlc_Parameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RLC_Parameters },
+ { &hf_nr_rrc_mac_Parameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_Parameters },
+ { &hf_nr_rrc_phy_Parameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_Parameters },
+ { &hf_nr_rrc_rf_Parameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters },
+ { &hf_nr_rrc_measParameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParameters },
+ { &hf_nr_rrc_fdd_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode },
+ { &hf_nr_rrc_tdd_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode },
+ { &hf_nr_rrc_fr1_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode },
+ { &hf_nr_rrc_fr2_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_06, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_06 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UE_NR_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UE_NR_Capability, UE_NR_Capability_sequence);
return offset;
}
/*--- PDUs ---*/
-int dissect_nr_rrc_SCG_ConfigInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+int dissect_nr_rrc_CG_ConfigInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
- offset = dissect_nr_rrc_SCG_ConfigInfo(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SCG_ConfigInfo_PDU);
+ offset = dissect_nr_rrc_CG_ConfigInfo(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_CG_ConfigInfo_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+int dissect_nr_rrc_ConfigRestrictInfoSCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
+ offset = dissect_nr_rrc_ConfigRestrictInfoSCG(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_ConfigRestrictInfoSCG_PDU);
offset += 7; offset >>= 3;
return offset;
}
@@ -12645,6 +25156,14 @@ int dissect_nr_rrc_RRCReconfigurationComplete_PDU(tvbuff_t *tvb _U_, packet_info
offset += 7; offset >>= 3;
return offset;
}
+int dissect_nr_rrc_SIB1_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
+ offset = dissect_nr_rrc_SIB1(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB1_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
int dissect_nr_rrc_CellGroupConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -12669,6 +25188,14 @@ int dissect_nr_rrc_RadioBearerConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _
offset += 7; offset >>= 3;
return offset;
}
+int dissect_nr_rrc_FreqBandList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
+ offset = dissect_nr_rrc_FreqBandList(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_FreqBandList_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
int dissect_nr_rrc_UE_MRDC_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -12685,26 +25212,34 @@ int dissect_nr_rrc_UE_NR_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U
offset += 7; offset >>= 3;
return offset;
}
-static int dissect_UECapabilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+static int dissect_UE_CapabilityRAT_ContainerList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
+ offset = dissect_nr_rrc_UE_CapabilityRAT_ContainerList(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_UE_CapabilityRAT_ContainerList_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_CandidateCellInfoList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
- offset = dissect_nr_rrc_UECapabilityInformation(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_UECapabilityInformation_PDU);
+ offset = dissect_nr_rrc_CandidateCellInfoList(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_CandidateCellInfoList_PDU);
offset += 7; offset >>= 3;
return offset;
}
-static int dissect_RadioBearerConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+static int dissect_MeasResultSCG_Failure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
- offset = dissect_nr_rrc_RadioBearerConfiguration(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_RadioBearerConfiguration_PDU);
+ offset = dissect_nr_rrc_MeasResultSCG_Failure(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_MeasResultSCG_Failure_PDU);
offset += 7; offset >>= 3;
return offset;
}
/*--- End of included file: packet-nr-rrc-fn.c ---*/
-#line 74 "./asn1/nr-rrc/packet-nr-rrc-template.c"
+#line 72 "./asn1/nr-rrc/packet-nr-rrc-template.c"
void proto_register_nr_rrc(void) {
@@ -12714,8 +25249,12 @@ void proto_register_nr_rrc(void) {
/*--- Included file: packet-nr-rrc-hfarr.c ---*/
#line 1 "./asn1/nr-rrc/packet-nr-rrc-hfarr.c"
- { &hf_nr_rrc_nr_rrc_SCG_ConfigInfo_PDU,
- { "SCG-ConfigInfo", "nr-rrc.SCG_ConfigInfo_element",
+ { &hf_nr_rrc_nr_rrc_CG_ConfigInfo_PDU,
+ { "CG-ConfigInfo", "nr-rrc.CG_ConfigInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nr_rrc_ConfigRestrictInfoSCG_PDU,
+ { "ConfigRestrictInfoSCG", "nr-rrc.ConfigRestrictInfoSCG_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_BCCH_BCH_Message_PDU,
@@ -12742,6 +25281,10 @@ void proto_register_nr_rrc(void) {
{ "RRCReconfigurationComplete", "nr-rrc.RRCReconfigurationComplete_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_nr_rrc_SIB1_PDU,
+ { "SIB1", "nr-rrc.SIB1_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_nr_rrc_CellGroupConfig_PDU,
{ "CellGroupConfig", "nr-rrc.CellGroupConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -12754,6 +25297,10 @@ void proto_register_nr_rrc(void) {
{ "RadioBearerConfig", "nr-rrc.RadioBearerConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_nr_rrc_FreqBandList_PDU,
+ { "FreqBandList", "nr-rrc.FreqBandList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_nr_rrc_UE_MRDC_Capability_PDU,
{ "UE-MRDC-Capability", "nr-rrc.UE_MRDC_Capability_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -12762,14 +25309,22 @@ void proto_register_nr_rrc(void) {
{ "UE-NR-Capability", "nr-rrc.UE_NR_Capability_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_UECapabilityInformation_PDU,
- { "UECapabilityInformation", "nr-rrc.UECapabilityInformation",
- FT_BYTES, BASE_NONE, NULL, 0,
+ { &hf_nr_rrc_UE_CapabilityRAT_ContainerList_PDU,
+ { "UE-CapabilityRAT-ContainerList", "nr-rrc.UE_CapabilityRAT_ContainerList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_CandidateCellInfoList_PDU,
+ { "CandidateCellInfoList", "nr-rrc.CandidateCellInfoList",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_RadioBearerConfiguration_PDU,
- { "RadioBearerConfiguration", "nr-rrc.RadioBearerConfiguration_element",
+ { &hf_nr_rrc_MeasResultSCG_Failure_PDU,
+ { "MeasResultSCG-Failure", "nr-rrc.MeasResultSCG_Failure_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_measuredFrequency,
+ { "measuredFrequency", "nr-rrc.measuredFrequency",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ARFCN_ValueNR", HFILL }},
{ &hf_nr_rrc_criticalExtensions,
{ "criticalExtensions", "nr-rrc.criticalExtensions",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_vals), 0,
@@ -12778,10 +25333,10 @@ void proto_register_nr_rrc(void) {
{ "c1", "nr-rrc.c1",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_scg_ConfigInfo_r15,
- { "scg-ConfigInfo-r15", "nr-rrc.scg_ConfigInfo_r15_element",
+ { &hf_nr_rrc_cg_ConfigInfo,
+ { "cg-ConfigInfo", "nr-rrc.cg_ConfigInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
- "SCG_ConfigInfo_r15_IEs", HFILL }},
+ "CG_ConfigInfo_IEs", HFILL }},
{ &hf_nr_rrc_spare3,
{ "spare3", "nr-rrc.spare3_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -12798,18 +25353,34 @@ void proto_register_nr_rrc(void) {
{ "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_eutra_CapabilityInfo,
- { "eutra-CapabilityInfo", "nr-rrc.eutra_CapabilityInfo",
+ { &hf_nr_rrc_ue_CapabilityInfo,
+ { "ue-CapabilityInfo", "nr-rrc.ue_CapabilityInfo",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_candidateCellInfoListMN,
+ { "candidateCellInfoListMN", "nr-rrc.candidateCellInfoListMN",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "CandidateCellInfoList", HFILL }},
+ { &hf_nr_rrc_candidateCellInfoListSN,
+ { "candidateCellInfoListSN", "nr-rrc.candidateCellInfoListSN",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_candidateCellInfoList,
- { "candidateCellInfoList", "nr-rrc.candidateCellInfoList",
+ { &hf_nr_rrc_measResultCellListSFTD,
+ { "measResultCellListSFTD", "nr-rrc.measResultCellListSFTD",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_measResultSSTD,
- { "measResultSSTD", "nr-rrc.measResultSSTD_element",
+ { &hf_nr_rrc_scgFailureInfo,
+ { "scgFailureInfo", "nr-rrc.scgFailureInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_failureType,
+ { "failureType", "nr-rrc.failureType",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_measResultSCG,
+ { "measResultSCG", "nr-rrc.measResultSCG",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_configRestrictInfo,
{ "configRestrictInfo", "nr-rrc.configRestrictInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -12818,14 +25389,18 @@ void proto_register_nr_rrc(void) {
{ "drx-InfoMCG", "nr-rrc.drx_InfoMCG_element",
FT_NONE, BASE_NONE, NULL, 0,
"DRX_Info", HFILL }},
+ { &hf_nr_rrc_measConfigMN,
+ { "measConfigMN", "nr-rrc.measConfigMN_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_sourceConfigSCG,
{ "sourceConfigSCG", "nr-rrc.sourceConfigSCG",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_p_maxFR1,
- { "p-maxFR1", "nr-rrc.p_maxFR1",
- FT_INT32, BASE_DEC, NULL, 0,
- "P_Max", HFILL }},
+ { &hf_nr_rrc_scg_RB_Config,
+ { "scg-RB-Config", "nr-rrc.scg_RB_Config",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_mcg_RB_Config,
{ "mcg-RB-Config", "nr-rrc.mcg_RB_Config",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -12834,30 +25409,162 @@ void proto_register_nr_rrc(void) {
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_restrictedBandCombinationNR,
- { "restrictedBandCombinationNR", "nr-rrc.restrictedBandCombinationNR",
- FT_INT32, BASE_DEC, NULL, 0,
- "INTEGER", HFILL }},
- { &hf_nr_rrc_restrictedBasebandCombinationNR_NR,
- { "restrictedBasebandCombinationNR-NR", "nr-rrc.restrictedBasebandCombinationNR_NR",
+ { &hf_nr_rrc_allowedBC_ListMRDC,
+ { "allowedBC-ListMRDC", "nr-rrc.allowedBC_ListMRDC",
FT_UINT32, BASE_DEC, NULL, 0,
+ "BandCombinationIndexList", HFILL }},
+ { &hf_nr_rrc_allowedBPC_ListMRDC,
+ { "allowedBPC-ListMRDC", "nr-rrc.allowedBPC_ListMRDC",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "BPC_IndexList", HFILL }},
+ { &hf_nr_rrc_powerCoordination_FR1,
+ { "powerCoordination-FR1", "nr-rrc.powerCoordination_FR1_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_restrictedBasebandCombinationNR_NR_item,
- { "restrictedBasebandCombinationNR-NR item", "nr-rrc.restrictedBasebandCombinationNR_NR_item",
+ { &hf_nr_rrc_p_maxNR,
+ { "p-maxNR", "nr-rrc.p_maxNR",
FT_INT32, BASE_DEC, NULL, 0,
- "INTEGER", HFILL }},
+ "P_Max", HFILL }},
+ { &hf_nr_rrc_p_maxEUTRA,
+ { "p-maxEUTRA", "nr-rrc.p_maxEUTRA",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "P_Max", HFILL }},
+ { &hf_nr_rrc_servCellIndexRangeSCG,
+ { "servCellIndexRangeSCG", "nr-rrc.servCellIndexRangeSCG_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_lowBound,
+ { "lowBound", "nr-rrc.lowBound",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ServCellIndex", HFILL }},
+ { &hf_nr_rrc_upBound,
+ { "upBound", "nr-rrc.upBound",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ServCellIndex", HFILL }},
{ &hf_nr_rrc_maxMeasFreqsSCG_NR,
{ "maxMeasFreqsSCG-NR", "nr-rrc.maxMeasFreqsSCG_NR",
- FT_INT32, BASE_DEC, NULL, 0,
- "INTEGER", HFILL }},
- { &hf_nr_rrc_cycle,
- { "cycle", "nr-rrc.cycle",
- FT_INT32, BASE_DEC, NULL, 0,
- "INTEGER", HFILL }},
- { &hf_nr_rrc_offset,
- { "offset", "nr-rrc.offset",
- FT_INT32, BASE_DEC, NULL, 0,
- "INTEGER", HFILL }},
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_maxMeasFreqsMN", HFILL }},
+ { &hf_nr_rrc_BandCombinationIndexList_item,
+ { "BandCombinationIndex", "nr-rrc.BandCombinationIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_BPC_IndexList_item,
+ { "BPC-Index", "nr-rrc.BPC_Index",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_drx_LongCycleStartOffset,
+ { "drx-LongCycleStartOffset", "nr-rrc.drx_LongCycleStartOffset",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_LongCycleStartOffset_vals_ext, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ms10,
+ { "ms10", "nr-rrc.ms10",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_9", HFILL }},
+ { &hf_nr_rrc_ms20,
+ { "ms20", "nr-rrc.ms20",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_19", HFILL }},
+ { &hf_nr_rrc_ms32,
+ { "ms32", "nr-rrc.ms32",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0,
+ "INTEGER_0_31", HFILL }},
+ { &hf_nr_rrc_ms40,
+ { "ms40", "nr-rrc.ms40",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_39", HFILL }},
+ { &hf_nr_rrc_ms60,
+ { "ms60", "nr-rrc.ms60",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_59", HFILL }},
+ { &hf_nr_rrc_ms64,
+ { "ms64", "nr-rrc.ms64",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_63", HFILL }},
+ { &hf_nr_rrc_ms70,
+ { "ms70", "nr-rrc.ms70",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_69", HFILL }},
+ { &hf_nr_rrc_ms80,
+ { "ms80", "nr-rrc.ms80",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_79", HFILL }},
+ { &hf_nr_rrc_ms128,
+ { "ms128", "nr-rrc.ms128",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_127", HFILL }},
+ { &hf_nr_rrc_ms160,
+ { "ms160", "nr-rrc.ms160",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_159", HFILL }},
+ { &hf_nr_rrc_ms256,
+ { "ms256", "nr-rrc.ms256",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_255", HFILL }},
+ { &hf_nr_rrc_ms320,
+ { "ms320", "nr-rrc.ms320",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_319", HFILL }},
+ { &hf_nr_rrc_ms512,
+ { "ms512", "nr-rrc.ms512",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_511", HFILL }},
+ { &hf_nr_rrc_ms640,
+ { "ms640", "nr-rrc.ms640",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_639", HFILL }},
+ { &hf_nr_rrc_ms1024,
+ { "ms1024", "nr-rrc.ms1024",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_1023", HFILL }},
+ { &hf_nr_rrc_ms1280,
+ { "ms1280", "nr-rrc.ms1280",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_1279", HFILL }},
+ { &hf_nr_rrc_ms2048,
+ { "ms2048", "nr-rrc.ms2048",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_2047", HFILL }},
+ { &hf_nr_rrc_ms2560,
+ { "ms2560", "nr-rrc.ms2560",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_2559", HFILL }},
+ { &hf_nr_rrc_ms5120,
+ { "ms5120", "nr-rrc.ms5120",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_5119", HFILL }},
+ { &hf_nr_rrc_ms10240,
+ { "ms10240", "nr-rrc.ms10240",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_10239", HFILL }},
+ { &hf_nr_rrc_shortDRX,
+ { "shortDRX", "nr-rrc.shortDRX_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_drx_ShortCycle,
+ { "drx-ShortCycle", "nr-rrc.drx_ShortCycle",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_ShortCycle_vals_ext, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_drx_ShortCycleTimer,
+ { "drx-ShortCycleTimer", "nr-rrc.drx_ShortCycleTimer",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_16", HFILL }},
+ { &hf_nr_rrc_measuredFrequenciesMN,
+ { "measuredFrequenciesMN", "nr-rrc.measuredFrequenciesMN",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo", HFILL }},
+ { &hf_nr_rrc_measuredFrequenciesMN_item,
+ { "NR-FreqInfo", "nr-rrc.NR_FreqInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_measGapConfigFR1,
+ { "measGapConfigFR1", "nr-rrc.measGapConfigFR1_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "GapConfig", HFILL }},
+ { &hf_nr_rrc_gapPurpose,
+ { "gapPurpose", "nr-rrc.gapPurpose",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapPurpose_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_CandidateCellInfoList_item,
{ "CandidateCellInfo", "nr-rrc.CandidateCellInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -12872,26 +25579,22 @@ void proto_register_nr_rrc(void) {
NULL, HFILL }},
{ &hf_nr_rrc_dl_CarrierFreq,
{ "dl-CarrierFreq", "nr-rrc.dl_CarrierFreq",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueNR", HFILL }},
{ &hf_nr_rrc_measResultCell,
{ "measResultCell", "nr-rrc.measResultCell_element",
FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_rsrpResultCell,
- { "rsrpResultCell", "nr-rrc.rsrpResultCell",
+ "MeasQuantityResults", HFILL }},
+ { &hf_nr_rrc_candidateRS_IndexListSSB,
+ { "candidateRS-IndexListSSB", "nr-rrc.candidateRS_IndexListSSB",
FT_UINT32, BASE_DEC, NULL, 0,
- "RSRP_Range", HFILL }},
- { &hf_nr_rrc_rsrqResultCell,
- { "rsrqResultCell", "nr-rrc.rsrqResultCell",
- FT_UINT32, BASE_DEC, NULL, 0,
- "RSRQ_Range", HFILL }},
- { &hf_nr_rrc_candidateRS_IndexList,
- { "candidateRS-IndexList", "nr-rrc.candidateRS_IndexList",
+ "CandidateRS_IndexInfoListSSB", HFILL }},
+ { &hf_nr_rrc_candidateRS_IndexListCSI_RS,
+ { "candidateRS-IndexListCSI-RS", "nr-rrc.candidateRS_IndexListCSI_RS",
FT_UINT32, BASE_DEC, NULL, 0,
- "CandidateRS_IndexInfoList", HFILL }},
- { &hf_nr_rrc_CandidateRS_IndexInfoList_item,
- { "CandidateRS-IndexInfo", "nr-rrc.CandidateRS_IndexInfo_element",
+ "CandidateRS_IndexInfoListCSI_RS", HFILL }},
+ { &hf_nr_rrc_CandidateRS_IndexInfoListSSB_item,
+ { "CandidateRS-IndexInfoSSB", "nr-rrc.CandidateRS_IndexInfoSSB_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_ssb_Index,
@@ -12901,7 +25604,19 @@ void proto_register_nr_rrc(void) {
{ &hf_nr_rrc_measResultSSB,
{ "measResultSSB", "nr-rrc.measResultSSB_element",
FT_NONE, BASE_NONE, NULL, 0,
+ "MeasQuantityResults", HFILL }},
+ { &hf_nr_rrc_CandidateRS_IndexInfoListCSI_RS_item,
+ { "CandidateRS-IndexInfoCSI-RS", "nr-rrc.CandidateRS_IndexInfoCSI_RS_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_csi_RS_Index,
+ { "csi-RS-Index", "nr-rrc.csi_RS_Index",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_measResultCSI_RS,
+ { "measResultCSI-RS", "nr-rrc.measResultCSI_RS_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "MeasQuantityResults", HFILL }},
{ &hf_nr_rrc_message,
{ "message", "nr-rrc.message",
FT_UINT32, BASE_DEC, VALS(nr_rrc_BCCH_BCH_MessageType_vals), 0,
@@ -12998,32 +25713,24 @@ void proto_register_nr_rrc(void) {
{ "messageClassExtension", "nr-rrc.messageClassExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_messageClassExtension_02", HFILL }},
- { &hf_nr_rrc_ssb_IndexExplicit,
- { "ssb-IndexExplicit", "nr-rrc.ssb_IndexExplicit",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_7", HFILL }},
- { &hf_nr_rrc_halfFrameIndex,
- { "halfFrameIndex", "nr-rrc.halfFrameIndex",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_halfFrameIndex_vals), 0,
- NULL, HFILL }},
{ &hf_nr_rrc_systemFrameNumber,
{ "systemFrameNumber", "nr-rrc.systemFrameNumber",
FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_10", HFILL }},
+ "BIT_STRING_SIZE_6", HFILL }},
{ &hf_nr_rrc_subCarrierSpacingCommon,
{ "subCarrierSpacingCommon", "nr-rrc.subCarrierSpacingCommon",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
- "SubcarrierSpacing", HFILL }},
- { &hf_nr_rrc_ssb_subcarrierOffset,
- { "ssb-subcarrierOffset", "nr-rrc.ssb_subcarrierOffset",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subCarrierSpacingCommon_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ssb_SubcarrierOffset,
+ { "ssb-SubcarrierOffset", "nr-rrc.ssb_SubcarrierOffset",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_11", HFILL }},
+ "INTEGER_0_15", HFILL }},
{ &hf_nr_rrc_dmrs_TypeA_Position,
{ "dmrs-TypeA-Position", "nr-rrc.dmrs_TypeA_Position",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_TypeA_Position_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_pdcchConfigSIB1,
- { "pdcchConfigSIB1", "nr-rrc.pdcchConfigSIB1",
+ { &hf_nr_rrc_pdcch_ConfigSIB1,
+ { "pdcch-ConfigSIB1", "nr-rrc.pdcch_ConfigSIB1",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_nr_rrc_cellBarred,
@@ -13037,7 +25744,7 @@ void proto_register_nr_rrc(void) {
{ &hf_nr_rrc_spare,
{ "spare", "nr-rrc.spare",
FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_0", HFILL }},
+ "BIT_STRING_SIZE_1", HFILL }},
{ &hf_nr_rrc_criticalExtensions_01,
{ "criticalExtensions", "nr-rrc.criticalExtensions",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_01_vals), 0,
@@ -13054,6 +25761,14 @@ void proto_register_nr_rrc(void) {
{ "measResults", "nr-rrc.measResults_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_lateNonCriticalExtension,
+ { "lateNonCriticalExtension", "nr-rrc.lateNonCriticalExtension",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "OCTET_STRING", HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_01,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_01", HFILL }},
{ &hf_nr_rrc_rrc_TransactionIdentifier,
{ "rrc-TransactionIdentifier", "nr-rrc.rrc_TransactionIdentifier",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -13074,38 +25789,18 @@ void proto_register_nr_rrc(void) {
{ "radioBearerConfig", "nr-rrc.radioBearerConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_masterCellGroupConfig,
- { "masterCellGroupConfig", "nr-rrc.masterCellGroupConfig_element",
- FT_NONE, BASE_NONE, NULL, 0,
- "CellGroupConfig", HFILL }},
- { &hf_nr_rrc_secondaryCellGroupToAddModList,
- { "secondaryCellGroupToAddModList", "nr-rrc.secondaryCellGroupToAddModList",
- FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxSCellGroups_OF_CellGroupConfig", HFILL }},
- { &hf_nr_rrc_secondaryCellGroupToAddModList_item,
- { "CellGroupConfig", "nr-rrc.CellGroupConfig_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_secondaryCellGroupToReleaseList,
- { "secondaryCellGroupToReleaseList", "nr-rrc.secondaryCellGroupToReleaseList",
- FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxSCellGroups_OF_CellGroupId", HFILL }},
- { &hf_nr_rrc_secondaryCellGroupToReleaseList_item,
- { "CellGroupId", "nr-rrc.CellGroupId",
- FT_UINT32, BASE_DEC, NULL, 0,
+ { &hf_nr_rrc_secondaryCellGroup,
+ { "secondaryCellGroup", "nr-rrc.secondaryCellGroup",
+ FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_measConfig,
{ "measConfig", "nr-rrc.measConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_lateNonCriticalExtension,
- { "lateNonCriticalExtension", "nr-rrc.lateNonCriticalExtension",
- FT_BYTES, BASE_NONE, NULL, 0,
- "OCTET_STRING", HFILL }},
- { &hf_nr_rrc_nonCriticalExtension_01,
+ { &hf_nr_rrc_nonCriticalExtension_02,
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_nonCriticalExtension_01", HFILL }},
+ "T_nonCriticalExtension_02", HFILL }},
{ &hf_nr_rrc_criticalExtensions_03,
{ "criticalExtensions", "nr-rrc.criticalExtensions",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_03_vals), 0,
@@ -13118,30 +25813,266 @@ void proto_register_nr_rrc(void) {
{ "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_criticalExtensionsFuture_03", HFILL }},
- { &hf_nr_rrc_bandwidthPartId,
- { "bandwidthPartId", "nr-rrc.bandwidthPartId",
- FT_UINT32, BASE_DEC, NULL, 0,
+ { &hf_nr_rrc_nonCriticalExtension_03,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_03", HFILL }},
+ { &hf_nr_rrc_frequencyOffsetSSB,
+ { "frequencyOffsetSSB", "nr-rrc.frequencyOffsetSSB",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyOffsetSSB_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_location,
- { "location", "nr-rrc.location",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_maxNrofPhysicalResourceBlocksTimes4", HFILL }},
- { &hf_nr_rrc_bandwidth,
- { "bandwidth", "nr-rrc.bandwidth",
+ { &hf_nr_rrc_ssb_PositionsInBurst,
+ { "ssb-PositionsInBurst", "nr-rrc.ssb_PositionsInBurst_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_inOneGroup,
+ { "inOneGroup", "nr-rrc.inOneGroup",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_8", HFILL }},
+ { &hf_nr_rrc_groupPresence,
+ { "groupPresence", "nr-rrc.groupPresence",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_8", HFILL }},
+ { &hf_nr_rrc_ssb_PeriodicityServingCell,
+ { "ssb-PeriodicityServingCell", "nr-rrc.ssb_PeriodicityServingCell",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_PeriodicityServingCell_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ss_PBCH_BlockPower,
+ { "ss-PBCH-BlockPower", "nr-rrc.ss_PBCH_BlockPower",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER_M60_50", HFILL }},
+ { &hf_nr_rrc_uplinkConfigCommon,
+ { "uplinkConfigCommon", "nr-rrc.uplinkConfigCommon_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_supplementaryUplink,
+ { "supplementaryUplink", "nr-rrc.supplementaryUplink_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_tdd_UL_DL_Configuration,
+ { "tdd-UL-DL-Configuration", "nr-rrc.tdd_UL_DL_Configuration_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "TDD_UL_DL_ConfigCommon", HFILL }},
+ { &hf_nr_rrc_tdd_UL_DL_configurationCommon2,
+ { "tdd-UL-DL-configurationCommon2", "nr-rrc.tdd_UL_DL_configurationCommon2_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "TDD_UL_DL_ConfigCommon", HFILL }},
+ { &hf_nr_rrc_pdcch_ConfigCommon,
+ { "pdcch-ConfigCommon", "nr-rrc.pdcch_ConfigCommon_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pucch_ConfigCommon,
+ { "pucch-ConfigCommon", "nr-rrc.pucch_ConfigCommon_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_04,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_04", HFILL }},
+ { &hf_nr_rrc_locationAndBandwidth,
+ { "locationAndBandwidth", "nr-rrc.locationAndBandwidth",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_maxNrofPhysicalResourceBlocks", HFILL }},
+ "INTEGER_0_37949", HFILL }},
{ &hf_nr_rrc_subcarrierSpacing,
{ "subcarrierSpacing", "nr-rrc.subcarrierSpacing",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subcarrierSpacing_vals), 0,
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_cyclicPrefix,
{ "cyclicPrefix", "nr-rrc.cyclicPrefix",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cyclicPrefix_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_directCurrentLocation,
- { "directCurrentLocation", "nr-rrc.directCurrentLocation",
+ { &hf_nr_rrc_bwp_Id,
+ { "bwp-Id", "nr-rrc.bwp_Id",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_bwp_Common,
+ { "bwp-Common", "nr-rrc.bwp_Common_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "BWP_UplinkCommon", HFILL }},
+ { &hf_nr_rrc_bwp_Dedicated,
+ { "bwp-Dedicated", "nr-rrc.bwp_Dedicated_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "BWP_UplinkDedicated", HFILL }},
+ { &hf_nr_rrc_genericParameters,
+ { "genericParameters", "nr-rrc.genericParameters_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "BWP", HFILL }},
+ { &hf_nr_rrc_rach_ConfigCommon,
+ { "rach-ConfigCommon", "nr-rrc.rach_ConfigCommon",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rach_ConfigCommon_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_release,
+ { "release", "nr-rrc.release_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RACH_ConfigCommon", HFILL }},
+ { &hf_nr_rrc_pusch_ConfigCommon,
+ { "pusch-ConfigCommon", "nr-rrc.pusch_ConfigCommon",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_ConfigCommon_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_01,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PUSCH_ConfigCommon", HFILL }},
+ { &hf_nr_rrc_pucch_ConfigCommon_01,
+ { "pucch-ConfigCommon", "nr-rrc.pucch_ConfigCommon",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_ConfigCommon_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_02,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PUCCH_ConfigCommon", HFILL }},
+ { &hf_nr_rrc_pucch_Config,
+ { "pucch-Config", "nr-rrc.pucch_Config",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_Config_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_03,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PUCCH_Config", HFILL }},
+ { &hf_nr_rrc_pusch_Config,
+ { "pusch-Config", "nr-rrc.pusch_Config",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_Config_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_04,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PUSCH_Config", HFILL }},
+ { &hf_nr_rrc_configuredGrantConfig,
+ { "configuredGrantConfig", "nr-rrc.configuredGrantConfig",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredGrantConfig_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_05,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ConfiguredGrantConfig", HFILL }},
+ { &hf_nr_rrc_srs_Config,
+ { "srs-Config", "nr-rrc.srs_Config",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_Config_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_06,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "SRS_Config", HFILL }},
+ { &hf_nr_rrc_beamFailureRecoveryConfig,
+ { "beamFailureRecoveryConfig", "nr-rrc.beamFailureRecoveryConfig",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureRecoveryConfig_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_07,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "BeamFailureRecoveryConfig", HFILL }},
+ { &hf_nr_rrc_bwp_Common_01,
+ { "bwp-Common", "nr-rrc.bwp_Common_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "BWP_DownlinkCommon", HFILL }},
+ { &hf_nr_rrc_bwp_Dedicated_01,
+ { "bwp-Dedicated", "nr-rrc.bwp_Dedicated_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "BWP_DownlinkDedicated", HFILL }},
+ { &hf_nr_rrc_pdcch_ConfigCommon_01,
+ { "pdcch-ConfigCommon", "nr-rrc.pdcch_ConfigCommon",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_ConfigCommon_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_08,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PDCCH_ConfigCommon", HFILL }},
+ { &hf_nr_rrc_pdsch_ConfigCommon,
+ { "pdsch-ConfigCommon", "nr-rrc.pdsch_ConfigCommon",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_ConfigCommon_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_09,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PDSCH_ConfigCommon", HFILL }},
+ { &hf_nr_rrc_pdcch_Config,
+ { "pdcch-Config", "nr-rrc.pdcch_Config",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_Config_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_10,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PDCCH_Config", HFILL }},
+ { &hf_nr_rrc_pdsch_Config,
+ { "pdsch-Config", "nr-rrc.pdsch_Config",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_Config_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_11,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PDSCH_Config", HFILL }},
+ { &hf_nr_rrc_sps_Config,
+ { "sps-Config", "nr-rrc.sps_Config",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sps_Config_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_12,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "SPS_Config", HFILL }},
+ { &hf_nr_rrc_radioLinkMonitoringConfig,
+ { "radioLinkMonitoringConfig", "nr-rrc.radioLinkMonitoringConfig",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_radioLinkMonitoringConfig_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_13,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RadioLinkMonitoringConfig", HFILL }},
+ { &hf_nr_rrc_rootSequenceIndex_BFR,
+ { "rootSequenceIndex-BFR", "nr-rrc.rootSequenceIndex_BFR",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_137", HFILL }},
+ { &hf_nr_rrc_rach_ConfigBFR,
+ { "rach-ConfigBFR", "nr-rrc.rach_ConfigBFR_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RACH_ConfigGeneric", HFILL }},
+ { &hf_nr_rrc_candidateBeamThreshold,
+ { "candidateBeamThreshold", "nr-rrc.candidateBeamThreshold",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "RSRP_Range", HFILL }},
+ { &hf_nr_rrc_candidateBeamRSList,
+ { "candidateBeamRSList", "nr-rrc.candidateBeamRSList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR", HFILL }},
+ { &hf_nr_rrc_candidateBeamRSList_item,
+ { "PRACH-ResourceDedicatedBFR", "nr-rrc.PRACH_ResourceDedicatedBFR",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_PRACH_ResourceDedicatedBFR_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ra_ssb_OccasionMaskIndex,
+ { "ra-ssb-OccasionMaskIndex", "nr-rrc.ra_ssb_OccasionMaskIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_15", HFILL }},
+ { &hf_nr_rrc_recoveryControlResourceSetId,
+ { "recoveryControlResourceSetId", "nr-rrc.recoveryControlResourceSetId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ControlResourceSetId", HFILL }},
+ { &hf_nr_rrc_recoverySearchSpaceId,
+ { "recoverySearchSpaceId", "nr-rrc.recoverySearchSpaceId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SearchSpaceId", HFILL }},
+ { &hf_nr_rrc_ssb,
+ { "ssb", "nr-rrc.ssb_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "BFR_SSB_Resource", HFILL }},
+ { &hf_nr_rrc_csi_RS,
+ { "csi-RS", "nr-rrc.csi_RS_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "BFR_CSIRS_Resource", HFILL }},
+ { &hf_nr_rrc_ssb_01,
+ { "ssb", "nr-rrc.ssb",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SSB_Index", HFILL }},
+ { &hf_nr_rrc_ra_PreambleIndex,
+ { "ra-PreambleIndex", "nr-rrc.ra_PreambleIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_63", HFILL }},
+ { &hf_nr_rrc_csi_RS_01,
+ { "csi-RS", "nr-rrc.csi_RS",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_3299", HFILL }},
+ "NZP_CSI_RS_ResourceId", HFILL }},
{ &hf_nr_rrc_cellGroupId,
{ "cellGroupId", "nr-rrc.cellGroupId",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -13149,15 +26080,15 @@ void proto_register_nr_rrc(void) {
{ &hf_nr_rrc_rlc_BearerToAddModList,
{ "rlc-BearerToAddModList", "nr-rrc.rlc_BearerToAddModList",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxLCH_OF_LCH_Config", HFILL }},
+ "SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_Bearer_Config", HFILL }},
{ &hf_nr_rrc_rlc_BearerToAddModList_item,
- { "LCH-Config", "nr-rrc.LCH_Config_element",
+ { "RLC-Bearer-Config", "nr-rrc.RLC_Bearer_Config_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_rlc_BearerToReleaseList,
{ "rlc-BearerToReleaseList", "nr-rrc.rlc_BearerToReleaseList",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxLCH_OF_LogicalChannelIdentity", HFILL }},
+ "SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity", HFILL }},
{ &hf_nr_rrc_rlc_BearerToReleaseList_item,
{ "LogicalChannelIdentity", "nr-rrc.LogicalChannelIdentity",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -13166,14 +26097,10 @@ void proto_register_nr_rrc(void) {
{ "mac-CellGroupConfig", "nr-rrc.mac_CellGroupConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_rlf_TimersAndConstants,
- { "rlf-TimersAndConstants", "nr-rrc.rlf_TimersAndConstants_element",
+ { &hf_nr_rrc_physicalCellGroupConfig,
+ { "physicalCellGroupConfig", "nr-rrc.physicalCellGroupConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_physical_CellGroupConfig,
- { "physical-CellGroupConfig", "nr-rrc.physical_CellGroupConfig_element",
- FT_NONE, BASE_NONE, NULL, 0,
- "PhysicalCellGroupConfig", HFILL }},
{ &hf_nr_rrc_spCellConfig,
{ "spCellConfig", "nr-rrc.spCellConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -13181,10 +26108,18 @@ void proto_register_nr_rrc(void) {
{ &hf_nr_rrc_sCellToAddModList,
{ "sCellToAddModList", "nr-rrc.sCellToAddModList",
FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig", HFILL }},
+ { &hf_nr_rrc_sCellToAddModList_item,
+ { "SCellConfig", "nr-rrc.SCellConfig_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_sCellToReleaseList,
{ "sCellToReleaseList", "nr-rrc.sCellToReleaseList",
FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex", HFILL }},
+ { &hf_nr_rrc_sCellToReleaseList_item,
+ { "SCellIndex", "nr-rrc.SCellIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_logicalChannelIdentity,
{ "logicalChannelIdentity", "nr-rrc.logicalChannelIdentity",
@@ -13192,8 +26127,16 @@ void proto_register_nr_rrc(void) {
NULL, HFILL }},
{ &hf_nr_rrc_servedRadioBearer,
{ "servedRadioBearer", "nr-rrc.servedRadioBearer",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_servedRadioBearer_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_srb_Identity,
+ { "srb-Identity", "nr-rrc.srb_Identity",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_drb_Identity,
+ { "drb-Identity", "nr-rrc.drb_Identity",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_32", HFILL }},
+ NULL, HFILL }},
{ &hf_nr_rrc_reestablishRLC,
{ "reestablishRLC", "nr-rrc.reestablishRLC",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reestablishRLC_vals), 0,
@@ -13206,42 +26149,82 @@ void proto_register_nr_rrc(void) {
{ "mac-LogicalChannelConfig", "nr-rrc.mac_LogicalChannelConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
"LogicalChannelConfig", HFILL }},
- { &hf_nr_rrc_harq_ACK_Spatial_Bundling,
- { "harq-ACK-Spatial-Bundling", "nr-rrc.harq_ACK_Spatial_Bundling",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_ACK_Spatial_Bundling_vals), 0,
+ { &hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH,
+ { "harq-ACK-SpatialBundlingPUCCH", "nr-rrc.harq_ACK_SpatialBundlingPUCCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_ACK_SpatialBundlingPUCCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_harq_ACK_SpatialBundlingPUSCH,
+ { "harq-ACK-SpatialBundlingPUSCH", "nr-rrc.harq_ACK_SpatialBundlingPUSCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_ACK_SpatialBundlingPUSCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_p_NR,
+ { "p-NR", "nr-rrc.p_NR",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "P_Max", HFILL }},
+ { &hf_nr_rrc_pdsch_HARQ_ACK_Codebook,
+ { "pdsch-HARQ-ACK-Codebook", "nr-rrc.pdsch_HARQ_ACK_Codebook",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_Codebook_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_tpc_SRS_RNTI,
+ { "tpc-SRS-RNTI", "nr-rrc.tpc_SRS_RNTI",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "RNTI_Value", HFILL }},
+ { &hf_nr_rrc_tpc_PUCCH_RNTI,
+ { "tpc-PUCCH-RNTI", "nr-rrc.tpc_PUCCH_RNTI",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "RNTI_Value", HFILL }},
+ { &hf_nr_rrc_tpc_PUSCH_RNTI,
+ { "tpc-PUSCH-RNTI", "nr-rrc.tpc_PUSCH_RNTI",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "RNTI_Value", HFILL }},
+ { &hf_nr_rrc_servCellIndex,
+ { "servCellIndex", "nr-rrc.servCellIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_reconfigurationWithSync,
{ "reconfigurationWithSync", "nr-rrc.reconfigurationWithSync_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_rlf_TimersAndConstants,
+ { "rlf-TimersAndConstants", "nr-rrc.rlf_TimersAndConstants",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rlf_TimersAndConstants_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_14,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RLF_TimersAndConstants", HFILL }},
+ { &hf_nr_rrc_rlmInSyncOutOfSyncThreshold,
+ { "rlmInSyncOutOfSyncThreshold", "nr-rrc.rlmInSyncOutOfSyncThreshold",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_1", HFILL }},
+ { &hf_nr_rrc_spCellConfigDedicated,
+ { "spCellConfigDedicated", "nr-rrc.spCellConfigDedicated_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ServingCellConfig", HFILL }},
{ &hf_nr_rrc_spCellConfigCommon,
{ "spCellConfigCommon", "nr-rrc.spCellConfigCommon_element",
FT_NONE, BASE_NONE, NULL, 0,
"ServingCellConfigCommon", HFILL }},
{ &hf_nr_rrc_newUE_Identity,
{ "newUE-Identity", "nr-rrc.newUE_Identity",
- FT_BYTES, BASE_NONE, NULL, 0,
- "C_RNTI", HFILL }},
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "RNTI_Value", HFILL }},
{ &hf_nr_rrc_t304,
{ "t304", "nr-rrc.t304",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t304_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_rach_ConfigDedicated,
- { "rach-ConfigDedicated", "nr-rrc.rach_ConfigDedicated_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { "rach-ConfigDedicated", "nr-rrc.rach_ConfigDedicated",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rach_ConfigDedicated_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_spCellConfigDedicated,
- { "spCellConfigDedicated", "nr-rrc.spCellConfigDedicated_element",
+ { &hf_nr_rrc_uplink,
+ { "uplink", "nr-rrc.uplink_element",
FT_NONE, BASE_NONE, NULL, 0,
- "ServingCellConfigDedicated", HFILL }},
- { &hf_nr_rrc_SCellToReleaseList_item,
- { "SCellIndex", "nr-rrc.SCellIndex",
- FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_SCellToAddModList_item,
- { "SCellConfig", "nr-rrc.SCellConfig_element",
+ "RACH_ConfigDedicated", HFILL }},
+ { &hf_nr_rrc_supplementaryUplink_01,
+ { "supplementaryUplink", "nr-rrc.supplementaryUplink_element",
FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
+ "RACH_ConfigDedicated", HFILL }},
{ &hf_nr_rrc_sCellIndex,
{ "sCellIndex", "nr-rrc.sCellIndex",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -13253,11 +26236,423 @@ void proto_register_nr_rrc(void) {
{ &hf_nr_rrc_sCellConfigDedicated,
{ "sCellConfigDedicated", "nr-rrc.sCellConfigDedicated_element",
FT_NONE, BASE_NONE, NULL, 0,
- "ServingCellConfigDedicated", HFILL }},
- { &hf_nr_rrc_CellIndexList_item,
- { "CellIndex", "nr-rrc.CellIndex",
+ "ServingCellConfig", HFILL }},
+ { &hf_nr_rrc_codebookType,
+ { "codebookType", "nr-rrc.codebookType",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookType_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_type1,
+ { "type1", "nr-rrc.type1_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_subType,
+ { "subType", "nr-rrc.subType",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subType_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_typeI_SinglePanel,
+ { "typeI-SinglePanel", "nr-rrc.typeI_SinglePanel_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nrOfAntennaPorts,
+ { "nrOfAntennaPorts", "nr-rrc.nrOfAntennaPorts",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrOfAntennaPorts_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_two,
+ { "two", "nr-rrc.two_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_twoTX_CodebookSubsetRestriction,
+ { "twoTX-CodebookSubsetRestriction", "nr-rrc.twoTX_CodebookSubsetRestriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_6", HFILL }},
+ { &hf_nr_rrc_moreThanTwo,
+ { "moreThanTwo", "nr-rrc.moreThanTwo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_n1_n2,
+ { "n1-n2", "nr-rrc.n1_n2",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n1_n2_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_two_one_TypeI_SinglePanel_Restriction,
+ { "two-one-TypeI-SinglePanel-Restriction", "nr-rrc.two_one_TypeI_SinglePanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_8", HFILL }},
+ { &hf_nr_rrc_two_two_TypeI_SinglePanel_Restriction,
+ { "two-two-TypeI-SinglePanel-Restriction", "nr-rrc.two_two_TypeI_SinglePanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_64", HFILL }},
+ { &hf_nr_rrc_four_one_TypeI_SinglePanel_Restriction,
+ { "four-one-TypeI-SinglePanel-Restriction", "nr-rrc.four_one_TypeI_SinglePanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_16", HFILL }},
+ { &hf_nr_rrc_three_two_TypeI_SinglePanel_Restriction,
+ { "three-two-TypeI-SinglePanel-Restriction", "nr-rrc.three_two_TypeI_SinglePanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_96", HFILL }},
+ { &hf_nr_rrc_six_one_TypeI_SinglePanel_Restriction,
+ { "six-one-TypeI-SinglePanel-Restriction", "nr-rrc.six_one_TypeI_SinglePanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_24", HFILL }},
+ { &hf_nr_rrc_four_two_TypeI_SinglePanel_Restriction,
+ { "four-two-TypeI-SinglePanel-Restriction", "nr-rrc.four_two_TypeI_SinglePanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_128", HFILL }},
+ { &hf_nr_rrc_eight_one_TypeI_SinglePanel_Restriction,
+ { "eight-one-TypeI-SinglePanel-Restriction", "nr-rrc.eight_one_TypeI_SinglePanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_32", HFILL }},
+ { &hf_nr_rrc_four_three_TypeI_SinglePanel_Restriction,
+ { "four-three-TypeI-SinglePanel-Restriction", "nr-rrc.four_three_TypeI_SinglePanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_192", HFILL }},
+ { &hf_nr_rrc_six_two_TypeI_SinglePanel_Restriction,
+ { "six-two-TypeI-SinglePanel-Restriction", "nr-rrc.six_two_TypeI_SinglePanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_192", HFILL }},
+ { &hf_nr_rrc_twelve_one_TypeI_SinglePanel_Restriction,
+ { "twelve-one-TypeI-SinglePanel-Restriction", "nr-rrc.twelve_one_TypeI_SinglePanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_48", HFILL }},
+ { &hf_nr_rrc_four_four_TypeI_SinglePanel_Restriction,
+ { "four-four-TypeI-SinglePanel-Restriction", "nr-rrc.four_four_TypeI_SinglePanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_256", HFILL }},
+ { &hf_nr_rrc_eight_two_TypeI_SinglePanel_Restriction,
+ { "eight-two-TypeI-SinglePanel-Restriction", "nr-rrc.eight_two_TypeI_SinglePanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_256", HFILL }},
+ { &hf_nr_rrc_sixteen_one_TypeI_SinglePanel_Restriction,
+ { "sixteen-one-TypeI-SinglePanel-Restriction", "nr-rrc.sixteen_one_TypeI_SinglePanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_64", HFILL }},
+ { &hf_nr_rrc_typeI_SinglePanel_codebookSubsetRestriction_i2,
+ { "typeI-SinglePanel-codebookSubsetRestriction-i2", "nr-rrc.typeI_SinglePanel_codebookSubsetRestriction_i2",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_16", HFILL }},
+ { &hf_nr_rrc_typeI_SinglePanel_ri_Restriction,
+ { "typeI-SinglePanel-ri-Restriction", "nr-rrc.typeI_SinglePanel_ri_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_8", HFILL }},
+ { &hf_nr_rrc_typeI_MultiPanel,
+ { "typeI-MultiPanel", "nr-rrc.typeI_MultiPanel_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ng_n1_n2,
+ { "ng-n1-n2", "nr-rrc.ng_n1_n2",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ng_n1_n2_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_two_two_one_TypeI_MultiPanel_Restriction,
+ { "two-two-one-TypeI-MultiPanel-Restriction", "nr-rrc.two_two_one_TypeI_MultiPanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_8", HFILL }},
+ { &hf_nr_rrc_two_four_one_TypeI_MultiPanel_Restriction,
+ { "two-four-one-TypeI-MultiPanel-Restriction", "nr-rrc.two_four_one_TypeI_MultiPanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_32", HFILL }},
+ { &hf_nr_rrc_four_two_one_TypeI_MultiPanel_Restriction,
+ { "four-two-one-TypeI-MultiPanel-Restriction", "nr-rrc.four_two_one_TypeI_MultiPanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_32", HFILL }},
+ { &hf_nr_rrc_two_two_two_TypeI_MultiPanel_Restriction,
+ { "two-two-two-TypeI-MultiPanel-Restriction", "nr-rrc.two_two_two_TypeI_MultiPanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_128", HFILL }},
+ { &hf_nr_rrc_two_eight_one_TypeI_MultiPanel_Restriction,
+ { "two-eight-one-TypeI-MultiPanel-Restriction", "nr-rrc.two_eight_one_TypeI_MultiPanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_64", HFILL }},
+ { &hf_nr_rrc_four_four_one_TypeI_MultiPanel_Restriction,
+ { "four-four-one-TypeI-MultiPanel-Restriction", "nr-rrc.four_four_one_TypeI_MultiPanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_64", HFILL }},
+ { &hf_nr_rrc_two_four_two_TypeI_MultiPanel_Restriction,
+ { "two-four-two-TypeI-MultiPanel-Restriction", "nr-rrc.two_four_two_TypeI_MultiPanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_256", HFILL }},
+ { &hf_nr_rrc_four_two_two_TypeI_MultiPanel_Restriction,
+ { "four-two-two-TypeI-MultiPanel-Restriction", "nr-rrc.four_two_two_TypeI_MultiPanel_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_256", HFILL }},
+ { &hf_nr_rrc_ri_Restriction,
+ { "ri-Restriction", "nr-rrc.ri_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_4", HFILL }},
+ { &hf_nr_rrc_codebookMode,
+ { "codebookMode", "nr-rrc.codebookMode",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_2", HFILL }},
+ { &hf_nr_rrc_type2,
+ { "type2", "nr-rrc.type2_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_subType_01,
+ { "subType", "nr-rrc.subType",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subType_01_vals), 0,
+ "T_subType_01", HFILL }},
+ { &hf_nr_rrc_typeII,
+ { "typeII", "nr-rrc.typeII_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_n1_n2_codebookSubsetRestriction,
+ { "n1-n2-codebookSubsetRestriction", "nr-rrc.n1_n2_codebookSubsetRestriction",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n1_n2_codebookSubsetRestriction_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_two_one,
+ { "two-one", "nr-rrc.two_one",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_16", HFILL }},
+ { &hf_nr_rrc_two_two,
+ { "two-two", "nr-rrc.two_two",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_139", HFILL }},
+ { &hf_nr_rrc_four_one,
+ { "four-one", "nr-rrc.four_one",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_32", HFILL }},
+ { &hf_nr_rrc_three_two,
+ { "three-two", "nr-rrc.three_two",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_59", HFILL }},
+ { &hf_nr_rrc_six_one,
+ { "six-one", "nr-rrc.six_one",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_49", HFILL }},
+ { &hf_nr_rrc_four_two,
+ { "four-two", "nr-rrc.four_two",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_75", HFILL }},
+ { &hf_nr_rrc_eight_one,
+ { "eight-one", "nr-rrc.eight_one",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_65", HFILL }},
+ { &hf_nr_rrc_four_three,
+ { "four-three", "nr-rrc.four_three",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_107", HFILL }},
+ { &hf_nr_rrc_six_two,
+ { "six-two", "nr-rrc.six_two",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_107", HFILL }},
+ { &hf_nr_rrc_twelve_one,
+ { "twelve-one", "nr-rrc.twelve_one",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_129", HFILL }},
+ { &hf_nr_rrc_four_four,
+ { "four-four", "nr-rrc.four_four",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_139", HFILL }},
+ { &hf_nr_rrc_eight_two,
+ { "eight-two", "nr-rrc.eight_two",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_139", HFILL }},
+ { &hf_nr_rrc_sixteen_one,
+ { "sixteen-one", "nr-rrc.sixteen_one",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_129", HFILL }},
+ { &hf_nr_rrc_typeII_RI_Restriction,
+ { "typeII-RI-Restriction", "nr-rrc.typeII_RI_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_2", HFILL }},
+ { &hf_nr_rrc_typeII_PortSelection,
+ { "typeII-PortSelection", "nr-rrc.typeII_PortSelection_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_portSelectionSamplingSize,
+ { "portSelectionSamplingSize", "nr-rrc.portSelectionSamplingSize",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_portSelectionSamplingSize_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_typeII_PortSelectionRI_Restriction,
+ { "typeII-PortSelectionRI-Restriction", "nr-rrc.typeII_PortSelectionRI_Restriction",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_2", HFILL }},
+ { &hf_nr_rrc_phaseAlphabetSize,
+ { "phaseAlphabetSize", "nr-rrc.phaseAlphabetSize",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phaseAlphabetSize_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_subbandAmplitude,
+ { "subbandAmplitude", "nr-rrc.subbandAmplitude",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_nr_rrc_numberOfBeams,
+ { "numberOfBeams", "nr-rrc.numberOfBeams",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_numberOfBeams_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_frequencyHopping,
+ { "frequencyHopping", "nr-rrc.frequencyHopping",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyHopping_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_cg_DMRS_Configuration,
+ { "cg-DMRS-Configuration", "nr-rrc.cg_DMRS_Configuration_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "DMRS_UplinkConfig", HFILL }},
+ { &hf_nr_rrc_mcs_Table,
+ { "mcs-Table", "nr-rrc.mcs_Table",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_Table_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_mcs_TableTransformPrecoder,
+ { "mcs-TableTransformPrecoder", "nr-rrc.mcs_TableTransformPrecoder",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_TableTransformPrecoder_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_uci_OnPUSCH,
+ { "uci-OnPUSCH", "nr-rrc.uci_OnPUSCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uci_OnPUSCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_15,
+ { "setup", "nr-rrc.setup",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_CG_UCI_OnPUSCH_vals), 0,
+ "CG_UCI_OnPUSCH", HFILL }},
+ { &hf_nr_rrc_resourceAllocation,
+ { "resourceAllocation", "nr-rrc.resourceAllocation",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocation_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rbg_Size,
+ { "rbg-Size", "nr-rrc.rbg_Size",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rbg_Size_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_powerControlLoopToUse,
+ { "powerControlLoopToUse", "nr-rrc.powerControlLoopToUse",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerControlLoopToUse_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_p0_PUSCH_Alpha,
+ { "p0-PUSCH-Alpha", "nr-rrc.p0_PUSCH_Alpha",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "P0_PUSCH_AlphaSetId", HFILL }},
+ { &hf_nr_rrc_transformPrecoder,
+ { "transformPrecoder", "nr-rrc.transformPrecoder",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_transformPrecoder_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nrofHARQ_Processes,
+ { "nrofHARQ-Processes", "nr-rrc.nrofHARQ_Processes",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_16", HFILL }},
+ { &hf_nr_rrc_repK,
+ { "repK", "nr-rrc.repK",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repK_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_repK_RV,
+ { "repK-RV", "nr-rrc.repK_RV",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repK_RV_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_periodicity,
+ { "periodicity", "nr-rrc.periodicity",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_periodicity_vals_ext, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_configuredGrantTimer,
+ { "configuredGrantTimer", "nr-rrc.configuredGrantTimer",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_configuredGrantTimer_vals_ext, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rrc_ConfiguredUplinkGrant,
+ { "rrc-ConfiguredUplinkGrant", "nr-rrc.rrc_ConfiguredUplinkGrant_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_timeDomainOffset,
+ { "timeDomainOffset", "nr-rrc.timeDomainOffset",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_5119", HFILL }},
+ { &hf_nr_rrc_timeDomainAllocation,
+ { "timeDomainAllocation", "nr-rrc.timeDomainAllocation",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_15", HFILL }},
+ { &hf_nr_rrc_frequencyDomainAllocation,
+ { "frequencyDomainAllocation", "nr-rrc.frequencyDomainAllocation",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_18", HFILL }},
+ { &hf_nr_rrc_antennaPort,
+ { "antennaPort", "nr-rrc.antennaPort",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0,
+ "INTEGER_0_31", HFILL }},
+ { &hf_nr_rrc_dmrs_SeqInitialization,
+ { "dmrs-SeqInitialization", "nr-rrc.dmrs_SeqInitialization",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_1", HFILL }},
+ { &hf_nr_rrc_precodingAndNumberOfLayers,
+ { "precodingAndNumberOfLayers", "nr-rrc.precodingAndNumberOfLayers",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_63", HFILL }},
+ { &hf_nr_rrc_srs_ResourceIndicator,
+ { "srs-ResourceIndicator", "nr-rrc.srs_ResourceIndicator",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_15", HFILL }},
+ { &hf_nr_rrc_mcsAndTBS,
+ { "mcsAndTBS", "nr-rrc.mcsAndTBS",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0,
+ "INTEGER_0_31", HFILL }},
+ { &hf_nr_rrc_frequencyHoppingOffset,
+ { "frequencyHoppingOffset", "nr-rrc.frequencyHoppingOffset",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_maxNrofPhysicalResourceBlocks_1", HFILL }},
+ { &hf_nr_rrc_pathlossReferenceIndex,
+ { "pathlossReferenceIndex", "nr-rrc.pathlossReferenceIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1", HFILL }},
+ { &hf_nr_rrc_dynamic,
+ { "dynamic", "nr-rrc.dynamic",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_4_OF_BetaOffsets", HFILL }},
+ { &hf_nr_rrc_dynamic_item,
+ { "BetaOffsets", "nr-rrc.BetaOffsets_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_semiStatic,
+ { "semiStatic", "nr-rrc.semiStatic_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "BetaOffsets", HFILL }},
+ { &hf_nr_rrc_controlResourceSetId,
+ { "controlResourceSetId", "nr-rrc.controlResourceSetId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_frequencyDomainResources,
+ { "frequencyDomainResources", "nr-rrc.frequencyDomainResources",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_45", HFILL }},
+ { &hf_nr_rrc_duration,
+ { "duration", "nr-rrc.duration",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_maxCoReSetDuration", HFILL }},
+ { &hf_nr_rrc_cce_REG_MappingType,
+ { "cce-REG-MappingType", "nr-rrc.cce_REG_MappingType",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cce_REG_MappingType_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_interleaved,
+ { "interleaved", "nr-rrc.interleaved_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_reg_BundleSize,
+ { "reg-BundleSize", "nr-rrc.reg_BundleSize",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reg_BundleSize_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_interleaverSize,
+ { "interleaverSize", "nr-rrc.interleaverSize",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interleaverSize_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_shiftIndex,
+ { "shiftIndex", "nr-rrc.shiftIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }},
+ { &hf_nr_rrc_nonInterleaved,
+ { "nonInterleaved", "nr-rrc.nonInterleaved_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_precoderGranularity,
+ { "precoderGranularity", "nr-rrc.precoderGranularity",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_precoderGranularity_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_tci_StatesPDCCH,
+ { "tci-StatesPDCCH", "nr-rrc.tci_StatesPDCCH",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId", HFILL }},
+ { &hf_nr_rrc_tci_StatesPDCCH_item,
+ { "TCI-StateId", "nr-rrc.TCI_StateId",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_tci_PresentInDCI,
+ { "tci-PresentInDCI", "nr-rrc.tci_PresentInDCI",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tci_PresentInDCI_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pdcch_DMRS_ScramblingID,
+ { "pdcch-DMRS-ScramblingID", "nr-rrc.pdcch_DMRS_ScramblingID",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_16", HFILL }},
{ &hf_nr_rrc_schedulingCellInfo,
{ "schedulingCellInfo", "nr-rrc.schedulingCellInfo",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_schedulingCellInfo_vals), 0,
@@ -13278,244 +26673,360 @@ void proto_register_nr_rrc(void) {
{ "schedulingCellId", "nr-rrc.schedulingCellId",
FT_UINT32, BASE_DEC, NULL, 0,
"ServCellIndex", HFILL }},
- { &hf_nr_rrc_pdsch_Start,
- { "pdsch-Start", "nr-rrc.pdsch_Start",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_4", HFILL }},
{ &hf_nr_rrc_cif_InSchedulingCell,
{ "cif-InSchedulingCell", "nr-rrc.cif_InSchedulingCell",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_7", HFILL }},
- { &hf_nr_rrc_csi_ResourceConfigs,
- { "csi-ResourceConfigs", "nr-rrc.csi_ResourceConfigs",
- FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig", HFILL }},
- { &hf_nr_rrc_csi_ResourceConfigs_item,
- { "CSI-ResourceConfig", "nr-rrc.CSI_ResourceConfig_element",
+ { &hf_nr_rrc_CSI_AperiodicTriggerStateList_item,
+ { "CSI-AperiodicTriggerState", "nr-rrc.CSI_AperiodicTriggerState_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_csi_ReportConfigs,
- { "csi-ReportConfigs", "nr-rrc.csi_ReportConfigs",
+ { &hf_nr_rrc_associatedReportConfigInfoList,
+ { "associatedReportConfigInfoList", "nr-rrc.associatedReportConfigInfoList",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxNrofCSI_Reports_OF_CSI_ReportConfig", HFILL }},
- { &hf_nr_rrc_csi_ReportConfigs_item,
- { "CSI-ReportConfig", "nr-rrc.CSI_ReportConfig_element",
+ "SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo", HFILL }},
+ { &hf_nr_rrc_associatedReportConfigInfoList_item,
+ { "CSI-AssociatedReportConfigInfo", "nr-rrc.CSI_AssociatedReportConfigInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_csi_MeasIdToAddModList,
- { "csi-MeasIdToAddModList", "nr-rrc.csi_MeasIdToAddModList",
+ { &hf_nr_rrc_reportConfigId,
+ { "reportConfigId", "nr-rrc.reportConfigId",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxNrofCSI_MeasId_OF_CSI_MeasIdToAddMod", HFILL }},
- { &hf_nr_rrc_csi_MeasIdToAddModList_item,
- { "CSI-MeasIdToAddMod", "nr-rrc.CSI_MeasIdToAddMod_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ "CSI_ReportConfigId", HFILL }},
+ { &hf_nr_rrc_resourcesForChannel,
+ { "resourcesForChannel", "nr-rrc.resourcesForChannel",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourcesForChannel_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_reportTrigger,
- { "reportTrigger", "nr-rrc.reportTrigger_element",
+ { &hf_nr_rrc_nzp_CSI_RS,
+ { "nzp-CSI-RS", "nr-rrc.nzp_CSI_RS_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_reportTriggerSize,
- { "reportTriggerSize", "nr-rrc.reportTriggerSize",
+ { &hf_nr_rrc_resourceSet,
+ { "resourceSet", "nr-rrc.resourceSet",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_6", HFILL }},
- { &hf_nr_rrc_csi_ResourceConfigId,
- { "csi-ResourceConfigId", "nr-rrc.csi_ResourceConfigId",
+ "INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig", HFILL }},
+ { &hf_nr_rrc_qcl_info,
+ { "qcl-info", "nr-rrc.qcl_info",
FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_csi_ResourceSets,
- { "csi-ResourceSets", "nr-rrc.csi_ResourceSets",
+ "SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId", HFILL }},
+ { &hf_nr_rrc_qcl_info_item,
+ { "TCI-StateId", "nr-rrc.TCI_StateId",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxNrofCSI_ResourceSets_OF_CSI_ResourceSet", HFILL }},
- { &hf_nr_rrc_csi_ResourceSets_item,
- { "CSI-ResourceSet", "nr-rrc.CSI_ResourceSet_element",
- FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_ssb_Resources,
- { "ssb-Resources", "nr-rrc.ssb_Resources",
+ { &hf_nr_rrc_csi_SSB_ResourceSet,
+ { "csi-SSB-ResourceSet", "nr-rrc.csi_SSB_ResourceSet",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfig", HFILL }},
+ { &hf_nr_rrc_csi_IM_ResourcesforInteference,
+ { "csi-IM-ResourcesforInteference", "nr-rrc.csi_IM_ResourcesforInteference",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig", HFILL }},
+ { &hf_nr_rrc_nzp_CSI_RS_ResourcesforInterference,
+ { "nzp-CSI-RS-ResourcesforInterference", "nr-rrc.nzp_CSI_RS_ResourcesforInterference",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig", HFILL }},
+ { &hf_nr_rrc_startingRB,
+ { "startingRB", "nr-rrc.startingRB",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }},
+ { &hf_nr_rrc_nrofRBs,
+ { "nrofRBs", "nr-rrc.nrofRBs",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_24_maxNrofPhysicalResourceBlocks", HFILL }},
+ { &hf_nr_rrc_csi_IM_ResourceId,
+ { "csi-IM-ResourceId", "nr-rrc.csi_IM_ResourceId",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxNrofSSB_Resources_1_OF_CSI_SSB_Resource", HFILL }},
- { &hf_nr_rrc_ssb_Resources_item,
- { "CSI-SSB-Resource", "nr-rrc.CSI_SSB_Resource_element",
- FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_resourceType,
- { "resourceType", "nr-rrc.resourceType",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceType_vals), 0,
+ { &hf_nr_rrc_csi_IM_ResourceElementPattern,
+ { "csi-IM-ResourceElementPattern", "nr-rrc.csi_IM_ResourceElementPattern",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_IM_ResourceElementPattern_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_aperiodic,
- { "aperiodic", "nr-rrc.aperiodic_element",
+ { &hf_nr_rrc_pattern0,
+ { "pattern0", "nr-rrc.pattern0_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_semiPersistent,
- { "semiPersistent", "nr-rrc.semiPersistent_element",
+ { &hf_nr_rrc_subcarrierLocation_p0,
+ { "subcarrierLocation-p0", "nr-rrc.subcarrierLocation_p0",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subcarrierLocation_p0_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_symbolLocation_p0,
+ { "symbolLocation-p0", "nr-rrc.symbolLocation_p0",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_12", HFILL }},
+ { &hf_nr_rrc_pattern1,
+ { "pattern1", "nr-rrc.pattern1_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_periodic,
- { "periodic", "nr-rrc.periodic_element",
+ { &hf_nr_rrc_subcarrierLocation_p1,
+ { "subcarrierLocation-p1", "nr-rrc.subcarrierLocation_p1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subcarrierLocation_p1_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_symbolLocation_p1,
+ { "symbolLocation-p1", "nr-rrc.symbolLocation_p1",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_13", HFILL }},
+ { &hf_nr_rrc_freqBand,
+ { "freqBand", "nr-rrc.freqBand_element",
FT_NONE, BASE_NONE, NULL, 0,
+ "CSI_FrequencyOccupation", HFILL }},
+ { &hf_nr_rrc_periodicityAndOffset,
+ { "periodicityAndOffset", "nr-rrc.periodicityAndOffset",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_CSI_ResourcePeriodicityAndOffset_vals), 0,
+ "CSI_ResourcePeriodicityAndOffset", HFILL }},
+ { &hf_nr_rrc_csi_IM_ResourceSetId,
+ { "csi-IM-ResourceSetId", "nr-rrc.csi_IM_ResourceSetId",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_csi_ResourceSetId,
- { "csi-ResourceSetId", "nr-rrc.csi_ResourceSetId",
+ { &hf_nr_rrc_csi_IM_Resources,
+ { "csi-IM-Resources", "nr-rrc.csi_IM_Resources",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId", HFILL }},
+ { &hf_nr_rrc_csi_IM_Resources_item,
+ { "CSI-IM-ResourceId", "nr-rrc.CSI_IM_ResourceId",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_csi_rs_Resources,
- { "csi-rs-Resources", "nr-rrc.csi_rs_Resources",
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList,
+ { "nzp-CSI-RS-ResourceToAddModList", "nr-rrc.nzp_CSI_RS_ResourceToAddModList",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_Resource", HFILL }},
- { &hf_nr_rrc_csi_rs_Resources_item,
+ "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource", HFILL }},
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList_item,
{ "NZP-CSI-RS-Resource", "nr-rrc.NZP_CSI_RS_Resource_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_repetition,
- { "repetition", "nr-rrc.repetition",
- FT_BOOLEAN, BASE_NONE, NULL, 0,
- "BOOLEAN", HFILL }},
- { &hf_nr_rrc_nzp_csi_rs_ResourceId,
- { "nzp-csi-rs-ResourceId", "nr-rrc.nzp_csi_rs_ResourceId",
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList,
+ { "nzp-CSI-RS-ResourceToReleaseList", "nr-rrc.nzp_CSI_RS_ResourceToReleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId", HFILL }},
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList_item,
+ { "NZP-CSI-RS-ResourceId", "nr-rrc.NZP_CSI_RS_ResourceId",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_nrofPorts,
- { "nrofPorts", "nr-rrc.nrofPorts",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPorts_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_resourceMapping,
- { "resourceMapping", "nr-rrc.resourceMapping_element",
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList,
+ { "nzp-CSI-RS-ResourceSetToAddModList", "nr-rrc.nzp_CSI_RS_ResourceSetToAddModList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet", HFILL }},
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList_item,
+ { "NZP-CSI-RS-ResourceSet", "nr-rrc.NZP_CSI_RS_ResourceSet_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_cdm_Value,
- { "cdm-Value", "nr-rrc.cdm_Value",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cdm_Value_vals), 0,
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList,
+ { "nzp-CSI-RS-ResourceSetToReleaseList", "nr-rrc.nzp_CSI_RS_ResourceSetToReleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId", HFILL }},
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList_item,
+ { "NZP-CSI-RS-ResourceSetId", "nr-rrc.NZP_CSI_RS_ResourceSetId",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_cdm_Pattern,
- { "cdm-Pattern", "nr-rrc.cdm_Pattern",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cdm_Pattern_vals), 0,
+ { &hf_nr_rrc_csi_IM_ResourceToAddModList,
+ { "csi-IM-ResourceToAddModList", "nr-rrc.csi_IM_ResourceToAddModList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource", HFILL }},
+ { &hf_nr_rrc_csi_IM_ResourceToAddModList_item,
+ { "CSI-IM-Resource", "nr-rrc.CSI_IM_Resource_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_csi_RS_Density,
- { "csi-RS-Density", "nr-rrc.csi_RS_Density",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_Density_vals), 0,
+ { &hf_nr_rrc_csi_IM_ResourceToReleaseList,
+ { "csi-IM-ResourceToReleaseList", "nr-rrc.csi_IM_ResourceToReleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId", HFILL }},
+ { &hf_nr_rrc_csi_IM_ResourceToReleaseList_item,
+ { "CSI-IM-ResourceId", "nr-rrc.CSI_IM_ResourceId",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_csi_RS_FreqBand,
- { "csi-RS-FreqBand", "nr-rrc.csi_RS_FreqBand_element",
+ { &hf_nr_rrc_csi_IM_ResourceSetToAddModList,
+ { "csi-IM-ResourceSetToAddModList", "nr-rrc.csi_IM_ResourceSetToAddModList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet", HFILL }},
+ { &hf_nr_rrc_csi_IM_ResourceSetToAddModList_item,
+ { "CSI-IM-ResourceSet", "nr-rrc.CSI_IM_ResourceSet_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_powerControlOffset,
- { "powerControlOffset", "nr-rrc.powerControlOffset_element",
+ { &hf_nr_rrc_csi_IM_ResourceSetToReleaseList,
+ { "csi-IM-ResourceSetToReleaseList", "nr-rrc.csi_IM_ResourceSetToReleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId", HFILL }},
+ { &hf_nr_rrc_csi_IM_ResourceSetToReleaseList_item,
+ { "CSI-IM-ResourceSetId", "nr-rrc.CSI_IM_ResourceSetId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_SSB_ResourceSetToAddModList,
+ { "csi-SSB-ResourceSetToAddModList", "nr-rrc.csi_SSB_ResourceSetToAddModList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet", HFILL }},
+ { &hf_nr_rrc_csi_SSB_ResourceSetToAddModList_item,
+ { "CSI-SSB-ResourceSet", "nr-rrc.CSI_SSB_ResourceSet_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_powerControlOffsetSS,
- { "powerControlOffsetSS", "nr-rrc.powerControlOffsetSS_element",
+ { &hf_nr_rrc_csi_SSB_ResourceSetToAddReleaseList,
+ { "csi-SSB-ResourceSetToAddReleaseList", "nr-rrc.csi_SSB_ResourceSetToAddReleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId", HFILL }},
+ { &hf_nr_rrc_csi_SSB_ResourceSetToAddReleaseList_item,
+ { "CSI-SSB-ResourceSetId", "nr-rrc.CSI_SSB_ResourceSetId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_ResourceConfigToAddModList,
+ { "csi-ResourceConfigToAddModList", "nr-rrc.csi_ResourceConfigToAddModList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig", HFILL }},
+ { &hf_nr_rrc_csi_ResourceConfigToAddModList_item,
+ { "CSI-ResourceConfig", "nr-rrc.CSI_ResourceConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_scramblingID,
- { "scramblingID", "nr-rrc.scramblingID",
+ { &hf_nr_rrc_csi_ResourceConfigToReleaseList,
+ { "csi-ResourceConfigToReleaseList", "nr-rrc.csi_ResourceConfigToReleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId", HFILL }},
+ { &hf_nr_rrc_csi_ResourceConfigToReleaseList_item,
+ { "CSI-ResourceConfigId", "nr-rrc.CSI_ResourceConfigId",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0", HFILL }},
- { &hf_nr_rrc_csi_RS_timeConfig,
- { "csi-RS-timeConfig", "nr-rrc.csi_RS_timeConfig",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_timeConfig_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_sl5,
- { "sl5", "nr-rrc.sl5",
+ { &hf_nr_rrc_csi_ReportConfigToAddModList,
+ { "csi-ReportConfigToAddModList", "nr-rrc.csi_ReportConfigToAddModList",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_4", HFILL }},
- { &hf_nr_rrc_sl10,
- { "sl10", "nr-rrc.sl10",
+ "SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig", HFILL }},
+ { &hf_nr_rrc_csi_ReportConfigToAddModList_item,
+ { "CSI-ReportConfig", "nr-rrc.CSI_ReportConfig_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_ReportConfigToReleaseList,
+ { "csi-ReportConfigToReleaseList", "nr-rrc.csi_ReportConfigToReleaseList",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_9", HFILL }},
- { &hf_nr_rrc_sl20,
- { "sl20", "nr-rrc.sl20",
+ "SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId", HFILL }},
+ { &hf_nr_rrc_csi_ReportConfigToReleaseList_item,
+ { "CSI-ReportConfigId", "nr-rrc.CSI_ReportConfigId",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_19", HFILL }},
- { &hf_nr_rrc_sl40,
- { "sl40", "nr-rrc.sl40",
+ NULL, HFILL }},
+ { &hf_nr_rrc_reportTriggerSize,
+ { "reportTriggerSize", "nr-rrc.reportTriggerSize",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_39", HFILL }},
- { &hf_nr_rrc_sl80,
- { "sl80", "nr-rrc.sl80",
+ "INTEGER_0_6", HFILL }},
+ { &hf_nr_rrc_aperiodicTriggerStateList,
+ { "aperiodicTriggerStateList", "nr-rrc.aperiodicTriggerStateList",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aperiodicTriggerStateList_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_16,
+ { "setup", "nr-rrc.setup",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_79", HFILL }},
- { &hf_nr_rrc_sl160,
- { "sl160", "nr-rrc.sl160",
+ "CSI_AperiodicTriggerStateList", HFILL }},
+ { &hf_nr_rrc_semiPersistentOnPUSCH_TriggerStateList,
+ { "semiPersistentOnPUSCH-TriggerStateList", "nr-rrc.semiPersistentOnPUSCH_TriggerStateList",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_17,
+ { "setup", "nr-rrc.setup",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_159", HFILL }},
- { &hf_nr_rrc_sl320,
- { "sl320", "nr-rrc.sl320",
+ "CSI_SemiPersistentOnPUSCH_TriggerStateList", HFILL }},
+ { &hf_nr_rrc_carrier,
+ { "carrier", "nr-rrc.carrier",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_319", HFILL }},
- { &hf_nr_rrc_sl640,
- { "sl640", "nr-rrc.sl640",
+ "ServCellIndex", HFILL }},
+ { &hf_nr_rrc_resourcesForChannelMeasurement,
+ { "resourcesForChannelMeasurement", "nr-rrc.resourcesForChannelMeasurement",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_639", HFILL }},
- { &hf_nr_rrc_reportConfigId,
- { "reportConfigId", "nr-rrc.reportConfigId",
+ "CSI_ResourceConfigId", HFILL }},
+ { &hf_nr_rrc_csi_IM_ResourcesForInterference,
+ { "csi-IM-ResourcesForInterference", "nr-rrc.csi_IM_ResourcesForInterference",
FT_UINT32, BASE_DEC, NULL, 0,
- "CSI_ReportConfigId", HFILL }},
+ "CSI_ResourceConfigId", HFILL }},
+ { &hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference,
+ { "nzp-CSI-RS-ResourcesForInterference", "nr-rrc.nzp_CSI_RS_ResourcesForInterference",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "CSI_ResourceConfigId", HFILL }},
{ &hf_nr_rrc_reportConfigType,
{ "reportConfigType", "nr-rrc.reportConfigType",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportConfigType_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_periodic_01,
+ { &hf_nr_rrc_periodic,
{ "periodic", "nr-rrc.periodic_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_reportSlotConfig,
{ "reportSlotConfig", "nr-rrc.reportSlotConfig",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportSlotConfig_vals), 0,
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_CSI_ReportPeriodicityAndOffset_vals), 0,
+ "CSI_ReportPeriodicityAndOffset", HFILL }},
+ { &hf_nr_rrc_pucch_CSI_ResourceList,
+ { "pucch-CSI-ResourceList", "nr-rrc.pucch_CSI_ResourceList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource", HFILL }},
+ { &hf_nr_rrc_pucch_CSI_ResourceList_item,
+ { "PUCCH-CSI-Resource", "nr-rrc.PUCCH_CSI_Resource",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_PUCCH_CSI_Resource_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_pucch_CSI_ResourceIndex,
- { "pucch-CSI-ResourceIndex", "nr-rrc.pucch_CSI_ResourceIndex_element",
+ { &hf_nr_rrc_semiPersistentOnPUCCH,
+ { "semiPersistentOnPUCCH", "nr-rrc.semiPersistentOnPUCCH_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_semiPersistent_01,
- { "semiPersistent", "nr-rrc.semiPersistent_element",
+ { &hf_nr_rrc_semiPersistentOnPUSCH,
+ { "semiPersistentOnPUSCH", "nr-rrc.semiPersistentOnPUSCH_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_reportSlotConfig_01,
{ "reportSlotConfig", "nr-rrc.reportSlotConfig",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportSlotConfig_01_vals), 0,
- "T_reportSlotConfig_01", HFILL }},
- { &hf_nr_rrc_aperiodic_01,
- { "aperiodic", "nr-rrc.aperiodic_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportSlotConfig_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_reportSlotOffsetList,
+ { "reportSlotOffsetList", "nr-rrc.reportSlotOffsetList",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_aperiodicReportSlotOffset,
- { "aperiodicReportSlotOffset", "nr-rrc.aperiodicReportSlotOffset_element",
+ { &hf_nr_rrc_reportSlotOffsetList_item,
+ { "reportSlotOffsetList item", "nr-rrc.reportSlotOffsetList_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_7", HFILL }},
+ { &hf_nr_rrc_csi_RNTI,
+ { "csi-RNTI", "nr-rrc.csi_RNTI",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "RNTI_Value", HFILL }},
+ { &hf_nr_rrc_p0alpha,
+ { "p0alpha", "nr-rrc.p0alpha",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "P0_PUSCH_AlphaSetId", HFILL }},
+ { &hf_nr_rrc_aperiodic,
+ { "aperiodic", "nr-rrc.aperiodic_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_reportSlotOffsetList_01,
+ { "reportSlotOffsetList", "nr-rrc.reportSlotOffsetList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "T_reportSlotOffsetList_01", HFILL }},
{ &hf_nr_rrc_reportQuantity,
{ "reportQuantity", "nr-rrc.reportQuantity",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportQuantity_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_cRI_RI_PMI_CQI,
- { "cRI-RI-PMI-CQI", "nr-rrc.cRI_RI_PMI_CQI_element",
+ { &hf_nr_rrc_none,
+ { "none", "nr-rrc.none_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_cRI_RI_i1,
- { "cRI-RI-i1", "nr-rrc.cRI_RI_i1_element",
+ { &hf_nr_rrc_cri_RI_PMI_CQI,
+ { "cri-RI-PMI-CQI", "nr-rrc.cri_RI_PMI_CQI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_cRI_RI_i1_CQI,
- { "cRI-RI-i1-CQI", "nr-rrc.cRI_RI_i1_CQI_element",
+ { &hf_nr_rrc_cri_RI_i1,
+ { "cri-RI-i1", "nr-rrc.cri_RI_i1_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_cri_RI_i1_CQI,
+ { "cri-RI-i1-CQI", "nr-rrc.cri_RI_i1_CQI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_pdsch_BundleSizeForCSI,
{ "pdsch-BundleSizeForCSI", "nr-rrc.pdsch_BundleSizeForCSI",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_BundleSizeForCSI_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_cRI_RI_CQI,
- { "cRI-RI-CQI", "nr-rrc.cRI_RI_CQI_element",
+ { &hf_nr_rrc_cri_RI_CQI,
+ { "cri-RI-CQI", "nr-rrc.cri_RI_CQI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_cRI,
- { "cRI", "nr-rrc.cRI_element",
+ { &hf_nr_rrc_cri_RSRP,
+ { "cri-RSRP", "nr-rrc.cri_RSRP_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_cRI_RSRP,
- { "cRI-RSRP", "nr-rrc.cRI_RSRP_element",
+ { &hf_nr_rrc_ssb_Index_RSRP,
+ { "ssb-Index-RSRP", "nr-rrc.ssb_Index_RSRP_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_spare0,
- { "spare0", "nr-rrc.spare0_element",
+ { &hf_nr_rrc_cri_RI_LI_PMI_CQI,
+ { "cri-RI-LI-PMI-CQI", "nr-rrc.cri_RI_LI_PMI_CQI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_reportFreqConfiguration,
@@ -13532,15 +27043,79 @@ void proto_register_nr_rrc(void) {
NULL, HFILL }},
{ &hf_nr_rrc_csi_ReportingBand,
{ "csi-ReportingBand", "nr-rrc.csi_ReportingBand",
- FT_BYTES, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_ReportingBand_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_measRestrictionTimeForChannel,
- { "measRestrictionTimeForChannel", "nr-rrc.measRestrictionTimeForChannel_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { &hf_nr_rrc_subbands3,
+ { "subbands3", "nr-rrc.subbands3",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_3", HFILL }},
+ { &hf_nr_rrc_subbands4,
+ { "subbands4", "nr-rrc.subbands4",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_4", HFILL }},
+ { &hf_nr_rrc_subbands5,
+ { "subbands5", "nr-rrc.subbands5",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_5", HFILL }},
+ { &hf_nr_rrc_subbands6,
+ { "subbands6", "nr-rrc.subbands6",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_6", HFILL }},
+ { &hf_nr_rrc_subbands7,
+ { "subbands7", "nr-rrc.subbands7",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_7", HFILL }},
+ { &hf_nr_rrc_subbands8,
+ { "subbands8", "nr-rrc.subbands8",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_8", HFILL }},
+ { &hf_nr_rrc_subbands9,
+ { "subbands9", "nr-rrc.subbands9",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_9", HFILL }},
+ { &hf_nr_rrc_subbands10,
+ { "subbands10", "nr-rrc.subbands10",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_10", HFILL }},
+ { &hf_nr_rrc_subbands11,
+ { "subbands11", "nr-rrc.subbands11",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_11", HFILL }},
+ { &hf_nr_rrc_subbands12,
+ { "subbands12", "nr-rrc.subbands12",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_12", HFILL }},
+ { &hf_nr_rrc_subbands13,
+ { "subbands13", "nr-rrc.subbands13",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_13", HFILL }},
+ { &hf_nr_rrc_subbands14,
+ { "subbands14", "nr-rrc.subbands14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_14", HFILL }},
+ { &hf_nr_rrc_subbands15,
+ { "subbands15", "nr-rrc.subbands15",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_15", HFILL }},
+ { &hf_nr_rrc_subbands16,
+ { "subbands16", "nr-rrc.subbands16",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_16", HFILL }},
+ { &hf_nr_rrc_subbands17,
+ { "subbands17", "nr-rrc.subbands17",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_17", HFILL }},
+ { &hf_nr_rrc_subbands18,
+ { "subbands18", "nr-rrc.subbands18",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_18", HFILL }},
+ { &hf_nr_rrc_timeRestrictionForChannelMeasurements,
+ { "timeRestrictionForChannelMeasurements", "nr-rrc.timeRestrictionForChannelMeasurements",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeRestrictionForChannelMeasurements_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_measRestrictionTimeForInterference,
- { "measRestrictionTimeForInterference", "nr-rrc.measRestrictionTimeForInterference_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { &hf_nr_rrc_timeRestrictionForInterferenceMeasurements,
+ { "timeRestrictionForInterferenceMeasurements", "nr-rrc.timeRestrictionForInterferenceMeasurements",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeRestrictionForInterferenceMeasurements_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_codebookConfig,
{ "codebookConfig", "nr-rrc.codebookConfig_element",
@@ -13558,10 +27133,6 @@ void proto_register_nr_rrc(void) {
{ "enabled", "nr-rrc.enabled_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_nrofBeamsToReport,
- { "nrofBeamsToReport", "nr-rrc.nrofBeamsToReport",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_2_4", HFILL }},
{ &hf_nr_rrc_disabled,
{ "disabled", "nr-rrc.disabled_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -13582,130 +27153,482 @@ void proto_register_nr_rrc(void) {
{ "bler-Target", "nr-rrc.bler_Target",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bler_Target_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_codebookConfig_N1,
- { "codebookConfig-N1", "nr-rrc.codebookConfig_N1",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookConfig_N1_vals), 0,
+ { &hf_nr_rrc_non_PMI_PortIndication,
+ { "non-PMI-PortIndication", "nr-rrc.non_PMI_PortIndication",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks", HFILL }},
+ { &hf_nr_rrc_non_PMI_PortIndication_item,
+ { "PortIndexFor8Ranks", "nr-rrc.PortIndexFor8Ranks",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_PortIndexFor8Ranks_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_codebookConfig_N2,
- { "codebookConfig-N2", "nr-rrc.codebookConfig_N2",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookConfig_N2_vals), 0,
+ { &hf_nr_rrc_slots4,
+ { "slots4", "nr-rrc.slots4",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_3", HFILL }},
+ { &hf_nr_rrc_slots5,
+ { "slots5", "nr-rrc.slots5",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_4", HFILL }},
+ { &hf_nr_rrc_slots8,
+ { "slots8", "nr-rrc.slots8",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_7", HFILL }},
+ { &hf_nr_rrc_slots10,
+ { "slots10", "nr-rrc.slots10",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_9", HFILL }},
+ { &hf_nr_rrc_slots16,
+ { "slots16", "nr-rrc.slots16",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_15", HFILL }},
+ { &hf_nr_rrc_slots20,
+ { "slots20", "nr-rrc.slots20",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_19", HFILL }},
+ { &hf_nr_rrc_slots40,
+ { "slots40", "nr-rrc.slots40",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_39", HFILL }},
+ { &hf_nr_rrc_slots80,
+ { "slots80", "nr-rrc.slots80",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_79", HFILL }},
+ { &hf_nr_rrc_slots160,
+ { "slots160", "nr-rrc.slots160",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_159", HFILL }},
+ { &hf_nr_rrc_slots320,
+ { "slots320", "nr-rrc.slots320",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_319", HFILL }},
+ { &hf_nr_rrc_uplinkBandwidthPartId,
+ { "uplinkBandwidthPartId", "nr-rrc.uplinkBandwidthPartId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "BWP_Id", HFILL }},
+ { &hf_nr_rrc_pucch_Resource,
+ { "pucch-Resource", "nr-rrc.pucch_Resource_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_codebookType,
- { "codebookType", "nr-rrc.codebookType",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookType_vals), 0,
+ { &hf_nr_rrc_portIndex8,
+ { "portIndex8", "nr-rrc.portIndex8_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_type1,
- { "type1", "nr-rrc.type1_element",
+ { &hf_nr_rrc_rank1_8,
+ { "rank1-8", "nr-rrc.rank1_8",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "PortIndex8", HFILL }},
+ { &hf_nr_rrc_rank2_8,
+ { "rank2-8", "nr-rrc.rank2_8",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_2_OF_PortIndex8", HFILL }},
+ { &hf_nr_rrc_rank2_8_item,
+ { "PortIndex8", "nr-rrc.PortIndex8",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rank3_8,
+ { "rank3-8", "nr-rrc.rank3_8",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_3_OF_PortIndex8", HFILL }},
+ { &hf_nr_rrc_rank3_8_item,
+ { "PortIndex8", "nr-rrc.PortIndex8",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rank4_8,
+ { "rank4-8", "nr-rrc.rank4_8",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_4_OF_PortIndex8", HFILL }},
+ { &hf_nr_rrc_rank4_8_item,
+ { "PortIndex8", "nr-rrc.PortIndex8",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rank5_8,
+ { "rank5-8", "nr-rrc.rank5_8",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_5_OF_PortIndex8", HFILL }},
+ { &hf_nr_rrc_rank5_8_item,
+ { "PortIndex8", "nr-rrc.PortIndex8",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rank6_8,
+ { "rank6-8", "nr-rrc.rank6_8",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_6_OF_PortIndex8", HFILL }},
+ { &hf_nr_rrc_rank6_8_item,
+ { "PortIndex8", "nr-rrc.PortIndex8",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rank7_8,
+ { "rank7-8", "nr-rrc.rank7_8",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_7_OF_PortIndex8", HFILL }},
+ { &hf_nr_rrc_rank7_8_item,
+ { "PortIndex8", "nr-rrc.PortIndex8",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rank8_8,
+ { "rank8-8", "nr-rrc.rank8_8",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_8_OF_PortIndex8", HFILL }},
+ { &hf_nr_rrc_rank8_8_item,
+ { "PortIndex8", "nr-rrc.PortIndex8",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_portIndex4,
+ { "portIndex4", "nr-rrc.portIndex4_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_subType,
- { "subType", "nr-rrc.subType",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subType_vals), 0,
+ { &hf_nr_rrc_rank1_4,
+ { "rank1-4", "nr-rrc.rank1_4",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "PortIndex4", HFILL }},
+ { &hf_nr_rrc_rank2_4,
+ { "rank2-4", "nr-rrc.rank2_4",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_2_OF_PortIndex4", HFILL }},
+ { &hf_nr_rrc_rank2_4_item,
+ { "PortIndex4", "nr-rrc.PortIndex4",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_codebookMode,
- { "codebookMode", "nr-rrc.codebookMode",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookMode_vals), 0,
+ { &hf_nr_rrc_rank3_4,
+ { "rank3-4", "nr-rrc.rank3_4",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_3_OF_PortIndex4", HFILL }},
+ { &hf_nr_rrc_rank3_4_item,
+ { "PortIndex4", "nr-rrc.PortIndex4",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_numberOfPanels,
- { "numberOfPanels", "nr-rrc.numberOfPanels",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_numberOfPanels_vals), 0,
+ { &hf_nr_rrc_rank4_4,
+ { "rank4-4", "nr-rrc.rank4_4",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_4_OF_PortIndex4", HFILL }},
+ { &hf_nr_rrc_rank4_4_item,
+ { "PortIndex4", "nr-rrc.PortIndex4",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_codebookSubsetRestrictionType1,
- { "codebookSubsetRestrictionType1", "nr-rrc.codebookSubsetRestrictionType1",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookSubsetRestrictionType1_vals), 0,
+ { &hf_nr_rrc_portIndex2,
+ { "portIndex2", "nr-rrc.portIndex2_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_singlePanel,
- { "singlePanel", "nr-rrc.singlePanel",
- FT_BYTES, BASE_NONE, NULL, 0,
+ { &hf_nr_rrc_rank1_2,
+ { "rank1-2", "nr-rrc.rank1_2",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "PortIndex2", HFILL }},
+ { &hf_nr_rrc_rank2_2,
+ { "rank2-2", "nr-rrc.rank2_2",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_2_OF_PortIndex2", HFILL }},
+ { &hf_nr_rrc_rank2_2_item,
+ { "PortIndex2", "nr-rrc.PortIndex2",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_portIndex1,
+ { "portIndex1", "nr-rrc.portIndex1_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_ResourceConfigId,
+ { "csi-ResourceConfigId", "nr-rrc.csi_ResourceConfigId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_RS_ResourceSetList,
+ { "csi-RS-ResourceSetList", "nr-rrc.csi_RS_ResourceSetList",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_ResourceSetList_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nzp_CSI_RS_SSB,
+ { "nzp-CSI-RS-SSB", "nr-rrc.nzp_CSI_RS_SSB_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceSetList,
+ { "nzp-CSI-RS-ResourceSetList", "nr-rrc.nzp_CSI_RS_ResourceSetList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId", HFILL }},
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceSetList_item,
+ { "NZP-CSI-RS-ResourceSetId", "nr-rrc.NZP_CSI_RS_ResourceSetId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_SSB_ResourceSetList,
+ { "csi-SSB-ResourceSetList", "nr-rrc.csi_SSB_ResourceSetList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId", HFILL }},
+ { &hf_nr_rrc_csi_SSB_ResourceSetList_item,
+ { "CSI-SSB-ResourceSetId", "nr-rrc.CSI_SSB_ResourceSetId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_IM_ResourceSetList,
+ { "csi-IM-ResourceSetList", "nr-rrc.csi_IM_ResourceSetList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId", HFILL }},
+ { &hf_nr_rrc_csi_IM_ResourceSetList_item,
+ { "CSI-IM-ResourceSetId", "nr-rrc.CSI_IM_ResourceSetId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_resourceType,
+ { "resourceType", "nr-rrc.resourceType",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceType_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_slots32,
+ { "slots32", "nr-rrc.slots32",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0,
+ "INTEGER_0_31", HFILL }},
+ { &hf_nr_rrc_slots64,
+ { "slots64", "nr-rrc.slots64",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_63", HFILL }},
+ { &hf_nr_rrc_slots640,
+ { "slots640", "nr-rrc.slots640",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_639", HFILL }},
+ { &hf_nr_rrc_frequencyDomainAllocation_01,
+ { "frequencyDomainAllocation", "nr-rrc.frequencyDomainAllocation",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyDomainAllocation_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_singlePanel2TX,
- { "singlePanel2TX", "nr-rrc.singlePanel2TX",
+ { &hf_nr_rrc_row1,
+ { "row1", "nr-rrc.row1",
FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_6", HFILL }},
- { &hf_nr_rrc_multiPanel,
- { "multiPanel", "nr-rrc.multiPanel",
+ "BIT_STRING_SIZE_4", HFILL }},
+ { &hf_nr_rrc_row2,
+ { "row2", "nr-rrc.row2",
FT_BYTES, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_singlePanelCodebookSubsetRestriction_i2,
- { "singlePanelCodebookSubsetRestriction-i2", "nr-rrc.singlePanelCodebookSubsetRestriction_i2",
+ "BIT_STRING_SIZE_12", HFILL }},
+ { &hf_nr_rrc_row4,
+ { "row4", "nr-rrc.row4",
FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_16", HFILL }},
- { &hf_nr_rrc_ri_Restriction,
- { "ri-Restriction", "nr-rrc.ri_Restriction",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ri_Restriction_vals), 0,
+ "BIT_STRING_SIZE_3", HFILL }},
+ { &hf_nr_rrc_other_01,
+ { "other", "nr-rrc.other",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_6", HFILL }},
+ { &hf_nr_rrc_nrofPorts,
+ { "nrofPorts", "nr-rrc.nrofPorts",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPorts_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_firstOFDMSymbolInTimeDomain,
+ { "firstOFDMSymbolInTimeDomain", "nr-rrc.firstOFDMSymbolInTimeDomain",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_13", HFILL }},
+ { &hf_nr_rrc_firstOFDMSymbolInTimeDomain2,
+ { "firstOFDMSymbolInTimeDomain2", "nr-rrc.firstOFDMSymbolInTimeDomain2",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_13", HFILL }},
+ { &hf_nr_rrc_cdm_Type,
+ { "cdm-Type", "nr-rrc.cdm_Type",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cdm_Type_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_density,
+ { "density", "nr-rrc.density",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_density_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dot5,
+ { "dot5", "nr-rrc.dot5",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dot5_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_one,
+ { "one", "nr-rrc.one_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_three,
+ { "three", "nr-rrc.three_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_typeI_SinglePanelRI_Restriction,
- { "typeI-SinglePanelRI-Restriction", "nr-rrc.typeI_SinglePanelRI_Restriction",
+ { &hf_nr_rrc_spare_01,
+ { "spare", "nr-rrc.spare_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList_item,
+ { "CSI-SemiPersistentOnPUSCH-TriggerState", "nr-rrc.CSI_SemiPersistentOnPUSCH_TriggerState_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_associatedReportConfigInfo,
+ { "associatedReportConfigInfo", "nr-rrc.associatedReportConfigInfo",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "CSI_ReportConfigId", HFILL }},
+ { &hf_nr_rrc_csi_SSB_ResourceSetId,
+ { "csi-SSB-ResourceSetId", "nr-rrc.csi_SSB_ResourceSetId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_SSB_ResourceList,
+ { "csi-SSB-ResourceList", "nr-rrc.csi_SSB_ResourceList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index", HFILL }},
+ { &hf_nr_rrc_csi_SSB_ResourceList_item,
+ { "SSB-Index", "nr-rrc.SSB_Index",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dmrs_Type,
+ { "dmrs-Type", "nr-rrc.dmrs_Type",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_Type_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dmrs_AdditionalPosition,
+ { "dmrs-AdditionalPosition", "nr-rrc.dmrs_AdditionalPosition",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_AdditionalPosition_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dmrs_group1,
+ { "dmrs-group1", "nr-rrc.dmrs_group1",
FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_8", HFILL }},
- { &hf_nr_rrc_typeI_MultiPanelRI_Restriction,
- { "typeI-MultiPanelRI-Restriction", "nr-rrc.typeI_MultiPanelRI_Restriction",
+ "BIT_STRING_SIZE_12", HFILL }},
+ { &hf_nr_rrc_dmrs_group2,
+ { "dmrs-group2", "nr-rrc.dmrs_group2",
FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_4", HFILL }},
- { &hf_nr_rrc_type2,
- { "type2", "nr-rrc.type2_element",
+ "BIT_STRING_SIZE_12", HFILL }},
+ { &hf_nr_rrc_maxLength,
+ { "maxLength", "nr-rrc.maxLength",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxLength_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_scramblingID0,
+ { "scramblingID0", "nr-rrc.scramblingID0",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_65535", HFILL }},
+ { &hf_nr_rrc_scramblingID1,
+ { "scramblingID1", "nr-rrc.scramblingID1",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_65535", HFILL }},
+ { &hf_nr_rrc_phaseTrackingRS,
+ { "phaseTrackingRS", "nr-rrc.phaseTrackingRS",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phaseTrackingRS_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_18,
+ { "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
+ "PTRS_DownlinkConfig", HFILL }},
+ { &hf_nr_rrc_dmrs_Type_01,
+ { "dmrs-Type", "nr-rrc.dmrs_Type",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_Type_01_vals), 0,
+ "T_dmrs_Type_01", HFILL }},
+ { &hf_nr_rrc_dmrs_AdditionalPosition_01,
+ { "dmrs-AdditionalPosition", "nr-rrc.dmrs_AdditionalPosition",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_AdditionalPosition_01_vals), 0,
+ "T_dmrs_AdditionalPosition_01", HFILL }},
+ { &hf_nr_rrc_phaseTrackingRS_01,
+ { "phaseTrackingRS", "nr-rrc.phaseTrackingRS",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phaseTrackingRS_01_vals), 0,
+ "T_phaseTrackingRS_01", HFILL }},
+ { &hf_nr_rrc_setup_19,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PTRS_UplinkConfig", HFILL }},
+ { &hf_nr_rrc_maxLength_01,
+ { "maxLength", "nr-rrc.maxLength",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxLength_01_vals), 0,
+ "T_maxLength_01", HFILL }},
+ { &hf_nr_rrc_transformPrecoding,
+ { "transformPrecoding", "nr-rrc.transformPrecoding",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_transformPrecoding_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_subType_01,
- { "subType", "nr-rrc.subType",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subType_01_vals), 0,
- "T_subType_01", HFILL }},
- { &hf_nr_rrc_phaseAlphabetSize,
- { "phaseAlphabetSize", "nr-rrc.phaseAlphabetSize",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phaseAlphabetSize_vals), 0,
+ { &hf_nr_rrc_disabled_01,
+ { "disabled", "nr-rrc.disabled_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_disabled_01", HFILL }},
+ { &hf_nr_rrc_enabled_01,
+ { "enabled", "nr-rrc.enabled_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_subbandAmplitude,
- { "subbandAmplitude", "nr-rrc.subbandAmplitude",
- FT_BOOLEAN, BASE_NONE, NULL, 0,
- "BOOLEAN", HFILL }},
- { &hf_nr_rrc_numberOfBeams,
- { "numberOfBeams", "nr-rrc.numberOfBeams",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_numberOfBeams_vals), 0,
+ { &hf_nr_rrc_nPUSCH_Identity,
+ { "nPUSCH-Identity", "nr-rrc.nPUSCH_Identity",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_1007", HFILL }},
+ { &hf_nr_rrc_disableSequenceGroupHopping,
+ { "disableSequenceGroupHopping", "nr-rrc.disableSequenceGroupHopping",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_disableSequenceGroupHopping_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_portSelectionSamplingSize,
- { "portSelectionSamplingSize", "nr-rrc.portSelectionSamplingSize",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_portSelectionSamplingSize_vals), 0,
+ { &hf_nr_rrc_sequenceHoppingEnabled,
+ { "sequenceHoppingEnabled", "nr-rrc.sequenceHoppingEnabled",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sequenceHoppingEnabled_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_int_RNTI,
+ { "int-RNTI", "nr-rrc.int_RNTI",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "RNTI_Value", HFILL }},
+ { &hf_nr_rrc_timeFrequencySet,
+ { "timeFrequencySet", "nr-rrc.timeFrequencySet",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeFrequencySet_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dci_PayloadSize,
+ { "dci-PayloadSize", "nr-rrc.dci_PayloadSize",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_maxINT_DCI_PayloadSize", HFILL }},
+ { &hf_nr_rrc_int_ConfigurationPerServingCell,
+ { "int-ConfigurationPerServingCell", "nr-rrc.int_ConfigurationPerServingCell",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell", HFILL }},
+ { &hf_nr_rrc_int_ConfigurationPerServingCell_item,
+ { "INT-ConfigurationPerServingCell", "nr-rrc.INT_ConfigurationPerServingCell_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_servingCellId,
+ { "servingCellId", "nr-rrc.servingCellId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ServCellIndex", HFILL }},
+ { &hf_nr_rrc_positionInDCI,
+ { "positionInDCI", "nr-rrc.positionInDCI",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_maxINT_DCI_PayloadSize_1", HFILL }},
+ { &hf_nr_rrc_EUTRA_MBSFN_SubframeConfigList_item,
+ { "EUTRA-MBSFN-SubframeConfig", "nr-rrc.EUTRA_MBSFN_SubframeConfig_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_radioframeAllocationPeriod,
+ { "radioframeAllocationPeriod", "nr-rrc.radioframeAllocationPeriod",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_radioframeAllocationPeriod_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_codebookSubsetRestrictionType2,
- { "codebookSubsetRestrictionType2", "nr-rrc.codebookSubsetRestrictionType2",
+ { &hf_nr_rrc_radioframeAllocationOffset,
+ { "radioframeAllocationOffset", "nr-rrc.radioframeAllocationOffset",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_7", HFILL }},
+ { &hf_nr_rrc_subframeAllocation,
+ { "subframeAllocation", "nr-rrc.subframeAllocation",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subframeAllocation_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_oneFrame,
+ { "oneFrame", "nr-rrc.oneFrame",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_6", HFILL }},
+ { &hf_nr_rrc_fourFrames,
+ { "fourFrames", "nr-rrc.fourFrames",
FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_24", HFILL }},
+ { &hf_nr_rrc_subframeAllocation_v1430,
+ { "subframeAllocation-v1430", "nr-rrc.subframeAllocation_v1430",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subframeAllocation_v1430_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_ri_Restriction_01,
- { "ri-Restriction", "nr-rrc.ri_Restriction",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ri_Restriction_01_vals), 0,
- "T_ri_Restriction_01", HFILL }},
- { &hf_nr_rrc_typeII_RI_Restriction,
- { "typeII-RI-Restriction", "nr-rrc.typeII_RI_Restriction",
+ { &hf_nr_rrc_oneFrame_v1430,
+ { "oneFrame-v1430", "nr-rrc.oneFrame_v1430",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_2", HFILL }},
- { &hf_nr_rrc_typeII_PortSelectionRI_Restriction,
- { "typeII-PortSelectionRI-Restriction", "nr-rrc.typeII_PortSelectionRI_Restriction",
+ { &hf_nr_rrc_fourFrames_v1430,
+ { "fourFrames-v1430", "nr-rrc.fourFrames_v1430",
FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_2", HFILL }},
- { &hf_nr_rrc_csi_measId,
- { "csi-measId", "nr-rrc.csi_measId",
+ "BIT_STRING_SIZE_8", HFILL }},
+ { &hf_nr_rrc_absoluteFrequencySSB,
+ { "absoluteFrequencySSB", "nr-rrc.absoluteFrequencySSB",
FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_csi_RS_resourceConfigId,
- { "csi-RS-resourceConfigId", "nr-rrc.csi_RS_resourceConfigId",
- FT_INT32, BASE_DEC, NULL, 0,
- "CSI_RS_ConfigurationId", HFILL }},
- { &hf_nr_rrc_csi_reportConfigId,
- { "csi-reportConfigId", "nr-rrc.csi_reportConfigId",
+ "ARFCN_ValueNR", HFILL }},
+ { &hf_nr_rrc_ssb_SubcarrierOffset_01,
+ { "ssb-SubcarrierOffset", "nr-rrc.ssb_SubcarrierOffset",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_23", HFILL }},
+ { &hf_nr_rrc_frequencyBandList,
+ { "frequencyBandList", "nr-rrc.frequencyBandList",
FT_UINT32, BASE_DEC, NULL, 0,
+ "MultiFrequencyBandListNR", HFILL }},
+ { &hf_nr_rrc_absoluteFrequencyPointA,
+ { "absoluteFrequencyPointA", "nr-rrc.absoluteFrequencyPointA",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ARFCN_ValueNR", HFILL }},
+ { &hf_nr_rrc_scs_SpecificCarrierList,
+ { "scs-SpecificCarrierList", "nr-rrc.scs_SpecificCarrierList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier", HFILL }},
+ { &hf_nr_rrc_scs_SpecificCarrierList_item,
+ { "SCS-SpecificCarrier", "nr-rrc.SCS_SpecificCarrier_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_measQuantity,
- { "measQuantity", "nr-rrc.measQuantity",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measQuantity_vals), 0,
+ { &hf_nr_rrc_scs_SpecificCarriers,
+ { "scs-SpecificCarriers", "nr-rrc.scs_SpecificCarriers",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier", HFILL }},
+ { &hf_nr_rrc_scs_SpecificCarriers_item,
+ { "SCS-SpecificCarrier", "nr-rrc.SCS_SpecificCarrier_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_carrierFreqUL,
- { "carrierFreqUL", "nr-rrc.carrierFreqUL",
- FT_INT32, BASE_DEC, NULL, 0,
- "ARFCN_ValueNR", HFILL }},
- { &hf_nr_rrc_carrierBandwidthUL,
- { "carrierBandwidthUL", "nr-rrc.carrierBandwidthUL",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_CarrierBandwidthNR_vals), 0,
- "CarrierBandwidthNR", HFILL }},
{ &hf_nr_rrc_additionalSpectrumEmission,
{ "additionalSpectrumEmission", "nr-rrc.additionalSpectrumEmission",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -13718,10 +27641,6 @@ void proto_register_nr_rrc(void) {
{ "frequencyShift7p5khz", "nr-rrc.frequencyShift7p5khz",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyShift7p5khz_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_initialUplinkBandwidthPart,
- { "initialUplinkBandwidthPart", "nr-rrc.initialUplinkBandwidthPart_element",
- FT_NONE, BASE_NONE, NULL, 0,
- "BandwidthPart", HFILL }},
{ &hf_nr_rrc_ul_SpecificParameters,
{ "ul-SpecificParameters", "nr-rrc.ul_SpecificParameters_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -13738,18 +27657,38 @@ void proto_register_nr_rrc(void) {
{ "bucketSizeDuration", "nr-rrc.bucketSizeDuration",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bucketSizeDuration_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_allowedSubCarrierSpacing,
- { "allowedSubCarrierSpacing", "nr-rrc.allowedSubCarrierSpacing",
+ { &hf_nr_rrc_allowedServingCells,
+ { "allowedServingCells", "nr-rrc.allowedServingCells",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex", HFILL }},
+ { &hf_nr_rrc_allowedServingCells_item,
+ { "ServCellIndex", "nr-rrc.ServCellIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_allowedSCS_List,
+ { "allowedSCS-List", "nr-rrc.allowedSCS_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing", HFILL }},
+ { &hf_nr_rrc_allowedSCS_List_item,
+ { "SubcarrierSpacing", "nr-rrc.SubcarrierSpacing",
FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
- "SubcarrierSpacing", HFILL }},
- { &hf_nr_rrc_allowedTiming,
- { "allowedTiming", "nr-rrc.allowedTiming_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_maxPUSCH_Duration,
+ { "maxPUSCH-Duration", "nr-rrc.maxPUSCH_Duration",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxPUSCH_Duration_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_configuredGrantType1Allowed,
+ { "configuredGrantType1Allowed", "nr-rrc.configuredGrantType1Allowed",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredGrantType1Allowed_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_logicalChannelGroup,
{ "logicalChannelGroup", "nr-rrc.logicalChannelGroup",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_maxLCid", HFILL }},
+ "INTEGER_0_maxLCG_ID", HFILL }},
+ { &hf_nr_rrc_schedulingRequestID,
+ { "schedulingRequestID", "nr-rrc.schedulingRequestID",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_logicalChannelSR_Mask,
{ "logicalChannelSR-Mask", "nr-rrc.logicalChannelSR_Mask",
FT_BOOLEAN, BASE_NONE, NULL, 0,
@@ -13760,8 +27699,12 @@ void proto_register_nr_rrc(void) {
"BOOLEAN", HFILL }},
{ &hf_nr_rrc_drx_Config,
{ "drx-Config", "nr-rrc.drx_Config",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_DRX_Config_vals), 0,
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_Config_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_setup_20,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "DRX_Config", HFILL }},
{ &hf_nr_rrc_schedulingRequestConfig,
{ "schedulingRequestConfig", "nr-rrc.schedulingRequestConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -13769,34 +27712,42 @@ void proto_register_nr_rrc(void) {
{ &hf_nr_rrc_bsr_Config,
{ "bsr-Config", "nr-rrc.bsr_Config_element",
FT_NONE, BASE_NONE, NULL, 0,
- "BSR_Configuration", HFILL }},
+ NULL, HFILL }},
{ &hf_nr_rrc_tag_Config,
{ "tag-Config", "nr-rrc.tag_Config_element",
FT_NONE, BASE_NONE, NULL, 0,
- "TAG_Configuration", HFILL }},
+ NULL, HFILL }},
{ &hf_nr_rrc_phr_Config,
{ "phr-Config", "nr-rrc.phr_Config",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_PHR_Config_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_sCellDeactivationTimer,
- { "sCellDeactivationTimer", "nr-rrc.sCellDeactivationTimer",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sCellDeactivationTimer_vals), 0,
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_Config_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_setup_21,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PHR_Config", HFILL }},
{ &hf_nr_rrc_skipUplinkTxDynamic,
{ "skipUplinkTxDynamic", "nr-rrc.skipUplinkTxDynamic",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
- { &hf_nr_rrc_release,
- { "release", "nr-rrc.release_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_setup,
- { "setup", "nr-rrc.setup_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { &hf_nr_rrc_cs_RNTI,
+ { "cs-RNTI", "nr-rrc.cs_RNTI",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cs_RNTI_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_setup_22,
+ { "setup", "nr-rrc.setup",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "RNTI_Value", HFILL }},
{ &hf_nr_rrc_drx_onDurationTimer,
{ "drx-onDurationTimer", "nr-rrc.drx_onDurationTimer",
- FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_onDurationTimer_vals_ext, 0,
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_onDurationTimer_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_subMilliSeconds,
+ { "subMilliSeconds", "nr-rrc.subMilliSeconds",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_31", HFILL }},
+ { &hf_nr_rrc_milliSeconds,
+ { "milliSeconds", "nr-rrc.milliSeconds",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_milliSeconds_vals_ext, 0,
NULL, HFILL }},
{ &hf_nr_rrc_drx_InactivityTimer,
{ "drx-InactivityTimer", "nr-rrc.drx_InactivityTimer",
@@ -13818,110 +27769,22 @@ void proto_register_nr_rrc(void) {
{ "drx-RetransmissionTimerUL", "nr-rrc.drx_RetransmissionTimerUL",
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_RetransmissionTimerUL_vals_ext, 0,
NULL, HFILL }},
- { &hf_nr_rrc_drx_LongCycleStartOffset,
+ { &hf_nr_rrc_drx_LongCycleStartOffset_01,
{ "drx-LongCycleStartOffset", "nr-rrc.drx_LongCycleStartOffset",
- FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_LongCycleStartOffset_vals_ext, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_ms10,
- { "ms10", "nr-rrc.ms10",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_9", HFILL }},
- { &hf_nr_rrc_ms20,
- { "ms20", "nr-rrc.ms20",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_19", HFILL }},
- { &hf_nr_rrc_ms32,
- { "ms32", "nr-rrc.ms32",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_31", HFILL }},
- { &hf_nr_rrc_ms40,
- { "ms40", "nr-rrc.ms40",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_39", HFILL }},
- { &hf_nr_rrc_ms60,
- { "ms60", "nr-rrc.ms60",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_59", HFILL }},
- { &hf_nr_rrc_ms64,
- { "ms64", "nr-rrc.ms64",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_63", HFILL }},
- { &hf_nr_rrc_ms70,
- { "ms70", "nr-rrc.ms70",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_69", HFILL }},
- { &hf_nr_rrc_ms80,
- { "ms80", "nr-rrc.ms80",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_79", HFILL }},
- { &hf_nr_rrc_ms128,
- { "ms128", "nr-rrc.ms128",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_127", HFILL }},
- { &hf_nr_rrc_ms160,
- { "ms160", "nr-rrc.ms160",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_159", HFILL }},
- { &hf_nr_rrc_ms256,
- { "ms256", "nr-rrc.ms256",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_255", HFILL }},
- { &hf_nr_rrc_ms320,
- { "ms320", "nr-rrc.ms320",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_319", HFILL }},
- { &hf_nr_rrc_ms512,
- { "ms512", "nr-rrc.ms512",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_511", HFILL }},
- { &hf_nr_rrc_ms640,
- { "ms640", "nr-rrc.ms640",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_639", HFILL }},
- { &hf_nr_rrc_ms1024,
- { "ms1024", "nr-rrc.ms1024",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_1023", HFILL }},
- { &hf_nr_rrc_ms1280,
- { "ms1280", "nr-rrc.ms1280",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_1279", HFILL }},
- { &hf_nr_rrc_ms2048,
- { "ms2048", "nr-rrc.ms2048",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_2047", HFILL }},
- { &hf_nr_rrc_ms2560,
- { "ms2560", "nr-rrc.ms2560",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_2559", HFILL }},
- { &hf_nr_rrc_ms5120,
- { "ms5120", "nr-rrc.ms5120",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_5119", HFILL }},
- { &hf_nr_rrc_ms10240,
- { "ms10240", "nr-rrc.ms10240",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_10239", HFILL }},
- { &hf_nr_rrc_shortDRX,
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_LongCycleStartOffset_01_vals_ext, 0,
+ "T_drx_LongCycleStartOffset_01", HFILL }},
+ { &hf_nr_rrc_shortDRX_01,
{ "shortDRX", "nr-rrc.shortDRX_element",
FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_drx_ShortCycle,
+ "T_shortDRX_01", HFILL }},
+ { &hf_nr_rrc_drx_ShortCycle_01,
{ "drx-ShortCycle", "nr-rrc.drx_ShortCycle",
- FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_ShortCycle_vals_ext, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_drx_ShortCycleTimer,
- { "drx-ShortCycleTimer", "nr-rrc.drx_ShortCycleTimer",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_16", HFILL }},
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_ShortCycle_01_vals_ext, 0,
+ "T_drx_ShortCycle_01", HFILL }},
{ &hf_nr_rrc_drx_SlotOffset,
{ "drx-SlotOffset", "nr-rrc.drx_SlotOffset",
- FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_SlotOffset_vals_ext, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_setup_01,
- { "setup", "nr-rrc.setup_element",
- FT_NONE, BASE_NONE, NULL, 0,
- "T_setup_01", HFILL }},
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0,
+ "INTEGER_0_31", HFILL }},
{ &hf_nr_rrc_phr_PeriodicTimer,
{ "phr-PeriodicTimer", "nr-rrc.phr_PeriodicTimer",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_PeriodicTimer_vals), 0,
@@ -13953,16 +27816,16 @@ void proto_register_nr_rrc(void) {
{ &hf_nr_rrc_tag_ToReleaseList,
{ "tag-ToReleaseList", "nr-rrc.tag_ToReleaseList",
FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id", HFILL }},
+ { &hf_nr_rrc_tag_ToReleaseList_item,
+ { "TAG-Id", "nr-rrc.TAG_Id",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_tag_ToAddModList,
{ "tag-ToAddModList", "nr-rrc.tag_ToAddModList",
FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_TAG_ToReleaseList_item,
- { "TAG-Id", "nr-rrc.TAG_Id",
- FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_TAG_ToAddModList_item,
+ "SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_ToAddMod", HFILL }},
+ { &hf_nr_rrc_tag_ToAddModList_item,
{ "TAG-ToAddMod", "nr-rrc.TAG_ToAddMod_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
@@ -13982,9 +27845,9 @@ void proto_register_nr_rrc(void) {
{ "retxBSR-Timer", "nr-rrc.retxBSR_Timer",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_retxBSR_Timer_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_logicaChannelSR_DelayTimer,
- { "logicaChannelSR-DelayTimer", "nr-rrc.logicaChannelSR_DelayTimer",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logicaChannelSR_DelayTimer_vals), 0,
+ { &hf_nr_rrc_logicalChannelSR_DelayTimer,
+ { "logicalChannelSR-DelayTimer", "nr-rrc.logicalChannelSR_DelayTimer",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logicalChannelSR_DelayTimer_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_measObjectToRemoveList,
{ "measObjectToRemoveList", "nr-rrc.measObjectToRemoveList",
@@ -14014,12 +27877,12 @@ void proto_register_nr_rrc(void) {
{ "s-MeasureConfig", "nr-rrc.s_MeasureConfig",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_s_MeasureConfig_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_ssb_rsrp,
- { "ssb-rsrp", "nr-rrc.ssb_rsrp",
+ { &hf_nr_rrc_ssb_RSRP,
+ { "ssb-RSRP", "nr-rrc.ssb_RSRP",
FT_UINT32, BASE_DEC, NULL, 0,
"RSRP_Range", HFILL }},
- { &hf_nr_rrc_csi_rsrp,
- { "csi-rsrp", "nr-rrc.csi_rsrp",
+ { &hf_nr_rrc_csi_RSRP,
+ { "csi-RSRP", "nr-rrc.csi_RSRP",
FT_UINT32, BASE_DEC, NULL, 0,
"RSRP_Range", HFILL }},
{ &hf_nr_rrc_quantityConfig,
@@ -14042,6 +27905,30 @@ void proto_register_nr_rrc(void) {
{ "ReportConfigId", "nr-rrc.ReportConfigId",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_gapFR2,
+ { "gapFR2", "nr-rrc.gapFR2",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapFR2_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_23,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "GapConfig", HFILL }},
+ { &hf_nr_rrc_gapOffset,
+ { "gapOffset", "nr-rrc.gapOffset",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_159", HFILL }},
+ { &hf_nr_rrc_mgl,
+ { "mgl", "nr-rrc.mgl",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mgl_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_mgrp,
+ { "mgrp", "nr-rrc.mgrp",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mgrp_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_mgta,
+ { "mgta", "nr-rrc.mgta",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mgta_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_MeasIdToAddModList_item,
{ "MeasIdToAddMod", "nr-rrc.MeasIdToAddMod_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -14058,9 +27945,13 @@ void proto_register_nr_rrc(void) {
{ "reportConfigId", "nr-rrc.reportConfigId",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_carrierFreq,
- { "carrierFreq", "nr-rrc.carrierFreq",
- FT_INT32, BASE_DEC, NULL, 0,
+ { &hf_nr_rrc_ssbFrequency,
+ { "ssbFrequency", "nr-rrc.ssbFrequency",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ARFCN_ValueNR", HFILL }},
+ { &hf_nr_rrc_refFreqCSI_RS,
+ { "refFreqCSI-RS", "nr-rrc.refFreqCSI_RS",
+ FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueNR", HFILL }},
{ &hf_nr_rrc_referenceSignalConfig,
{ "referenceSignalConfig", "nr-rrc.referenceSignalConfig_element",
@@ -14074,18 +27965,18 @@ void proto_register_nr_rrc(void) {
{ "absThreshCSI-RS-Consolidation", "nr-rrc.absThreshCSI_RS_Consolidation_element",
FT_NONE, BASE_NONE, NULL, 0,
"ThresholdNR", HFILL }},
- { &hf_nr_rrc_nroSS_BlocksToAverage,
- { "nroSS-BlocksToAverage", "nr-rrc.nroSS_BlocksToAverage",
+ { &hf_nr_rrc_nrofSS_BlocksToAverage,
+ { "nrofSS-BlocksToAverage", "nr-rrc.nrofSS_BlocksToAverage",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_2_maxNroSS_BlocksToAverage", HFILL }},
- { &hf_nr_rrc_nroCSI_RS_ResourcesToAverage,
- { "nroCSI-RS-ResourcesToAverage", "nr-rrc.nroCSI_RS_ResourcesToAverage",
+ "INTEGER_2_maxNrofSS_BlocksToAverage", HFILL }},
+ { &hf_nr_rrc_nrofCSI_RS_ResourcesToAverage,
+ { "nrofCSI-RS-ResourcesToAverage", "nr-rrc.nrofCSI_RS_ResourcesToAverage",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_2_maxNroCSI_RS_ResourcesToAverage", HFILL }},
+ "INTEGER_2_maxNrofCSI_RS_ResourcesToAverage", HFILL }},
{ &hf_nr_rrc_quantityConfigIndex,
{ "quantityConfigIndex", "nr-rrc.quantityConfigIndex",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_maxQuantityConfigId", HFILL }},
+ "INTEGER_1_maxNrofQuantityConfig", HFILL }},
{ &hf_nr_rrc_offsetFreq,
{ "offsetFreq", "nr-rrc.offsetFreq_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -14093,7 +27984,7 @@ void proto_register_nr_rrc(void) {
{ &hf_nr_rrc_cellsToRemoveList,
{ "cellsToRemoveList", "nr-rrc.cellsToRemoveList",
FT_UINT32, BASE_DEC, NULL, 0,
- "CellIndexList", HFILL }},
+ "PCI_List", HFILL }},
{ &hf_nr_rrc_cellsToAddModList,
{ "cellsToAddModList", "nr-rrc.cellsToAddModList",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -14101,7 +27992,7 @@ void proto_register_nr_rrc(void) {
{ &hf_nr_rrc_blackCellsToRemoveList,
{ "blackCellsToRemoveList", "nr-rrc.blackCellsToRemoveList",
FT_UINT32, BASE_DEC, NULL, 0,
- "CellIndexList", HFILL }},
+ "PCI_RangeIndexList", HFILL }},
{ &hf_nr_rrc_blackCellsToAddModList,
{ "blackCellsToAddModList", "nr-rrc.blackCellsToAddModList",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -14109,39 +28000,31 @@ void proto_register_nr_rrc(void) {
{ &hf_nr_rrc_whiteCellsToRemoveList,
{ "whiteCellsToRemoveList", "nr-rrc.whiteCellsToRemoveList",
FT_UINT32, BASE_DEC, NULL, 0,
- "CellIndexList", HFILL }},
+ "PCI_RangeIndexList", HFILL }},
{ &hf_nr_rrc_whiteCellsToAddModList,
{ "whiteCellsToAddModList", "nr-rrc.whiteCellsToAddModList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_ssb_MeasurementTimingConfiguration,
- { "ssb-MeasurementTimingConfiguration", "nr-rrc.ssb_MeasurementTimingConfiguration_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_ssbPresence,
- { "ssbPresence", "nr-rrc.ssbPresence",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssbPresence_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_present,
- { "present", "nr-rrc.present_element",
+ { &hf_nr_rrc_ssb_ConfigMobility,
+ { "ssb-ConfigMobility", "nr-rrc.ssb_ConfigMobility_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_frequencyOffset,
- { "frequencyOffset", "nr-rrc.frequencyOffset_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_subcarrierSpacing_01,
- { "subcarrierSpacing", "nr-rrc.subcarrierSpacing",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
+ { &hf_nr_rrc_csi_rs_ResourceConfigMobility,
+ { "csi-rs-ResourceConfigMobility", "nr-rrc.csi_rs_ResourceConfigMobility",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_rs_ResourceConfigMobility_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_notPresent,
- { "notPresent", "nr-rrc.notPresent_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_csi_rs_ResourceConfig_Mobility,
- { "csi-rs-ResourceConfig-Mobility", "nr-rrc.csi_rs_ResourceConfig_Mobility_element",
+ { &hf_nr_rrc_setup_24,
+ { "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
+ "CSI_RS_ResourceConfigMobility", HFILL }},
+ { &hf_nr_rrc_ssb_ToMeasure,
+ { "ssb-ToMeasure", "nr-rrc.ssb_ToMeasure",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_ToMeasure_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_setup_25,
+ { "setup", "nr-rrc.setup",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_SSB_ToMeasure_vals), 0,
+ "SSB_ToMeasure", HFILL }},
{ &hf_nr_rrc_useServingCellTimingForSync,
{ "useServingCellTimingForSync", "nr-rrc.useServingCellTimingForSync",
FT_BOOLEAN, BASE_NONE, NULL, 0,
@@ -14150,7 +28033,7 @@ void proto_register_nr_rrc(void) {
{ "smtc1", "nr-rrc.smtc1_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_periodicityAndOffset,
+ { &hf_nr_rrc_periodicityAndOffset_01,
{ "periodicityAndOffset", "nr-rrc.periodicityAndOffset",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndOffset_vals), 0,
NULL, HFILL }},
@@ -14178,30 +28061,10 @@ void proto_register_nr_rrc(void) {
{ "sf160", "nr-rrc.sf160",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_159", HFILL }},
- { &hf_nr_rrc_duration,
+ { &hf_nr_rrc_duration_01,
{ "duration", "nr-rrc.duration",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_duration_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_ssb_ToMeasure,
- { "ssb-ToMeasure", "nr-rrc.ssb_ToMeasure",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_ToMeasure_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_setup_02,
- { "setup", "nr-rrc.setup",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_setup_02_vals), 0,
- "T_setup_02", HFILL }},
- { &hf_nr_rrc_shortBitmap,
- { "shortBitmap", "nr-rrc.shortBitmap",
- FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_4", HFILL }},
- { &hf_nr_rrc_mediumBitmap,
- { "mediumBitmap", "nr-rrc.mediumBitmap",
- FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_8", HFILL }},
- { &hf_nr_rrc_longBitmap,
- { "longBitmap", "nr-rrc.longBitmap",
- FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_64", HFILL }},
{ &hf_nr_rrc_smtc2,
{ "smtc2", "nr-rrc.smtc2_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -14209,39 +28072,75 @@ void proto_register_nr_rrc(void) {
{ &hf_nr_rrc_pci_List,
{ "pci-List", "nr-rrc.pci_List",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysicalCellId", HFILL }},
+ "SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId", HFILL }},
{ &hf_nr_rrc_pci_List_item,
- { "PhysicalCellId", "nr-rrc.PhysicalCellId",
+ { "PhysCellId", "nr-rrc.PhysCellId",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_periodicty,
- { "periodicty", "nr-rrc.periodicty_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_csi_rs_MeasurementBW,
- { "csi-rs-MeasurementBW", "nr-rrc.csi_rs_MeasurementBW_element",
+ { &hf_nr_rrc_periodicity_01,
+ { "periodicity", "nr-rrc.periodicity",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicity_01_vals), 0,
+ "T_periodicity_01", HFILL }},
+ { &hf_nr_rrc_ss_RSSI_Measurement,
+ { "ss-RSSI-Measurement", "nr-rrc.ss_RSSI_Measurement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_csi_rs_measurementBW_size,
- { "csi-rs-measurementBW-size", "nr-rrc.csi_rs_measurementBW_size",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_rs_measurementBW_size_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_csi_rs_measurement_BW_start,
- { "csi-rs-measurement-BW-start", "nr-rrc.csi_rs_measurement_BW_start",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_rs_measurement_BW_start_vals), 0,
- "T_csi_rs_measurement_BW_start", HFILL }},
- { &hf_nr_rrc_associated_SSB,
- { "associated-SSB", "nr-rrc.associated_SSB",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_associated_SSB_vals), 0,
+ { &hf_nr_rrc_measurementSlots,
+ { "measurementSlots", "nr-rrc.measurementSlots",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measurementSlots_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_qcled_SSB,
- { "qcled-SSB", "nr-rrc.qcled_SSB",
- FT_BOOLEAN, BASE_NONE, NULL, 0,
- "BOOLEAN", HFILL }},
+ { &hf_nr_rrc_kHz15,
+ { "kHz15", "nr-rrc.kHz15",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_1", HFILL }},
+ { &hf_nr_rrc_kHz30,
+ { "kHz30", "nr-rrc.kHz30",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_2", HFILL }},
+ { &hf_nr_rrc_kHz60,
+ { "kHz60", "nr-rrc.kHz60",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_4", HFILL }},
+ { &hf_nr_rrc_kHz120,
+ { "kHz120", "nr-rrc.kHz120",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_8", HFILL }},
+ { &hf_nr_rrc_endSymbol,
+ { "endSymbol", "nr-rrc.endSymbol",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_13", HFILL }},
{ &hf_nr_rrc_isServingCellMO,
{ "isServingCellMO", "nr-rrc.isServingCellMO",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
+ { &hf_nr_rrc_csi_RS_CellList_Mobility,
+ { "csi-RS-CellList-Mobility", "nr-rrc.csi_RS_CellList_Mobility",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility", HFILL }},
+ { &hf_nr_rrc_csi_RS_CellList_Mobility_item,
+ { "CSI-RS-CellMobility", "nr-rrc.CSI_RS_CellMobility_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_cellId,
+ { "cellId", "nr-rrc.cellId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "PhysCellId", HFILL }},
+ { &hf_nr_rrc_csi_rs_MeasurementBW,
+ { "csi-rs-MeasurementBW", "nr-rrc.csi_rs_MeasurementBW_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nrofPRBs,
+ { "nrofPRBs", "nr-rrc.nrofPRBs",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPRBs_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_startPRB,
+ { "startPRB", "nr-rrc.startPRB",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_2169", HFILL }},
+ { &hf_nr_rrc_density_01,
+ { "density", "nr-rrc.density",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_density_01_vals), 0,
+ "T_density_01", HFILL }},
{ &hf_nr_rrc_csi_rs_ResourceList_Mobility,
{ "csi-rs-ResourceList-Mobility", "nr-rrc.csi_rs_ResourceList_Mobility",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -14250,30 +28149,46 @@ void proto_register_nr_rrc(void) {
{ "CSI-RS-Resource-Mobility", "nr-rrc.CSI_RS_Resource_Mobility_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_csi_rs_ResourceId_RRM,
- { "csi-rs-ResourceId-RRM", "nr-rrc.csi_rs_ResourceId_RRM",
- FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_cellId,
- { "cellId", "nr-rrc.cellId",
- FT_UINT32, BASE_DEC, NULL, 0,
- "PhysicalCellId", HFILL }},
{ &hf_nr_rrc_slotConfig,
{ "slotConfig", "nr-rrc.slotConfig",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_slotConfig_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_ms4,
+ { "ms4", "nr-rrc.ms4",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0,
+ "INTEGER_0_31", HFILL }},
{ &hf_nr_rrc_ms5,
{ "ms5", "nr-rrc.ms5",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_4", HFILL }},
- { &hf_nr_rrc_resourceElementMappingPattern,
- { "resourceElementMappingPattern", "nr-rrc.resourceElementMappingPattern_element",
+ "INTEGER_0_39", HFILL }},
+ { &hf_nr_rrc_ms10_01,
+ { "ms10", "nr-rrc.ms10",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_79", HFILL }},
+ { &hf_nr_rrc_ms20_01,
+ { "ms20", "nr-rrc.ms20",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_159", HFILL }},
+ { &hf_nr_rrc_ms40_01,
+ { "ms40", "nr-rrc.ms40",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_319", HFILL }},
+ { &hf_nr_rrc_associatedSSB,
+ { "associatedSSB", "nr-rrc.associatedSSB_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_isQuasiColocated,
+ { "isQuasiColocated", "nr-rrc.isQuasiColocated",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_nr_rrc_frequencyDomainAllocation_02,
+ { "frequencyDomainAllocation", "nr-rrc.frequencyDomainAllocation",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyDomainAllocation_01_vals), 0,
+ "T_frequencyDomainAllocation_01", HFILL }},
{ &hf_nr_rrc_sequenceGenerationConfig,
- { "sequenceGenerationConfig", "nr-rrc.sequenceGenerationConfig_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
+ { "sequenceGenerationConfig", "nr-rrc.sequenceGenerationConfig",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_1023", HFILL }},
{ &hf_nr_rrc_rsrpOffsetSSB,
{ "rsrpOffsetSSB", "nr-rrc.rsrpOffsetSSB",
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
@@ -14298,26 +28213,34 @@ void proto_register_nr_rrc(void) {
{ "sinrOffsetCSI-RS", "nr-rrc.sinrOffsetCSI_RS",
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
"Q_OffsetRange", HFILL }},
- { &hf_nr_rrc_threshold_RSRP,
- { "threshold-RSRP", "nr-rrc.threshold_RSRP",
+ { &hf_nr_rrc_shortBitmap,
+ { "shortBitmap", "nr-rrc.shortBitmap",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_4", HFILL }},
+ { &hf_nr_rrc_mediumBitmap,
+ { "mediumBitmap", "nr-rrc.mediumBitmap",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_8", HFILL }},
+ { &hf_nr_rrc_longBitmap,
+ { "longBitmap", "nr-rrc.longBitmap",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_64", HFILL }},
+ { &hf_nr_rrc_thresholdRSRP,
+ { "thresholdRSRP", "nr-rrc.thresholdRSRP",
FT_UINT32, BASE_DEC, NULL, 0,
"RSRP_Range", HFILL }},
- { &hf_nr_rrc_threshold_RSRQ,
- { "threshold-RSRQ", "nr-rrc.threshold_RSRQ",
+ { &hf_nr_rrc_thresholdRSRQ,
+ { "thresholdRSRQ", "nr-rrc.thresholdRSRQ",
FT_UINT32, BASE_DEC, NULL, 0,
"RSRQ_Range", HFILL }},
- { &hf_nr_rrc_threshold_SINR,
- { "threshold-SINR", "nr-rrc.threshold_SINR",
+ { &hf_nr_rrc_thresholdSINR,
+ { "thresholdSINR", "nr-rrc.thresholdSINR",
FT_UINT32, BASE_DEC, NULL, 0,
"SINR_Range", HFILL }},
{ &hf_nr_rrc_CellsToAddModList_item,
{ "CellsToAddMod", "nr-rrc.CellsToAddMod_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_cellIndex,
- { "cellIndex", "nr-rrc.cellIndex",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_maxNrofCellMeas", HFILL }},
{ &hf_nr_rrc_cellIndividualOffset,
{ "cellIndividualOffset", "nr-rrc.cellIndividualOffset_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -14326,8 +28249,12 @@ void proto_register_nr_rrc(void) {
{ "BlackCellsToAddMod", "nr-rrc.BlackCellsToAddMod_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_physCellIdRange,
- { "physCellIdRange", "nr-rrc.physCellIdRange_element",
+ { &hf_nr_rrc_pci_RangeIndex,
+ { "pci-RangeIndex", "nr-rrc.pci_RangeIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pci_Range,
+ { "pci-Range", "nr-rrc.pci_Range_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_WhiteCellsToAddModList_item,
@@ -14346,10 +28273,6 @@ void proto_register_nr_rrc(void) {
{ "measObjectNR", "nr-rrc.measObjectNR_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_measObjectEUTRA,
- { "measObjectEUTRA", "nr-rrc.measObjectEUTRA_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
{ &hf_nr_rrc_measResultServingFreqList,
{ "measResultServingFreqList", "nr-rrc.measResultServingFreqList",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -14362,10 +28285,6 @@ void proto_register_nr_rrc(void) {
{ "measResultListNR", "nr-rrc.measResultListNR",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_measResultListEUTRA,
- { "measResultListEUTRA", "nr-rrc.measResultListEUTRA_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
{ &hf_nr_rrc_MeasResultServFreqList_item,
{ "MeasResultServFreq", "nr-rrc.MeasResultServFreq_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -14387,8 +28306,8 @@ void proto_register_nr_rrc(void) {
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_cgi_Info,
- { "cgi-Info", "nr-rrc.cgi_Info_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { "cgi-Info", "nr-rrc.cgi_Info",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cgi_Info_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_measResult,
{ "measResult", "nr-rrc.measResult_element",
@@ -14398,86 +28317,158 @@ void proto_register_nr_rrc(void) {
{ "cellResults", "nr-rrc.cellResults_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_resultsSSBCell,
- { "resultsSSBCell", "nr-rrc.resultsSSBCell_element",
+ { &hf_nr_rrc_resultsSSB_Cell,
+ { "resultsSSB-Cell", "nr-rrc.resultsSSB_Cell_element",
FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_resultsCSI_RSCell,
- { "resultsCSI-RSCell", "nr-rrc.resultsCSI_RSCell_element",
+ "MeasQuantityResults", HFILL }},
+ { &hf_nr_rrc_resultsCSI_RS_Cell,
+ { "resultsCSI-RS-Cell", "nr-rrc.resultsCSI_RS_Cell_element",
FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
+ "MeasQuantityResults", HFILL }},
{ &hf_nr_rrc_rsIndexResults,
{ "rsIndexResults", "nr-rrc.rsIndexResults_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_resultsSSBIndexes,
- { "resultsSSBIndexes", "nr-rrc.resultsSSBIndexes",
+ { &hf_nr_rrc_resultsSSB_Indexes,
+ { "resultsSSB-Indexes", "nr-rrc.resultsSSB_Indexes",
FT_UINT32, BASE_DEC, NULL, 0,
- "ResultsPerSSBIndexList", HFILL }},
- { &hf_nr_rrc_resultsCSI_RSIndexes,
- { "resultsCSI-RSIndexes", "nr-rrc.resultsCSI_RSIndexes",
+ "ResultsPerSSB_IndexList", HFILL }},
+ { &hf_nr_rrc_resultsCSI_RS_Indexes,
+ { "resultsCSI-RS-Indexes", "nr-rrc.resultsCSI_RS_Indexes",
FT_UINT32, BASE_DEC, NULL, 0,
- "ResultsPerCSI_RSIndexList", HFILL }},
- { &hf_nr_rrc_ssb_Cellrsrp,
- { "ssb-Cellrsrp", "nr-rrc.ssb_Cellrsrp",
+ "ResultsPerCSI_RS_IndexList", HFILL }},
+ { &hf_nr_rrc_rsrp,
+ { "rsrp", "nr-rrc.rsrp",
FT_UINT32, BASE_DEC, NULL, 0,
"RSRP_Range", HFILL }},
- { &hf_nr_rrc_ssb_Cellrsrq,
- { "ssb-Cellrsrq", "nr-rrc.ssb_Cellrsrq",
+ { &hf_nr_rrc_rsrq,
+ { "rsrq", "nr-rrc.rsrq",
FT_UINT32, BASE_DEC, NULL, 0,
"RSRQ_Range", HFILL }},
- { &hf_nr_rrc_ssb_Cellsinr,
- { "ssb-Cellsinr", "nr-rrc.ssb_Cellsinr",
+ { &hf_nr_rrc_sinr,
+ { "sinr", "nr-rrc.sinr",
FT_UINT32, BASE_DEC, NULL, 0,
"SINR_Range", HFILL }},
- { &hf_nr_rrc_csi_rs_Cellrsrp,
- { "csi-rs-Cellrsrp", "nr-rrc.csi_rs_Cellrsrp",
- FT_UINT32, BASE_DEC, NULL, 0,
- "RSRP_Range", HFILL }},
- { &hf_nr_rrc_csi_rs_Cellrsrq,
- { "csi-rs-Cellrsrq", "nr-rrc.csi_rs_Cellrsrq",
+ { &hf_nr_rrc_ResultsPerSSB_IndexList_item,
+ { "ResultsPerSSB-Index", "nr-rrc.ResultsPerSSB_Index_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ssb_Results,
+ { "ssb-Results", "nr-rrc.ssb_Results_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "MeasQuantityResults", HFILL }},
+ { &hf_nr_rrc_ResultsPerCSI_RS_IndexList_item,
+ { "ResultsPerCSI-RS-Index", "nr-rrc.ResultsPerCSI_RS_Index_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_RS_Results,
+ { "csi-RS-Results", "nr-rrc.csi_RS_Results_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "MeasQuantityResults", HFILL }},
+ { &hf_nr_rrc_measResultServFreqList,
+ { "measResultServFreqList", "nr-rrc.measResultServFreqList",
FT_UINT32, BASE_DEC, NULL, 0,
- "RSRQ_Range", HFILL }},
- { &hf_nr_rrc_csi_rs_Cellsinr,
- { "csi-rs-Cellsinr", "nr-rrc.csi_rs_Cellsinr",
+ "MeasResultServFreqList2NR", HFILL }},
+ { &hf_nr_rrc_measResultNeighCells_01,
+ { "measResultNeighCells", "nr-rrc.measResultNeighCells",
FT_UINT32, BASE_DEC, NULL, 0,
- "SINR_Range", HFILL }},
- { &hf_nr_rrc_ResultsPerSSBIndexList_item,
- { "ResultsPerSSBIndex", "nr-rrc.ResultsPerSSBIndex_element",
+ "MeasResultList2NR", HFILL }},
+ { &hf_nr_rrc_MeasResultServFreqList2NR_item,
+ { "MeasResultServFreq2NR", "nr-rrc.MeasResultServFreq2NR_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_MeasResultList2NR_item,
+ { "MeasResult2NR", "nr-rrc.MeasResult2NR_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_ss_rsrp,
- { "ss-rsrp", "nr-rrc.ss_rsrp",
+ { &hf_nr_rrc_MeasResultCellListSFTD_item,
+ { "MeasResultCellSFTD", "nr-rrc.MeasResultCellSFTD_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sfn_OffsetResult,
+ { "sfn-OffsetResult", "nr-rrc.sfn_OffsetResult",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_1023", HFILL }},
+ { &hf_nr_rrc_frameBoundaryOffsetResult,
+ { "frameBoundaryOffsetResult", "nr-rrc.frameBoundaryOffsetResult",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER_M30720_30719", HFILL }},
+ { &hf_nr_rrc_rsrp_Result,
+ { "rsrp-Result", "nr-rrc.rsrp_Result",
FT_UINT32, BASE_DEC, NULL, 0,
"RSRP_Range", HFILL }},
- { &hf_nr_rrc_ss_rsrq,
- { "ss-rsrq", "nr-rrc.ss_rsrq",
+ { &hf_nr_rrc_MultiFrequencyBandListNR_item,
+ { "FreqBandIndicatorNR", "nr-rrc.FreqBandIndicatorNR",
FT_UINT32, BASE_DEC, NULL, 0,
- "RSRQ_Range", HFILL }},
- { &hf_nr_rrc_ss_sinr,
- { "ss-sinr", "nr-rrc.ss_sinr",
+ NULL, HFILL }},
+ { &hf_nr_rrc_nzp_CSI_ResourceSetId,
+ { "nzp-CSI-ResourceSetId", "nr-rrc.nzp_CSI_ResourceSetId",
FT_UINT32, BASE_DEC, NULL, 0,
- "SINR_Range", HFILL }},
- { &hf_nr_rrc_ResultsPerCSI_RSIndexList_item,
- { "ResultsPerCSI-RSIndex", "nr-rrc.ResultsPerCSI_RSIndex_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ "NZP_CSI_RS_ResourceSetId", HFILL }},
+ { &hf_nr_rrc_nzp_CSI_RS_Resources,
+ { "nzp-CSI-RS-Resources", "nr-rrc.nzp_CSI_RS_Resources",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId", HFILL }},
+ { &hf_nr_rrc_nzp_CSI_RS_Resources_item,
+ { "NZP-CSI-RS-ResourceId", "nr-rrc.NZP_CSI_RS_ResourceId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_repetition,
+ { "repetition", "nr-rrc.repetition",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetition_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_aperiodicTriggeringOffset,
+ { "aperiodicTriggeringOffset", "nr-rrc.aperiodicTriggeringOffset",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_4", HFILL }},
+ { &hf_nr_rrc_trs_Info,
+ { "trs-Info", "nr-rrc.trs_Info",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_trs_Info_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_csi_rsIndex,
- { "csi-rsIndex", "nr-rrc.csi_rsIndex",
+ { &hf_nr_rrc_nzp_CSI_RS_ResourceId,
+ { "nzp-CSI-RS-ResourceId", "nr-rrc.nzp_CSI_RS_ResourceId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_resourceMapping,
+ { "resourceMapping", "nr-rrc.resourceMapping_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "CSI_RS_ResourceMapping", HFILL }},
+ { &hf_nr_rrc_powerControlOffset,
+ { "powerControlOffset", "nr-rrc.powerControlOffset",
FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER_M8_15", HFILL }},
+ { &hf_nr_rrc_powerControlOffsetSS,
+ { "powerControlOffsetSS", "nr-rrc.powerControlOffsetSS",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerControlOffsetSS_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_csi_rsrq,
- { "csi-rsrq", "nr-rrc.csi_rsrq",
+ { &hf_nr_rrc_scramblingID,
+ { "scramblingID", "nr-rrc.scramblingID",
FT_UINT32, BASE_DEC, NULL, 0,
- "RSRQ_Range", HFILL }},
- { &hf_nr_rrc_csi_sinr,
- { "csi-sinr", "nr-rrc.csi_sinr",
+ NULL, HFILL }},
+ { &hf_nr_rrc_qcl_InfoPeriodicCSI_RS,
+ { "qcl-InfoPeriodicCSI-RS", "nr-rrc.qcl_InfoPeriodicCSI_RS",
FT_UINT32, BASE_DEC, NULL, 0,
- "SINR_Range", HFILL }},
+ "TCI_StateId", HFILL }},
+ { &hf_nr_rrc_PCI_List_item,
+ { "PhysCellId", "nr-rrc.PhysCellId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_start,
+ { "start", "nr-rrc.start",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "PhysCellId", HFILL }},
+ { &hf_nr_rrc_range,
+ { "range", "nr-rrc.range",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_range_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_PCI_RangeIndexList_item,
+ { "PCI-RangeIndex", "nr-rrc.PCI_RangeIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_controlResourceSetToAddModList,
{ "controlResourceSetToAddModList", "nr-rrc.controlResourceSetToAddModList",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxNrofControlResourceSets_OF_ControlResourceSet", HFILL }},
+ "SEQUENCE_SIZE_1_3_OF_ControlResourceSet", HFILL }},
{ &hf_nr_rrc_controlResourceSetToAddModList_item,
{ "ControlResourceSet", "nr-rrc.ControlResourceSet_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -14485,15 +28476,15 @@ void proto_register_nr_rrc(void) {
{ &hf_nr_rrc_controlResourceSetToReleaseList,
{ "controlResourceSetToReleaseList", "nr-rrc.controlResourceSetToReleaseList",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxNrofControlResourceSets_OF_ControlResourceId", HFILL }},
+ "SEQUENCE_SIZE_1_3_OF_ControlResourceSetId", HFILL }},
{ &hf_nr_rrc_controlResourceSetToReleaseList_item,
- { "ControlResourceId", "nr-rrc.ControlResourceId",
+ { "ControlResourceSetId", "nr-rrc.ControlResourceSetId",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_searchSpacesToAddModList,
{ "searchSpacesToAddModList", "nr-rrc.searchSpacesToAddModList",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxNrofSearchSpaces_OF_SearchSpace", HFILL }},
+ "SEQUENCE_SIZE_1_10_OF_SearchSpace", HFILL }},
{ &hf_nr_rrc_searchSpacesToAddModList_item,
{ "SearchSpace", "nr-rrc.SearchSpace_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -14501,191 +28492,79 @@ void proto_register_nr_rrc(void) {
{ &hf_nr_rrc_searchSpacesToReleaseList,
{ "searchSpacesToReleaseList", "nr-rrc.searchSpacesToReleaseList",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxNrofSearchSpaces_OF_SearchSpaceId", HFILL }},
+ "SEQUENCE_SIZE_1_10_OF_SearchSpaceId", HFILL }},
{ &hf_nr_rrc_searchSpacesToReleaseList_item,
{ "SearchSpaceId", "nr-rrc.SearchSpaceId",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_timing,
- { "timing", "nr-rrc.timing_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { &hf_nr_rrc_downlinkPreemption,
+ { "downlinkPreemption", "nr-rrc.downlinkPreemption",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_downlinkPreemption_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_dl_assignment_to_DL_data,
- { "dl-assignment-to-DL-data", "nr-rrc.dl_assignment_to_DL_data_element",
+ { &hf_nr_rrc_setup_26,
+ { "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
+ "DownlinkPreemption", HFILL }},
+ { &hf_nr_rrc_slotFormatIndicator,
+ { "slotFormatIndicator", "nr-rrc.slotFormatIndicator",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_slotFormatIndicator_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_ul_assignment_to_UL_data,
- { "ul-assignment-to-UL-data", "nr-rrc.ul_assignment_to_UL_data_element",
+ { &hf_nr_rrc_setup_27,
+ { "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
+ "SlotFormatIndicator", HFILL }},
+ { &hf_nr_rrc_tpc_PUSCH,
+ { "tpc-PUSCH", "nr-rrc.tpc_PUSCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_PUSCH_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_dl_data_to_UL_ACK,
- { "dl-data-to-UL-ACK", "nr-rrc.dl_data_to_UL_ACK_element",
+ { &hf_nr_rrc_setup_28,
+ { "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
+ "PUSCH_TPC_CommandConfig", HFILL }},
+ { &hf_nr_rrc_tpc_PUCCH,
+ { "tpc-PUCCH", "nr-rrc.tpc_PUCCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_PUCCH_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_controlResourceSetId,
- { "controlResourceSetId", "nr-rrc.controlResourceSetId",
- FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_frequencyDomainResources,
- { "frequencyDomainResources", "nr-rrc.frequencyDomainResources_element",
+ { &hf_nr_rrc_setup_29,
+ { "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_startSymbol,
- { "startSymbol", "nr-rrc.startSymbol",
+ "PUCCH_TPC_CommandConfig", HFILL }},
+ { &hf_nr_rrc_commonControlResourcesSets,
+ { "commonControlResourcesSets", "nr-rrc.commonControlResourcesSets",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_maxCoReSetStartSymbol", HFILL }},
- { &hf_nr_rrc_duration_01,
- { "duration", "nr-rrc.duration",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_maxCoReSetDuration", HFILL }},
- { &hf_nr_rrc_reg_BundleSize,
- { "reg-BundleSize", "nr-rrc.reg_BundleSize",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reg_BundleSize_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_cce_reg_MappingType,
- { "cce-reg-MappingType", "nr-rrc.cce_reg_MappingType",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cce_reg_MappingType_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_precoderGranularity,
- { "precoderGranularity", "nr-rrc.precoderGranularity_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_interleaverRows,
- { "interleaverRows", "nr-rrc.interleaverRows",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interleaverRows_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_shiftIndex,
- { "shiftIndex", "nr-rrc.shiftIndex_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_tci_StateRefId,
- { "tci-StateRefId", "nr-rrc.tci_StateRefId_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_pdcch_DMRS_ScramblingID,
- { "pdcch-DMRS-ScramblingID", "nr-rrc.pdcch_DMRS_ScramblingID_element",
+ "SEQUENCE_SIZE_1_2_OF_ControlResourceSet", HFILL }},
+ { &hf_nr_rrc_commonControlResourcesSets_item,
+ { "ControlResourceSet", "nr-rrc.ControlResourceSet_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_searchSpaceId,
- { "searchSpaceId", "nr-rrc.searchSpaceId",
+ { &hf_nr_rrc_commonSearchSpaces,
+ { "commonSearchSpaces", "nr-rrc.commonSearchSpaces",
FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_monitoringSlotPeriodicityAndOffset,
- { "monitoringSlotPeriodicityAndOffset", "nr-rrc.monitoringSlotPeriodicityAndOffset",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_monitoringSlotPeriodicityAndOffset_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_sl1,
- { "sl1", "nr-rrc.sl1_element",
+ "SEQUENCE_SIZE_1_4_OF_SearchSpace", HFILL }},
+ { &hf_nr_rrc_commonSearchSpaces_item,
+ { "SearchSpace", "nr-rrc.SearchSpace_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_sl2,
- { "sl2", "nr-rrc.sl2",
+ { &hf_nr_rrc_searchSpaceSIB1,
+ { "searchSpaceSIB1", "nr-rrc.searchSpaceSIB1",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_1", HFILL }},
- { &hf_nr_rrc_monitoringSymbolsWithinSlot,
- { "monitoringSymbolsWithinSlot", "nr-rrc.monitoringSymbolsWithinSlot",
- FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_14", HFILL }},
- { &hf_nr_rrc_nrofCandidates,
- { "nrofCandidates", "nr-rrc.nrofCandidates_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_aggregationLevel1,
- { "aggregationLevel1", "nr-rrc.aggregationLevel1",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel1_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_aggregationLevel2,
- { "aggregationLevel2", "nr-rrc.aggregationLevel2",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel2_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_aggregationLevel4,
- { "aggregationLevel4", "nr-rrc.aggregationLevel4",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel4_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_aggregationLevel8,
- { "aggregationLevel8", "nr-rrc.aggregationLevel8",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel8_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_searchSpaceType,
- { "searchSpaceType", "nr-rrc.searchSpaceType",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceType_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_common,
- { "common", "nr-rrc.common_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_sfi_PDCCH,
- { "sfi-PDCCH", "nr-rrc.sfi_PDCCH_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_preemp_DL,
- { "preemp-DL", "nr-rrc.preemp_DL",
- FT_BOOLEAN, BASE_NONE, NULL, 0,
- "BOOLEAN", HFILL }},
- { &hf_nr_rrc_int_RNTI,
- { "int-RNTI", "nr-rrc.int_RNTI",
- FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_16", HFILL }},
- { &hf_nr_rrc_int_TF,
- { "int-TF", "nr-rrc.int_TF",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_int_TF_vals), 0,
- "T_int_TF", HFILL }},
- { &hf_nr_rrc_monitoringPeriodicity,
- { "monitoringPeriodicity", "nr-rrc.monitoringPeriodicity_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_ue_Specific,
- { "ue-Specific", "nr-rrc.ue_Specific_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_monitoringPeriodicity_01,
- { "monitoringPeriodicity", "nr-rrc.monitoringPeriodicity",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_monitoringPeriodicity_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_sfi_CellToSFI,
- { "sfi-CellToSFI", "nr-rrc.sfi_CellToSFI",
+ "SearchSpaceId", HFILL }},
+ { &hf_nr_rrc_searchSpaceOtherSystemInformation,
+ { "searchSpaceOtherSystemInformation", "nr-rrc.searchSpaceOtherSystemInformation",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CellToSFI", HFILL }},
- { &hf_nr_rrc_sfi_CellToSFI_item,
- { "CellToSFI", "nr-rrc.CellToSFI_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_nrofPDCCH_Candidates,
- { "nrofPDCCH-Candidates", "nr-rrc.nrofPDCCH_Candidates",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPDCCH_Candidates_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_aggregationLevel,
- { "aggregationLevel", "nr-rrc.aggregationLevel",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_sfi_RNTI,
- { "sfi-RNTI", "nr-rrc.sfi_RNTI",
- FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_16", HFILL }},
- { &hf_nr_rrc_dci_PayloadLength,
- { "dci-PayloadLength", "nr-rrc.dci_PayloadLength_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_searchSpace,
- { "searchSpace", "nr-rrc.searchSpace_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_sfi_PositionInDCI,
- { "sfi-PositionInDCI", "nr-rrc.sfi_PositionInDCI",
+ "SearchSpaceId", HFILL }},
+ { &hf_nr_rrc_pagingSearchSpace,
+ { "pagingSearchSpace", "nr-rrc.pagingSearchSpace",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_1", HFILL }},
- { &hf_nr_rrc_slotFormatCombinations,
- { "slotFormatCombinations", "nr-rrc.slotFormatCombinations",
+ "SearchSpaceId", HFILL }},
+ { &hf_nr_rrc_ra_ControlResourceSet,
+ { "ra-ControlResourceSet", "nr-rrc.ra_ControlResourceSet",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxNrofSlotFormatCombinations_OF_SlotFormatCombination", HFILL }},
- { &hf_nr_rrc_slotFormatCombinations_item,
- { "SlotFormatCombination", "nr-rrc.SlotFormatCombination_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_slotFormatCombinationId,
- { "slotFormatCombinationId", "nr-rrc.slotFormatCombinationId",
+ "ControlResourceSetId", HFILL }},
+ { &hf_nr_rrc_ra_SearchSpace,
+ { "ra-SearchSpace", "nr-rrc.ra_SearchSpace",
FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
+ "SearchSpaceId", HFILL }},
{ &hf_nr_rrc_drb,
{ "drb", "nr-rrc.drb_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -14694,13 +28573,13 @@ void proto_register_nr_rrc(void) {
{ "discardTimer", "nr-rrc.discardTimer",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_discardTimer_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_pdcp_SN_Size_UL,
- { "pdcp-SN-Size-UL", "nr-rrc.pdcp_SN_Size_UL",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_SN_Size_UL_vals), 0,
+ { &hf_nr_rrc_pdcp_SN_SizeUL,
+ { "pdcp-SN-SizeUL", "nr-rrc.pdcp_SN_SizeUL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_SN_SizeUL_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_pdcp_SN_Size_DL,
- { "pdcp-SN-Size-DL", "nr-rrc.pdcp_SN_Size_DL",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_SN_Size_DL_vals), 0,
+ { &hf_nr_rrc_pdcp_SN_SizeDL,
+ { "pdcp-SN-SizeDL", "nr-rrc.pdcp_SN_SizeDL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_SN_SizeDL_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_headerCompression,
{ "headerCompression", "nr-rrc.headerCompression",
@@ -14758,6 +28637,10 @@ void proto_register_nr_rrc(void) {
{ "profile0x0104", "nr-rrc.profile0x0104",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
+ { &hf_nr_rrc_drb_ContinueROHC,
+ { "drb-ContinueROHC", "nr-rrc.drb_ContinueROHC",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
{ &hf_nr_rrc_uplinkOnlyROHC,
{ "uplinkOnlyROHC", "nr-rrc.uplinkOnlyROHC_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -14768,10 +28651,14 @@ void proto_register_nr_rrc(void) {
"T_profiles_01", HFILL }},
{ &hf_nr_rrc_integrityProtection,
{ "integrityProtection", "nr-rrc.integrityProtection",
- FT_BOOLEAN, BASE_NONE, NULL, 0,
- "BOOLEAN", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_integrityProtection_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_statusReportRequired,
{ "statusReportRequired", "nr-rrc.statusReportRequired",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_statusReportRequired_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_outOfOrderDelivery,
+ { "outOfOrderDelivery", "nr-rrc.outOfOrderDelivery",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_nr_rrc_moreThanOneRLC,
@@ -14792,472 +28679,976 @@ void proto_register_nr_rrc(void) {
"LogicalChannelIdentity", HFILL }},
{ &hf_nr_rrc_ul_DataSplitThreshold,
{ "ul-DataSplitThreshold", "nr-rrc.ul_DataSplitThreshold",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_DataSplitThreshold_vals), 0,
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_UL_DataSplitThreshold_vals_ext, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pdcp_Duplication,
+ { "pdcp-Duplication", "nr-rrc.pdcp_Duplication",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_Duplication_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_03,
- { "setup", "nr-rrc.setup",
- FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_setup_03_vals_ext, 0,
- "T_setup_03", HFILL }},
- { &hf_nr_rrc_ul_Duplication,
- { "ul-Duplication", "nr-rrc.ul_Duplication",
- FT_BOOLEAN, BASE_NONE, NULL, 0,
- "BOOLEAN", HFILL }},
{ &hf_nr_rrc_t_Reordering,
{ "t-Reordering", "nr-rrc.t_Reordering",
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_t_Reordering_vals_ext, 0,
"T_t_Reordering", HFILL }},
- { &hf_nr_rrc_outOfOrderDelivery,
- { "outOfOrderDelivery", "nr-rrc.outOfOrderDelivery",
- FT_BOOLEAN, BASE_NONE, NULL, 0,
- "BOOLEAN", HFILL }},
- { &hf_nr_rrc_codeBlockGroupTransmission,
- { "codeBlockGroupTransmission", "nr-rrc.codeBlockGroupTransmission",
- FT_BOOLEAN, BASE_NONE, NULL, 0,
- "BOOLEAN", HFILL }},
- { &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock,
- { "maxCodeBlockGroupsPerTransportBlock", "nr-rrc.maxCodeBlockGroupsPerTransportBlock",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_codeBlockGroupFlushIndicator,
- { "codeBlockGroupFlushIndicator", "nr-rrc.codeBlockGroupFlushIndicator",
- FT_BOOLEAN, BASE_NONE, NULL, 0,
- "BOOLEAN", HFILL }},
- { &hf_nr_rrc_dmrs_Type,
- { "dmrs-Type", "nr-rrc.dmrs_Type",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_Type_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_dmrs_AdditionalPosition,
- { "dmrs-AdditionalPosition", "nr-rrc.dmrs_AdditionalPosition",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_AdditionalPosition_vals), 0,
+ { &hf_nr_rrc_dataScramblingIdentityPDSCH,
+ { "dataScramblingIdentityPDSCH", "nr-rrc.dataScramblingIdentityPDSCH",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_1007", HFILL }},
+ { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA,
+ { "dmrs-DownlinkForPDSCH-MappingTypeA", "nr-rrc.dmrs_DownlinkForPDSCH_MappingTypeA",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_dmrs_group1,
- { "dmrs-group1", "nr-rrc.dmrs_group1_element",
+ { &hf_nr_rrc_setup_30,
+ { "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
+ "DMRS_DownlinkConfig", HFILL }},
+ { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeB,
+ { "dmrs-DownlinkForPDSCH-MappingTypeB", "nr-rrc.dmrs_DownlinkForPDSCH_MappingTypeB",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_dmrs_group2,
- { "dmrs-group2", "nr-rrc.dmrs_group2_element",
+ { &hf_nr_rrc_tci_StatesToAddModList,
+ { "tci-StatesToAddModList", "nr-rrc.tci_StatesToAddModList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State", HFILL }},
+ { &hf_nr_rrc_tci_StatesToAddModList_item,
+ { "TCI-State", "nr-rrc.TCI_State_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_phaseTracking_RS,
- { "phaseTracking-RS", "nr-rrc.phaseTracking_RS",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phaseTracking_RS_vals), 0,
+ { &hf_nr_rrc_tci_StatesToReleaseList,
+ { "tci-StatesToReleaseList", "nr-rrc.tci_StatesToReleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId", HFILL }},
+ { &hf_nr_rrc_tci_StatesToReleaseList_item,
+ { "TCI-StateId", "nr-rrc.TCI_StateId",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_04,
- { "setup", "nr-rrc.setup_element",
- FT_NONE, BASE_NONE, NULL, 0,
- "Downlink_PTRS_Config", HFILL }},
- { &hf_nr_rrc_tci_States,
- { "tci-States", "nr-rrc.tci_States_element",
+ { &hf_nr_rrc_vrb_ToPRB_Interleaver,
+ { "vrb-ToPRB-Interleaver", "nr-rrc.vrb_ToPRB_Interleaver",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_vrb_ToPRB_Interleaver_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_resourceAllocation_01,
+ { "resourceAllocation", "nr-rrc.resourceAllocation",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocation_01_vals), 0,
+ "T_resourceAllocation_01", HFILL }},
+ { &hf_nr_rrc_pdsch_AllocationList,
+ { "pdsch-AllocationList", "nr-rrc.pdsch_AllocationList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResourceAllocation", HFILL }},
+ { &hf_nr_rrc_pdsch_AllocationList_item,
+ { "PDSCH-TimeDomainResourceAllocation", "nr-rrc.PDSCH_TimeDomainResourceAllocation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_tci_rs_SetConfig,
- { "tci-rs-SetConfig", "nr-rrc.tci_rs_SetConfig_element",
+ { &hf_nr_rrc_pdsch_AggregationFactor,
+ { "pdsch-AggregationFactor", "nr-rrc.pdsch_AggregationFactor",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_AggregationFactor_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rateMatchPatternToAddModList,
+ { "rateMatchPatternToAddModList", "nr-rrc.rateMatchPatternToAddModList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern", HFILL }},
+ { &hf_nr_rrc_rateMatchPatternToAddModList_item,
+ { "RateMatchPattern", "nr-rrc.RateMatchPattern_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_tci_PresentInDCI,
- { "tci-PresentInDCI", "nr-rrc.tci_PresentInDCI",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tci_PresentInDCI_vals), 0,
+ { &hf_nr_rrc_rateMatchPatternToReleaseList,
+ { "rateMatchPatternToReleaseList", "nr-rrc.rateMatchPatternToReleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId", HFILL }},
+ { &hf_nr_rrc_rateMatchPatternToReleaseList_item,
+ { "RateMatchPatternId", "nr-rrc.RateMatchPatternId",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_xOverhead,
- { "xOverhead", "nr-rrc.xOverhead",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_xOverhead_vals), 0,
+ { &hf_nr_rrc_rateMatchPatternGroup1,
+ { "rateMatchPatternGroup1", "nr-rrc.rateMatchPatternGroup1",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId", HFILL }},
+ { &hf_nr_rrc_rateMatchPatternGroup1_item,
+ { "RateMatchPatternId", "nr-rrc.RateMatchPatternId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rateMatchPatternGroup2,
+ { "rateMatchPatternGroup2", "nr-rrc.rateMatchPatternGroup2",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId", HFILL }},
+ { &hf_nr_rrc_rateMatchPatternGroup2_item,
+ { "RateMatchPatternId", "nr-rrc.RateMatchPatternId",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_pdsch_symbolAllocation,
- { "pdsch-symbolAllocation", "nr-rrc.pdsch_symbolAllocation_element",
+ { &hf_nr_rrc_rbg_Size_01,
+ { "rbg-Size", "nr-rrc.rbg_Size",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rbg_Size_01_vals), 0,
+ "T_rbg_Size_01", HFILL }},
+ { &hf_nr_rrc_mcs_Table_01,
+ { "mcs-Table", "nr-rrc.mcs_Table",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_Table_01_vals), 0,
+ "T_mcs_Table_01", HFILL }},
+ { &hf_nr_rrc_maxNrofCodeWordsScheduledByDCI,
+ { "maxNrofCodeWordsScheduledByDCI", "nr-rrc.maxNrofCodeWordsScheduledByDCI",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNrofCodeWordsScheduledByDCI_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_prb_BundlingType,
+ { "prb-BundlingType", "nr-rrc.prb_BundlingType",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prb_BundlingType_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_static,
+ { "static", "nr-rrc.static_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_rateMatchResourcesPDSCH,
- { "rateMatchResourcesPDSCH", "nr-rrc.rateMatchResourcesPDSCH_element",
+ { &hf_nr_rrc_bundleSize,
+ { "bundleSize", "nr-rrc.bundleSize",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bundleSize_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dynamic_01,
+ { "dynamic", "nr-rrc.dynamic_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_rateMatchPatterns,
- { "rateMatchPatterns", "nr-rrc.rateMatchPatterns",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatchPatterns_vals), 0,
+ { &hf_nr_rrc_bundleSizeSet1,
+ { "bundleSizeSet1", "nr-rrc.bundleSizeSet1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bundleSizeSet1_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_05,
- { "setup", "nr-rrc.setup",
+ { &hf_nr_rrc_bundleSizeSet2,
+ { "bundleSizeSet2", "nr-rrc.bundleSizeSet2",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bundleSizeSet2_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_zp_CSI_RS_ResourceToAddModList,
+ { "zp-CSI-RS-ResourceToAddModList", "nr-rrc.zp_CSI_RS_ResourceToAddModList",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern", HFILL }},
- { &hf_nr_rrc_setup_item,
- { "RateMatchPattern", "nr-rrc.RateMatchPattern_element",
+ "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource", HFILL }},
+ { &hf_nr_rrc_zp_CSI_RS_ResourceToAddModList_item,
+ { "ZP-CSI-RS-Resource", "nr-rrc.ZP_CSI_RS_Resource_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_lte_CRS_ToMatchAround,
- { "lte-CRS-ToMatchAround", "nr-rrc.lte_CRS_ToMatchAround",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lte_CRS_ToMatchAround_vals), 0,
+ { &hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList,
+ { "zp-CSI-RS-ResourceToReleaseList", "nr-rrc.zp_CSI_RS_ResourceToReleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId", HFILL }},
+ { &hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList_item,
+ { "ZP-CSI-RS-ResourceId", "nr-rrc.ZP_CSI_RS_ResourceId",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_06,
- { "setup", "nr-rrc.setup_element",
+ { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList,
+ { "aperiodic-ZP-CSI-RS-ResourceSetsToAddModList", "nr-rrc.aperiodic_ZP_CSI_RS_ResourceSetsToAddModList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSet", HFILL }},
+ { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList_item,
+ { "ZP-CSI-RS-ResourceSet", "nr-rrc.ZP_CSI_RS_ResourceSet_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_setup_04", HFILL }},
- { &hf_nr_rrc_nrofCRS_Ports,
- { "nrofCRS-Ports", "nr-rrc.nrofCRS_Ports",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofCRS_Ports_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_v_Shift,
- { "v-Shift", "nr-rrc.v_Shift",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_v_Shift_vals), 0,
+ { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList,
+ { "aperiodic-ZP-CSI-RS-ResourceSetsToReleaseList", "nr-rrc.aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSetId", HFILL }},
+ { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList_item,
+ { "ZP-CSI-RS-ResourceSetId", "nr-rrc.ZP_CSI_RS_ResourceSetId",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_rbg_Size,
- { "rbg-Size", "nr-rrc.rbg_Size",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rbg_Size_vals), 0,
+ { &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList,
+ { "sp-ZP-CSI-RS-ResourceSetsToAddModList", "nr-rrc.sp_ZP_CSI_RS_ResourceSetsToAddModList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSet", HFILL }},
+ { &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList_item,
+ { "ZP-CSI-RS-ResourceSet", "nr-rrc.ZP_CSI_RS_ResourceSet_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_mcs_Table,
- { "mcs-Table", "nr-rrc.mcs_Table",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_Table_vals), 0,
+ { &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList,
+ { "sp-ZP-CSI-RS-ResourceSetsToReleaseList", "nr-rrc.sp_ZP_CSI_RS_ResourceSetsToReleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSetId", HFILL }},
+ { &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList_item,
+ { "ZP-CSI-RS-ResourceSetId", "nr-rrc.ZP_CSI_RS_ResourceSetId",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_maxNrofCodeWordsScheduledByDCI,
- { "maxNrofCodeWordsScheduledByDCI", "nr-rrc.maxNrofCodeWordsScheduledByDCI",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNrofCodeWordsScheduledByDCI_vals), 0,
+ { &hf_nr_rrc_codeBlockGroupTransmission,
+ { "codeBlockGroupTransmission", "nr-rrc.codeBlockGroupTransmission",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codeBlockGroupTransmission_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_nrofHARQ_processesForPDSCH,
- { "nrofHARQ-processesForPDSCH", "nr-rrc.nrofHARQ_processesForPDSCH_element",
+ { &hf_nr_rrc_setup_31,
+ { "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
+ "PDSCH_CodeBlockGroupTransmission", HFILL }},
+ { &hf_nr_rrc_xOverhead,
+ { "xOverhead", "nr-rrc.xOverhead",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_xOverhead_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_harq_ACK_Codebook,
- { "harq-ACK-Codebook", "nr-rrc.harq_ACK_Codebook",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_ACK_Codebook_vals), 0,
+ { &hf_nr_rrc_nrofHARQ_ProcessesForPDSCH,
+ { "nrofHARQ-ProcessesForPDSCH", "nr-rrc.nrofHARQ_ProcessesForPDSCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofHARQ_ProcessesForPDSCH_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_pdsch_BundleSize,
- { "pdsch-BundleSize", "nr-rrc.pdsch_BundleSize_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { &hf_nr_rrc_pucch_Cell,
+ { "pucch-Cell", "nr-rrc.pucch_Cell",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ServCellIndex", HFILL }},
+ { &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock,
+ { "maxCodeBlockGroupsPerTransportBlock", "nr-rrc.maxCodeBlockGroupsPerTransportBlock",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_prbBundlingEnabled,
- { "prbBundlingEnabled", "nr-rrc.prbBundlingEnabled",
+ { &hf_nr_rrc_codeBlockGroupFlushIndicator,
+ { "codeBlockGroupFlushIndicator", "nr-rrc.codeBlockGroupFlushIndicator",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
+ { &hf_nr_rrc_k0,
+ { "k0", "nr-rrc.k0",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_3", HFILL }},
+ { &hf_nr_rrc_mappingType,
+ { "mappingType", "nr-rrc.mappingType",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mappingType_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_startSymbolAndLength,
+ { "startSymbolAndLength", "nr-rrc.startSymbolAndLength",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_7", HFILL }},
{ &hf_nr_rrc_frequencyDensity,
- { "frequencyDensity", "nr-rrc.frequencyDensity_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { "frequencyDensity", "nr-rrc.frequencyDensity",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_frequencyDensity_item,
+ { "frequencyDensity item", "nr-rrc.frequencyDensity_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_276", HFILL }},
{ &hf_nr_rrc_timeDensity,
- { "timeDensity", "nr-rrc.timeDensity_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { "timeDensity", "nr-rrc.timeDensity",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_nrofPorts_01,
- { "nrofPorts", "nr-rrc.nrofPorts",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPorts_01_vals), 0,
- "T_nrofPorts_01", HFILL }},
- { &hf_nr_rrc_epre_Ratio,
- { "epre-Ratio", "nr-rrc.epre_Ratio_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { &hf_nr_rrc_timeDensity_item,
+ { "timeDensity item", "nr-rrc.timeDensity_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_29", HFILL }},
+ { &hf_nr_rrc_epre_RatioPort1,
+ { "epre-RatioPort1", "nr-rrc.epre_RatioPort1",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_3", HFILL }},
+ { &hf_nr_rrc_epre_RatioPort2,
+ { "epre-RatioPort2", "nr-rrc.epre_RatioPort2",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_epre_RatioPort2_item,
+ { "epre-RatioPort2 item", "nr-rrc.epre_RatioPort2_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_3", HFILL }},
{ &hf_nr_rrc_resourceElementOffset,
- { "resourceElementOffset", "nr-rrc.resourceElementOffset_element",
+ { "resourceElementOffset", "nr-rrc.resourceElementOffset",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceElementOffset_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_modeSpecificParameters,
+ { "modeSpecificParameters", "nr-rrc.modeSpecificParameters",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_modeSpecificParameters_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_cp_OFDM,
+ { "cp-OFDM", "nr-rrc.cp_OFDM_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_resourceBlocks,
- { "resourceBlocks", "nr-rrc.resourceBlocks",
- FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_275", HFILL }},
- { &hf_nr_rrc_symbolsInResourceBlock,
- { "symbolsInResourceBlock", "nr-rrc.symbolsInResourceBlock",
- FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_14", HFILL }},
- { &hf_nr_rrc_periodicityAndOffset_01,
- { "periodicityAndOffset", "nr-rrc.periodicityAndOffset",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndOffset_01_vals), 0,
- "T_periodicityAndOffset_01", HFILL }},
- { &hf_nr_rrc_n5,
- { "n5", "nr-rrc.n5",
+ { &hf_nr_rrc_frequencyDensity_01,
+ { "frequencyDensity", "nr-rrc.frequencyDensity",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_4", HFILL }},
- { &hf_nr_rrc_n10,
- { "n10", "nr-rrc.n10",
+ "T_frequencyDensity_01", HFILL }},
+ { &hf_nr_rrc_timeDensity_01,
+ { "timeDensity", "nr-rrc.timeDensity",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_9", HFILL }},
- { &hf_nr_rrc_n20,
- { "n20", "nr-rrc.n20",
+ "T_timeDensity_01", HFILL }},
+ { &hf_nr_rrc_maxNrofPorts,
+ { "maxNrofPorts", "nr-rrc.maxNrofPorts",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNrofPorts_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_resourceElementOffset_01,
+ { "resourceElementOffset", "nr-rrc.resourceElementOffset",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceElementOffset_01_vals), 0,
+ "T_resourceElementOffset_01", HFILL }},
+ { &hf_nr_rrc_ptrs_Power,
+ { "ptrs-Power", "nr-rrc.ptrs_Power",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ptrs_Power_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dft_S_OFDM,
+ { "dft-S-OFDM", "nr-rrc.dft_S_OFDM_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_dft_S_OFDM", HFILL }},
+ { &hf_nr_rrc_sampleDensity,
+ { "sampleDensity", "nr-rrc.sampleDensity",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_19", HFILL }},
- { &hf_nr_rrc_n40,
- { "n40", "nr-rrc.n40",
+ NULL, HFILL }},
+ { &hf_nr_rrc_sampleDensity_item,
+ { "sampleDensity item", "nr-rrc.sampleDensity_item",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_39", HFILL }},
- { &hf_nr_rrc_resourceSets,
- { "resourceSets", "nr-rrc.resourceSets",
+ "INTEGER_1_276", HFILL }},
+ { &hf_nr_rrc_timeDensity_02,
+ { "timeDensity", "nr-rrc.timeDensity",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeDensity_02_vals), 0,
+ "T_timeDensity_02", HFILL }},
+ { &hf_nr_rrc_resourceSetToAddModList,
+ { "resourceSetToAddModList", "nr-rrc.resourceSetToAddModList",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_1_OF_PUCCH_ResourceSet", HFILL }},
- { &hf_nr_rrc_resourceSets_item,
+ "SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet", HFILL }},
+ { &hf_nr_rrc_resourceSetToAddModList_item,
{ "PUCCH-ResourceSet", "nr-rrc.PUCCH_ResourceSet_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_resourceSetToReleaseList,
+ { "resourceSetToReleaseList", "nr-rrc.resourceSetToReleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId", HFILL }},
+ { &hf_nr_rrc_resourceSetToReleaseList_item,
+ { "PUCCH-ResourceSetId", "nr-rrc.PUCCH_ResourceSetId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_resourceToAddModList,
+ { "resourceToAddModList", "nr-rrc.resourceToAddModList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource", HFILL }},
+ { &hf_nr_rrc_resourceToAddModList_item,
+ { "PUCCH-Resource", "nr-rrc.PUCCH_Resource_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_resourceToReleaseList,
+ { "resourceToReleaseList", "nr-rrc.resourceToReleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId", HFILL }},
+ { &hf_nr_rrc_resourceToReleaseList_item,
+ { "PUCCH-ResourceId", "nr-rrc.PUCCH_ResourceId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_format1,
{ "format1", "nr-rrc.format1",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format1_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_07,
+ { &hf_nr_rrc_setup_32,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_setup_05", HFILL }},
- { &hf_nr_rrc_interslotFrequencyHopping,
- { "interslotFrequencyHopping", "nr-rrc.interslotFrequencyHopping",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interslotFrequencyHopping_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_nrofSlots,
- { "nrofSlots", "nr-rrc.nrofSlots",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSlots_vals), 0,
- NULL, HFILL }},
+ "PUCCH_FormatConfig", HFILL }},
{ &hf_nr_rrc_format2,
{ "format2", "nr-rrc.format2",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format2_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_08,
- { "setup", "nr-rrc.setup_element",
+ { &hf_nr_rrc_format3,
+ { "format3", "nr-rrc.format3",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format3_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_format4,
+ { "format4", "nr-rrc.format4",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format4_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_schedulingRequestResourceToAddModList,
+ { "schedulingRequestResourceToAddModList", "nr-rrc.schedulingRequestResourceToAddModList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig", HFILL }},
+ { &hf_nr_rrc_schedulingRequestResourceToAddModList_item,
+ { "SchedulingRequestResourceConfig", "nr-rrc.SchedulingRequestResourceConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_setup_06", HFILL }},
- { &hf_nr_rrc_maxCodeRate,
- { "maxCodeRate", "nr-rrc.maxCodeRate",
+ NULL, HFILL }},
+ { &hf_nr_rrc_schedulingRequestResourceToReleaseList,
+ { "schedulingRequestResourceToReleaseList", "nr-rrc.schedulingRequestResourceToReleaseList",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_7", HFILL }},
- { &hf_nr_rrc_nrofPRBs,
- { "nrofPRBs", "nr-rrc.nrofPRBs",
+ "SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId", HFILL }},
+ { &hf_nr_rrc_schedulingRequestResourceToReleaseList_item,
+ { "SchedulingRequestResourceId", "nr-rrc.SchedulingRequestResourceId",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_16", HFILL }},
- { &hf_nr_rrc_simultaneousHARQ_ACK_CSI,
- { "simultaneousHARQ-ACK-CSI", "nr-rrc.simultaneousHARQ_ACK_CSI",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousHARQ_ACK_CSI_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_format3,
- { "format3", "nr-rrc.format3",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format3_vals), 0,
+ { &hf_nr_rrc_multi_CSI_PUCCH_ResourceList,
+ { "multi-CSI-PUCCH-ResourceList", "nr-rrc.multi_CSI_PUCCH_ResourceList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId", HFILL }},
+ { &hf_nr_rrc_multi_CSI_PUCCH_ResourceList_item,
+ { "PUCCH-ResourceId", "nr-rrc.PUCCH_ResourceId",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_09,
- { "setup", "nr-rrc.setup_element",
+ { &hf_nr_rrc_dl_DataToUL_ACK,
+ { "dl-DataToUL-ACK", "nr-rrc.dl_DataToUL_ACK",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dl_DataToUL_ACK_item,
+ { "dl-DataToUL-ACK item", "nr-rrc.dl_DataToUL_ACK_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_15", HFILL }},
+ { &hf_nr_rrc_spatialRelationInfoToAddModList,
+ { "spatialRelationInfoToAddModList", "nr-rrc.spatialRelationInfoToAddModList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo", HFILL }},
+ { &hf_nr_rrc_spatialRelationInfoToAddModList_item,
+ { "PUCCH-SpatialRelationInfo", "nr-rrc.PUCCH_SpatialRelationInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_spatialRelationInfoToReleaseList,
+ { "spatialRelationInfoToReleaseList", "nr-rrc.spatialRelationInfoToReleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId", HFILL }},
+ { &hf_nr_rrc_spatialRelationInfoToReleaseList_item,
+ { "PUCCH-SpatialRelationInfoId", "nr-rrc.PUCCH_SpatialRelationInfoId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pucch_PowerControl,
+ { "pucch-PowerControl", "nr-rrc.pucch_PowerControl_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_setup_07", HFILL }},
- { &hf_nr_rrc_interslotFrequencyHopping_01,
+ NULL, HFILL }},
+ { &hf_nr_rrc_interslotFrequencyHopping,
{ "interslotFrequencyHopping", "nr-rrc.interslotFrequencyHopping",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interslotFrequencyHopping_01_vals), 0,
- "T_interslotFrequencyHopping_01", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interslotFrequencyHopping_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_additionalDMRS,
{ "additionalDMRS", "nr-rrc.additionalDMRS",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalDMRS_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_nrofSlots_01,
+ { &hf_nr_rrc_maxCodeRate,
+ { "maxCodeRate", "nr-rrc.maxCodeRate",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_PUCCH_MaxCodeRate_vals), 0,
+ "PUCCH_MaxCodeRate", HFILL }},
+ { &hf_nr_rrc_nrofSlots,
{ "nrofSlots", "nr-rrc.nrofSlots",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSlots_01_vals), 0,
- "T_nrofSlots_01", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSlots_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_pi2PBSK,
{ "pi2PBSK", "nr-rrc.pi2PBSK",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pi2PBSK_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_format4,
- { "format4", "nr-rrc.format4",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format4_vals), 0,
+ { &hf_nr_rrc_simultaneousHARQ_ACK_CSI,
+ { "simultaneousHARQ-ACK-CSI", "nr-rrc.simultaneousHARQ_ACK_CSI",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousHARQ_ACK_CSI_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_10,
- { "setup", "nr-rrc.setup_element",
- FT_NONE, BASE_NONE, NULL, 0,
- "T_setup_08", HFILL }},
- { &hf_nr_rrc_interslotFrequencyHopping_02,
- { "interslotFrequencyHopping", "nr-rrc.interslotFrequencyHopping",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interslotFrequencyHopping_02_vals), 0,
- "T_interslotFrequencyHopping_02", HFILL }},
- { &hf_nr_rrc_additionalDMRS_01,
- { "additionalDMRS", "nr-rrc.additionalDMRS",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalDMRS_01_vals), 0,
- "T_additionalDMRS_01", HFILL }},
- { &hf_nr_rrc_nrofSlots_02,
- { "nrofSlots", "nr-rrc.nrofSlots",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSlots_02_vals), 0,
- "T_nrofSlots_02", HFILL }},
- { &hf_nr_rrc_pi2PBSK_01,
- { "pi2PBSK", "nr-rrc.pi2PBSK",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pi2PBSK_01_vals), 0,
- "T_pi2PBSK_01", HFILL }},
- { &hf_nr_rrc_schedulingRequestResources,
- { "schedulingRequestResources", "nr-rrc.schedulingRequestResources",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_schedulingRequestResources_vals), 0,
+ { &hf_nr_rrc_pucch_SpatialRelationInfoId,
+ { "pucch-SpatialRelationInfoId", "nr-rrc.pucch_SpatialRelationInfoId",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_11,
- { "setup", "nr-rrc.setup",
+ { &hf_nr_rrc_referenceSignal,
+ { "referenceSignal", "nr-rrc.referenceSignal",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_RS_Index_01,
+ { "csi-RS-Index", "nr-rrc.csi_RS_Index",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NZP_CSI_RS_ResourceId", HFILL }},
+ { &hf_nr_rrc_srs,
+ { "srs", "nr-rrc.srs",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SRS_ResourceId", HFILL }},
+ { &hf_nr_rrc_pucch_PathlossReferenceRS_Id,
+ { "pucch-PathlossReferenceRS-Id", "nr-rrc.pucch_PathlossReferenceRS_Id",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_p0_PUCCH_Id,
+ { "p0-PUCCH-Id", "nr-rrc.p0_PUCCH_Id",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_closedLoopIndex,
+ { "closedLoopIndex", "nr-rrc.closedLoopIndex",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_closedLoopIndex_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pucch_ResourceSetId,
+ { "pucch-ResourceSetId", "nr-rrc.pucch_ResourceSetId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_resources,
+ { "resources", "nr-rrc.resources",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_8_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId", HFILL }},
+ { &hf_nr_rrc_resources_item,
+ { "PUCCH-ResourceId", "nr-rrc.PUCCH_ResourceId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_maxPayloadMinus1,
+ { "maxPayloadMinus1", "nr-rrc.maxPayloadMinus1",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_4_256", HFILL }},
+ { &hf_nr_rrc_pucch_ResourceId,
+ { "pucch-ResourceId", "nr-rrc.pucch_ResourceId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_startingPRB,
+ { "startingPRB", "nr-rrc.startingPRB",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxNrofSchedulingRequestResoruces_OF_SchedulingRequestResource_Config", HFILL }},
- { &hf_nr_rrc_setup_item_01,
- { "SchedulingRequestResource-Config", "nr-rrc.SchedulingRequestResource_Config_element",
+ "PRB_Id", HFILL }},
+ { &hf_nr_rrc_intraSlotFrequencyHopping,
+ { "intraSlotFrequencyHopping", "nr-rrc.intraSlotFrequencyHopping",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraSlotFrequencyHopping_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_secondHopPRB,
+ { "secondHopPRB", "nr-rrc.secondHopPRB",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "PRB_Id", HFILL }},
+ { &hf_nr_rrc_format,
+ { "format", "nr-rrc.format",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_format0,
+ { "format0", "nr-rrc.format0_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PUCCH_format0", HFILL }},
+ { &hf_nr_rrc_format1_01,
+ { "format1", "nr-rrc.format1_element",
FT_NONE, BASE_NONE, NULL, 0,
+ "PUCCH_format1", HFILL }},
+ { &hf_nr_rrc_format2_01,
+ { "format2", "nr-rrc.format2_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PUCCH_format2", HFILL }},
+ { &hf_nr_rrc_format3_01,
+ { "format3", "nr-rrc.format3_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PUCCH_format3", HFILL }},
+ { &hf_nr_rrc_format4_01,
+ { "format4", "nr-rrc.format4_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PUCCH_format4", HFILL }},
+ { &hf_nr_rrc_initialCyclicShift,
+ { "initialCyclicShift", "nr-rrc.initialCyclicShift",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_11", HFILL }},
+ { &hf_nr_rrc_nrofSymbols,
+ { "nrofSymbols", "nr-rrc.nrofSymbols",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_2", HFILL }},
+ { &hf_nr_rrc_startingSymbolIndex,
+ { "startingSymbolIndex", "nr-rrc.startingSymbolIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_13", HFILL }},
+ { &hf_nr_rrc_nrofSymbols_01,
+ { "nrofSymbols", "nr-rrc.nrofSymbols",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_4_14", HFILL }},
+ { &hf_nr_rrc_startingSymbolIndex_01,
+ { "startingSymbolIndex", "nr-rrc.startingSymbolIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_10", HFILL }},
+ { &hf_nr_rrc_timeDomainOCC,
+ { "timeDomainOCC", "nr-rrc.timeDomainOCC",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_6", HFILL }},
+ { &hf_nr_rrc_nrofPRBs_01,
+ { "nrofPRBs", "nr-rrc.nrofPRBs",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_16", HFILL }},
+ { &hf_nr_rrc_occ_Length,
+ { "occ-Length", "nr-rrc.occ_Length",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_occ_Length_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_tpc_PUCCH_RNTI,
- { "tpc-PUCCH-RNTI", "nr-rrc.tpc_PUCCH_RNTI",
+ { &hf_nr_rrc_occ_Index,
+ { "occ-Index", "nr-rrc.occ_Index",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_occ_Index_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pucch_ResourceCommon,
+ { "pucch-ResourceCommon", "nr-rrc.pucch_ResourceCommon",
FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_16", HFILL }},
- { &hf_nr_rrc_codeBlockGroupTransmission_01,
- { "codeBlockGroupTransmission", "nr-rrc.codeBlockGroupTransmission",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codeBlockGroupTransmission_vals), 0,
+ "BIT_STRING_SIZE_4", HFILL }},
+ { &hf_nr_rrc_pucch_GroupHopping,
+ { "pucch-GroupHopping", "nr-rrc.pucch_GroupHopping",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_GroupHopping_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock_01,
- { "maxCodeBlockGroupsPerTransportBlock", "nr-rrc.maxCodeBlockGroupsPerTransportBlock",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01_vals), 0,
- "T_maxCodeBlockGroupsPerTransportBlock_01", HFILL }},
- { &hf_nr_rrc_dmrs_Type_01,
- { "dmrs-Type", "nr-rrc.dmrs_Type",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_Type_01_vals), 0,
- "T_dmrs_Type_01", HFILL }},
- { &hf_nr_rrc_dmrs_AdditionalPosition_01,
- { "dmrs-AdditionalPosition", "nr-rrc.dmrs_AdditionalPosition",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_AdditionalPosition_01_vals), 0,
- "T_dmrs_AdditionalPosition_01", HFILL }},
- { &hf_nr_rrc_phaseTracking_RS_01,
- { "phaseTracking-RS", "nr-rrc.phaseTracking_RS",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phaseTracking_RS_01_vals), 0,
- "T_phaseTracking_RS_01", HFILL }},
- { &hf_nr_rrc_setup_12,
- { "setup", "nr-rrc.setup_element",
+ { &hf_nr_rrc_hoppingId,
+ { "hoppingId", "nr-rrc.hoppingId",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_10", HFILL }},
+ { &hf_nr_rrc_p0_nominal,
+ { "p0-nominal", "nr-rrc.p0_nominal",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER_M202_24", HFILL }},
+ { &hf_nr_rrc_deltaF_PUCCH_f0,
+ { "deltaF-PUCCH-f0", "nr-rrc.deltaF_PUCCH_f0",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER_M16_15", HFILL }},
+ { &hf_nr_rrc_deltaF_PUCCH_f1,
+ { "deltaF-PUCCH-f1", "nr-rrc.deltaF_PUCCH_f1",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER_M16_15", HFILL }},
+ { &hf_nr_rrc_deltaF_PUCCH_f2,
+ { "deltaF-PUCCH-f2", "nr-rrc.deltaF_PUCCH_f2",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER_M16_15", HFILL }},
+ { &hf_nr_rrc_deltaF_PUCCH_f3,
+ { "deltaF-PUCCH-f3", "nr-rrc.deltaF_PUCCH_f3",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER_M16_15", HFILL }},
+ { &hf_nr_rrc_deltaF_PUCCH_f4,
+ { "deltaF-PUCCH-f4", "nr-rrc.deltaF_PUCCH_f4",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER_M16_15", HFILL }},
+ { &hf_nr_rrc_p0_Set,
+ { "p0-Set", "nr-rrc.p0_Set",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH", HFILL }},
+ { &hf_nr_rrc_p0_Set_item,
+ { "P0-PUCCH", "nr-rrc.P0_PUCCH_element",
FT_NONE, BASE_NONE, NULL, 0,
- "Uplink_PTRS_Config", HFILL }},
- { &hf_nr_rrc_tpcAccumulation,
- { "tpcAccumulation", "nr-rrc.tpcAccumulation",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpcAccumulation_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_tcp_PUSCH_RNTI,
- { "tcp-PUSCH-RNTI", "nr-rrc.tcp_PUSCH_RNTI",
- FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_16", HFILL }},
- { &hf_nr_rrc_frequencyHopping,
- { "frequencyHopping", "nr-rrc.frequencyHopping",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyHopping_vals), 0,
+ { &hf_nr_rrc_pathlossReferenceRSs,
+ { "pathlossReferenceRSs", "nr-rrc.pathlossReferenceRSs",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS", HFILL }},
+ { &hf_nr_rrc_pathlossReferenceRSs_item,
+ { "PUCCH-PathlossReferenceRS", "nr-rrc.PUCCH_PathlossReferenceRS_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_rateMatching,
- { "rateMatching", "nr-rrc.rateMatching",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatching_vals), 0,
+ { &hf_nr_rrc_twoPUCCH_PC_AdjustmentStates,
+ { "twoPUCCH-PC-AdjustmentStates", "nr-rrc.twoPUCCH_PC_AdjustmentStates",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_PC_AdjustmentStates_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_p0_PUCCH_Value,
+ { "p0-PUCCH-Value", "nr-rrc.p0_PUCCH_Value",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER_M16_15", HFILL }},
+ { &hf_nr_rrc_referenceSignal_01,
+ { "referenceSignal", "nr-rrc.referenceSignal",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_01_vals), 0,
+ "T_referenceSignal_01", HFILL }},
+ { &hf_nr_rrc_tpc_IndexPCell,
+ { "tpc-IndexPCell", "nr-rrc.tpc_IndexPCell",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_15", HFILL }},
+ { &hf_nr_rrc_tpc_IndexPUCCH_SCell,
+ { "tpc-IndexPUCCH-SCell", "nr-rrc.tpc_IndexPUCCH_SCell",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_15", HFILL }},
+ { &hf_nr_rrc_dataScramblingIdentityPUSCH,
+ { "dataScramblingIdentityPUSCH", "nr-rrc.dataScramblingIdentityPUSCH",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_1007", HFILL }},
+ { &hf_nr_rrc_txConfig,
+ { "txConfig", "nr-rrc.txConfig",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_txConfig_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_rateMatchResources,
- { "rateMatchResources", "nr-rrc.rateMatchResources_element",
+ { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA,
+ { "dmrs-UplinkForPUSCH-MappingTypeA", "nr-rrc.dmrs_UplinkForPUSCH_MappingTypeA",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_33,
+ { "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
+ "DMRS_UplinkConfig", HFILL }},
+ { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeB,
+ { "dmrs-UplinkForPUSCH-MappingTypeB", "nr-rrc.dmrs_UplinkForPUSCH_MappingTypeB",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_symbolAllocationIndexs,
- { "symbolAllocationIndexs", "nr-rrc.symbolAllocationIndexs_element",
+ { &hf_nr_rrc_pusch_PowerControl,
+ { "pusch-PowerControl", "nr-rrc.pusch_PowerControl_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_mcs_Table_01,
+ { &hf_nr_rrc_frequencyHopping_01,
+ { "frequencyHopping", "nr-rrc.frequencyHopping",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyHopping_01_vals), 0,
+ "T_frequencyHopping_01", HFILL }},
+ { &hf_nr_rrc_frequencyHoppingOffsetLists,
+ { "frequencyHoppingOffsetLists", "nr-rrc.frequencyHoppingOffsetLists",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_frequencyHoppingOffsetLists_item,
+ { "frequencyHoppingOffsetLists item", "nr-rrc.frequencyHoppingOffsetLists_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_maxNrofPhysicalResourceBlocks_1", HFILL }},
+ { &hf_nr_rrc_resourceAllocation_02,
+ { "resourceAllocation", "nr-rrc.resourceAllocation",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocation_02_vals), 0,
+ "T_resourceAllocation_02", HFILL }},
+ { &hf_nr_rrc_pusch_AllocationList,
+ { "pusch-AllocationList", "nr-rrc.pusch_AllocationList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofUL_Allocations_OF_PUSCH_TimeDomainResourceAllocation", HFILL }},
+ { &hf_nr_rrc_pusch_AllocationList_item,
+ { "PUSCH-TimeDomainResourceAllocation", "nr-rrc.PUSCH_TimeDomainResourceAllocation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pusch_AggregationFactor,
+ { "pusch-AggregationFactor", "nr-rrc.pusch_AggregationFactor",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_AggregationFactor_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_mcs_Table_02,
{ "mcs-Table", "nr-rrc.mcs_Table",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_Table_01_vals), 0,
- "T_mcs_Table_01", HFILL }},
- { &hf_nr_rrc_mcs_TableTransformPrecoder,
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_Table_02_vals), 0,
+ "T_mcs_Table_02", HFILL }},
+ { &hf_nr_rrc_mcs_TableTransformPrecoder_01,
{ "mcs-TableTransformPrecoder", "nr-rrc.mcs_TableTransformPrecoder",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_TableTransformPrecoder_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_transformPrecoder,
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_TableTransformPrecoder_01_vals), 0,
+ "T_mcs_TableTransformPrecoder_01", HFILL }},
+ { &hf_nr_rrc_transformPrecoder_01,
{ "transformPrecoder", "nr-rrc.transformPrecoder",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_transformPrecoder_vals), 0,
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_transformPrecoder_01_vals), 0,
+ "T_transformPrecoder_01", HFILL }},
+ { &hf_nr_rrc_codebookSubset,
+ { "codebookSubset", "nr-rrc.codebookSubset",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookSubset_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_rbg_Size_01,
+ { &hf_nr_rrc_maxRank,
+ { "maxRank", "nr-rrc.maxRank",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_4", HFILL }},
+ { &hf_nr_rrc_rbg_Size_02,
{ "rbg-Size", "nr-rrc.rbg_Size",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rbg_Size_01_vals), 0,
- "T_rbg_Size_01", HFILL }},
- { &hf_nr_rrc_uci_on_PUSCH,
- { "uci-on-PUSCH", "nr-rrc.uci_on_PUSCH",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uci_on_PUSCH_vals), 0,
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rbg_Size_02_vals), 0,
+ "T_rbg_Size_02", HFILL }},
+ { &hf_nr_rrc_uci_OnPUSCH_01,
+ { "uci-OnPUSCH", "nr-rrc.uci_OnPUSCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uci_OnPUSCH_01_vals), 0,
+ "T_uci_OnPUSCH_01", HFILL }},
+ { &hf_nr_rrc_setup_34,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UCI_OnPUSCH", HFILL }},
+ { &hf_nr_rrc_vrb_ToPRB_Interleaver_01,
+ { "vrb-ToPRB-Interleaver", "nr-rrc.vrb_ToPRB_Interleaver",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_vrb_ToPRB_Interleaver_01_vals), 0,
+ "T_vrb_ToPRB_Interleaver_01", HFILL }},
+ { &hf_nr_rrc_betaOffsets,
+ { "betaOffsets", "nr-rrc.betaOffsets",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_betaOffsets_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_13,
- { "setup", "nr-rrc.setup",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_setup_09_vals), 0,
- "T_setup_09", HFILL }},
- { &hf_nr_rrc_dynamic,
+ { &hf_nr_rrc_dynamic_02,
{ "dynamic", "nr-rrc.dynamic",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_4_OF_BetaOffsets", HFILL }},
- { &hf_nr_rrc_dynamic_item,
- { "BetaOffsets", "nr-rrc.BetaOffsets_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ "SEQUENCE_SIZE_4_OF_BetaOffsets", HFILL }},
+ { &hf_nr_rrc_scaling,
+ { "scaling", "nr-rrc.scaling",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scaling_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_semiStatic,
- { "semiStatic", "nr-rrc.semiStatic_element",
- FT_NONE, BASE_NONE, NULL, 0,
- "BetaOffsets", HFILL }},
- { &hf_nr_rrc_xOverhead_01,
- { "xOverhead", "nr-rrc.xOverhead",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_xOverhead_01_vals), 0,
- "T_xOverhead_01", HFILL }},
- { &hf_nr_rrc_cp_OFDM,
- { "cp-OFDM", "nr-rrc.cp_OFDM",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cp_OFDM_vals), 0,
+ { &hf_nr_rrc_groupHoppingEnabledTransformPrecoding,
+ { "groupHoppingEnabledTransformPrecoding", "nr-rrc.groupHoppingEnabledTransformPrecoding",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupHoppingEnabledTransformPrecoding_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_14,
- { "setup", "nr-rrc.setup_element",
- FT_NONE, BASE_NONE, NULL, 0,
- "T_setup_10", HFILL }},
- { &hf_nr_rrc_nrofPorts_02,
- { "nrofPorts", "nr-rrc.nrofPorts",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPorts_02_vals), 0,
- "T_nrofPorts_02", HFILL }},
- { &hf_nr_rrc_dft_S_OFDM,
- { "dft-S-OFDM", "nr-rrc.dft_S_OFDM",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dft_S_OFDM_vals), 0,
- "T_dft_S_OFDM", HFILL }},
- { &hf_nr_rrc_setup_15,
- { "setup", "nr-rrc.setup_element",
+ { &hf_nr_rrc_msg3_DeltaPreamble,
+ { "msg3-DeltaPreamble", "nr-rrc.msg3_DeltaPreamble",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER_M1_6", HFILL }},
+ { &hf_nr_rrc_p0_NominalWithGrant,
+ { "p0-NominalWithGrant", "nr-rrc.p0_NominalWithGrant",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER_M202_24", HFILL }},
+ { &hf_nr_rrc_tpc_Accumulation,
+ { "tpc-Accumulation", "nr-rrc.tpc_Accumulation",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_Accumulation_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_msg3_Alpha,
+ { "msg3-Alpha", "nr-rrc.msg3_Alpha",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_Alpha_vals), 0,
+ "Alpha", HFILL }},
+ { &hf_nr_rrc_p0_NominalWithoutGrant,
+ { "p0-NominalWithoutGrant", "nr-rrc.p0_NominalWithoutGrant",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER_M202_24", HFILL }},
+ { &hf_nr_rrc_p0_AlphaSets,
+ { "p0-AlphaSets", "nr-rrc.p0_AlphaSets",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet", HFILL }},
+ { &hf_nr_rrc_p0_AlphaSets_item,
+ { "P0-PUSCH-AlphaSet", "nr-rrc.P0_PUSCH_AlphaSet_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_setup_11", HFILL }},
- { &hf_nr_rrc_sampleDensity,
- { "sampleDensity", "nr-rrc.sampleDensity_element",
+ NULL, HFILL }},
+ { &hf_nr_rrc_pathlossReferenceRSToAddModList,
+ { "pathlossReferenceRSToAddModList", "nr-rrc.pathlossReferenceRSToAddModList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS", HFILL }},
+ { &hf_nr_rrc_pathlossReferenceRSToAddModList_item,
+ { "PUSCH-PathlossReferenceRS", "nr-rrc.PUSCH_PathlossReferenceRS_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_timeDensity_01,
- { "timeDensity", "nr-rrc.timeDensity",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeDensity_vals), 0,
+ { &hf_nr_rrc_pathlossReferenceRSToReleaseList,
+ { "pathlossReferenceRSToReleaseList", "nr-rrc.pathlossReferenceRSToReleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id", HFILL }},
+ { &hf_nr_rrc_pathlossReferenceRSToReleaseList_item,
+ { "PUSCH-PathlossReferenceRS-Id", "nr-rrc.PUSCH_PathlossReferenceRS_Id",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_sequence,
- { "sequence", "nr-rrc.sequence_element",
+ { &hf_nr_rrc_twoPUSCH_PC_AdjustmentStates,
+ { "twoPUSCH-PC-AdjustmentStates", "nr-rrc.twoPUSCH_PC_AdjustmentStates",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUSCH_PC_AdjustmentStates_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_deltaMCS,
+ { "deltaMCS", "nr-rrc.deltaMCS",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_deltaMCS_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sri_PUSCH_MappingToAddModList,
+ { "sri-PUSCH-MappingToAddModList", "nr-rrc.sri_PUSCH_MappingToAddModList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl", HFILL }},
+ { &hf_nr_rrc_sri_PUSCH_MappingToAddModList_item,
+ { "SRI-PUSCH-PowerControl", "nr-rrc.SRI_PUSCH_PowerControl_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_sri_PUSCH_MappingToReleaseList,
+ { "sri-PUSCH-MappingToReleaseList", "nr-rrc.sri_PUSCH_MappingToReleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId", HFILL }},
+ { &hf_nr_rrc_sri_PUSCH_MappingToReleaseList_item,
+ { "SRI-PUSCH-PowerControlId", "nr-rrc.SRI_PUSCH_PowerControlId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_p0_PUSCH_AlphaSetId,
+ { "p0-PUSCH-AlphaSetId", "nr-rrc.p0_PUSCH_AlphaSetId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_p0,
+ { "p0", "nr-rrc.p0",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER_M16_15", HFILL }},
+ { &hf_nr_rrc_alpha,
+ { "alpha", "nr-rrc.alpha",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_Alpha_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pusch_PathlossReferenceRS_Id,
+ { "pusch-PathlossReferenceRS-Id", "nr-rrc.pusch_PathlossReferenceRS_Id",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_referenceSignal_02,
+ { "referenceSignal", "nr-rrc.referenceSignal",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_02_vals), 0,
+ "T_referenceSignal_02", HFILL }},
+ { &hf_nr_rrc_sri_PUSCH_PowerControlId,
+ { "sri-PUSCH-PowerControlId", "nr-rrc.sri_PUSCH_PowerControlId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sri_PUSCH_PathlossReferenceRS_Id,
+ { "sri-PUSCH-PathlossReferenceRS-Id", "nr-rrc.sri_PUSCH_PathlossReferenceRS_Id",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "PUSCH_PathlossReferenceRS_Id", HFILL }},
+ { &hf_nr_rrc_sri_P0_PUSCH_AlphaSetId,
+ { "sri-P0-PUSCH-AlphaSetId", "nr-rrc.sri_P0_PUSCH_AlphaSetId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "P0_PUSCH_AlphaSetId", HFILL }},
+ { &hf_nr_rrc_sri_PUSCH_ClosedLoopIndex,
+ { "sri-PUSCH-ClosedLoopIndex", "nr-rrc.sri_PUSCH_ClosedLoopIndex",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sri_PUSCH_ClosedLoopIndex_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_betaOffsetACK_Index1,
{ "betaOffsetACK-Index1", "nr-rrc.betaOffsetACK_Index1",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0,
"INTEGER_0_31", HFILL }},
{ &hf_nr_rrc_betaOffsetACK_Index2,
{ "betaOffsetACK-Index2", "nr-rrc.betaOffsetACK_Index2",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0,
"INTEGER_0_31", HFILL }},
{ &hf_nr_rrc_betaOffsetACK_Index3,
{ "betaOffsetACK-Index3", "nr-rrc.betaOffsetACK_Index3",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0,
"INTEGER_0_31", HFILL }},
- { &hf_nr_rrc_betaOffsetCSI_part1_Index1,
- { "betaOffsetCSI-part1-Index1", "nr-rrc.betaOffsetCSI_part1_Index1",
- FT_UINT32, BASE_DEC, NULL, 0,
+ { &hf_nr_rrc_betaOffsetCSI_Part1_Index1,
+ { "betaOffsetCSI-Part1-Index1", "nr-rrc.betaOffsetCSI_Part1_Index1",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0,
"INTEGER_0_31", HFILL }},
- { &hf_nr_rrc_betaOffsetCSI_part1_Index2,
- { "betaOffsetCSI-part1-Index2", "nr-rrc.betaOffsetCSI_part1_Index2",
- FT_UINT32, BASE_DEC, NULL, 0,
+ { &hf_nr_rrc_betaOffsetCSI_Part1_Index2,
+ { "betaOffsetCSI-Part1-Index2", "nr-rrc.betaOffsetCSI_Part1_Index2",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0,
"INTEGER_0_31", HFILL }},
- { &hf_nr_rrc_betaOffsetCSI_part2_Index1,
- { "betaOffsetCSI-part2-Index1", "nr-rrc.betaOffsetCSI_part2_Index1",
- FT_UINT32, BASE_DEC, NULL, 0,
+ { &hf_nr_rrc_betaOffsetCSI_Part2_Index1,
+ { "betaOffsetCSI-Part2-Index1", "nr-rrc.betaOffsetCSI_Part2_Index1",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0,
"INTEGER_0_31", HFILL }},
- { &hf_nr_rrc_betaOffsetCSI_part2_Index2,
- { "betaOffsetCSI-part2-Index2", "nr-rrc.betaOffsetCSI_part2_Index2",
- FT_UINT32, BASE_DEC, NULL, 0,
+ { &hf_nr_rrc_betaOffsetCSI_Part2_Index2,
+ { "betaOffsetCSI-Part2-Index2", "nr-rrc.betaOffsetCSI_Part2_Index2",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0,
"INTEGER_0_31", HFILL }},
- { &hf_nr_rrc_quantityConfigRSindex,
- { "quantityConfigRSindex", "nr-rrc.quantityConfigRSindex_element",
+ { &hf_nr_rrc_codeBlockGroupTransmission_01,
+ { "codeBlockGroupTransmission", "nr-rrc.codeBlockGroupTransmission",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codeBlockGroupTransmission_01_vals), 0,
+ "T_codeBlockGroupTransmission_01", HFILL }},
+ { &hf_nr_rrc_setup_35,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PUSCH_CodeBlockGroupGransmission", HFILL }},
+ { &hf_nr_rrc_rateMatching,
+ { "rateMatching", "nr-rrc.rateMatching",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatching_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_xOverhead_01,
+ { "xOverhead", "nr-rrc.xOverhead",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_xOverhead_01_vals), 0,
+ "T_xOverhead_01", HFILL }},
+ { &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock_01,
+ { "maxCodeBlockGroupsPerTransportBlock", "nr-rrc.maxCodeBlockGroupsPerTransportBlock",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01_vals), 0,
+ "T_maxCodeBlockGroupsPerTransportBlock_01", HFILL }},
+ { &hf_nr_rrc_k2,
+ { "k2", "nr-rrc.k2",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_7", HFILL }},
+ { &hf_nr_rrc_mappingType_01,
+ { "mappingType", "nr-rrc.mappingType",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mappingType_01_vals), 0,
+ "T_mappingType_01", HFILL }},
+ { &hf_nr_rrc_tpc_Index,
+ { "tpc-Index", "nr-rrc.tpc_Index",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_15", HFILL }},
+ { &hf_nr_rrc_tpc_IndexSUL,
+ { "tpc-IndexSUL", "nr-rrc.tpc_IndexSUL",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_15", HFILL }},
+ { &hf_nr_rrc_targetCell,
+ { "targetCell", "nr-rrc.targetCell",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ServCellIndex", HFILL }},
+ { &hf_nr_rrc_quantityConfigNR_List,
+ { "quantityConfigNR-List", "nr-rrc.quantityConfigNR_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_QuantityConfigNR_List_item,
+ { "QuantityConfigNR", "nr-rrc.QuantityConfigNR_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_quantityConfigCell,
+ { "quantityConfigCell", "nr-rrc.quantityConfigCell_element",
FT_NONE, BASE_NONE, NULL, 0,
"QuantityConfigRS", HFILL }},
- { &hf_nr_rrc_ssbFilterCoefficientRSRP,
- { "ssbFilterCoefficientRSRP", "nr-rrc.ssbFilterCoefficientRSRP",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0,
- "FilterCoefficient", HFILL }},
- { &hf_nr_rrc_ssbFilterCoefficientRSRQ,
- { "ssbFilterCoefficientRSRQ", "nr-rrc.ssbFilterCoefficientRSRQ",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0,
- "FilterCoefficient", HFILL }},
- { &hf_nr_rrc_ssbFilterCoefficientRS_SINR,
- { "ssbFilterCoefficientRS-SINR", "nr-rrc.ssbFilterCoefficientRS_SINR",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0,
- "FilterCoefficient", HFILL }},
- { &hf_nr_rrc_csi_rsFilterCoefficientRSRP,
- { "csi-rsFilterCoefficientRSRP", "nr-rrc.csi_rsFilterCoefficientRSRP",
+ { &hf_nr_rrc_quantityConfigRS_Index,
+ { "quantityConfigRS-Index", "nr-rrc.quantityConfigRS_Index_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "QuantityConfigRS", HFILL }},
+ { &hf_nr_rrc_ssb_FilterConfig,
+ { "ssb-FilterConfig", "nr-rrc.ssb_FilterConfig_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "FilterConfig", HFILL }},
+ { &hf_nr_rrc_cs_RS_FilterConfig,
+ { "cs-RS-FilterConfig", "nr-rrc.cs_RS_FilterConfig_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "FilterConfig", HFILL }},
+ { &hf_nr_rrc_filterCoefficientRSRP,
+ { "filterCoefficientRSRP", "nr-rrc.filterCoefficientRSRP",
FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0,
"FilterCoefficient", HFILL }},
- { &hf_nr_rrc_csi_rsFilterCoefficientRSRQ,
- { "csi-rsFilterCoefficientRSRQ", "nr-rrc.csi_rsFilterCoefficientRSRQ",
+ { &hf_nr_rrc_filterCoefficientRSRQ,
+ { "filterCoefficientRSRQ", "nr-rrc.filterCoefficientRSRQ",
FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0,
"FilterCoefficient", HFILL }},
- { &hf_nr_rrc_csi_rsFilterCoefficientRS_SINR,
- { "csi-rsFilterCoefficientRS-SINR", "nr-rrc.csi_rsFilterCoefficientRS_SINR",
+ { &hf_nr_rrc_filterCoefficientRS_SINR,
+ { "filterCoefficientRS-SINR", "nr-rrc.filterCoefficientRS_SINR",
FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0,
"FilterCoefficient", HFILL }},
+ { &hf_nr_rrc_rach_ConfigGeneric,
+ { "rach-ConfigGeneric", "nr-rrc.rach_ConfigGeneric_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_totalNumberOfRA_Preambles,
+ { "totalNumberOfRA-Preambles", "nr-rrc.totalNumberOfRA_Preambles",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_63", HFILL }},
+ { &hf_nr_rrc_ssb_perRACH_OccasionAndCB_PreamblesPerSSB,
+ { "ssb-perRACH-OccasionAndCB-PreamblesPerSSB", "nr-rrc.ssb_perRACH_OccasionAndCB_PreamblesPerSSB",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_oneEighth,
+ { "oneEighth", "nr-rrc.oneEighth",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneEighth_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_oneFourth,
+ { "oneFourth", "nr-rrc.oneFourth",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneFourth_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_oneHalf,
+ { "oneHalf", "nr-rrc.oneHalf",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneHalf_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_one_01,
+ { "one", "nr-rrc.one",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_one_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_two_01,
+ { "two", "nr-rrc.two",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_two_01_vals), 0,
+ "T_two_01", HFILL }},
+ { &hf_nr_rrc_four,
+ { "four", "nr-rrc.four",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_16", HFILL }},
+ { &hf_nr_rrc_eight,
+ { "eight", "nr-rrc.eight",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_8", HFILL }},
+ { &hf_nr_rrc_sixteen,
+ { "sixteen", "nr-rrc.sixteen",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_4", HFILL }},
{ &hf_nr_rrc_groupBconfigured,
{ "groupBconfigured", "nr-rrc.groupBconfigured_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -15270,26 +29661,22 @@ void proto_register_nr_rrc(void) {
{ "messagePowerOffsetGroupB", "nr-rrc.messagePowerOffsetGroupB",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_messagePowerOffsetGroupB_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_cbra_SSB_ResourceList,
- { "cbra-SSB-ResourceList", "nr-rrc.cbra_SSB_ResourceList",
+ { &hf_nr_rrc_numberOfRA_PreamblesGroupA,
+ { "numberOfRA-PreamblesGroupA", "nr-rrc.numberOfRA_PreamblesGroupA",
FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
+ "INTEGER_1_64", HFILL }},
{ &hf_nr_rrc_ra_ContentionResolutionTimer,
{ "ra-ContentionResolutionTimer", "nr-rrc.ra_ContentionResolutionTimer",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ContentionResolutionTimer_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_ssb_Threshold,
- { "ssb-Threshold", "nr-rrc.ssb_Threshold_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_sul_RSRP_Threshold,
- { "sul-RSRP-Threshold", "nr-rrc.sul_RSRP_Threshold_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_prach_ConfigurationIndex,
- { "prach-ConfigurationIndex", "nr-rrc.prach_ConfigurationIndex",
+ { &hf_nr_rrc_rsrp_ThresholdSSB,
+ { "rsrp-ThresholdSSB", "nr-rrc.rsrp_ThresholdSSB",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_255", HFILL }},
+ "RSRP_Range", HFILL }},
+ { &hf_nr_rrc_rsrp_ThresholdSSB_SUL,
+ { "rsrp-ThresholdSSB-SUL", "nr-rrc.rsrp_ThresholdSSB_SUL",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "RSRP_Range", HFILL }},
{ &hf_nr_rrc_prach_RootSequenceIndex,
{ "prach-RootSequenceIndex", "nr-rrc.prach_RootSequenceIndex",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prach_RootSequenceIndex_vals), 0,
@@ -15302,110 +29689,102 @@ void proto_register_nr_rrc(void) {
{ "l139", "nr-rrc.l139",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_137", HFILL }},
- { &hf_nr_rrc_zeroCorrelationZoneConfig,
- { "zeroCorrelationZoneConfig", "nr-rrc.zeroCorrelationZoneConfig",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_15", HFILL }},
+ { &hf_nr_rrc_msg1_SubcarrierSpacing,
+ { "msg1-SubcarrierSpacing", "nr-rrc.msg1_SubcarrierSpacing",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
+ "SubcarrierSpacing", HFILL }},
{ &hf_nr_rrc_restrictedSetConfig,
{ "restrictedSetConfig", "nr-rrc.restrictedSetConfig",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_restrictedSetConfig_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_preambleReceivedTargetPower,
- { "preambleReceivedTargetPower", "nr-rrc.preambleReceivedTargetPower",
- FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_preambleReceivedTargetPower_vals_ext, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_powerRampingStep,
- { "powerRampingStep", "nr-rrc.powerRampingStep",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerRampingStep_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_preambleTransMax,
- { "preambleTransMax", "nr-rrc.preambleTransMax",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preambleTransMax_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_ra_ResponseWindow,
- { "ra-ResponseWindow", "nr-rrc.ra_ResponseWindow_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_msg2_SubcarrierSpacing,
- { "msg2-SubcarrierSpacing", "nr-rrc.msg2_SubcarrierSpacing",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
- "SubcarrierSpacing", HFILL }},
- { &hf_nr_rrc_rach_ControlResourceSet,
- { "rach-ControlResourceSet", "nr-rrc.rach_ControlResourceSet_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_msg3_SubcarrierSpacing,
- { "msg3-SubcarrierSpacing", "nr-rrc.msg3_SubcarrierSpacing",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
- "SubcarrierSpacing", HFILL }},
{ &hf_nr_rrc_msg3_transformPrecoding,
{ "msg3-transformPrecoding", "nr-rrc.msg3_transformPrecoding",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msg3_transformPrecoding_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_CBRA_SSB_ResourceList_item,
- { "CBRA-SSB-Resource", "nr-rrc.CBRA_SSB_Resource_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_ssb,
- { "ssb", "nr-rrc.ssb",
- FT_UINT32, BASE_DEC, NULL, 0,
- "SSB_ID", HFILL }},
- { &hf_nr_rrc_startIndexRA_PreambleGroupA,
- { "startIndexRA-PreambleGroupA", "nr-rrc.startIndexRA_PreambleGroupA",
+ { &hf_nr_rrc_prach_ConfigurationIndex,
+ { "prach-ConfigurationIndex", "nr-rrc.prach_ConfigurationIndex",
FT_UINT32, BASE_DEC, NULL, 0,
- "PreambleStartIndex", HFILL }},
- { &hf_nr_rrc_numberofRA_PreamblesGroupA,
- { "numberofRA-PreamblesGroupA", "nr-rrc.numberofRA_PreamblesGroupA",
+ "INTEGER_0_255", HFILL }},
+ { &hf_nr_rrc_msg1_FDM,
+ { "msg1-FDM", "nr-rrc.msg1_FDM",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msg1_FDM_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_msg1_FrequencyStart,
+ { "msg1-FrequencyStart", "nr-rrc.msg1_FrequencyStart",
FT_UINT32, BASE_DEC, NULL, 0,
- "NumberOfRA_Preambles", HFILL }},
- { &hf_nr_rrc_numberOfRA_Preambles,
- { "numberOfRA-Preambles", "nr-rrc.numberOfRA_Preambles",
+ "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }},
+ { &hf_nr_rrc_zeroCorrelationZoneConfig,
+ { "zeroCorrelationZoneConfig", "nr-rrc.zeroCorrelationZoneConfig",
FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_15", HFILL }},
+ { &hf_nr_rrc_preambleReceivedTargetPower,
+ { "preambleReceivedTargetPower", "nr-rrc.preambleReceivedTargetPower",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER_M200_M74", HFILL }},
+ { &hf_nr_rrc_preambleTransMax,
+ { "preambleTransMax", "nr-rrc.preambleTransMax",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preambleTransMax_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_ra_Resources,
- { "ra-Resources", "nr-rrc.ra_Resources_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { &hf_nr_rrc_powerRampingStep,
+ { "powerRampingStep", "nr-rrc.powerRampingStep",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerRampingStep_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ra_ResponseWindow,
+ { "ra-ResponseWindow", "nr-rrc.ra_ResponseWindow",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ResponseWindow_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_cfra_Resources,
{ "cfra-Resources", "nr-rrc.cfra_Resources",
FT_UINT32, BASE_DEC, VALS(nr_rrc_CFRA_Resources_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_rar_SubcarrierSpacing,
- { "rar-SubcarrierSpacing", "nr-rrc.rar_SubcarrierSpacing",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
- "SubcarrierSpacing", HFILL }},
- { &hf_nr_rrc_cfra_ssb_ResourceList,
- { "cfra-ssb-ResourceList", "nr-rrc.cfra_ssb_ResourceList",
+ { &hf_nr_rrc_ssb_02,
+ { "ssb", "nr-rrc.ssb_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ssb_ResourceList,
+ { "ssb-ResourceList", "nr-rrc.ssb_ResourceList",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxRAssbResources_OF_CFRA_SSB_Resource", HFILL }},
- { &hf_nr_rrc_cfra_ssb_ResourceList_item,
+ "SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource", HFILL }},
+ { &hf_nr_rrc_ssb_ResourceList_item,
{ "CFRA-SSB-Resource", "nr-rrc.CFRA_SSB_Resource_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_cfra_csirs_ResourceList,
- { "cfra-csirs-ResourceList", "nr-rrc.cfra_csirs_ResourceList",
+ { &hf_nr_rrc_csirs,
+ { "csirs", "nr-rrc.csirs_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csirs_ResourceList,
+ { "csirs-ResourceList", "nr-rrc.csirs_ResourceList",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxRAcsirsResources_OF_CFRA_CSIRS_Resource", HFILL }},
- { &hf_nr_rrc_cfra_csirs_ResourceList_item,
+ "SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource", HFILL }},
+ { &hf_nr_rrc_csirs_ResourceList_item,
{ "CFRA-CSIRS-Resource", "nr-rrc.CFRA_CSIRS_Resource_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_ra_PreambleIndex,
- { "ra-PreambleIndex", "nr-rrc.ra_PreambleIndex",
+ { &hf_nr_rrc_cfra_csirs_DedicatedRACH_Threshold,
+ { "cfra-csirs-DedicatedRACH-Threshold", "nr-rrc.cfra_csirs_DedicatedRACH_Threshold",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_0", HFILL }},
- { &hf_nr_rrc_csirs,
- { "csirs", "nr-rrc.csirs",
- FT_INT32, BASE_DEC, NULL, 0,
- "CSIRS_ID", HFILL }},
+ "RSRP_Range", HFILL }},
+ { &hf_nr_rrc_csi_RS_02,
+ { "csi-RS", "nr-rrc.csi_RS",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "CSI_RS_Index", HFILL }},
+ { &hf_nr_rrc_ra_OccasionList,
+ { "ra-OccasionList", "nr-rrc.ra_OccasionList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ra_OccasionList_item,
+ { "ra-OccasionList item", "nr-rrc.ra_OccasionList_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_maxRA_Occasions_1", HFILL }},
{ &hf_nr_rrc_srb_ToAddModList,
{ "srb-ToAddModList", "nr-rrc.srb_ToAddModList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_srb_ToReleaseList,
- { "srb-ToReleaseList", "nr-rrc.srb_ToReleaseList",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_3", HFILL }},
+ { &hf_nr_rrc_srb3_ToRelease,
+ { "srb3-ToRelease", "nr-rrc.srb3_ToRelease",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srb3_ToRelease_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_drb_ToAddModList,
{ "drb-ToAddModList", "nr-rrc.drb_ToAddModList",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -15422,14 +29801,14 @@ void proto_register_nr_rrc(void) {
{ "SRB-ToAddMod", "nr-rrc.SRB_ToAddMod_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_srb_Identity,
- { "srb-Identity", "nr-rrc.srb_Identity",
- FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
{ &hf_nr_rrc_reestablishPDCP,
{ "reestablishPDCP", "nr-rrc.reestablishPDCP",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reestablishPDCP_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_discardOnPDCP,
+ { "discardOnPDCP", "nr-rrc.discardOnPDCP",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_discardOnPDCP_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_pdcp_Config,
{ "pdcp-Config", "nr-rrc.pdcp_Config_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -15450,10 +29829,6 @@ void proto_register_nr_rrc(void) {
{ "sdap-Config", "nr-rrc.sdap_Config_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_drb_Identity,
- { "drb-Identity", "nr-rrc.drb_Identity",
- FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
{ &hf_nr_rrc_reestablishPDCP_01,
{ "reestablishPDCP", "nr-rrc.reestablishPDCP",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reestablishPDCP_01_vals), 0,
@@ -15474,6 +29849,118 @@ void proto_register_nr_rrc(void) {
{ "keyToUse", "nr-rrc.keyToUse",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_keyToUse_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_failureDetectionResources,
+ { "failureDetectionResources", "nr-rrc.failureDetectionResources",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS", HFILL }},
+ { &hf_nr_rrc_failureDetectionResources_item,
+ { "RadioLinkMonitoringRS", "nr-rrc.RadioLinkMonitoringRS_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_beamFailureInstanceMaxCount,
+ { "beamFailureInstanceMaxCount", "nr-rrc.beamFailureInstanceMaxCount",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureInstanceMaxCount_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_beamFailureDetectionTimer,
+ { "beamFailureDetectionTimer", "nr-rrc.beamFailureDetectionTimer",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureDetectionTimer_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_purpose,
+ { "purpose", "nr-rrc.purpose",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_purpose_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_detectionResource,
+ { "detectionResource", "nr-rrc.detectionResource",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_detectionResource_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rateMatchPatternId,
+ { "rateMatchPatternId", "nr-rrc.rateMatchPatternId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_patternType,
+ { "patternType", "nr-rrc.patternType",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_patternType_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_bitmaps,
+ { "bitmaps", "nr-rrc.bitmaps_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_resourceBlocks,
+ { "resourceBlocks", "nr-rrc.resourceBlocks",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_275", HFILL }},
+ { &hf_nr_rrc_symbolsInResourceBlock,
+ { "symbolsInResourceBlock", "nr-rrc.symbolsInResourceBlock",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_symbolsInResourceBlock_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_oneSlot,
+ { "oneSlot", "nr-rrc.oneSlot",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_14", HFILL }},
+ { &hf_nr_rrc_twoSlots,
+ { "twoSlots", "nr-rrc.twoSlots",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_28", HFILL }},
+ { &hf_nr_rrc_periodicityAndPattern,
+ { "periodicityAndPattern", "nr-rrc.periodicityAndPattern",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndPattern_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_n2,
+ { "n2", "nr-rrc.n2",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_2", HFILL }},
+ { &hf_nr_rrc_n4,
+ { "n4", "nr-rrc.n4",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_4", HFILL }},
+ { &hf_nr_rrc_n5,
+ { "n5", "nr-rrc.n5",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_5", HFILL }},
+ { &hf_nr_rrc_n8,
+ { "n8", "nr-rrc.n8",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_8", HFILL }},
+ { &hf_nr_rrc_n10,
+ { "n10", "nr-rrc.n10",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_10", HFILL }},
+ { &hf_nr_rrc_n20,
+ { "n20", "nr-rrc.n20",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_20", HFILL }},
+ { &hf_nr_rrc_n40,
+ { "n40", "nr-rrc.n40",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_40", HFILL }},
+ { &hf_nr_rrc_controlResourceSet,
+ { "controlResourceSet", "nr-rrc.controlResourceSet",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ControlResourceSetId", HFILL }},
+ { &hf_nr_rrc_mode,
+ { "mode", "nr-rrc.mode",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mode_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_carrierFreqDL,
+ { "carrierFreqDL", "nr-rrc.carrierFreqDL",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_16383", HFILL }},
+ { &hf_nr_rrc_carrierBandwidthDL,
+ { "carrierBandwidthDL", "nr-rrc.carrierBandwidthDL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_carrierBandwidthDL_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_mbsfn_SubframeConfigList,
+ { "mbsfn-SubframeConfigList", "nr-rrc.mbsfn_SubframeConfigList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "EUTRA_MBSFN_SubframeConfigList", HFILL }},
+ { &hf_nr_rrc_nrofCRS_Ports,
+ { "nrofCRS-Ports", "nr-rrc.nrofCRS_Ports",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofCRS_Ports_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_v_Shift,
+ { "v-Shift", "nr-rrc.v_Shift",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_v_Shift_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_reportType,
{ "reportType", "nr-rrc.reportType",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportType_vals), 0,
@@ -15487,8 +29974,8 @@ void proto_register_nr_rrc(void) {
FT_NONE, BASE_NONE, NULL, 0,
"EventTriggerConfig", HFILL }},
{ &hf_nr_rrc_reportCGI,
- { "reportCGI", "nr-rrc.reportCGI_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { "reportCGI", "nr-rrc.reportCGI",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportCGI_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_eventId,
{ "eventId", "nr-rrc.eventId",
@@ -15564,8 +30051,8 @@ void proto_register_nr_rrc(void) {
"MeasTriggerQuantityOffset", HFILL }},
{ &hf_nr_rrc_rsType,
{ "rsType", "nr-rrc.rsType",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rsType_vals), 0,
- NULL, HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_NR_RS_Type_vals), 0,
+ "NR_RS_Type", HFILL }},
{ &hf_nr_rrc_reportInterval,
{ "reportInterval", "nr-rrc.reportInterval",
FT_UINT32, BASE_DEC, VALS(nr_rrc_ReportInterval_vals), 0,
@@ -15586,54 +30073,38 @@ void proto_register_nr_rrc(void) {
{ "reportQuantityRsIndexes", "nr-rrc.reportQuantityRsIndexes_element",
FT_NONE, BASE_NONE, NULL, 0,
"MeasReportQuantity", HFILL }},
- { &hf_nr_rrc_maxNroIndexesToReport,
- { "maxNroIndexesToReport", "nr-rrc.maxNroIndexesToReport",
+ { &hf_nr_rrc_maxNrofRSIndexesToReport,
+ { "maxNrofRSIndexesToReport", "nr-rrc.maxNrofRSIndexesToReport",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_maxNroIndexesToReport", HFILL }},
- { &hf_nr_rrc_onlyReportBeamIds,
- { "onlyReportBeamIds", "nr-rrc.onlyReportBeamIds",
+ "INTEGER_1_maxNrofIndexesToReport", HFILL }},
+ { &hf_nr_rrc_includeBeamMeasurements,
+ { "includeBeamMeasurements", "nr-rrc.includeBeamMeasurements",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_nr_rrc_reportAddNeighMeas,
- { "reportAddNeighMeas", "nr-rrc.reportAddNeighMeas_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { "reportAddNeighMeas", "nr-rrc.reportAddNeighMeas",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAddNeighMeas_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_rsType_01,
- { "rsType", "nr-rrc.rsType",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rsType_01_vals), 0,
- "T_rsType_01", HFILL }},
{ &hf_nr_rrc_reportAmount_01,
{ "reportAmount", "nr-rrc.reportAmount",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_01_vals), 0,
"T_reportAmount_01", HFILL }},
- { &hf_nr_rrc_maxNroRsIndexesToReport,
- { "maxNroRsIndexesToReport", "nr-rrc.maxNroRsIndexesToReport",
+ { &hf_nr_rrc_maxNrofRsIndexesToReport,
+ { "maxNrofRsIndexesToReport", "nr-rrc.maxNrofRsIndexesToReport",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_maxNroIndexesToReport", HFILL }},
- { &hf_nr_rrc_rsrp,
- { "rsrp", "nr-rrc.rsrp",
- FT_UINT32, BASE_DEC, NULL, 0,
- "RSRPRange", HFILL }},
- { &hf_nr_rrc_rsrq,
- { "rsrq", "nr-rrc.rsrq",
- FT_UINT32, BASE_DEC, NULL, 0,
- "RSRQRange", HFILL }},
- { &hf_nr_rrc_sinr,
- { "sinr", "nr-rrc.sinr",
- FT_UINT32, BASE_DEC, NULL, 0,
- "SINRRange", HFILL }},
+ "INTEGER_1_maxNrofIndexesToReport", HFILL }},
{ &hf_nr_rrc_rsrp_01,
{ "rsrp", "nr-rrc.rsrp",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0", HFILL }},
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER_M30_30", HFILL }},
{ &hf_nr_rrc_rsrq_01,
{ "rsrq", "nr-rrc.rsrq",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0", HFILL }},
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER_M30_30", HFILL }},
{ &hf_nr_rrc_sinr_01,
{ "sinr", "nr-rrc.sinr",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0", HFILL }},
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER_M30_30", HFILL }},
{ &hf_nr_rrc_rsrp_02,
{ "rsrp", "nr-rrc.rsrp",
FT_BOOLEAN, BASE_NONE, NULL, 0,
@@ -15658,10 +30129,6 @@ void proto_register_nr_rrc(void) {
{ "reportConfigNR", "nr-rrc.reportConfigNR_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_reportConfigEUTRA,
- { "reportConfigEUTRA", "nr-rrc.reportConfigEUTRA_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
{ &hf_nr_rrc_am,
{ "am", "nr-rrc.am_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -15696,8 +30163,8 @@ void proto_register_nr_rrc(void) {
NULL, HFILL }},
{ &hf_nr_rrc_sn_FieldLength,
{ "sn-FieldLength", "nr-rrc.sn_FieldLength",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_SN_FieldLength_AM_vals), 0,
- "SN_FieldLength_AM", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_SN_FieldLengthAM_vals), 0,
+ "SN_FieldLengthAM", HFILL }},
{ &hf_nr_rrc_t_PollRetransmit,
{ "t-PollRetransmit", "nr-rrc.t_PollRetransmit",
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_PollRetransmit_vals_ext, 0,
@@ -15724,8 +30191,20 @@ void proto_register_nr_rrc(void) {
NULL, HFILL }},
{ &hf_nr_rrc_sn_FieldLength_01,
{ "sn-FieldLength", "nr-rrc.sn_FieldLength",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_SN_FieldLength_UM_vals), 0,
- "SN_FieldLength_UM", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_SN_FieldLengthUM_vals), 0,
+ "SN_FieldLengthUM", HFILL }},
+ { &hf_nr_rrc_t310,
+ { "t310", "nr-rrc.t310",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t310_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_n310,
+ { "n310", "nr-rrc.n310",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n310_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_n311,
+ { "n311", "nr-rrc.n311",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n311_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_schedulingRequestToAddModList,
{ "schedulingRequestToAddModList", "nr-rrc.schedulingRequestToAddModList",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -15740,183 +30219,319 @@ void proto_register_nr_rrc(void) {
"SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId", HFILL }},
{ &hf_nr_rrc_schedulingRequestToReleaseList_item,
{ "SchedulingRequestId", "nr-rrc.SchedulingRequestId",
- FT_INT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_schedulingRequestID,
- { "schedulingRequestID", "nr-rrc.schedulingRequestID",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_sr_prohibitTimer,
- { "sr-prohibitTimer", "nr-rrc.sr_prohibitTimer",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sr_prohibitTimer_vals), 0,
+ { &hf_nr_rrc_sr_ConfigIndex,
+ { "sr-ConfigIndex", "nr-rrc.sr_ConfigIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SchedulingRequestId", HFILL }},
+ { &hf_nr_rrc_sr_ProhibitTimer,
+ { "sr-ProhibitTimer", "nr-rrc.sr_ProhibitTimer",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sr_ProhibitTimer_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_sr_TransMax,
{ "sr-TransMax", "nr-rrc.sr_TransMax",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sr_TransMax_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_pduSession,
- { "pduSession", "nr-rrc.pduSession",
- FT_INT32, BASE_DEC, NULL, 0,
- "PDUsessionID", HFILL }},
- { &hf_nr_rrc_sdap_Header_DL,
- { "sdap-Header-DL", "nr-rrc.sdap_Header_DL",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdap_Header_DL_vals), 0,
+ { &hf_nr_rrc_schedulingRequestResourceId,
+ { "schedulingRequestResourceId", "nr-rrc.schedulingRequestResourceId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_periodicityAndOffset_02,
+ { "periodicityAndOffset", "nr-rrc.periodicityAndOffset",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndOffset_01_vals), 0,
+ "T_periodicityAndOffset_01", HFILL }},
+ { &hf_nr_rrc_sym2,
+ { "sym2", "nr-rrc.sym2_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sym6or7,
+ { "sym6or7", "nr-rrc.sym6or7_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sl1,
+ { "sl1", "nr-rrc.sl1_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sl2,
+ { "sl2", "nr-rrc.sl2",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_1", HFILL }},
+ { &hf_nr_rrc_sl4,
+ { "sl4", "nr-rrc.sl4",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_3", HFILL }},
+ { &hf_nr_rrc_sl5,
+ { "sl5", "nr-rrc.sl5",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_4", HFILL }},
+ { &hf_nr_rrc_sl8,
+ { "sl8", "nr-rrc.sl8",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_7", HFILL }},
+ { &hf_nr_rrc_sl10,
+ { "sl10", "nr-rrc.sl10",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_9", HFILL }},
+ { &hf_nr_rrc_sl16,
+ { "sl16", "nr-rrc.sl16",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_15", HFILL }},
+ { &hf_nr_rrc_sl20,
+ { "sl20", "nr-rrc.sl20",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_19", HFILL }},
+ { &hf_nr_rrc_sl40,
+ { "sl40", "nr-rrc.sl40",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_39", HFILL }},
+ { &hf_nr_rrc_sl80,
+ { "sl80", "nr-rrc.sl80",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_79", HFILL }},
+ { &hf_nr_rrc_sl160,
+ { "sl160", "nr-rrc.sl160",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_159", HFILL }},
+ { &hf_nr_rrc_sl320,
+ { "sl320", "nr-rrc.sl320",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_319", HFILL }},
+ { &hf_nr_rrc_sl640,
+ { "sl640", "nr-rrc.sl640",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_639", HFILL }},
+ { &hf_nr_rrc_resource,
+ { "resource", "nr-rrc.resource",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "PUCCH_ResourceId", HFILL }},
+ { &hf_nr_rrc_offsetToCarrier,
+ { "offsetToCarrier", "nr-rrc.offsetToCarrier",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_2199", HFILL }},
+ { &hf_nr_rrc_k0_01,
+ { "k0", "nr-rrc.k0",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_k0_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_carrierBandwidth,
+ { "carrierBandwidth", "nr-rrc.carrierBandwidth",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_maxNrofPhysicalResourceBlocks", HFILL }},
+ { &hf_nr_rrc_pdu_Session,
+ { "pdu-Session", "nr-rrc.pdu_Session",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "PDU_SessionID", HFILL }},
+ { &hf_nr_rrc_sdap_HeaderDL,
+ { "sdap-HeaderDL", "nr-rrc.sdap_HeaderDL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdap_HeaderDL_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_sdap_Header_UL,
- { "sdap-Header-UL", "nr-rrc.sdap_Header_UL",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdap_Header_UL_vals), 0,
+ { &hf_nr_rrc_sdap_HeaderUL,
+ { "sdap-HeaderUL", "nr-rrc.sdap_HeaderUL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdap_HeaderUL_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_defaultDRB,
{ "defaultDRB", "nr-rrc.defaultDRB",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
- { &hf_nr_rrc_reflectiveQoS,
- { "reflectiveQoS", "nr-rrc.reflectiveQoS",
- FT_BOOLEAN, BASE_NONE, NULL, 0,
- "BOOLEAN", HFILL }},
- { &hf_nr_rrc_mappedQoSflows,
- { "mappedQoSflows", "nr-rrc.mappedQoSflows",
+ { &hf_nr_rrc_mappedQoS_FlowsToAdd,
+ { "mappedQoS-FlowsToAdd", "nr-rrc.mappedQoS_FlowsToAdd",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_0_maxNrofQFIs_OF_QFI", HFILL }},
- { &hf_nr_rrc_mappedQoSflows_item,
+ "SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI", HFILL }},
+ { &hf_nr_rrc_mappedQoS_FlowsToAdd_item,
{ "QFI", "nr-rrc.QFI",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_cipheringAlgorithm,
- { "cipheringAlgorithm", "nr-rrc.cipheringAlgorithm",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_CipheringAlgorithm_vals), 0,
+ { &hf_nr_rrc_mappedQoS_FlowsToRelease,
+ { "mappedQoS-FlowsToRelease", "nr-rrc.mappedQoS_FlowsToRelease",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI", HFILL }},
+ { &hf_nr_rrc_mappedQoS_FlowsToRelease_item,
+ { "QFI", "nr-rrc.QFI",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_integrityProtAlgorithm,
- { "integrityProtAlgorithm", "nr-rrc.integrityProtAlgorithm",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_IntegrityProtAlgorithm_vals), 0,
+ { &hf_nr_rrc_searchSpaceId,
+ { "searchSpaceId", "nr-rrc.searchSpaceId",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_frequencyInfoDL,
- { "frequencyInfoDL", "nr-rrc.frequencyInfoDL_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { &hf_nr_rrc_monitoringSlotPeriodicityAndOffset,
+ { "monitoringSlotPeriodicityAndOffset", "nr-rrc.monitoringSlotPeriodicityAndOffset",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_monitoringSlotPeriodicityAndOffset_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_carrierFreqDL,
- { "carrierFreqDL", "nr-rrc.carrierFreqDL",
- FT_INT32, BASE_DEC, NULL, 0,
- "ARFCN_ValueNR", HFILL }},
- { &hf_nr_rrc_carrierBandwidthDL,
- { "carrierBandwidthDL", "nr-rrc.carrierBandwidthDL",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_CarrierBandwidthNR_vals), 0,
- "CarrierBandwidthNR", HFILL }},
- { &hf_nr_rrc_frequencyInfoUL,
- { "frequencyInfoUL", "nr-rrc.frequencyInfoUL_element",
+ { &hf_nr_rrc_monitoringSymbolsWithinSlot,
+ { "monitoringSymbolsWithinSlot", "nr-rrc.monitoringSymbolsWithinSlot",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_14", HFILL }},
+ { &hf_nr_rrc_nrofCandidates,
+ { "nrofCandidates", "nr-rrc.nrofCandidates_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_supplementaryUplink,
- { "supplementaryUplink", "nr-rrc.supplementaryUplink_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { &hf_nr_rrc_aggregationLevel1,
+ { "aggregationLevel1", "nr-rrc.aggregationLevel1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel1_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_subcarrierSpacingCommon,
- { "subcarrierSpacingCommon", "nr-rrc.subcarrierSpacingCommon",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
- "SubcarrierSpacing", HFILL }},
- { &hf_nr_rrc_ssb_subcarrier_offset,
- { "ssb-subcarrier-offset", "nr-rrc.ssb_subcarrier_offset",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_11", HFILL }},
- { &hf_nr_rrc_ssb_PositionsInBurst,
- { "ssb-PositionsInBurst", "nr-rrc.ssb_PositionsInBurst",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_PositionsInBurst_vals), 0,
+ { &hf_nr_rrc_aggregationLevel2,
+ { "aggregationLevel2", "nr-rrc.aggregationLevel2",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel2_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_ssb_periodicityServingCell,
- { "ssb-periodicityServingCell", "nr-rrc.ssb_periodicityServingCell",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_periodicityServingCell_vals), 0,
+ { &hf_nr_rrc_aggregationLevel4,
+ { "aggregationLevel4", "nr-rrc.aggregationLevel4",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel4_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_dmrs_TypeA_Position_01,
- { "dmrs-TypeA-Position", "nr-rrc.dmrs_TypeA_Position",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_TypeA_Position_01_vals), 0,
- "T_dmrs_TypeA_Position_01", HFILL }},
- { &hf_nr_rrc_subcarrierSpacingSSB,
- { "subcarrierSpacingSSB", "nr-rrc.subcarrierSpacingSSB",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacingSSB_vals), 0,
+ { &hf_nr_rrc_aggregationLevel8,
+ { "aggregationLevel8", "nr-rrc.aggregationLevel8",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel8_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_aggregationLevel16,
+ { "aggregationLevel16", "nr-rrc.aggregationLevel16",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel16_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_searchSpaceType,
+ { "searchSpaceType", "nr-rrc.searchSpaceType",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceType_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_tdd_UL_DL_configurationCommon,
- { "tdd-UL-DL-configurationCommon", "nr-rrc.tdd_UL_DL_configurationCommon_element",
+ { &hf_nr_rrc_common,
+ { "common", "nr-rrc.common_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_dl_UL_TransmissionPeriodicity,
- { "dl-UL-TransmissionPeriodicity", "nr-rrc.dl_UL_TransmissionPeriodicity",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_UL_TransmissionPeriodicity_vals), 0,
+ { &hf_nr_rrc_dci_Format0_0_AndFormat1_0,
+ { "dci-Format0-0-AndFormat1-0", "nr-rrc.dci_Format0_0_AndFormat1_0_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_nrofDownlinkSlots,
- { "nrofDownlinkSlots", "nr-rrc.nrofDownlinkSlots",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_160", HFILL }},
- { &hf_nr_rrc_nrofDownlinkSymbols,
- { "nrofDownlinkSymbols", "nr-rrc.nrofDownlinkSymbols",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_maxSymbolIndex", HFILL }},
- { &hf_nr_rrc_nrofUplinkSlots,
- { "nrofUplinkSlots", "nr-rrc.nrofUplinkSlots",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_160", HFILL }},
- { &hf_nr_rrc_nrofUplinkSymbols,
- { "nrofUplinkSymbols", "nr-rrc.nrofUplinkSymbols",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_maxSymbolIndex", HFILL }},
- { &hf_nr_rrc_ss_PBCH_BlockPower,
- { "ss-PBCH-BlockPower", "nr-rrc.ss_PBCH_BlockPower",
- FT_INT32, BASE_DEC, NULL, 0,
- "INTEGER_M60_50", HFILL }},
- { &hf_nr_rrc_rach_ConfigCommon,
- { "rach-ConfigCommon", "nr-rrc.rach_ConfigCommon_element",
+ { &hf_nr_rrc_dci_Format2_0,
+ { "dci-Format2-0", "nr-rrc.dci_Format2_0_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_tdd_UL_DL_configurationDedicated,
- { "tdd-UL-DL-configurationDedicated", "nr-rrc.tdd_UL_DL_configurationDedicated_element",
+ { &hf_nr_rrc_nrofCandidates_SFI,
+ { "nrofCandidates-SFI", "nr-rrc.nrofCandidates_SFI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_slotSpecificConfigurations,
- { "slotSpecificConfigurations", "nr-rrc.slotSpecificConfigurations",
- FT_UINT32, BASE_DEC, NULL, 0,
+ { &hf_nr_rrc_aggregationLevel1_01,
+ { "aggregationLevel1", "nr-rrc.aggregationLevel1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel1_01_vals), 0,
+ "T_aggregationLevel1_01", HFILL }},
+ { &hf_nr_rrc_aggregationLevel2_01,
+ { "aggregationLevel2", "nr-rrc.aggregationLevel2",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel2_01_vals), 0,
+ "T_aggregationLevel2_01", HFILL }},
+ { &hf_nr_rrc_aggregationLevel4_01,
+ { "aggregationLevel4", "nr-rrc.aggregationLevel4",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel4_01_vals), 0,
+ "T_aggregationLevel4_01", HFILL }},
+ { &hf_nr_rrc_aggregationLevel8_01,
+ { "aggregationLevel8", "nr-rrc.aggregationLevel8",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel8_01_vals), 0,
+ "T_aggregationLevel8_01", HFILL }},
+ { &hf_nr_rrc_aggregationLevel16_01,
+ { "aggregationLevel16", "nr-rrc.aggregationLevel16",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel16_01_vals), 0,
+ "T_aggregationLevel16_01", HFILL }},
+ { &hf_nr_rrc_dci_Format2_1,
+ { "dci-Format2-1", "nr-rrc.dci_Format2_1_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_slotSpecificConfigurations_item,
- { "slotSpecificConfigurations item", "nr-rrc.slotSpecificConfigurations_item_element",
+ { &hf_nr_rrc_dci_Format2_2,
+ { "dci-Format2-2", "nr-rrc.dci_Format2_2_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_slotIndex,
- { "slotIndex", "nr-rrc.slotIndex",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_160", HFILL }},
- { &hf_nr_rrc_bandwidthParts,
- { "bandwidthParts", "nr-rrc.bandwidthParts_element",
+ { &hf_nr_rrc_dci_Format2_3,
+ { "dci-Format2-3", "nr-rrc.dci_Format2_3_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_dataScramblingIdentity,
- { "dataScramblingIdentity", "nr-rrc.dataScramblingIdentity_element",
+ { &hf_nr_rrc_monitoringPeriodicity,
+ { "monitoringPeriodicity", "nr-rrc.monitoringPeriodicity",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_monitoringPeriodicity_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nrofPDCCH_Candidates,
+ { "nrofPDCCH-Candidates", "nr-rrc.nrofPDCCH_Candidates",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPDCCH_Candidates_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ue_Specific,
+ { "ue-Specific", "nr-rrc.ue_Specific_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_pdcch_Config,
- { "pdcch-Config", "nr-rrc.pdcch_Config_element",
+ { &hf_nr_rrc_dci_Formats,
+ { "dci-Formats", "nr-rrc.dci_Formats",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_Formats_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_cipheringAlgorithm,
+ { "cipheringAlgorithm", "nr-rrc.cipheringAlgorithm",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_CipheringAlgorithm_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_integrityProtAlgorithm,
+ { "integrityProtAlgorithm", "nr-rrc.integrityProtAlgorithm",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_IntegrityProtAlgorithm_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated,
+ { "tdd-UL-DL-ConfigurationDedicated", "nr-rrc.tdd_UL_DL_ConfigurationDedicated_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "TDD_UL_DL_ConfigDedicated", HFILL }},
+ { &hf_nr_rrc_initialDownlinkBWP,
+ { "initialDownlinkBWP", "nr-rrc.initialDownlinkBWP_element",
FT_NONE, BASE_NONE, NULL, 0,
+ "BWP_DownlinkDedicated", HFILL }},
+ { &hf_nr_rrc_downlinkBWP_ToReleaseList,
+ { "downlinkBWP-ToReleaseList", "nr-rrc.downlinkBWP_ToReleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id", HFILL }},
+ { &hf_nr_rrc_downlinkBWP_ToReleaseList_item,
+ { "BWP-Id", "nr-rrc.BWP_Id",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_pdsch_Config,
- { "pdsch-Config", "nr-rrc.pdsch_Config_element",
+ { &hf_nr_rrc_downlinkBWP_ToAddModList,
+ { "downlinkBWP-ToAddModList", "nr-rrc.downlinkBWP_ToAddModList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink", HFILL }},
+ { &hf_nr_rrc_downlinkBWP_ToAddModList_item,
+ { "BWP-Downlink", "nr-rrc.BWP_Downlink_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_csi_MeasConfig,
- { "csi-MeasConfig", "nr-rrc.csi_MeasConfig_element",
+ { &hf_nr_rrc_firstActiveDownlinkBWP_Id,
+ { "firstActiveDownlinkBWP-Id", "nr-rrc.firstActiveDownlinkBWP_Id",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "BWP_Id", HFILL }},
+ { &hf_nr_rrc_bwp_InactivityTimer,
+ { "bwp-InactivityTimer", "nr-rrc.bwp_InactivityTimer",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_bwp_InactivityTimer_vals_ext, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_defaultDownlinkBWP_Id,
+ { "defaultDownlinkBWP-Id", "nr-rrc.defaultDownlinkBWP_Id",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "BWP_Id", HFILL }},
+ { &hf_nr_rrc_uplinkConfig,
+ { "uplinkConfig", "nr-rrc.uplinkConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_pucch_Config,
- { "pucch-Config", "nr-rrc.pucch_Config_element",
+ { &hf_nr_rrc_supplementaryUplink_02,
+ { "supplementaryUplink", "nr-rrc.supplementaryUplink_element",
FT_NONE, BASE_NONE, NULL, 0,
+ "UplinkConfig", HFILL }},
+ { &hf_nr_rrc_pdsch_ServingCellConfig,
+ { "pdsch-ServingCellConfig", "nr-rrc.pdsch_ServingCellConfig",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_ServingCellConfig_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_pusch_Config,
- { "pusch-Config", "nr-rrc.pusch_Config_element",
+ { &hf_nr_rrc_setup_36,
+ { "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
+ "PDSCH_ServingCellConfig", HFILL }},
+ { &hf_nr_rrc_csi_MeasConfig,
+ { "csi-MeasConfig", "nr-rrc.csi_MeasConfig",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_MeasConfig_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_srs_Config,
- { "srs-Config", "nr-rrc.srs_Config_element",
+ { &hf_nr_rrc_setup_37,
+ { "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
+ "CSI_MeasConfig", HFILL }},
+ { &hf_nr_rrc_carrierSwitching,
+ { "carrierSwitching", "nr-rrc.carrierSwitching",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_carrierSwitching_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_sps_Config,
- { "sps-Config", "nr-rrc.sps_Config_element",
+ { &hf_nr_rrc_setup_38,
+ { "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
+ "SRS_CarrierSwitching", HFILL }},
+ { &hf_nr_rrc_sCellDeactivationTimer,
+ { "sCellDeactivationTimer", "nr-rrc.sCellDeactivationTimer",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sCellDeactivationTimer_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_crossCarrierSchedulingConfig,
{ "crossCarrierSchedulingConfig", "nr-rrc.crossCarrierSchedulingConfig_element",
@@ -15930,66 +30545,150 @@ void proto_register_nr_rrc(void) {
{ "pathlossReferenceLinking", "nr-rrc.pathlossReferenceLinking",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pathlossReferenceLinking_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_uplink,
- { "uplink", "nr-rrc.uplink_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_periodicity,
- { "periodicity", "nr-rrc.periodicity_element",
+ { &hf_nr_rrc_initialUplinkBWP,
+ { "initialUplinkBWP", "nr-rrc.initialUplinkBWP_element",
FT_NONE, BASE_NONE, NULL, 0,
+ "BWP_UplinkDedicated", HFILL }},
+ { &hf_nr_rrc_uplinkBWP_ToReleaseList,
+ { "uplinkBWP-ToReleaseList", "nr-rrc.uplinkBWP_ToReleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id", HFILL }},
+ { &hf_nr_rrc_uplinkBWP_ToReleaseList_item,
+ { "BWP-Id", "nr-rrc.BWP_Id",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_powerControl,
- { "powerControl", "nr-rrc.powerControl_element",
+ { &hf_nr_rrc_uplinkBWP_ToAddModList,
+ { "uplinkBWP-ToAddModList", "nr-rrc.uplinkBWP_ToAddModList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink", HFILL }},
+ { &hf_nr_rrc_uplinkBWP_ToAddModList_item,
+ { "BWP-Uplink", "nr-rrc.BWP_Uplink_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_transformPrecoder_01,
- { "transformPrecoder", "nr-rrc.transformPrecoder",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_transformPrecoder_01_vals), 0,
- "T_transformPrecoder_01", HFILL }},
- { &hf_nr_rrc_nrofHARQ_processes,
- { "nrofHARQ-processes", "nr-rrc.nrofHARQ_processes",
+ { &hf_nr_rrc_firstActiveUplinkBWP_Id,
+ { "firstActiveUplinkBWP-Id", "nr-rrc.firstActiveUplinkBWP_Id",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_1", HFILL }},
- { &hf_nr_rrc_repK_RV,
- { "repK-RV", "nr-rrc.repK_RV",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repK_RV_vals), 0,
+ "BWP_Id", HFILL }},
+ { &hf_nr_rrc_pusch_ServingCellConfig,
+ { "pusch-ServingCellConfig", "nr-rrc.pusch_ServingCellConfig",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_ServingCellConfig_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_priodicity,
- { "priodicity", "nr-rrc.priodicity",
- FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_priodicity_vals_ext, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_rrcConfiguredUplinkGrant,
- { "rrcConfiguredUplinkGrant", "nr-rrc.rrcConfiguredUplinkGrant",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rrcConfiguredUplinkGrant_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_setup_16,
+ { &hf_nr_rrc_setup_39,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_setup_12", HFILL }},
- { &hf_nr_rrc_timeDomainOffset,
- { "timeDomainOffset", "nr-rrc.timeDomainOffset_element",
+ "PUSCH_ServingCellConfig", HFILL }},
+ { &hf_nr_rrc_frequencyInfoDL,
+ { "frequencyInfoDL", "nr-rrc.frequencyInfoDL_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_timeDomainAllocation,
- { "timeDomainAllocation", "nr-rrc.timeDomainAllocation_element",
+ { &hf_nr_rrc_initialDownlinkBWP_01,
+ { "initialDownlinkBWP", "nr-rrc.initialDownlinkBWP_element",
FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_frequencyDomainAllocation,
- { "frequencyDomainAllocation", "nr-rrc.frequencyDomainAllocation_element",
+ "BWP_DownlinkCommon", HFILL }},
+ { &hf_nr_rrc_supplementaryUplinkConfig,
+ { "supplementaryUplinkConfig", "nr-rrc.supplementaryUplinkConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
+ "UplinkConfigCommon", HFILL }},
+ { &hf_nr_rrc_ssb_PositionsInBurst_01,
+ { "ssb-PositionsInBurst", "nr-rrc.ssb_PositionsInBurst",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_PositionsInBurst_01_vals), 0,
+ "T_ssb_PositionsInBurst_01", HFILL }},
+ { &hf_nr_rrc_ssb_periodicityServingCell,
+ { "ssb-periodicityServingCell", "nr-rrc.ssb_periodicityServingCell",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_periodicityServingCell_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_dmrs,
- { "dmrs", "nr-rrc.dmrs_element",
+ { &hf_nr_rrc_dmrs_TypeA_Position_01,
+ { "dmrs-TypeA-Position", "nr-rrc.dmrs_TypeA_Position",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_TypeA_Position_01_vals), 0,
+ "T_dmrs_TypeA_Position_01", HFILL }},
+ { &hf_nr_rrc_lte_CRS_ToMatchAround,
+ { "lte-CRS-ToMatchAround", "nr-rrc.lte_CRS_ToMatchAround",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lte_CRS_ToMatchAround_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_40,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RateMatchPatternLTE_CRS", HFILL }},
+ { &hf_nr_rrc_tdd_UL_DL_ConfigurationCommon,
+ { "tdd-UL-DL-ConfigurationCommon", "nr-rrc.tdd_UL_DL_ConfigurationCommon_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "TDD_UL_DL_ConfigCommon", HFILL }},
+ { &hf_nr_rrc_tdd_UL_DL_ConfigurationCommon2,
+ { "tdd-UL-DL-ConfigurationCommon2", "nr-rrc.tdd_UL_DL_ConfigurationCommon2_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "TDD_UL_DL_ConfigCommon", HFILL }},
+ { &hf_nr_rrc_frequencyInfoUL,
+ { "frequencyInfoUL", "nr-rrc.frequencyInfoUL_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_mcsAndTBS,
- { "mcsAndTBS", "nr-rrc.mcsAndTBS_element",
+ { &hf_nr_rrc_initialUplinkBWP_01,
+ { "initialUplinkBWP", "nr-rrc.initialUplinkBWP_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "BWP_UplinkCommon", HFILL }},
+ { &hf_nr_rrc_subcarrierSpacing2,
+ { "subcarrierSpacing2", "nr-rrc.subcarrierSpacing2",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
+ "SubcarrierSpacing", HFILL }},
+ { &hf_nr_rrc_slotFormatCombinations,
+ { "slotFormatCombinations", "nr-rrc.slotFormatCombinations",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination", HFILL }},
+ { &hf_nr_rrc_slotFormatCombinations_item,
+ { "SlotFormatCombination", "nr-rrc.SlotFormatCombination_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_repK,
- { "repK", "nr-rrc.repK_element",
+ { &hf_nr_rrc_positionInDCI_01,
+ { "positionInDCI", "nr-rrc.positionInDCI",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_maxSFI_DCI_PayloadSize_1", HFILL }},
+ { &hf_nr_rrc_slotFormatCombinationId,
+ { "slotFormatCombinationId", "nr-rrc.slotFormatCombinationId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_slotFormats,
+ { "slotFormats", "nr-rrc.slotFormats",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_slotFormats_item,
+ { "slotFormats item", "nr-rrc.slotFormats_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_255", HFILL }},
+ { &hf_nr_rrc_sfi_RNTI,
+ { "sfi-RNTI", "nr-rrc.sfi_RNTI",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "RNTI_Value", HFILL }},
+ { &hf_nr_rrc_dci_PayloadSize_01,
+ { "dci-PayloadSize", "nr-rrc.dci_PayloadSize",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_maxSFI_DCI_PayloadSize", HFILL }},
+ { &hf_nr_rrc_slotFormatCombToAddModList,
+ { "slotFormatCombToAddModList", "nr-rrc.slotFormatCombToAddModList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell", HFILL }},
+ { &hf_nr_rrc_slotFormatCombToAddModList_item,
+ { "SlotFormatCombinationsPerCell", "nr-rrc.SlotFormatCombinationsPerCell_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_slotFormatCombToReleaseList,
+ { "slotFormatCombToReleaseList", "nr-rrc.slotFormatCombToReleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex", HFILL }},
+ { &hf_nr_rrc_slotFormatCombToReleaseList_item,
+ { "ServCellIndex", "nr-rrc.ServCellIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_periodicity_02,
+ { "periodicity", "nr-rrc.periodicity",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_periodicity_02_vals_ext, 0,
+ "T_periodicity_02", HFILL }},
+ { &hf_nr_rrc_nrofHARQ_Processes_01,
+ { "nrofHARQ-Processes", "nr-rrc.nrofHARQ_Processes",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_8", HFILL }},
+ { &hf_nr_rrc_n1PUCCH_AN,
+ { "n1PUCCH-AN", "nr-rrc.n1PUCCH_AN_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PUCCH_Resource", HFILL }},
{ &hf_nr_rrc_srs_ResourceSetToReleaseList,
{ "srs-ResourceSetToReleaseList", "nr-rrc.srs_ResourceSetToReleaseList",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -16022,25 +30721,65 @@ void proto_register_nr_rrc(void) {
{ "SRS-Resource", "nr-rrc.SRS_Resource_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_tpc_SRS_RNTI,
- { "tpc-SRS-RNTI", "nr-rrc.tpc_SRS_RNTI",
- FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_16", HFILL }},
+ { &hf_nr_rrc_tpc_Accumulation_01,
+ { "tpc-Accumulation", "nr-rrc.tpc_Accumulation",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_Accumulation_01_vals), 0,
+ "T_tpc_Accumulation_01", HFILL }},
{ &hf_nr_rrc_srs_ResourceSetId,
{ "srs-ResourceSetId", "nr-rrc.srs_ResourceSetId",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_srs_ResourcesIds,
- { "srs-ResourcesIds", "nr-rrc.srs_ResourcesIds",
+ { &hf_nr_rrc_srs_ResourceIdList,
+ { "srs-ResourceIdList", "nr-rrc.srs_ResourceIdList",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId", HFILL }},
- { &hf_nr_rrc_srs_ResourcesIds_item,
+ { &hf_nr_rrc_srs_ResourceIdList_item,
{ "SRS-ResourceId", "nr-rrc.SRS_ResourceId",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_resourceType_01,
+ { "resourceType", "nr-rrc.resourceType",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceType_01_vals), 0,
+ "T_resourceType_01", HFILL }},
+ { &hf_nr_rrc_aperiodic_01,
+ { "aperiodic", "nr-rrc.aperiodic_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_aperiodic_01", HFILL }},
{ &hf_nr_rrc_aperiodicSRS_ResourceTrigger,
- { "aperiodicSRS-ResourceTrigger", "nr-rrc.aperiodicSRS_ResourceTrigger_element",
+ { "aperiodicSRS-ResourceTrigger", "nr-rrc.aperiodicSRS_ResourceTrigger",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_maxNrofSRS_TriggerStates_1", HFILL }},
+ { &hf_nr_rrc_slotOffset,
+ { "slotOffset", "nr-rrc.slotOffset",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_8", HFILL }},
+ { &hf_nr_rrc_semi_persistent,
+ { "semi-persistent", "nr-rrc.semi_persistent_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_associatedCSI_RS,
+ { "associatedCSI-RS", "nr-rrc.associatedCSI_RS",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NZP_CSI_RS_ResourceId", HFILL }},
+ { &hf_nr_rrc_periodic_01,
+ { "periodic", "nr-rrc.periodic_element",
FT_NONE, BASE_NONE, NULL, 0,
+ "T_periodic_01", HFILL }},
+ { &hf_nr_rrc_usage,
+ { "usage", "nr-rrc.usage",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_usage_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_p0_01,
+ { "p0", "nr-rrc.p0",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER_M202_24", HFILL }},
+ { &hf_nr_rrc_pathlossReferenceRS,
+ { "pathlossReferenceRS", "nr-rrc.pathlossReferenceRS",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pathlossReferenceRS_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_srs_PowerControlAdjustmentStates,
+ { "srs-PowerControlAdjustmentStates", "nr-rrc.srs_PowerControlAdjustmentStates",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_PowerControlAdjustmentStates_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_srs_ResourceId,
{ "srs-ResourceId", "nr-rrc.srs_ResourceId",
@@ -16050,113 +30789,857 @@ void proto_register_nr_rrc(void) {
{ "nrofSRS-Ports", "nr-rrc.nrofSRS_Ports",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSRS_Ports_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_ptrs_PortIndex,
+ { "ptrs-PortIndex", "nr-rrc.ptrs_PortIndex",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ptrs_PortIndex_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_transmissionComb,
{ "transmissionComb", "nr-rrc.transmissionComb",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_transmissionComb_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_freqDomainPosition,
- { "freqDomainPosition", "nr-rrc.freqDomainPosition_element",
+ { &hf_nr_rrc_n2_01,
+ { "n2", "nr-rrc.n2_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_combOffset_n2,
+ { "combOffset-n2", "nr-rrc.combOffset_n2",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_1", HFILL }},
+ { &hf_nr_rrc_cyclicShift_n2,
+ { "cyclicShift-n2", "nr-rrc.cyclicShift_n2",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_7", HFILL }},
+ { &hf_nr_rrc_n4_01,
+ { "n4", "nr-rrc.n4_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_combOffset_n4,
+ { "combOffset-n4", "nr-rrc.combOffset_n4",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_3", HFILL }},
+ { &hf_nr_rrc_cyclicShift_n4,
+ { "cyclicShift-n4", "nr-rrc.cyclicShift_n4",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_11", HFILL }},
+ { &hf_nr_rrc_resourceMapping_01,
+ { "resourceMapping", "nr-rrc.resourceMapping_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_startPosition,
+ { "startPosition", "nr-rrc.startPosition",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_5", HFILL }},
+ { &hf_nr_rrc_nrofSymbols_02,
+ { "nrofSymbols", "nr-rrc.nrofSymbols",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSymbols_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_repetitionFactor,
+ { "repetitionFactor", "nr-rrc.repetitionFactor",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetitionFactor_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_freqDomainPosition,
+ { "freqDomainPosition", "nr-rrc.freqDomainPosition",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_67", HFILL }},
+ { &hf_nr_rrc_freqDomainShift,
+ { "freqDomainShift", "nr-rrc.freqDomainShift",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_268", HFILL }},
{ &hf_nr_rrc_freqHopping,
- { "freqHopping", "nr-rrc.freqHopping",
+ { "freqHopping", "nr-rrc.freqHopping_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_c_SRS,
+ { "c-SRS", "nr-rrc.c_SRS",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_63", HFILL }},
+ { &hf_nr_rrc_b_SRS,
+ { "b-SRS", "nr-rrc.b_SRS",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_3", HFILL }},
+ { &hf_nr_rrc_b_hop,
+ { "b-hop", "nr-rrc.b_hop",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_3", HFILL }},
{ &hf_nr_rrc_groupOrSequenceHopping,
{ "groupOrSequenceHopping", "nr-rrc.groupOrSequenceHopping",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_2", HFILL }},
- { &hf_nr_rrc_resourceType_01,
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupOrSequenceHopping_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_resourceType_02,
{ "resourceType", "nr-rrc.resourceType",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceType_01_vals), 0,
- "T_resourceType_01", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceType_02_vals), 0,
+ "T_resourceType_02", HFILL }},
{ &hf_nr_rrc_aperiodic_02,
{ "aperiodic", "nr-rrc.aperiodic_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_aperiodic_01", HFILL }},
- { &hf_nr_rrc_semi_persistent,
+ "T_aperiodic_02", HFILL }},
+ { &hf_nr_rrc_semi_persistent_01,
{ "semi-persistent", "nr-rrc.semi_persistent_element",
FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
+ "T_semi_persistent_01", HFILL }},
+ { &hf_nr_rrc_periodicityAndOffset_sp,
+ { "periodicityAndOffset-sp", "nr-rrc.periodicityAndOffset_sp",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_SRS_PeriodicityAndOffset_vals_ext, 0,
+ "SRS_PeriodicityAndOffset", HFILL }},
{ &hf_nr_rrc_periodic_02,
{ "periodic", "nr-rrc.periodic_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_periodic_01", HFILL }},
- { &hf_nr_rrc_periodicityAndOffset_02,
- { "periodicityAndOffset", "nr-rrc.periodicityAndOffset",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndOffset_02_vals), 0,
- "T_periodicityAndOffset_02", HFILL }},
+ "T_periodic_02", HFILL }},
+ { &hf_nr_rrc_periodicityAndOffset_p,
+ { "periodicityAndOffset-p", "nr-rrc.periodicityAndOffset_p",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_SRS_PeriodicityAndOffset_vals_ext, 0,
+ "SRS_PeriodicityAndOffset", HFILL }},
{ &hf_nr_rrc_sequenceId,
- { "sequenceId", "nr-rrc.sequenceId_element",
+ { "sequenceId", "nr-rrc.sequenceId",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_10", HFILL }},
+ { &hf_nr_rrc_spatialRelationInfo,
+ { "spatialRelationInfo", "nr-rrc.spatialRelationInfo",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialRelationInfo_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sl32,
+ { "sl32", "nr-rrc.sl32",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0,
+ "INTEGER_0_31", HFILL }},
+ { &hf_nr_rrc_sl64,
+ { "sl64", "nr-rrc.sl64",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_63", HFILL }},
+ { &hf_nr_rrc_sl1280,
+ { "sl1280", "nr-rrc.sl1280",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_1279", HFILL }},
+ { &hf_nr_rrc_sl2560,
+ { "sl2560", "nr-rrc.sl2560",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_2559", HFILL }},
+ { &hf_nr_rrc_srs_SwitchFromServCellIndex,
+ { "srs-SwitchFromServCellIndex", "nr-rrc.srs_SwitchFromServCellIndex",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0,
+ "INTEGER_0_31", HFILL }},
+ { &hf_nr_rrc_srs_TPC_PDCCH_Group,
+ { "srs-TPC-PDCCH-Group", "nr-rrc.srs_TPC_PDCCH_Group",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_TPC_PDCCH_Group_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_typeA,
+ { "typeA", "nr-rrc.typeA",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config", HFILL }},
+ { &hf_nr_rrc_typeA_item,
+ { "SRS-TPC-PDCCH-Config", "nr-rrc.SRS_TPC_PDCCH_Config_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_antennaSwitching,
- { "antennaSwitching", "nr-rrc.antennaSwitching_element",
+ { &hf_nr_rrc_typeB,
+ { "typeB", "nr-rrc.typeB_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "SRS_TPC_PDCCH_Config", HFILL }},
+ { &hf_nr_rrc_srs_CellToSFI,
+ { "srs-CellToSFI", "nr-rrc.srs_CellToSFI",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofServingCells_OF_SlotFormatCombinationsPerCell", HFILL }},
+ { &hf_nr_rrc_srs_CellToSFI_item,
+ { "SlotFormatCombinationsPerCell", "nr-rrc.SlotFormatCombinationsPerCell_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_carrierSwitching,
- { "carrierSwitching", "nr-rrc.carrierSwitching_element",
+ { &hf_nr_rrc_monitoringCells,
+ { "monitoringCells", "nr-rrc.monitoringCells",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex", HFILL }},
+ { &hf_nr_rrc_monitoringCells_item,
+ { "ServCellIndex", "nr-rrc.ServCellIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_startingBitOfFormat2_3,
+ { "startingBitOfFormat2-3", "nr-rrc.startingBitOfFormat2_3",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_31", HFILL }},
+ { &hf_nr_rrc_fieldTypeFormat2_3,
+ { "fieldTypeFormat2-3", "nr-rrc.fieldTypeFormat2_3",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_1", HFILL }},
+ { &hf_nr_rrc_srs_CC_SetIndexlist,
+ { "srs-CC-SetIndexlist", "nr-rrc.srs_CC_SetIndexlist",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex", HFILL }},
+ { &hf_nr_rrc_srs_CC_SetIndexlist_item,
+ { "SRS-CC-SetIndex", "nr-rrc.SRS_CC_SetIndex_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_cyclicShift,
- { "cyclicShift", "nr-rrc.cyclicShift",
+ { &hf_nr_rrc_cc_SetIndex,
+ { "cc-SetIndex", "nr-rrc.cc_SetIndex",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_12", HFILL }},
- { &hf_nr_rrc_spatialRelationInfo,
- { "spatialRelationInfo", "nr-rrc.spatialRelationInfo",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialRelationInfo_vals), 0,
+ "INTEGER_0_3", HFILL }},
+ { &hf_nr_rrc_cc_IndexInOneCC_Set,
+ { "cc-IndexInOneCC-Set", "nr-rrc.cc_IndexInOneCC_Set",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_7", HFILL }},
+ { &hf_nr_rrc_tci_StateId,
+ { "tci-StateId", "nr-rrc.tci_StateId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_qcl_Type1,
+ { "qcl-Type1", "nr-rrc.qcl_Type1_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "QCL_Info", HFILL }},
+ { &hf_nr_rrc_qcl_Type2,
+ { "qcl-Type2", "nr-rrc.qcl_Type2_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "QCL_Info", HFILL }},
+ { &hf_nr_rrc_nrofPTRS_Ports,
+ { "nrofPTRS-Ports", "nr-rrc.nrofPTRS_Ports",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPTRS_Ports_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_cell,
+ { "cell", "nr-rrc.cell",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ServCellIndex", HFILL }},
+ { &hf_nr_rrc_referenceSignal_03,
+ { "referenceSignal", "nr-rrc.referenceSignal",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_03_vals), 0,
+ "T_referenceSignal_03", HFILL }},
+ { &hf_nr_rrc_csi_rs,
+ { "csi-rs", "nr-rrc.csi_rs",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NZP_CSI_RS_ResourceId", HFILL }},
+ { &hf_nr_rrc_csi_RS_for_tracking,
+ { "csi-RS-for-tracking", "nr-rrc.csi_RS_for_tracking",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NZP_CSI_RS_ResourceSetId", HFILL }},
+ { &hf_nr_rrc_qcl_Type,
+ { "qcl-Type", "nr-rrc.qcl_Type",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_qcl_Type_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_referenceSubcarrierSpacing,
+ { "referenceSubcarrierSpacing", "nr-rrc.referenceSubcarrierSpacing",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
+ "SubcarrierSpacing", HFILL }},
+ { &hf_nr_rrc_dl_UL_TransmissionPeriodicity,
+ { "dl-UL-TransmissionPeriodicity", "nr-rrc.dl_UL_TransmissionPeriodicity",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_UL_TransmissionPeriodicity_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nrofDownlinkSlots,
+ { "nrofDownlinkSlots", "nr-rrc.nrofDownlinkSlots",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_maxNrofSlots", HFILL }},
+ { &hf_nr_rrc_nrofDownlinkSymbols,
+ { "nrofDownlinkSymbols", "nr-rrc.nrofDownlinkSymbols",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_maxNrofSymbols_1", HFILL }},
+ { &hf_nr_rrc_nrofUplinkSlots,
+ { "nrofUplinkSlots", "nr-rrc.nrofUplinkSlots",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_maxNrofSlots", HFILL }},
+ { &hf_nr_rrc_nrofUplinkSymbols,
+ { "nrofUplinkSymbols", "nr-rrc.nrofUplinkSymbols",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_maxNrofSymbols_1", HFILL }},
+ { &hf_nr_rrc_slotSpecificConfigurationsToAddModList,
+ { "slotSpecificConfigurationsToAddModList", "nr-rrc.slotSpecificConfigurationsToAddModList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig", HFILL }},
+ { &hf_nr_rrc_slotSpecificConfigurationsToAddModList_item,
+ { "TDD-UL-DL-SlotConfig", "nr-rrc.TDD_UL_DL_SlotConfig_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_slotSpecificConfigurationsToreleaseList,
+ { "slotSpecificConfigurationsToreleaseList", "nr-rrc.slotSpecificConfigurationsToreleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex", HFILL }},
+ { &hf_nr_rrc_slotSpecificConfigurationsToreleaseList_item,
+ { "TDD-UL-DL-SlotIndex", "nr-rrc.TDD_UL_DL_SlotIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_slotIndex,
+ { "slotIndex", "nr-rrc.slotIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "TDD_UL_DL_SlotIndex", HFILL }},
+ { &hf_nr_rrc_symbols,
+ { "symbols", "nr-rrc.symbols",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_symbols_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_allDownlink,
+ { "allDownlink", "nr-rrc.allDownlink_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_allUplink,
+ { "allUplink", "nr-rrc.allUplink_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_explicit,
+ { "explicit", "nr-rrc.explicit_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nrofDownlinkSymbols_01,
+ { "nrofDownlinkSymbols", "nr-rrc.nrofDownlinkSymbols",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_maxNrofSymbols_1", HFILL }},
+ { &hf_nr_rrc_nrofUplinkSymbols_01,
+ { "nrofUplinkSymbols", "nr-rrc.nrofUplinkSymbols",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_maxNrofSymbols_1", HFILL }},
+ { &hf_nr_rrc_zp_CSI_RS_ResourceId,
+ { "zp-CSI-RS-ResourceId", "nr-rrc.zp_CSI_RS_ResourceId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_zp_CSI_RS_ResourceSetId,
+ { "zp-CSI-RS-ResourceSetId", "nr-rrc.zp_CSI_RS_ResourceSetId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_zp_CSI_RS_ResourceIdList,
+ { "zp-CSI-RS-ResourceIdList", "nr-rrc.zp_CSI_RS_ResourceIdList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId", HFILL }},
+ { &hf_nr_rrc_zp_CSI_RS_ResourceIdList_item,
+ { "ZP-CSI-RS-ResourceId", "nr-rrc.ZP_CSI_RS_ResourceId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_resourceType_03,
+ { "resourceType", "nr-rrc.resourceType",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceType_03_vals), 0,
+ "T_resourceType_03", HFILL }},
{ &hf_nr_rrc_BandCombinationList_item,
{ "BandCombination", "nr-rrc.BandCombination_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_measParameters_MRDC,
- { "measParameters-MRDC", "nr-rrc.measParameters_MRDC_element",
+ { &hf_nr_rrc_bandAndDL_ParametersList,
+ { "bandAndDL-ParametersList", "nr-rrc.bandAndDL_ParametersList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_bandCombinationsUL,
+ { "bandCombinationsUL", "nr-rrc.bandCombinationsUL",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_1_maxBandComb", HFILL }},
+ { &hf_nr_rrc_bandCombinationParametersList,
+ { "bandCombinationParametersList", "nr-rrc.bandCombinationParametersList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxBandComb_OF_BandCombinationParameters", HFILL }},
+ { &hf_nr_rrc_bandCombinationParametersList_item,
+ { "BandCombinationParameters", "nr-rrc.BandCombinationParameters_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_rf_Parameters_MRDC,
- { "rf-Parameters-MRDC", "nr-rrc.rf_Parameters_MRDC_element",
+ { &hf_nr_rrc_BandAndDL_ParametersList_item,
+ { "BandAndDL-Parameters", "nr-rrc.BandAndDL_Parameters",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_BandAndDL_Parameters_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_bandAndDL_ParametersEUTRA,
+ { "bandAndDL-ParametersEUTRA", "nr-rrc.bandAndDL_ParametersEUTRA_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_phyLayerParameters_MRDC,
- { "phyLayerParameters-MRDC", "nr-rrc.phyLayerParameters_MRDC_element",
+ { &hf_nr_rrc_bandAndDL_ParametersNR,
+ { "bandAndDL-ParametersNR", "nr-rrc.bandAndDL_ParametersNR_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_supportedBandCombination,
- { "supportedBandCombination", "nr-rrc.supportedBandCombination",
+ { &hf_nr_rrc_ca_ParametersNR,
+ { "ca-ParametersNR", "nr-rrc.ca_ParametersNR_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_mrdc_Parameters,
+ { "mrdc-Parameters", "nr-rrc.mrdc_Parameters_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_multipleTimingAdvances,
+ { "multipleTimingAdvances", "nr-rrc.multipleTimingAdvances",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleTimingAdvances_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_simultaneousRxTxInterBandCA,
+ { "simultaneousRxTxInterBandCA", "nr-rrc.simultaneousRxTxInterBandCA",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxTxInterBandCA_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_supportedBandwidthCombinationSet,
+ { "supportedBandwidthCombinationSet", "nr-rrc.supportedBandwidthCombinationSet",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_1_32", HFILL }},
+ { &hf_nr_rrc_singleUL_Transmission,
+ { "singleUL-Transmission", "nr-rrc.singleUL_Transmission",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_singleUL_Transmission_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ul_SharingEUTRA_NR,
+ { "ul-SharingEUTRA-NR", "nr-rrc.ul_SharingEUTRA_NR",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_SharingEUTRA_NR_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ul_SwitchingTimeEUTRA_NR,
+ { "ul-SwitchingTimeEUTRA-NR", "nr-rrc.ul_SwitchingTimeEUTRA_NR",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_SwitchingTimeEUTRA_NR_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_simultaneousRxTxInterBandENDC,
+ { "simultaneousRxTxInterBandENDC", "nr-rrc.simultaneousRxTxInterBandENDC",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxTxInterBandENDC_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_asyncIntraBandENDC,
+ { "asyncIntraBandENDC", "nr-rrc.asyncIntraBandENDC",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_asyncIntraBandENDC_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_basebandProcesingCombinationMRDC,
+ { "basebandProcesingCombinationMRDC", "nr-rrc.basebandProcesingCombinationMRDC",
FT_UINT32, BASE_DEC, NULL, 0,
- "BandCombinationList", HFILL }},
- { &hf_nr_rrc_supportedBasebandProcessingCombination_MRDC,
- { "supportedBasebandProcessingCombination-MRDC", "nr-rrc.supportedBasebandProcessingCombination_MRDC",
+ "BasebandProcessingCombinationMRDC", HFILL }},
+ { &hf_nr_rrc_bandEUTRA,
+ { "bandEUTRA", "nr-rrc.bandEUTRA",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "FreqBandIndicatorEUTRA", HFILL }},
+ { &hf_nr_rrc_ca_BandwidthClassDL_EUTRA,
+ { "ca-BandwidthClassDL-EUTRA", "nr-rrc.ca_BandwidthClassDL_EUTRA",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_CA_BandwidthClassEUTRA_vals), 0,
+ "CA_BandwidthClassEUTRA", HFILL }},
+ { &hf_nr_rrc_intraBandContiguousCC_InfoDL_EUTRA_List,
+ { "intraBandContiguousCC-InfoDL-EUTRA-List", "nr-rrc.intraBandContiguousCC_InfoDL_EUTRA_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoDL_EUTRA", HFILL }},
+ { &hf_nr_rrc_intraBandContiguousCC_InfoDL_EUTRA_List_item,
+ { "IntraBandContiguousCC-InfoDL-EUTRA", "nr-rrc.IntraBandContiguousCC_InfoDL_EUTRA_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_bandNR,
+ { "bandNR", "nr-rrc.bandNR",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "FreqBandIndicatorNR", HFILL }},
+ { &hf_nr_rrc_ca_BandwidthClassDL,
+ { "ca-BandwidthClassDL", "nr-rrc.ca_BandwidthClassDL",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_CA_BandwidthClassNR_vals_ext, 0,
+ "CA_BandwidthClassNR", HFILL }},
+ { &hf_nr_rrc_intraBandFreqSeparationDL,
+ { "intraBandFreqSeparationDL", "nr-rrc.intraBandFreqSeparationDL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_FreqSeparationClass_vals), 0,
+ "FreqSeparationClass", HFILL }},
+ { &hf_nr_rrc_intraBandContiguousCC_InfoDL_List,
+ { "intraBandContiguousCC-InfoDL-List", "nr-rrc.intraBandContiguousCC_InfoDL_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoDL", HFILL }},
+ { &hf_nr_rrc_intraBandContiguousCC_InfoDL_List_item,
+ { "IntraBandContiguousCC-InfoDL", "nr-rrc.IntraBandContiguousCC_InfoDL_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_maxNumberMIMO_LayersPDSCH,
+ { "maxNumberMIMO-LayersPDSCH", "nr-rrc.maxNumberMIMO_LayersPDSCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersDL_vals), 0,
+ "MIMO_LayersDL", HFILL }},
+ { &hf_nr_rrc_mimo_CapabilityDL,
+ { "mimo-CapabilityDL", "nr-rrc.mimo_CapabilityDL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mimo_CapabilityDL_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_BandCombinationParametersUL_List_item,
+ { "BandCombinationParametersUL", "nr-rrc.BandCombinationParametersUL",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_BandCombinationParametersUL_item,
+ { "BandParametersUL", "nr-rrc.BandParametersUL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_BandParametersUL_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_bandParametersUL_EUTRA,
+ { "bandParametersUL-EUTRA", "nr-rrc.bandParametersUL_EUTRA_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_bandParametersUL_NR,
+ { "bandParametersUL-NR", "nr-rrc.bandParametersUL_NR_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ca_BandwidthClassUL_EUTRA,
+ { "ca-BandwidthClassUL-EUTRA", "nr-rrc.ca_BandwidthClassUL_EUTRA",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_CA_BandwidthClassEUTRA_vals), 0,
+ "CA_BandwidthClassEUTRA", HFILL }},
+ { &hf_nr_rrc_intraBandContiguousCC_InfoUL_EUTRA_List,
+ { "intraBandContiguousCC-InfoUL-EUTRA-List", "nr-rrc.intraBandContiguousCC_InfoUL_EUTRA_List",
FT_UINT32, BASE_DEC, NULL, 0,
- "BasebandProcessingCombination_MRDC", HFILL }},
- { &hf_nr_rrc_BasebandProcessingCombination_MRDC_item,
- { "LinkedBasebandProcessingCombination", "nr-rrc.LinkedBasebandProcessingCombination_element",
+ "SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoUL_EUTRA", HFILL }},
+ { &hf_nr_rrc_intraBandContiguousCC_InfoUL_EUTRA_List_item,
+ { "IntraBandContiguousCC-InfoUL-EUTRA", "nr-rrc.IntraBandContiguousCC_InfoUL_EUTRA_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_basebandProcessingCombinationIndex,
- { "basebandProcessingCombinationIndex", "nr-rrc.basebandProcessingCombinationIndex",
+ { &hf_nr_rrc_ca_BandwidthClassUL,
+ { "ca-BandwidthClassUL", "nr-rrc.ca_BandwidthClassUL",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_CA_BandwidthClassNR_vals_ext, 0,
+ "CA_BandwidthClassNR", HFILL }},
+ { &hf_nr_rrc_intraBandFreqSeparationUL,
+ { "intraBandFreqSeparationUL", "nr-rrc.intraBandFreqSeparationUL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_FreqSeparationClass_vals), 0,
+ "FreqSeparationClass", HFILL }},
+ { &hf_nr_rrc_intraBandContiguousCC_InfoUL_List,
+ { "intraBandContiguousCC-InfoUL-List", "nr-rrc.intraBandContiguousCC_InfoUL_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoUL", HFILL }},
+ { &hf_nr_rrc_intraBandContiguousCC_InfoUL_List_item,
+ { "IntraBandContiguousCC-InfoUL", "nr-rrc.IntraBandContiguousCC_InfoUL_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_maxNumberMIMO_LayersCB_PUSCH,
+ { "maxNumberMIMO-LayersCB-PUSCH", "nr-rrc.maxNumberMIMO_LayersCB_PUSCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersUL_vals), 0,
+ "MIMO_LayersUL", HFILL }},
+ { &hf_nr_rrc_maxNumberMIMO_LayersNonCB_PUSCH,
+ { "maxNumberMIMO-LayersNonCB-PUSCH", "nr-rrc.maxNumberMIMO_LayersNonCB_PUSCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersUL_vals), 0,
+ "MIMO_LayersUL", HFILL }},
+ { &hf_nr_rrc_mimo_CapabilityUL,
+ { "mimo-CapabilityUL", "nr-rrc.mimo_CapabilityUL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mimo_CapabilityUL_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_BasebandCombinationParametersUL_List_item,
+ { "BasebandCombinationParametersUL", "nr-rrc.BasebandCombinationParametersUL",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_basebandProcessingCombinationLinkedIndex,
- { "basebandProcessingCombinationLinkedIndex", "nr-rrc.basebandProcessingCombinationLinkedIndex",
+ { &hf_nr_rrc_BasebandCombinationParametersUL_item,
+ { "BasebandParametersPerBandUL", "nr-rrc.BasebandParametersPerBandUL_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_freqRange,
+ { "freqRange", "nr-rrc.freqRange",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_freqRange_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_basebandParametersPerCC_UL,
+ { "basebandParametersPerCC-UL", "nr-rrc.basebandParametersPerCC_UL",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_UL", HFILL }},
+ { &hf_nr_rrc_basebandParametersPerCC_UL_item,
+ { "BasebandParametersPerCC-UL", "nr-rrc.BasebandParametersPerCC_UL_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_supportedSubcarrierSpacingUL,
+ { "supportedSubcarrierSpacingUL", "nr-rrc.supportedSubcarrierSpacingUL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
+ "SubcarrierSpacing", HFILL }},
+ { &hf_nr_rrc_supportedBandwidthUL,
+ { "supportedBandwidthUL", "nr-rrc.supportedBandwidthUL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedBandwidthUL_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_fr1,
+ { "fr1", "nr-rrc.fr1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_fr2,
+ { "fr2", "nr-rrc.fr2",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr2_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_scalingFactor0dot75,
+ { "scalingFactor0dot75", "nr-rrc.scalingFactor0dot75",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scalingFactor0dot75_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_supportedModulationOrderUL,
+ { "supportedModulationOrderUL", "nr-rrc.supportedModulationOrderUL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_ModulationOrder_vals), 0,
+ "ModulationOrder", HFILL }},
+ { &hf_nr_rrc_supportedSRS_Resources,
+ { "supportedSRS-Resources", "nr-rrc.supportedSRS_Resources_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "SRS_Resources", HFILL }},
+ { &hf_nr_rrc_srs_TxSwitch,
+ { "srs-TxSwitch", "nr-rrc.srs_TxSwitch_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_lowLatencyCSI_Feedback,
+ { "lowLatencyCSI-Feedback", "nr-rrc.lowLatencyCSI_Feedback",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lowLatencyCSI_Feedback_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pusch_DifferentTB_PerSlot,
+ { "pusch-DifferentTB-PerSlot", "nr-rrc.pusch_DifferentTB_PerSlot_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_scs_15kHz,
+ { "scs-15kHz", "nr-rrc.scs_15kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_scs_30kHz,
+ { "scs-30kHz", "nr-rrc.scs_30kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_scs_60kHz,
+ { "scs-60kHz", "nr-rrc.scs_60kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_scs_120kHz,
+ { "scs-120kHz", "nr-rrc.scs_120kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_twoPUCCH_Group,
+ { "twoPUCCH-Group", "nr-rrc.twoPUCCH_Group",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_Group_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_diffNumerologyAcrossPUCCH_Group,
+ { "diffNumerologyAcrossPUCCH-Group", "nr-rrc.diffNumerologyAcrossPUCCH_Group",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffNumerologyAcrossPUCCH_Group_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_diffNumerologyWithinPUCCH_Group,
+ { "diffNumerologyWithinPUCCH-Group", "nr-rrc.diffNumerologyWithinPUCCH_Group",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffNumerologyWithinPUCCH_Group_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_crossCarrierScheduling,
+ { "crossCarrierScheduling", "nr-rrc.crossCarrierScheduling",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierScheduling_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_supportedNumberTAG,
+ { "supportedNumberTAG", "nr-rrc.supportedNumberTAG",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedNumberTAG_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dynamicSwitchSUL,
+ { "dynamicSwitchSUL", "nr-rrc.dynamicSwitchSUL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSwitchSUL_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_simultaneousTxSUL_NonSUL,
+ { "simultaneousTxSUL-NonSUL", "nr-rrc.simultaneousTxSUL_NonSUL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousTxSUL_NonSUL_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_searchSpaceSharingCA_UL,
+ { "searchSpaceSharingCA-UL", "nr-rrc.searchSpaceSharingCA_UL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSharingCA_UL_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_BasebandProcessingCombinationMRDC_item,
+ { "BasebandProcessingCombinationLink", "nr-rrc.BasebandProcessingCombinationLink_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_basebandProcessingCombinationIndexMN,
+ { "basebandProcessingCombinationIndexMN", "nr-rrc.basebandProcessingCombinationIndexMN",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "BasebandProcessingCombinationIndex", HFILL }},
+ { &hf_nr_rrc_basebandProcessingCombinationLinkedIndexSN,
+ { "basebandProcessingCombinationLinkedIndexSN", "nr-rrc.basebandProcessingCombinationLinkedIndexSN",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex", HFILL }},
- { &hf_nr_rrc_basebandProcessingCombinationLinkedIndex_item,
+ { &hf_nr_rrc_basebandProcessingCombinationLinkedIndexSN_item,
{ "BasebandProcessingCombinationIndex", "nr-rrc.BasebandProcessingCombinationIndex",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_intraCarrierConcurrentMeas,
- { "intraCarrierConcurrentMeas", "nr-rrc.intraCarrierConcurrentMeas",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraCarrierConcurrentMeas_vals), 0,
+ { &hf_nr_rrc_FreqBandList_item,
+ { "FreqBandInformation", "nr-rrc.FreqBandInformation",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_FreqBandInformation_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_SupportedBasebandProcessingCombination_item,
+ { "BasebandProcessingCombination", "nr-rrc.BasebandProcessingCombination_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_basebandParametersDL,
+ { "basebandParametersDL", "nr-rrc.basebandParametersDL",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBandDL", HFILL }},
+ { &hf_nr_rrc_basebandParametersDL_item,
+ { "BasebandParametersPerBandDL", "nr-rrc.BasebandParametersPerBandDL_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_basebandParametersUL,
+ { "basebandParametersUL", "nr-rrc.basebandParametersUL",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_1_maxBasebandProcComb", HFILL }},
+ { &hf_nr_rrc_freqRange_01,
+ { "freqRange", "nr-rrc.freqRange",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_freqRange_01_vals), 0,
+ "T_freqRange_01", HFILL }},
+ { &hf_nr_rrc_basebandParametersPerCC_DL,
+ { "basebandParametersPerCC-DL", "nr-rrc.basebandParametersPerCC_DL",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_DL", HFILL }},
+ { &hf_nr_rrc_basebandParametersPerCC_DL_item,
+ { "BasebandParametersPerCC-DL", "nr-rrc.BasebandParametersPerCC_DL_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_supportedSubcarrierSpacingDL,
+ { "supportedSubcarrierSpacingDL", "nr-rrc.supportedSubcarrierSpacingDL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
+ "SubcarrierSpacing", HFILL }},
+ { &hf_nr_rrc_supportedBandwidthDL,
+ { "supportedBandwidthDL", "nr-rrc.supportedBandwidthDL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedBandwidthDL_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_fr1_01,
+ { "fr1", "nr-rrc.fr1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1_01_vals), 0,
+ "T_fr1_01", HFILL }},
+ { &hf_nr_rrc_fr2_01,
+ { "fr2", "nr-rrc.fr2",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr2_01_vals), 0,
+ "T_fr2_01", HFILL }},
+ { &hf_nr_rrc_scalingFactor0dot75_01,
+ { "scalingFactor0dot75", "nr-rrc.scalingFactor0dot75",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scalingFactor0dot75_01_vals), 0,
+ "T_scalingFactor0dot75_01", HFILL }},
+ { &hf_nr_rrc_timeDurationForQCL,
+ { "timeDurationForQCL", "nr-rrc.timeDurationForQCL_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_scs_60kHz_01,
+ { "scs-60kHz", "nr-rrc.scs_60kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_01_vals), 0,
+ "T_scs_60kHz_01", HFILL }},
+ { &hf_nr_rrc_sch_120kHz,
+ { "sch-120kHz", "nr-rrc.sch_120kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sch_120kHz_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_scellWithoutSSB,
+ { "scellWithoutSSB", "nr-rrc.scellWithoutSSB",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scellWithoutSSB_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_RS_MeasSCellWithoutSSB,
+ { "csi-RS-MeasSCellWithoutSSB", "nr-rrc.csi_RS_MeasSCellWithoutSSB",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_MeasSCellWithoutSSB_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_supportedModulationOrderDL,
+ { "supportedModulationOrderDL", "nr-rrc.supportedModulationOrderDL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_ModulationOrder_vals), 0,
+ "ModulationOrder", HFILL }},
+ { &hf_nr_rrc_srs_AssocCSI_RS,
+ { "srs-AssocCSI-RS", "nr-rrc.srs_AssocCSI_RS",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_AssocCSI_RS_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_type1_3_CSS,
+ { "type1-3-CSS", "nr-rrc.type1_3_CSS",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_3_CSS_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pdcchMonitoringAnyOccasions,
+ { "pdcchMonitoringAnyOccasions", "nr-rrc.pdcchMonitoringAnyOccasions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcchMonitoringAnyOccasions_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ue_SpecificUL_DL_Assignment,
+ { "ue-SpecificUL-DL-Assignment", "nr-rrc.ue_SpecificUL_DL_Assignment",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_SpecificUL_DL_Assignment_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pdsch_DifferentTB_PerSlot,
+ { "pdsch-DifferentTB-PerSlot", "nr-rrc.pdsch_DifferentTB_PerSlot_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_scs_15kHz_01,
+ { "scs-15kHz", "nr-rrc.scs_15kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_01_vals), 0,
+ "T_scs_15kHz_01", HFILL }},
+ { &hf_nr_rrc_scs_30kHz_01,
+ { "scs-30kHz", "nr-rrc.scs_30kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_01_vals), 0,
+ "T_scs_30kHz_01", HFILL }},
+ { &hf_nr_rrc_scs_60kHz_02,
+ { "scs-60kHz", "nr-rrc.scs_60kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_02_vals), 0,
+ "T_scs_60kHz_02", HFILL }},
+ { &hf_nr_rrc_scs_120kHz_01,
+ { "scs-120kHz", "nr-rrc.scs_120kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_01_vals), 0,
+ "T_scs_120kHz_01", HFILL }},
+ { &hf_nr_rrc_crossCarrierScheduling_01,
+ { "crossCarrierScheduling", "nr-rrc.crossCarrierScheduling",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierScheduling_01_vals), 0,
+ "T_crossCarrierScheduling_01", HFILL }},
+ { &hf_nr_rrc_searchSpaceSharingCA_DL,
+ { "searchSpaceSharingCA-DL", "nr-rrc.searchSpaceSharingCA_DL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSharingCA_DL_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_UE_CapabilityRAT_ContainerList_item,
+ { "UE-CapabilityRAT-Container", "nr-rrc.UE_CapabilityRAT_Container_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rat_Type,
+ { "rat-Type", "nr-rrc.rat_Type",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_RAT_Type_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ue_CapabilityRAT_Container,
+ { "ue-CapabilityRAT-Container", "nr-rrc.ue_CapabilityRAT_Container",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "T_ue_CapabilityRAT_Container", HFILL }},
+ { &hf_nr_rrc_measParametersMRDC,
+ { "measParametersMRDC", "nr-rrc.measParametersMRDC_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rf_ParametersMRDC,
+ { "rf-ParametersMRDC", "nr-rrc.rf_ParametersMRDC_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_phy_ParametersMRDC,
+ { "phy-ParametersMRDC", "nr-rrc.phy_ParametersMRDC_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_generalParametersMRDC,
+ { "generalParametersMRDC", "nr-rrc.generalParametersMRDC_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "GeneralParametersMRDC_XDD_Diff", HFILL }},
+ { &hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities,
+ { "fdd-Add-UE-MRDC-Capabilities", "nr-rrc.fdd_Add_UE_MRDC_Capabilities_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UE_MRDC_CapabilityAddXDD_Mode", HFILL }},
+ { &hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities,
+ { "tdd-Add-UE-MRDC-Capabilities", "nr-rrc.tdd_Add_UE_MRDC_Capabilities_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UE_MRDC_CapabilityAddXDD_Mode", HFILL }},
+ { &hf_nr_rrc_fr1_Add_UE_MRDC_Capabilities,
+ { "fr1-Add-UE-MRDC-Capabilities", "nr-rrc.fr1_Add_UE_MRDC_Capabilities_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UE_MRDC_CapabilityAddFRX_Mode", HFILL }},
+ { &hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities,
+ { "fr2-Add-UE-MRDC-Capabilities", "nr-rrc.fr2_Add_UE_MRDC_Capabilities_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UE_MRDC_CapabilityAddFRX_Mode", HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_05,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_05", HFILL }},
+ { &hf_nr_rrc_phy_ParametersMRDC_XDD_Diff,
+ { "phy-ParametersMRDC-XDD-Diff", "nr-rrc.phy_ParametersMRDC_XDD_Diff_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_measParametersMRDC_XDD_Diff,
+ { "measParametersMRDC-XDD-Diff", "nr-rrc.measParametersMRDC_XDD_Diff_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_generalParametersMRDC_XDD_Diff,
+ { "generalParametersMRDC-XDD-Diff", "nr-rrc.generalParametersMRDC_XDD_Diff_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_phy_ParametersMRDC_FRX_Diff,
+ { "phy-ParametersMRDC-FRX-Diff", "nr-rrc.phy_ParametersMRDC_FRX_Diff_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_measParametersMRDC_FRX_Diff,
+ { "measParametersMRDC-FRX-Diff", "nr-rrc.measParametersMRDC_FRX_Diff_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_supportedBandCombination,
+ { "supportedBandCombination", "nr-rrc.supportedBandCombination",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "BandCombinationList", HFILL }},
+ { &hf_nr_rrc_bandCombinationParametersUL_List,
+ { "bandCombinationParametersUL-List", "nr-rrc.bandCombinationParametersUL_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dynamicPowerSharing,
+ { "dynamicPowerSharing", "nr-rrc.dynamicPowerSharing",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicPowerSharing_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_tdm_Pattern,
+ { "tdm-Pattern", "nr-rrc.tdm_Pattern",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tdm_Pattern_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dynamicPowerSharing_01,
+ { "dynamicPowerSharing", "nr-rrc.dynamicPowerSharing",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicPowerSharing_01_vals), 0,
+ "T_dynamicPowerSharing_01", HFILL }},
+ { &hf_nr_rrc_tdm_Pattern_01,
+ { "tdm-Pattern", "nr-rrc.tdm_Pattern",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tdm_Pattern_01_vals), 0,
+ "T_tdm_Pattern_01", HFILL }},
+ { &hf_nr_rrc_measParametersMRDC_Common,
+ { "measParametersMRDC-Common", "nr-rrc.measParametersMRDC_Common_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_independentGapConfig,
{ "independentGapConfig", "nr-rrc.independentGapConfig",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_independentGapConfig_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_sstd_MeasType1,
- { "sstd-MeasType1", "nr-rrc.sstd_MeasType1",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sstd_MeasType1_vals), 0,
+ { &hf_nr_rrc_sftd_MeasPSCell,
+ { "sftd-MeasPSCell", "nr-rrc.sftd_MeasPSCell",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sftd_MeasPSCell_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sftd_MeasNR_Cell,
+ { "sftd-MeasNR-Cell", "nr-rrc.sftd_MeasNR_Cell",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sftd_MeasNR_Cell_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology,
+ { "simultaneousRxDataSSB-DiffNumerology", "nr-rrc.simultaneousRxDataSSB_DiffNumerology",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_splitSRB_WithOneUL_Path,
+ { "splitSRB-WithOneUL-Path", "nr-rrc.splitSRB_WithOneUL_Path",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_splitSRB_WithOneUL_Path_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_splitDRB_withUL_Both_MCG_SCG,
+ { "splitDRB-withUL-Both-MCG-SCG", "nr-rrc.splitDRB_withUL_Both_MCG_SCG",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_splitDRB_withUL_Both_MCG_SCG_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_srb3,
+ { "srb3", "nr-rrc.srb3",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srb3_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_pdcp_Parameters,
{ "pdcp-Parameters", "nr-rrc.pdcp_Parameters_element",
@@ -16170,89 +31653,709 @@ void proto_register_nr_rrc(void) {
{ "mac-Parameters", "nr-rrc.mac_Parameters_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_phyLayerParameters,
- { "phyLayerParameters", "nr-rrc.phyLayerParameters_element",
+ { &hf_nr_rrc_phy_Parameters,
+ { "phy-Parameters", "nr-rrc.phy_Parameters_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_rf_Parameters,
{ "rf-Parameters", "nr-rrc.rf_Parameters_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_nonCriticalExtension_02,
+ { &hf_nr_rrc_measParameters,
+ { "measParameters", "nr-rrc.measParameters_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_fdd_Add_UE_NR_Capabilities,
+ { "fdd-Add-UE-NR-Capabilities", "nr-rrc.fdd_Add_UE_NR_Capabilities_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UE_NR_CapabilityAddXDD_Mode", HFILL }},
+ { &hf_nr_rrc_tdd_Add_UE_NR_Capabilities,
+ { "tdd-Add-UE-NR-Capabilities", "nr-rrc.tdd_Add_UE_NR_Capabilities_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UE_NR_CapabilityAddXDD_Mode", HFILL }},
+ { &hf_nr_rrc_fr1_Add_UE_NR_Capabilities,
+ { "fr1-Add-UE-NR-Capabilities", "nr-rrc.fr1_Add_UE_NR_Capabilities_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UE_NR_CapabilityAddFRX_Mode", HFILL }},
+ { &hf_nr_rrc_fr2_Add_UE_NR_Capabilities,
+ { "fr2-Add-UE-NR-Capabilities", "nr-rrc.fr2_Add_UE_NR_Capabilities_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UE_NR_CapabilityAddFRX_Mode", HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_06,
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_nonCriticalExtension_02", HFILL }},
+ "T_nonCriticalExtension_06", HFILL }},
+ { &hf_nr_rrc_phy_ParametersXDD_Diff,
+ { "phy-ParametersXDD-Diff", "nr-rrc.phy_ParametersXDD_Diff_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_mac_ParametersXDD_Diff,
+ { "mac-ParametersXDD-Diff", "nr-rrc.mac_ParametersXDD_Diff_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_measParametersXDD_Diff,
+ { "measParametersXDD-Diff", "nr-rrc.measParametersXDD_Diff_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_phy_ParametersFRX_Diff,
+ { "phy-ParametersFRX-Diff", "nr-rrc.phy_ParametersFRX_Diff_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_measParametersFRX_Diff,
+ { "measParametersFRX-Diff", "nr-rrc.measParametersFRX_Diff_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_phy_ParametersCommon,
+ { "phy-ParametersCommon", "nr-rrc.phy_ParametersCommon_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_phy_ParametersFR1,
+ { "phy-ParametersFR1", "nr-rrc.phy_ParametersFR1_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_phy_ParametersFR2,
+ { "phy-ParametersFR2", "nr-rrc.phy_ParametersFR2_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_supportedBasebandProcessingCombination,
{ "supportedBasebandProcessingCombination", "nr-rrc.supportedBasebandProcessingCombination",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_basebandCombinationParametersUL_List,
+ { "basebandCombinationParametersUL-List", "nr-rrc.basebandCombinationParametersUL_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_RS_CFRA_ForHO,
+ { "csi-RS-CFRA-ForHO", "nr-rrc.csi_RS_CFRA_ForHO",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_CFRA_ForHO_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dynamicPRB_BundlingDL,
+ { "dynamicPRB-BundlingDL", "nr-rrc.dynamicPRB_BundlingDL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicPRB_BundlingDL_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sp_CSI_ReportPUCCH,
+ { "sp-CSI-ReportPUCCH", "nr-rrc.sp_CSI_ReportPUCCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_CSI_ReportPUCCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sp_CSI_ReportPUSCH,
+ { "sp-CSI-ReportPUSCH", "nr-rrc.sp_CSI_ReportPUSCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_CSI_ReportPUSCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nzp_CSI_RS_IntefMgmt,
+ { "nzp-CSI-RS-IntefMgmt", "nr-rrc.nzp_CSI_RS_IntefMgmt",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nzp_CSI_RS_IntefMgmt_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_type2_SP_CSI_Feedback_LongPUCCH,
+ { "type2-SP-CSI-Feedback-LongPUCCH", "nr-rrc.type2_SP_CSI_Feedback_LongPUCCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_SP_CSI_Feedback_LongPUCCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_multipleCORESET,
+ { "multipleCORESET", "nr-rrc.multipleCORESET",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleCORESET_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dynamicSFI,
+ { "dynamicSFI", "nr-rrc.dynamicSFI",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSFI_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_precoderGranularityCORESET,
+ { "precoderGranularityCORESET", "nr-rrc.precoderGranularityCORESET",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_precoderGranularityCORESET_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dynamicHARQ_ACK_Codebook,
+ { "dynamicHARQ-ACK-Codebook", "nr-rrc.dynamicHARQ_ACK_Codebook",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicHARQ_ACK_Codebook_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_semiStaticHARQ_ACK_Codebook,
+ { "semiStaticHARQ-ACK-Codebook", "nr-rrc.semiStaticHARQ_ACK_Codebook",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_semiStaticHARQ_ACK_Codebook_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_spatialBundlingHARQ_ACK,
+ { "spatialBundlingHARQ-ACK", "nr-rrc.spatialBundlingHARQ_ACK",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialBundlingHARQ_ACK_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dynamicBetaOffsetInd_HARQ_ACK_CSI,
+ { "dynamicBetaOffsetInd-HARQ-ACK-CSI", "nr-rrc.dynamicBetaOffsetInd_HARQ_ACK_CSI",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicBetaOffsetInd_HARQ_ACK_CSI_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pucch_Repetition_F1_3_4,
+ { "pucch-Repetition-F1-3-4", "nr-rrc.pucch_Repetition_F1_3_4",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_Repetition_F1_3_4_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ra_Type0_PUSCH,
+ { "ra-Type0-PUSCH", "nr-rrc.ra_Type0_PUSCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_Type0_PUSCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dynamicSwitchRA_Type0_1_PDSCH,
+ { "dynamicSwitchRA-Type0-1-PDSCH", "nr-rrc.dynamicSwitchRA_Type0_1_PDSCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSwitchRA_Type0_1_PDSCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dynamicSwitchRA_Type0_1_PUSCH,
+ { "dynamicSwitchRA-Type0-1-PUSCH", "nr-rrc.dynamicSwitchRA_Type0_1_PUSCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSwitchRA_Type0_1_PUSCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pdsch_MappingTypeA,
+ { "pdsch-MappingTypeA", "nr-rrc.pdsch_MappingTypeA",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_MappingTypeA_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pdsch_MappingTypeB,
+ { "pdsch-MappingTypeB", "nr-rrc.pdsch_MappingTypeB",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_MappingTypeB_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_interleavingVRB_ToPRB_PDSCH,
+ { "interleavingVRB-ToPRB-PDSCH", "nr-rrc.interleavingVRB_ToPRB_PDSCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interleavingVRB_ToPRB_PDSCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_interleavingVRB_ToPRB_PUSCH,
+ { "interleavingVRB-ToPRB-PUSCH", "nr-rrc.interleavingVRB_ToPRB_PUSCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interleavingVRB_ToPRB_PUSCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_interSlotFreqHopping_PUSCH,
+ { "interSlotFreqHopping-PUSCH", "nr-rrc.interSlotFreqHopping_PUSCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interSlotFreqHopping_PUSCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_type1_PUSCH_RepetitionOneSlot,
+ { "type1-PUSCH-RepetitionOneSlot", "nr-rrc.type1_PUSCH_RepetitionOneSlot",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_PUSCH_RepetitionOneSlot_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_type1_PUSCH_RepetitionMultiSlots,
+ { "type1-PUSCH-RepetitionMultiSlots", "nr-rrc.type1_PUSCH_RepetitionMultiSlots",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_PUSCH_RepetitionMultiSlots_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_type2_PUSCH_RepetitionOneSlot,
+ { "type2-PUSCH-RepetitionOneSlot", "nr-rrc.type2_PUSCH_RepetitionOneSlot",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_PUSCH_RepetitionOneSlot_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_type2_PUSCH_RepetitionMultiSlots,
+ { "type2-PUSCH-RepetitionMultiSlots", "nr-rrc.type2_PUSCH_RepetitionMultiSlots",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_PUSCH_RepetitionMultiSlots_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pusch_RepetitionMultiSlots,
+ { "pusch-RepetitionMultiSlots", "nr-rrc.pusch_RepetitionMultiSlots",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_RepetitionMultiSlots_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pdsch_RepetitionMultiSlots,
+ { "pdsch-RepetitionMultiSlots", "nr-rrc.pdsch_RepetitionMultiSlots",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_RepetitionMultiSlots_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_downlinkSPS,
+ { "downlinkSPS", "nr-rrc.downlinkSPS",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_downlinkSPS_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_configuredUL_GrantType1,
+ { "configuredUL-GrantType1", "nr-rrc.configuredUL_GrantType1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredUL_GrantType1_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_configuredUL_GrantType2,
+ { "configuredUL-GrantType2", "nr-rrc.configuredUL_GrantType2",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredUL_GrantType2_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pre_EmptIndication_DL,
+ { "pre-EmptIndication-DL", "nr-rrc.pre_EmptIndication_DL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pre_EmptIndication_DL_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_cbg_TransIndication,
+ { "cbg-TransIndication", "nr-rrc.cbg_TransIndication",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_2", HFILL }},
+ { &hf_nr_rrc_cbg_FlushIndication_DL,
+ { "cbg-FlushIndication-DL", "nr-rrc.cbg_FlushIndication_DL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cbg_FlushIndication_DL_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dynamicHARQ_ACK_CodeB_CBG_Retx_DL,
+ { "dynamicHARQ-ACK-CodeB-CBG-Retx-DL", "nr-rrc.dynamicHARQ_ACK_CodeB_CBG_Retx_DL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rateMatchingResrcSetSemi_Static,
+ { "rateMatchingResrcSetSemi-Static", "nr-rrc.rateMatchingResrcSetSemi_Static",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatchingResrcSetSemi_Static_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rateMatchingResrcSetDynamic,
+ { "rateMatchingResrcSetDynamic", "nr-rrc.rateMatchingResrcSetDynamic",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatchingResrcSetDynamic_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rateMatchingLTE_CRS,
+ { "rateMatchingLTE-CRS", "nr-rrc.rateMatchingLTE_CRS",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatchingLTE_CRS_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_bwp_SwitchingDelay,
+ { "bwp-SwitchingDelay", "nr-rrc.bwp_SwitchingDelay",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bwp_SwitchingDelay_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols,
+ { "twoPUCCH-F0-2-ConsecSymbols", "nr-rrc.twoPUCCH_F0_2_ConsecSymbols",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_twoDifferentTPC_Loop_PUSCH,
+ { "twoDifferentTPC-Loop-PUSCH", "nr-rrc.twoDifferentTPC_Loop_PUSCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoDifferentTPC_Loop_PUSCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_twoDifferentTPC_Loop_PUCCH,
+ { "twoDifferentTPC-Loop-PUCCH", "nr-rrc.twoDifferentTPC_Loop_PUCCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoDifferentTPC_Loop_PUCCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_oneFL_DMRS_TwoAdditionalDMRS,
+ { "oneFL-DMRS-TwoAdditionalDMRS", "nr-rrc.oneFL_DMRS_TwoAdditionalDMRS",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_2", HFILL }},
+ { &hf_nr_rrc_twoFL_DMRS,
+ { "twoFL-DMRS", "nr-rrc.twoFL_DMRS",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_2", HFILL }},
+ { &hf_nr_rrc_twoFL_DMRS_TwoAdditionalDMRS,
+ { "twoFL-DMRS-TwoAdditionalDMRS", "nr-rrc.twoFL_DMRS_TwoAdditionalDMRS",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_2", HFILL }},
+ { &hf_nr_rrc_oneFL_DMRS_ThreeAdditionalDMRS,
+ { "oneFL-DMRS-ThreeAdditionalDMRS", "nr-rrc.oneFL_DMRS_ThreeAdditionalDMRS",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_2", HFILL }},
+ { &hf_nr_rrc_supportedDMRS_TypeDL,
+ { "supportedDMRS-TypeDL", "nr-rrc.supportedDMRS_TypeDL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedDMRS_TypeDL_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_supportedDMRS_TypeUL,
+ { "supportedDMRS-TypeUL", "nr-rrc.supportedDMRS_TypeUL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedDMRS_TypeUL_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_semiOpenLoopCSI,
+ { "semiOpenLoopCSI", "nr-rrc.semiOpenLoopCSI",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_semiOpenLoopCSI_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_ReportWithoutPMI,
+ { "csi-ReportWithoutPMI", "nr-rrc.csi_ReportWithoutPMI",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_ReportWithoutPMI_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_ReportWithCRI,
+ { "csi-ReportWithCRI", "nr-rrc.csi_ReportWithCRI",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_ReportWithCRI_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_ReportWithoutCQI,
+ { "csi-ReportWithoutCQI", "nr-rrc.csi_ReportWithoutCQI",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_ReportWithoutCQI_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_onePortsPTRS,
+ { "onePortsPTRS", "nr-rrc.onePortsPTRS",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_2", HFILL }},
+ { &hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols_01,
+ { "twoPUCCH-F0-2-ConsecSymbols", "nr-rrc.twoPUCCH_F0_2_ConsecSymbols",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_01_vals), 0,
+ "T_twoPUCCH_F0_2_ConsecSymbols_01", HFILL }},
+ { &hf_nr_rrc_pucch_F2_WithFH,
+ { "pucch-F2-WithFH", "nr-rrc.pucch_F2_WithFH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F2_WithFH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pucch_F3_WithFH,
+ { "pucch-F3-WithFH", "nr-rrc.pucch_F3_WithFH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F3_WithFH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pucch_F4_WithFH,
+ { "pucch-F4-WithFH", "nr-rrc.pucch_F4_WithFH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F4_WithFH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_freqHoppingPUCCH_F0_2,
+ { "freqHoppingPUCCH-F0-2", "nr-rrc.freqHoppingPUCCH_F0_2",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_freqHoppingPUCCH_F0_2_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_freqHoppingPUCCH_F1_3_4,
+ { "freqHoppingPUCCH-F1-3-4", "nr-rrc.freqHoppingPUCCH_F1_3_4",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_freqHoppingPUCCH_F1_3_4_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH,
+ { "mux-SR-HARQ-ACK-CSI-PUCCH", "nr-rrc.mux_SR_HARQ_ACK_CSI_PUCCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_uci_CodeBlockSegmentation,
+ { "uci-CodeBlockSegmentation", "nr-rrc.uci_CodeBlockSegmentation",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uci_CodeBlockSegmentation_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_onePUCCH_LongAndShortFormat,
+ { "onePUCCH-LongAndShortFormat", "nr-rrc.onePUCCH_LongAndShortFormat",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_onePUCCH_LongAndShortFormat_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_twoPUCCH_AnyOthersInSlot,
+ { "twoPUCCH-AnyOthersInSlot", "nr-rrc.twoPUCCH_AnyOthersInSlot",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_AnyOthersInSlot_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_intraSlotFreqHopping_PUSCH,
+ { "intraSlotFreqHopping-PUSCH", "nr-rrc.intraSlotFreqHopping_PUSCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraSlotFreqHopping_PUSCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pusch_LBRM,
+ { "pusch-LBRM", "nr-rrc.pusch_LBRM",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_LBRM_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pdcch_BlindDetectionCA,
+ { "pdcch-BlindDetectionCA", "nr-rrc.pdcch_BlindDetectionCA",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_BlindDetectionCA_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_tpc_PUSCH_RNTI_01,
+ { "tpc-PUSCH-RNTI", "nr-rrc.tpc_PUSCH_RNTI",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_PUSCH_RNTI_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_tpc_PUCCH_RNTI_01,
+ { "tpc-PUCCH-RNTI", "nr-rrc.tpc_PUCCH_RNTI",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_PUCCH_RNTI_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_tpc_SRS_RNTI_01,
+ { "tpc-SRS-RNTI", "nr-rrc.tpc_SRS_RNTI",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_SRS_RNTI_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_absoluteTPC_Command,
+ { "absoluteTPC-Command", "nr-rrc.absoluteTPC_Command",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_absoluteTPC_Command_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_twoDifferentTPC_Loop_PUSCH_01,
+ { "twoDifferentTPC-Loop-PUSCH", "nr-rrc.twoDifferentTPC_Loop_PUSCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoDifferentTPC_Loop_PUSCH_01_vals), 0,
+ "T_twoDifferentTPC_Loop_PUSCH_01", HFILL }},
+ { &hf_nr_rrc_twoDifferentTPC_Loop_PUCCH_01,
+ { "twoDifferentTPC-Loop-PUCCH", "nr-rrc.twoDifferentTPC_Loop_PUCCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoDifferentTPC_Loop_PUCCH_01_vals), 0,
+ "T_twoDifferentTPC_Loop_PUCCH_01", HFILL }},
+ { &hf_nr_rrc_pusch_HalfPi_BPSK,
+ { "pusch-HalfPi-BPSK", "nr-rrc.pusch_HalfPi_BPSK",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_HalfPi_BPSK_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pucch_F3_4_HalfPi_BPSK,
+ { "pucch-F3-4-HalfPi-BPSK", "nr-rrc.pucch_F3_4_HalfPi_BPSK",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F3_4_HalfPi_BPSK_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_oneSymbolGP_TDD,
+ { "oneSymbolGP-TDD", "nr-rrc.oneSymbolGP_TDD",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneSymbolGP_TDD_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_almostContiguousCP_OFDM_UL,
+ { "almostContiguousCP-OFDM-UL", "nr-rrc.almostContiguousCP_OFDM_UL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_almostContiguousCP_OFDM_UL_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pdcchMonitoringSingleOccasion,
+ { "pdcchMonitoringSingleOccasion", "nr-rrc.pdcchMonitoringSingleOccasion",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcchMonitoringSingleOccasion_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_scs_60kHz_03,
+ { "scs-60kHz", "nr-rrc.scs_60kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_03_vals), 0,
+ "T_scs_60kHz_03", HFILL }},
+ { &hf_nr_rrc_pdsch_256QAM_FR1,
+ { "pdsch-256QAM-FR1", "nr-rrc.pdsch_256QAM_FR1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_256QAM_FR1_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_calibrationGapPA,
+ { "calibrationGapPA", "nr-rrc.calibrationGapPA",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_calibrationGapPA_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_supportedBandListNR,
{ "supportedBandListNR", "nr-rrc.supportedBandListNR",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_intraBandAsyncFDD,
- { "intraBandAsyncFDD", "nr-rrc.intraBandAsyncFDD",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraBandAsyncFDD_vals), 0,
- NULL, HFILL }},
{ &hf_nr_rrc_SupportedBandListNR_item,
{ "BandNR", "nr-rrc.BandNR_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_SupportedBasebandProcessingCombination_item,
- { "BasebandProcessingCombination", "nr-rrc.BasebandProcessingCombination_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_basebandParametersPerBand,
- { "basebandParametersPerBand", "nr-rrc.basebandParametersPerBand",
+ { &hf_nr_rrc_modifiedMPR_Behaviour,
+ { "modifiedMPR-Behaviour", "nr-rrc.modifiedMPR_Behaviour",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_8", HFILL }},
+ { &hf_nr_rrc_maxChannelBW_PerCC,
+ { "maxChannelBW-PerCC", "nr-rrc.maxChannelBW_PerCC",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxChannelBW_PerCC_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_mimo_ParametersPerBand,
+ { "mimo-ParametersPerBand", "nr-rrc.mimo_ParametersPerBand_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_extendedCP,
+ { "extendedCP", "nr-rrc.extendedCP",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedCP_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_phaseCoherenceUL,
+ { "phaseCoherenceUL", "nr-rrc.phaseCoherenceUL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phaseCoherenceUL_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_scellWithoutSSB_01,
+ { "scellWithoutSSB", "nr-rrc.scellWithoutSSB",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scellWithoutSSB_01_vals), 0,
+ "T_scellWithoutSSB_01", HFILL }},
+ { &hf_nr_rrc_csi_RS_MeasSCellWithoutSSB_01,
+ { "csi-RS-MeasSCellWithoutSSB", "nr-rrc.csi_RS_MeasSCellWithoutSSB",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_MeasSCellWithoutSSB_01_vals), 0,
+ "T_csi_RS_MeasSCellWithoutSSB_01", HFILL }},
+ { &hf_nr_rrc_srs_AssocCSI_RS_01,
+ { "srs-AssocCSI-RS", "nr-rrc.srs_AssocCSI_RS",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_AssocCSI_RS_01_vals), 0,
+ "T_srs_AssocCSI_RS_01", HFILL }},
+ { &hf_nr_rrc_type1_3_CSS_01,
+ { "type1-3-CSS", "nr-rrc.type1_3_CSS",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_3_CSS_01_vals), 0,
+ "T_type1_3_CSS_01", HFILL }},
+ { &hf_nr_rrc_multipleTCI,
+ { "multipleTCI", "nr-rrc.multipleTCI",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleTCI_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pdcchMonitoringAnyOccasions_01,
+ { "pdcchMonitoringAnyOccasions", "nr-rrc.pdcchMonitoringAnyOccasions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcchMonitoringAnyOccasions_01_vals), 0,
+ "T_pdcchMonitoringAnyOccasions_01", HFILL }},
+ { &hf_nr_rrc_ue_SpecificUL_DL_Assignment_01,
+ { "ue-SpecificUL-DL-Assignment", "nr-rrc.ue_SpecificUL_DL_Assignment",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_SpecificUL_DL_Assignment_01_vals), 0,
+ "T_ue_SpecificUL_DL_Assignment_01", HFILL }},
+ { &hf_nr_rrc_pdsch_DifferentTB_PerSlot_01,
+ { "pdsch-DifferentTB-PerSlot", "nr-rrc.pdsch_DifferentTB_PerSlot_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_pdsch_DifferentTB_PerSlot_01", HFILL }},
+ { &hf_nr_rrc_scs_15kHz_02,
+ { "scs-15kHz", "nr-rrc.scs_15kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_02_vals), 0,
+ "T_scs_15kHz_02", HFILL }},
+ { &hf_nr_rrc_scs_30kHz_02,
+ { "scs-30kHz", "nr-rrc.scs_30kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_02_vals), 0,
+ "T_scs_30kHz_02", HFILL }},
+ { &hf_nr_rrc_scs_60kHz_04,
+ { "scs-60kHz", "nr-rrc.scs_60kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_04_vals), 0,
+ "T_scs_60kHz_04", HFILL }},
+ { &hf_nr_rrc_scs_120kHz_02,
+ { "scs-120kHz", "nr-rrc.scs_120kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_02_vals), 0,
+ "T_scs_120kHz_02", HFILL }},
+ { &hf_nr_rrc_pusch_DifferentTB_PerSlot_01,
+ { "pusch-DifferentTB-PerSlot", "nr-rrc.pusch_DifferentTB_PerSlot_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_pusch_DifferentTB_PerSlot_01", HFILL }},
+ { &hf_nr_rrc_scs_15kHz_03,
+ { "scs-15kHz", "nr-rrc.scs_15kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_03_vals), 0,
+ "T_scs_15kHz_03", HFILL }},
+ { &hf_nr_rrc_scs_30kHz_03,
+ { "scs-30kHz", "nr-rrc.scs_30kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_03_vals), 0,
+ "T_scs_30kHz_03", HFILL }},
+ { &hf_nr_rrc_scs_60kHz_05,
+ { "scs-60kHz", "nr-rrc.scs_60kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_05_vals), 0,
+ "T_scs_60kHz_05", HFILL }},
+ { &hf_nr_rrc_scs_120kHz_03,
+ { "scs-120kHz", "nr-rrc.scs_120kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_03_vals), 0,
+ "T_scs_120kHz_03", HFILL }},
+ { &hf_nr_rrc_bwp_SameNumerology,
+ { "bwp-SameNumerology", "nr-rrc.bwp_SameNumerology",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bwp_SameNumerology_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_bwp_DiffNumerology,
+ { "bwp-DiffNumerology", "nr-rrc.bwp_DiffNumerology",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bwp_DiffNumerology_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_twoPUCCH_Group_01,
+ { "twoPUCCH-Group", "nr-rrc.twoPUCCH_Group",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_Group_01_vals), 0,
+ "T_twoPUCCH_Group_01", HFILL }},
+ { &hf_nr_rrc_diffNumerologyAcrossPUCCH_Group_01,
+ { "diffNumerologyAcrossPUCCH-Group", "nr-rrc.diffNumerologyAcrossPUCCH_Group",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffNumerologyAcrossPUCCH_Group_01_vals), 0,
+ "T_diffNumerologyAcrossPUCCH_Group_01", HFILL }},
+ { &hf_nr_rrc_diffNumerologyWithinPUCCH_Group_01,
+ { "diffNumerologyWithinPUCCH-Group", "nr-rrc.diffNumerologyWithinPUCCH_Group",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffNumerologyWithinPUCCH_Group_01_vals), 0,
+ "T_diffNumerologyWithinPUCCH_Group_01", HFILL }},
+ { &hf_nr_rrc_crossCarrierScheduling_02,
+ { "crossCarrierScheduling", "nr-rrc.crossCarrierScheduling",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierScheduling_02_vals), 0,
+ "T_crossCarrierScheduling_02", HFILL }},
+ { &hf_nr_rrc_supportedNumberTAG_01,
+ { "supportedNumberTAG", "nr-rrc.supportedNumberTAG",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedNumberTAG_01_vals), 0,
+ "T_supportedNumberTAG_01", HFILL }},
+ { &hf_nr_rrc_simultaneousTxSUL_NonSUL_01,
+ { "simultaneousTxSUL-NonSUL", "nr-rrc.simultaneousTxSUL_NonSUL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousTxSUL_NonSUL_01_vals), 0,
+ "T_simultaneousTxSUL_NonSUL_01", HFILL }},
+ { &hf_nr_rrc_searchSpaceSharingCA_DL_01,
+ { "searchSpaceSharingCA-DL", "nr-rrc.searchSpaceSharingCA_DL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSharingCA_DL_01_vals), 0,
+ "T_searchSpaceSharingCA_DL_01", HFILL }},
+ { &hf_nr_rrc_searchSpaceSharingCA_UL_01,
+ { "searchSpaceSharingCA-UL", "nr-rrc.searchSpaceSharingCA_UL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSharingCA_UL_01_vals), 0,
+ "T_searchSpaceSharingCA_UL_01", HFILL }},
+ { &hf_nr_rrc_pdsch_256QAM_FR2,
+ { "pdsch-256QAM-FR2", "nr-rrc.pdsch_256QAM_FR2",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_256QAM_FR2_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pusch_256QAM,
+ { "pusch-256QAM", "nr-rrc.pusch_256QAM",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_256QAM_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_timeDurationForQCL_01,
+ { "timeDurationForQCL", "nr-rrc.timeDurationForQCL_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_timeDurationForQCL_01", HFILL }},
+ { &hf_nr_rrc_scs_60kHz_06,
+ { "scs-60kHz", "nr-rrc.scs_60kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_06_vals), 0,
+ "T_scs_60kHz_06", HFILL }},
+ { &hf_nr_rrc_sch_120kHz_01,
+ { "sch-120kHz", "nr-rrc.sch_120kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sch_120kHz_01_vals), 0,
+ "T_sch_120kHz_01", HFILL }},
+ { &hf_nr_rrc_maxNumberConfiguredTCIstates,
+ { "maxNumberConfiguredTCIstates", "nr-rrc.maxNumberConfiguredTCIstates",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberConfiguredTCIstates_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_maxNumberActiveTCI_PerCC,
+ { "maxNumberActiveTCI-PerCC", "nr-rrc.maxNumberActiveTCI_PerCC",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberActiveTCI_PerCC_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pusch_TransCoherence,
+ { "pusch-TransCoherence", "nr-rrc.pusch_TransCoherence",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_TransCoherence_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_beamCorrespondence,
+ { "beamCorrespondence", "nr-rrc.beamCorrespondence",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamCorrespondence_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_periodicBeamReport,
+ { "periodicBeamReport", "nr-rrc.periodicBeamReport",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicBeamReport_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_aperiodicBeamReport,
+ { "aperiodicBeamReport", "nr-rrc.aperiodicBeamReport",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aperiodicBeamReport_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sp_BeamReportPUCCH,
+ { "sp-BeamReportPUCCH", "nr-rrc.sp_BeamReportPUCCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_BeamReportPUCCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sp_BeamReportPUSCH,
+ { "sp-BeamReportPUSCH", "nr-rrc.sp_BeamReportPUSCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_BeamReportPUSCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_beamManagementSSB_CSI_RS,
+ { "beamManagementSSB-CSI-RS", "nr-rrc.beamManagementSSB_CSI_RS_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_maxNumberRxBeam,
+ { "maxNumberRxBeam", "nr-rrc.maxNumberRxBeam",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBand", HFILL }},
- { &hf_nr_rrc_basebandParametersPerBand_item,
- { "BasebandParametersPerBand", "nr-rrc.BasebandParametersPerBand_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ "INTEGER_2_8", HFILL }},
+ { &hf_nr_rrc_maxNumberRxTxBeamSwitchDL,
+ { "maxNumberRxTxBeamSwitchDL", "nr-rrc.maxNumberRxTxBeamSwitchDL_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_scs_15kHz_04,
+ { "scs-15kHz", "nr-rrc.scs_15kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_04_vals), 0,
+ "T_scs_15kHz_04", HFILL }},
+ { &hf_nr_rrc_scs_30kHz_04,
+ { "scs-30kHz", "nr-rrc.scs_30kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_04_vals), 0,
+ "T_scs_30kHz_04", HFILL }},
+ { &hf_nr_rrc_scs_60kHz_07,
+ { "scs-60kHz", "nr-rrc.scs_60kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_07_vals), 0,
+ "T_scs_60kHz_07", HFILL }},
+ { &hf_nr_rrc_scs_120kHz_04,
+ { "scs-120kHz", "nr-rrc.scs_120kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_04_vals), 0,
+ "T_scs_120kHz_04", HFILL }},
+ { &hf_nr_rrc_scs_240kHz,
+ { "scs-240kHz", "nr-rrc.scs_240kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_240kHz_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_maxNumberNonGroupBeamReporting,
+ { "maxNumberNonGroupBeamReporting", "nr-rrc.maxNumberNonGroupBeamReporting",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberNonGroupBeamReporting_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_groupBeamReporting,
+ { "groupBeamReporting", "nr-rrc.groupBeamReporting",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupBeamReporting_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_uplinkBeamManagement,
+ { "uplinkBeamManagement", "nr-rrc.uplinkBeamManagement_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_maxNumberSRS_ResourcePerSet,
+ { "maxNumberSRS-ResourcePerSet", "nr-rrc.maxNumberSRS_ResourcePerSet",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_ResourcePerSet_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_maxNumberSRS_ResourceSet,
+ { "maxNumberSRS-ResourceSet", "nr-rrc.maxNumberSRS_ResourceSet",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_8", HFILL }},
+ { &hf_nr_rrc_maxNumberCSI_RS_BFR,
+ { "maxNumberCSI-RS-BFR", "nr-rrc.maxNumberCSI_RS_BFR",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_64", HFILL }},
+ { &hf_nr_rrc_maxNumberSSB_BFR,
+ { "maxNumberSSB-BFR", "nr-rrc.maxNumberSSB_BFR",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_64", HFILL }},
+ { &hf_nr_rrc_maxNumberCSI_RS_SSB_BFR,
+ { "maxNumberCSI-RS-SSB-BFR", "nr-rrc.maxNumberCSI_RS_SSB_BFR",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_256", HFILL }},
+ { &hf_nr_rrc_twoPortsPTRS,
+ { "twoPortsPTRS", "nr-rrc.twoPortsPTRS",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_2", HFILL }},
+ { &hf_nr_rrc_maxNumberSimultaneousSRS_PerCC,
+ { "maxNumberSimultaneousSRS-PerCC", "nr-rrc.maxNumberSimultaneousSRS_PerCC",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_4", HFILL }},
+ { &hf_nr_rrc_lowLatencyCSI_Feedback_01,
+ { "lowLatencyCSI-Feedback", "nr-rrc.lowLatencyCSI_Feedback",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lowLatencyCSI_Feedback_01_vals), 0,
+ "T_lowLatencyCSI_Feedback_01", HFILL }},
+ { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx,
+ { "maxNumberSSB-CSI-RS-ResourceOneTx", "nr-rrc.maxNumberSSB_CSI_RS_ResourceOneTx",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceTwoTx,
+ { "maxNumberSSB-CSI-RS-ResourceTwoTx", "nr-rrc.maxNumberSSB_CSI_RS_ResourceTwoTx",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_supportedCSI_RS_Density,
+ { "supportedCSI-RS-Density", "nr-rrc.supportedCSI_RS_Density",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedCSI_RS_Density_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP,
+ { "maxNumberAperiodicSRS-PerBWP", "nr-rrc.maxNumberAperiodicSRS_PerBWP",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberAperiodicSRS_PerBWP_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP_PerSlot,
+ { "maxNumberAperiodicSRS-PerBWP-PerSlot", "nr-rrc.maxNumberAperiodicSRS_PerBWP_PerSlot",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_6", HFILL }},
+ { &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP,
+ { "maxNumberPeriodicSRS-PerBWP", "nr-rrc.maxNumberPeriodicSRS_PerBWP",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPeriodicSRS_PerBWP_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_ca_BandwidthClassDL,
- { "ca-BandwidthClassDL", "nr-rrc.ca_BandwidthClassDL",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_CA_BandwidthClass_vals), 0,
- "CA_BandwidthClass", HFILL }},
- { &hf_nr_rrc_ca_BandwidthClassUL,
- { "ca-BandwidthClassUL", "nr-rrc.ca_BandwidthClassUL",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_CA_BandwidthClass_vals), 0,
- "CA_BandwidthClass", HFILL }},
- { &hf_nr_rrc_basebandParametersPerCC,
- { "basebandParametersPerCC", "nr-rrc.basebandParametersPerCC",
+ { &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP_PerSlot,
+ { "maxNumberPeriodicSRS-PerBWP-PerSlot", "nr-rrc.maxNumberPeriodicSRS_PerBWP_PerSlot",
FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxServCell_OF_BasebandParametersPerCC", HFILL }},
- { &hf_nr_rrc_basebandParametersPerCC_item,
- { "BasebandParametersPerCC", "nr-rrc.BasebandParametersPerCC_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ "INTEGER_1_6", HFILL }},
+ { &hf_nr_rrc_maxNumberSemiPersitentSRS_PerBWP,
+ { "maxNumberSemiPersitentSRS-PerBWP", "nr-rrc.maxNumberSemiPersitentSRS_PerBWP",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSemiPersitentSRS_PerBWP_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_supportedBWPerCC,
- { "supportedBWPerCC", "nr-rrc.supportedBWPerCC",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_CA_BandwidthClass_vals), 0,
- "BWPerCC", HFILL }},
- { &hf_nr_rrc_supportedMIMO_CapabilityDL,
- { "supportedMIMO-CapabilityDL", "nr-rrc.supportedMIMO_CapabilityDL_element",
- FT_NONE, BASE_NONE, NULL, 0,
- "MIMO_Capability", HFILL }},
- { &hf_nr_rrc_supportedMIMO_CapabilityUL,
- { "supportedMIMO-CapabilityUL", "nr-rrc.supportedMIMO_CapabilityUL_element",
- FT_NONE, BASE_NONE, NULL, 0,
- "MIMO_Capability", HFILL }},
- { &hf_nr_rrc_modulationOrder,
- { "modulationOrder", "nr-rrc.modulationOrder_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { &hf_nr_rrc_maxNumberSP_SRS_PerBWP_PerSlot,
+ { "maxNumberSP-SRS-PerBWP-PerSlot", "nr-rrc.maxNumberSP_SRS_PerBWP_PerSlot",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_6", HFILL }},
+ { &hf_nr_rrc_maxNumberSRS_Ports_PerResource,
+ { "maxNumberSRS-Ports-PerResource", "nr-rrc.maxNumberSRS_Ports_PerResource",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_Ports_PerResource_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_subCarrierSpacing,
- { "subCarrierSpacing", "nr-rrc.subCarrierSpacing_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { &hf_nr_rrc_supportedSRS_TxPortSwitch,
+ { "supportedSRS-TxPortSwitch", "nr-rrc.supportedSRS_TxPortSwitch",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedSRS_TxPortSwitch_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_bandNR,
- { "bandNR", "nr-rrc.bandNR",
- FT_INT32, BASE_DEC, NULL, 0,
- "FreqBandIndicatorNR", HFILL }},
- { &hf_nr_rrc_dataRateDRB_IP,
- { "dataRateDRB-IP", "nr-rrc.dataRateDRB_IP",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dataRateDRB_IP_vals), 0,
+ { &hf_nr_rrc_txSwitchImpactToRx,
+ { "txSwitchImpactToRx", "nr-rrc.txSwitchImpactToRx",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_txSwitchImpactToRx_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_supportedROHC_Profiles,
{ "supportedROHC-Profiles", "nr-rrc.supportedROHC_Profiles_element",
@@ -16282,34 +32385,38 @@ void proto_register_nr_rrc(void) {
{ "shortSN", "nr-rrc.shortSN",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_shortSN_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_volteOverNR_PDCP,
- { "volteOverNR-PDCP", "nr-rrc.volteOverNR_PDCP",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_volteOverNR_PDCP_vals), 0,
+ { &hf_nr_rrc_am_WithShortSN,
+ { "am-WithShortSN", "nr-rrc.am_WithShortSN",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_am_WithShortSN_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_amWithShortSN,
- { "amWithShortSN", "nr-rrc.amWithShortSN",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_amWithShortSN_vals), 0,
+ { &hf_nr_rrc_um_WithShortSN,
+ { "um-WithShortSN", "nr-rrc.um_WithShortSN",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_um_WithShortSN_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_umWithShortSN,
- { "umWithShortSN", "nr-rrc.umWithShortSN",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_umWithShortSN_vals), 0,
+ { &hf_nr_rrc_um_WIthLongSN,
+ { "um-WIthLongSN", "nr-rrc.um_WIthLongSN",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_um_WIthLongSN_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_umWIthLongSN,
- { "umWIthLongSN", "nr-rrc.umWIthLongSN",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_umWIthLongSN_vals), 0,
+ { &hf_nr_rrc_mac_ParametersCommon,
+ { "mac-ParametersCommon", "nr-rrc.mac_ParametersCommon_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_lcp_Restriction,
{ "lcp-Restriction", "nr-rrc.lcp_Restriction",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lcp_Restriction_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_pucch_SpatialRelInfoMAC_CE,
+ { "pucch-SpatialRelInfoMAC-CE", "nr-rrc.pucch_SpatialRelInfoMAC_CE",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_SpatialRelInfoMAC_CE_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_skipUplinkTxDynamic_01,
{ "skipUplinkTxDynamic", "nr-rrc.skipUplinkTxDynamic",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_skipUplinkTxDynamic_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_logicalChannelSR_DelayTimer,
+ { &hf_nr_rrc_logicalChannelSR_DelayTimer_01,
{ "logicalChannelSR-DelayTimer", "nr-rrc.logicalChannelSR_DelayTimer",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logicalChannelSR_DelayTimer_vals), 0,
- NULL, HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logicalChannelSR_DelayTimer_01_vals), 0,
+ "T_logicalChannelSR_DelayTimer_01", HFILL }},
{ &hf_nr_rrc_longDRX_Cycle,
{ "longDRX-Cycle", "nr-rrc.longDRX_Cycle",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_longDRX_Cycle_vals), 0,
@@ -16318,25 +32425,45 @@ void proto_register_nr_rrc(void) {
{ "shortDRX-Cycle", "nr-rrc.shortDRX_Cycle",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_shortDRX_Cycle_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_numberOfSR_Configurations,
- { "numberOfSR-Configurations", "nr-rrc.numberOfSR_Configurations",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_numberOfSR_Configurations_vals), 0,
+ { &hf_nr_rrc_multipleSR_Configurations,
+ { "multipleSR-Configurations", "nr-rrc.multipleSR_Configurations",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleSR_Configurations_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_numberOfConfiguredGrantConfigurations,
- { "numberOfConfiguredGrantConfigurations", "nr-rrc.numberOfConfiguredGrantConfigurations",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_numberOfConfiguredGrantConfigurations_vals), 0,
+ { &hf_nr_rrc_multipleConfiguredGrantConfigurations,
+ { "multipleConfiguredGrantConfigurations", "nr-rrc.multipleConfiguredGrantConfigurations",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleConfiguredGrantConfigurations_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_start,
- { "start", "nr-rrc.start",
- FT_UINT32, BASE_DEC, NULL, 0,
- "PhysCellId", HFILL }},
- { &hf_nr_rrc_range,
- { "range", "nr-rrc.range",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_range_vals), 0,
+ { &hf_nr_rrc_intraAndInterF_MeasAndReport,
+ { "intraAndInterF-MeasAndReport", "nr-rrc.intraAndInterF_MeasAndReport",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraAndInterF_MeasAndReport_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_eventA_MeasAndReport,
+ { "eventA-MeasAndReport", "nr-rrc.eventA_MeasAndReport",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventA_MeasAndReport_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ss_SINR_Meas,
+ { "ss-SINR-Meas", "nr-rrc.ss_SINR_Meas",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ss_SINR_Meas_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB,
+ { "csi-RSRP-AndRSRQ-MeasWithSSB", "nr-rrc.csi_RSRP_AndRSRQ_MeasWithSSB",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB,
+ { "csi-RSRP-AndRSRQ-MeasWithoutSSB", "nr-rrc.csi_RSRP_AndRSRQ_MeasWithoutSSB",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_SINR_Meas,
+ { "csi-SINR-Meas", "nr-rrc.csi_SINR_Meas",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_SINR_Meas_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_RS_RLM,
+ { "csi-RS-RLM", "nr-rrc.csi_RS_RLM",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_RLM_vals), 0,
NULL, HFILL }},
/*--- End of included file: packet-nr-rrc-hfarr.c ---*/
-#line 81 "./asn1/nr-rrc/packet-nr-rrc-template.c"
+#line 79 "./asn1/nr-rrc/packet-nr-rrc-template.c"
};
@@ -16345,23 +32472,31 @@ void proto_register_nr_rrc(void) {
/*--- Included file: packet-nr-rrc-ettarr.c ---*/
#line 1 "./asn1/nr-rrc/packet-nr-rrc-ettarr.c"
- &ett_nr_rrc_SCG_ConfigInfo,
+ &ett_nr_rrc_NR_FreqInfo,
+ &ett_nr_rrc_CG_ConfigInfo,
&ett_nr_rrc_T_criticalExtensions,
&ett_nr_rrc_T_c1,
&ett_nr_rrc_T_criticalExtensionsFuture,
- &ett_nr_rrc_SCG_ConfigInfo_r15_IEs,
+ &ett_nr_rrc_CG_ConfigInfo_IEs,
+ &ett_nr_rrc_T_scgFailureInfo,
&ett_nr_rrc_T_nonCriticalExtension,
&ett_nr_rrc_ConfigRestrictInfoSCG,
- &ett_nr_rrc_T_restrictedBasebandCombinationNR_NR,
+ &ett_nr_rrc_T_powerCoordination_FR1,
+ &ett_nr_rrc_T_servCellIndexRangeSCG,
+ &ett_nr_rrc_BandCombinationIndexList,
+ &ett_nr_rrc_BPC_IndexList,
&ett_nr_rrc_DRX_Info,
+ &ett_nr_rrc_T_drx_LongCycleStartOffset,
+ &ett_nr_rrc_T_shortDRX,
+ &ett_nr_rrc_MeasConfigMN,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo,
&ett_nr_rrc_CandidateCellInfoList,
&ett_nr_rrc_CandidateCellInfo,
&ett_nr_rrc_T_cellIdentification,
- &ett_nr_rrc_T_measResultCell,
- &ett_nr_rrc_CandidateRS_IndexInfoList,
- &ett_nr_rrc_CandidateRS_IndexInfo,
- &ett_nr_rrc_T_measResultSSB,
- &ett_nr_rrc_MeasResultSSTD,
+ &ett_nr_rrc_CandidateRS_IndexInfoListSSB,
+ &ett_nr_rrc_CandidateRS_IndexInfoSSB,
+ &ett_nr_rrc_CandidateRS_IndexInfoListCSI_RS,
+ &ett_nr_rrc_CandidateRS_IndexInfoCSI_RS,
&ett_nr_rrc_BCCH_BCH_Message,
&ett_nr_rrc_BCCH_BCH_MessageType,
&ett_nr_rrc_T_messageClassExtension,
@@ -16378,81 +32513,200 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_T_criticalExtensions_01,
&ett_nr_rrc_T_criticalExtensionsFuture_01,
&ett_nr_rrc_MeasurementReport_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_01,
&ett_nr_rrc_RRCReconfiguration,
&ett_nr_rrc_T_criticalExtensions_02,
&ett_nr_rrc_T_criticalExtensionsFuture_02,
&ett_nr_rrc_RRCReconfiguration_IEs,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxSCellGroups_OF_CellGroupConfig,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxSCellGroups_OF_CellGroupId,
- &ett_nr_rrc_T_nonCriticalExtension_01,
+ &ett_nr_rrc_T_nonCriticalExtension_02,
&ett_nr_rrc_RRCReconfigurationComplete,
&ett_nr_rrc_T_criticalExtensions_03,
&ett_nr_rrc_T_criticalExtensionsFuture_03,
&ett_nr_rrc_RRCReconfigurationComplete_IEs,
- &ett_nr_rrc_BandwidthPart,
+ &ett_nr_rrc_T_nonCriticalExtension_03,
+ &ett_nr_rrc_SIB1,
+ &ett_nr_rrc_T_ssb_PositionsInBurst,
+ &ett_nr_rrc_T_supplementaryUplink,
+ &ett_nr_rrc_T_nonCriticalExtension_04,
+ &ett_nr_rrc_BWP,
+ &ett_nr_rrc_BWP_Uplink,
+ &ett_nr_rrc_BWP_UplinkCommon,
+ &ett_nr_rrc_T_rach_ConfigCommon,
+ &ett_nr_rrc_T_pusch_ConfigCommon,
+ &ett_nr_rrc_T_pucch_ConfigCommon,
+ &ett_nr_rrc_BWP_UplinkDedicated,
+ &ett_nr_rrc_T_pucch_Config,
+ &ett_nr_rrc_T_pusch_Config,
+ &ett_nr_rrc_T_configuredGrantConfig,
+ &ett_nr_rrc_T_srs_Config,
+ &ett_nr_rrc_T_beamFailureRecoveryConfig,
+ &ett_nr_rrc_BWP_Downlink,
+ &ett_nr_rrc_BWP_DownlinkCommon,
+ &ett_nr_rrc_T_pdcch_ConfigCommon,
+ &ett_nr_rrc_T_pdsch_ConfigCommon,
+ &ett_nr_rrc_BWP_DownlinkDedicated,
+ &ett_nr_rrc_T_pdcch_Config,
+ &ett_nr_rrc_T_pdsch_Config,
+ &ett_nr_rrc_T_sps_Config,
+ &ett_nr_rrc_T_radioLinkMonitoringConfig,
+ &ett_nr_rrc_BeamFailureRecoveryConfig,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR,
+ &ett_nr_rrc_PRACH_ResourceDedicatedBFR,
+ &ett_nr_rrc_BFR_SSB_Resource,
+ &ett_nr_rrc_BFR_CSIRS_Resource,
&ett_nr_rrc_CellGroupConfig,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxLCH_OF_LCH_Config,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxLCH_OF_LogicalChannelIdentity,
- &ett_nr_rrc_LCH_Config,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_Bearer_Config,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex,
+ &ett_nr_rrc_RLC_Bearer_Config,
+ &ett_nr_rrc_T_servedRadioBearer,
&ett_nr_rrc_PhysicalCellGroupConfig,
&ett_nr_rrc_SpCellConfig,
- &ett_nr_rrc_T_reconfigurationWithSync,
- &ett_nr_rrc_SCellToReleaseList,
- &ett_nr_rrc_SCellToAddModList,
+ &ett_nr_rrc_T_rlf_TimersAndConstants,
+ &ett_nr_rrc_ReconfigurationWithSync,
+ &ett_nr_rrc_T_rach_ConfigDedicated,
&ett_nr_rrc_SCellConfig,
- &ett_nr_rrc_CellIndexList,
+ &ett_nr_rrc_CodebookConfig,
+ &ett_nr_rrc_T_codebookType,
+ &ett_nr_rrc_T_type1,
+ &ett_nr_rrc_T_subType,
+ &ett_nr_rrc_T_typeI_SinglePanel,
+ &ett_nr_rrc_T_nrOfAntennaPorts,
+ &ett_nr_rrc_T_two,
+ &ett_nr_rrc_T_moreThanTwo,
+ &ett_nr_rrc_T_n1_n2,
+ &ett_nr_rrc_T_typeI_MultiPanel,
+ &ett_nr_rrc_T_ng_n1_n2,
+ &ett_nr_rrc_T_type2,
+ &ett_nr_rrc_T_subType_01,
+ &ett_nr_rrc_T_typeII,
+ &ett_nr_rrc_T_n1_n2_codebookSubsetRestriction,
+ &ett_nr_rrc_T_typeII_PortSelection,
+ &ett_nr_rrc_ConfiguredGrantConfig,
+ &ett_nr_rrc_T_uci_OnPUSCH,
+ &ett_nr_rrc_T_rrc_ConfiguredUplinkGrant,
+ &ett_nr_rrc_CG_UCI_OnPUSCH,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets,
+ &ett_nr_rrc_ControlResourceSet,
+ &ett_nr_rrc_T_cce_REG_MappingType,
+ &ett_nr_rrc_T_interleaved,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId,
&ett_nr_rrc_CrossCarrierSchedulingConfig,
&ett_nr_rrc_T_schedulingCellInfo,
&ett_nr_rrc_T_own,
&ett_nr_rrc_T_other,
+ &ett_nr_rrc_CSI_AperiodicTriggerStateList,
+ &ett_nr_rrc_CSI_AperiodicTriggerState,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo,
+ &ett_nr_rrc_CSI_AssociatedReportConfigInfo,
+ &ett_nr_rrc_T_resourcesForChannel,
+ &ett_nr_rrc_T_nzp_CSI_RS,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId,
+ &ett_nr_rrc_CSI_FrequencyOccupation,
+ &ett_nr_rrc_CSI_IM_Resource,
+ &ett_nr_rrc_T_csi_IM_ResourceElementPattern,
+ &ett_nr_rrc_T_pattern0,
+ &ett_nr_rrc_T_pattern1,
+ &ett_nr_rrc_CSI_IM_ResourceSet,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId,
&ett_nr_rrc_CSI_MeasConfig,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_Reports_OF_CSI_ReportConfig,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_MeasId_OF_CSI_MeasIdToAddMod,
- &ett_nr_rrc_T_reportTrigger,
- &ett_nr_rrc_CSI_ResourceConfig,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceSets_OF_CSI_ResourceSet,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSSB_Resources_1_OF_CSI_SSB_Resource,
- &ett_nr_rrc_T_resourceType,
- &ett_nr_rrc_CSI_ResourceSet,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_Resource,
- &ett_nr_rrc_NZP_CSI_RS_Resource,
- &ett_nr_rrc_T_csi_RS_timeConfig,
- &ett_nr_rrc_CSI_SSB_Resource,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId,
+ &ett_nr_rrc_T_aperiodicTriggerStateList,
+ &ett_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList,
&ett_nr_rrc_CSI_ReportConfig,
&ett_nr_rrc_T_reportConfigType,
&ett_nr_rrc_T_periodic,
- &ett_nr_rrc_T_reportSlotConfig,
- &ett_nr_rrc_T_semiPersistent,
- &ett_nr_rrc_T_reportSlotConfig_01,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource,
+ &ett_nr_rrc_T_semiPersistentOnPUCCH,
+ &ett_nr_rrc_T_semiPersistentOnPUSCH,
+ &ett_nr_rrc_T_reportSlotOffsetList,
&ett_nr_rrc_T_aperiodic,
+ &ett_nr_rrc_T_reportSlotOffsetList_01,
&ett_nr_rrc_T_reportQuantity,
- &ett_nr_rrc_T_cRI_RI_i1_CQI,
+ &ett_nr_rrc_T_cri_RI_i1_CQI,
&ett_nr_rrc_T_reportFreqConfiguration,
+ &ett_nr_rrc_T_csi_ReportingBand,
&ett_nr_rrc_T_groupBasedBeamReporting,
- &ett_nr_rrc_T_enabled,
&ett_nr_rrc_T_disabled,
- &ett_nr_rrc_CodebookConfig,
- &ett_nr_rrc_T_codebookType,
- &ett_nr_rrc_T_type1,
- &ett_nr_rrc_T_codebookSubsetRestrictionType1,
- &ett_nr_rrc_T_ri_Restriction,
- &ett_nr_rrc_T_type2,
- &ett_nr_rrc_T_ri_Restriction_01,
- &ett_nr_rrc_CSI_MeasIdToAddMod,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks,
+ &ett_nr_rrc_CSI_ReportPeriodicityAndOffset,
+ &ett_nr_rrc_PUCCH_CSI_Resource,
+ &ett_nr_rrc_PortIndexFor8Ranks,
+ &ett_nr_rrc_T_portIndex8,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PortIndex8,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_PortIndex8,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_PortIndex8,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_5_OF_PortIndex8,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_6_OF_PortIndex8,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_7_OF_PortIndex8,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_8_OF_PortIndex8,
+ &ett_nr_rrc_T_portIndex4,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PortIndex4,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_PortIndex4,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_PortIndex4,
+ &ett_nr_rrc_T_portIndex2,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PortIndex2,
+ &ett_nr_rrc_CSI_ResourceConfig,
+ &ett_nr_rrc_T_csi_RS_ResourceSetList,
+ &ett_nr_rrc_T_nzp_CSI_RS_SSB,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId,
+ &ett_nr_rrc_CSI_ResourcePeriodicityAndOffset,
+ &ett_nr_rrc_CSI_RS_ResourceMapping,
+ &ett_nr_rrc_T_frequencyDomainAllocation,
+ &ett_nr_rrc_T_density,
+ &ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList,
+ &ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState,
+ &ett_nr_rrc_CSI_SSB_ResourceSet,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index,
+ &ett_nr_rrc_DMRS_DownlinkConfig,
+ &ett_nr_rrc_T_phaseTrackingRS,
+ &ett_nr_rrc_DMRS_UplinkConfig,
+ &ett_nr_rrc_T_phaseTrackingRS_01,
+ &ett_nr_rrc_T_transformPrecoding,
+ &ett_nr_rrc_T_disabled_01,
+ &ett_nr_rrc_T_enabled,
+ &ett_nr_rrc_DownlinkPreemption,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell,
+ &ett_nr_rrc_INT_ConfigurationPerServingCell,
+ &ett_nr_rrc_EUTRA_MBSFN_SubframeConfigList,
+ &ett_nr_rrc_EUTRA_MBSFN_SubframeConfig,
+ &ett_nr_rrc_T_subframeAllocation,
+ &ett_nr_rrc_T_subframeAllocation_v1430,
+ &ett_nr_rrc_FrequencyInfoDL,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier,
&ett_nr_rrc_FrequencyInfoUL,
&ett_nr_rrc_LogicalChannelConfig,
&ett_nr_rrc_T_ul_SpecificParameters,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing,
&ett_nr_rrc_MAC_CellGroupConfig,
+ &ett_nr_rrc_T_drx_Config,
+ &ett_nr_rrc_T_phr_Config,
+ &ett_nr_rrc_T_cs_RNTI,
&ett_nr_rrc_DRX_Config,
- &ett_nr_rrc_T_setup,
- &ett_nr_rrc_T_drx_LongCycleStartOffset,
- &ett_nr_rrc_T_shortDRX,
+ &ett_nr_rrc_T_drx_onDurationTimer,
+ &ett_nr_rrc_T_drx_LongCycleStartOffset_01,
+ &ett_nr_rrc_T_shortDRX_01,
&ett_nr_rrc_PHR_Config,
- &ett_nr_rrc_T_setup_01,
&ett_nr_rrc_TAG_Config,
- &ett_nr_rrc_TAG_ToReleaseList,
- &ett_nr_rrc_TAG_ToAddModList,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_ToAddMod,
&ett_nr_rrc_TAG_ToAddMod,
&ett_nr_rrc_BSR_Config,
&ett_nr_rrc_MeasConfig,
@@ -16460,26 +32714,33 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_MeasObjectToRemoveList,
&ett_nr_rrc_MeasIdToRemoveList,
&ett_nr_rrc_ReportConfigToRemoveList,
+ &ett_nr_rrc_MeasGapConfig,
+ &ett_nr_rrc_T_gapFR2,
+ &ett_nr_rrc_GapConfig,
&ett_nr_rrc_MeasIdToAddModList,
&ett_nr_rrc_MeasIdToAddMod,
&ett_nr_rrc_MeasObjectNR,
&ett_nr_rrc_ReferenceSignalConfig,
- &ett_nr_rrc_T_ssbPresence,
- &ett_nr_rrc_T_present,
- &ett_nr_rrc_T_notPresent,
- &ett_nr_rrc_SSB_MeasurementTimingConfiguration,
+ &ett_nr_rrc_T_csi_rs_ResourceConfigMobility,
+ &ett_nr_rrc_SSB_ConfigMobility,
+ &ett_nr_rrc_T_ssb_ToMeasure,
&ett_nr_rrc_T_smtc1,
&ett_nr_rrc_T_periodicityAndOffset,
- &ett_nr_rrc_T_ssb_ToMeasure,
- &ett_nr_rrc_T_setup_02,
&ett_nr_rrc_T_smtc2,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysicalCellId,
- &ett_nr_rrc_CSI_RS_ResourceConfig_Mobility,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId,
+ &ett_nr_rrc_T_ss_RSSI_Measurement,
+ &ett_nr_rrc_T_measurementSlots,
+ &ett_nr_rrc_CSI_RS_ResourceConfigMobility,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility,
+ &ett_nr_rrc_CSI_RS_CellMobility,
&ett_nr_rrc_T_csi_rs_MeasurementBW,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility,
&ett_nr_rrc_CSI_RS_Resource_Mobility,
&ett_nr_rrc_T_slotConfig,
+ &ett_nr_rrc_T_associatedSSB,
+ &ett_nr_rrc_T_frequencyDomainAllocation_01,
&ett_nr_rrc_Q_OffsetRangeList,
+ &ett_nr_rrc_SSB_ToMeasure,
&ett_nr_rrc_ThresholdNR,
&ett_nr_rrc_CellsToAddModList,
&ett_nr_rrc_CellsToAddMod,
@@ -16499,30 +32760,37 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_T_measResult,
&ett_nr_rrc_T_cellResults,
&ett_nr_rrc_T_rsIndexResults,
- &ett_nr_rrc_ResultsSSBCell,
- &ett_nr_rrc_ResultsCSI_RSCell,
- &ett_nr_rrc_ResultsPerSSBIndexList,
- &ett_nr_rrc_ResultsPerSSBIndex,
- &ett_nr_rrc_ResultsPerCSI_RSIndexList,
- &ett_nr_rrc_ResultsPerCSI_RSIndex,
+ &ett_nr_rrc_MeasQuantityResults,
+ &ett_nr_rrc_ResultsPerSSB_IndexList,
+ &ett_nr_rrc_ResultsPerSSB_Index,
+ &ett_nr_rrc_ResultsPerCSI_RS_IndexList,
+ &ett_nr_rrc_ResultsPerCSI_RS_Index,
+ &ett_nr_rrc_MeasResultSCG_Failure,
+ &ett_nr_rrc_MeasResultServFreqList2NR,
+ &ett_nr_rrc_MeasResultServFreq2NR,
+ &ett_nr_rrc_MeasResultList2NR,
+ &ett_nr_rrc_MeasResult2NR,
+ &ett_nr_rrc_MeasResultCellListSFTD,
+ &ett_nr_rrc_MeasResultCellSFTD,
+ &ett_nr_rrc_MultiFrequencyBandListNR,
+ &ett_nr_rrc_NZP_CSI_RS_ResourceSet,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId,
+ &ett_nr_rrc_NZP_CSI_RS_Resource,
+ &ett_nr_rrc_PCI_List,
+ &ett_nr_rrc_PCI_Range,
+ &ett_nr_rrc_PCI_RangeIndexList,
&ett_nr_rrc_PDCCH_Config,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofControlResourceSets_OF_ControlResourceSet,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofControlResourceSets_OF_ControlResourceId,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSearchSpaces_OF_SearchSpace,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSearchSpaces_OF_SearchSpaceId,
- &ett_nr_rrc_T_timing,
- &ett_nr_rrc_ControlResourceSet,
- &ett_nr_rrc_SearchSpace,
- &ett_nr_rrc_T_monitoringSlotPeriodicityAndOffset,
- &ett_nr_rrc_T_nrofCandidates,
- &ett_nr_rrc_T_searchSpaceType,
- &ett_nr_rrc_T_common,
- &ett_nr_rrc_T_ue_Specific,
- &ett_nr_rrc_SFI_PDCCH,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CellToSFI,
- &ett_nr_rrc_CellToSFI,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinations_OF_SlotFormatCombination,
- &ett_nr_rrc_SlotFormatCombination,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpace,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId,
+ &ett_nr_rrc_T_downlinkPreemption,
+ &ett_nr_rrc_T_slotFormatIndicator,
+ &ett_nr_rrc_T_tpc_PUSCH,
+ &ett_nr_rrc_T_tpc_PUCCH,
+ &ett_nr_rrc_PDCCH_ConfigCommon,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_ControlResourceSet,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace,
&ett_nr_rrc_PDCP_Config,
&ett_nr_rrc_T_drb,
&ett_nr_rrc_T_headerCompression,
@@ -16532,54 +32800,117 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_T_profiles_01,
&ett_nr_rrc_T_moreThanOneRLC,
&ett_nr_rrc_T_primaryPath,
- &ett_nr_rrc_T_ul_DataSplitThreshold,
&ett_nr_rrc_PDSCH_Config,
- &ett_nr_rrc_T_phaseTracking_RS,
- &ett_nr_rrc_T_rateMatchResourcesPDSCH,
- &ett_nr_rrc_T_rateMatchPatterns,
+ &ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA,
+ &ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResourceAllocation,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern,
- &ett_nr_rrc_T_lte_CRS_ToMatchAround,
- &ett_nr_rrc_T_setup_04,
- &ett_nr_rrc_Downlink_PTRS_Config,
- &ett_nr_rrc_RateMatchPattern,
- &ett_nr_rrc_T_periodicityAndOffset_01,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId,
+ &ett_nr_rrc_T_prb_BundlingType,
+ &ett_nr_rrc_T_static,
+ &ett_nr_rrc_T_dynamic,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSet,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSetId,
+ &ett_nr_rrc_PDSCH_ConfigCommon,
+ &ett_nr_rrc_PDSCH_ServingCellConfig,
+ &ett_nr_rrc_T_codeBlockGroupTransmission,
+ &ett_nr_rrc_PDSCH_CodeBlockGroupTransmission,
+ &ett_nr_rrc_PDSCH_TimeDomainResourceAllocation,
+ &ett_nr_rrc_PTRS_DownlinkConfig,
+ &ett_nr_rrc_T_frequencyDensity,
+ &ett_nr_rrc_T_timeDensity,
+ &ett_nr_rrc_T_epre_RatioPort2,
+ &ett_nr_rrc_PTRS_UplinkConfig,
+ &ett_nr_rrc_T_modeSpecificParameters,
+ &ett_nr_rrc_T_cp_OFDM,
+ &ett_nr_rrc_T_frequencyDensity_01,
+ &ett_nr_rrc_T_timeDensity_01,
+ &ett_nr_rrc_T_dft_S_OFDM,
+ &ett_nr_rrc_T_sampleDensity,
&ett_nr_rrc_PUCCH_Config,
- &ett_nr_rrc_SEQUENCE_SIZE_1_1_OF_PUCCH_ResourceSet,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId,
&ett_nr_rrc_T_format1,
- &ett_nr_rrc_T_setup_05,
&ett_nr_rrc_T_format2,
- &ett_nr_rrc_T_setup_06,
&ett_nr_rrc_T_format3,
- &ett_nr_rrc_T_setup_07,
&ett_nr_rrc_T_format4,
- &ett_nr_rrc_T_setup_08,
- &ett_nr_rrc_T_schedulingRequestResources,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSchedulingRequestResoruces_OF_SchedulingRequestResource_Config,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId,
+ &ett_nr_rrc_T_dl_DataToUL_ACK,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId,
+ &ett_nr_rrc_PUCCH_FormatConfig,
+ &ett_nr_rrc_PUCCH_SpatialRelationInfo,
+ &ett_nr_rrc_T_referenceSignal,
&ett_nr_rrc_PUCCH_ResourceSet,
+ &ett_nr_rrc_SEQUENCE_SIZE_8_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId,
+ &ett_nr_rrc_PUCCH_Resource,
+ &ett_nr_rrc_T_format,
+ &ett_nr_rrc_PUCCH_format0,
+ &ett_nr_rrc_PUCCH_format1,
+ &ett_nr_rrc_PUCCH_format2,
+ &ett_nr_rrc_PUCCH_format3,
+ &ett_nr_rrc_PUCCH_format4,
+ &ett_nr_rrc_PUCCH_ConfigCommon,
+ &ett_nr_rrc_PUCCH_PowerControl,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS,
+ &ett_nr_rrc_P0_PUCCH,
+ &ett_nr_rrc_PUCCH_PathlossReferenceRS,
+ &ett_nr_rrc_T_referenceSignal_01,
+ &ett_nr_rrc_PUCCH_TPC_CommandConfig,
&ett_nr_rrc_PUSCH_Config,
- &ett_nr_rrc_T_phaseTracking_RS_01,
- &ett_nr_rrc_T_uci_on_PUSCH,
- &ett_nr_rrc_T_setup_09,
- &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets,
- &ett_nr_rrc_Uplink_PTRS_Config,
- &ett_nr_rrc_T_cp_OFDM,
- &ett_nr_rrc_T_setup_10,
- &ett_nr_rrc_T_dft_S_OFDM,
- &ett_nr_rrc_T_setup_11,
+ &ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA,
+ &ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB,
+ &ett_nr_rrc_T_frequencyHoppingOffsetLists,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofUL_Allocations_OF_PUSCH_TimeDomainResourceAllocation,
+ &ett_nr_rrc_T_uci_OnPUSCH_01,
+ &ett_nr_rrc_UCI_OnPUSCH,
+ &ett_nr_rrc_T_betaOffsets,
+ &ett_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets,
+ &ett_nr_rrc_PUSCH_ConfigCommon,
+ &ett_nr_rrc_PUSCH_PowerControl,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId,
+ &ett_nr_rrc_P0_PUSCH_AlphaSet,
+ &ett_nr_rrc_PUSCH_PathlossReferenceRS,
+ &ett_nr_rrc_T_referenceSignal_02,
+ &ett_nr_rrc_SRI_PUSCH_PowerControl,
&ett_nr_rrc_BetaOffsets,
+ &ett_nr_rrc_PUSCH_ServingCellConfig,
+ &ett_nr_rrc_T_codeBlockGroupTransmission_01,
+ &ett_nr_rrc_PUSCH_CodeBlockGroupGransmission,
+ &ett_nr_rrc_PUSCH_TimeDomainResourceAllocation,
+ &ett_nr_rrc_PUSCH_TPC_CommandConfig,
&ett_nr_rrc_QuantityConfig,
+ &ett_nr_rrc_QuantityConfigNR_List,
+ &ett_nr_rrc_QuantityConfigNR,
&ett_nr_rrc_QuantityConfigRS,
+ &ett_nr_rrc_FilterConfig,
&ett_nr_rrc_RACH_ConfigCommon,
+ &ett_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB,
&ett_nr_rrc_T_groupBconfigured,
&ett_nr_rrc_T_prach_RootSequenceIndex,
- &ett_nr_rrc_CBRA_SSB_ResourceList,
- &ett_nr_rrc_CBRA_SSB_Resource,
+ &ett_nr_rrc_RACH_ConfigGeneric,
&ett_nr_rrc_RACH_ConfigDedicated,
&ett_nr_rrc_CFRA_Resources,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxRAssbResources_OF_CFRA_SSB_Resource,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxRAcsirsResources_OF_CFRA_CSIRS_Resource,
+ &ett_nr_rrc_T_ssb,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource,
+ &ett_nr_rrc_T_csirs,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource,
&ett_nr_rrc_CFRA_SSB_Resource,
&ett_nr_rrc_CFRA_CSIRS_Resource,
+ &ett_nr_rrc_T_ra_OccasionList,
&ett_nr_rrc_RadioBearerConfig,
&ett_nr_rrc_SRB_ToAddModList,
&ett_nr_rrc_SRB_ToAddMod,
@@ -16588,6 +32919,16 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_T_cnAssociation,
&ett_nr_rrc_DRB_ToReleaseList,
&ett_nr_rrc_SecurityConfig,
+ &ett_nr_rrc_RadioLinkMonitoringConfig,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS,
+ &ett_nr_rrc_RadioLinkMonitoringRS,
+ &ett_nr_rrc_T_detectionResource,
+ &ett_nr_rrc_RateMatchPattern,
+ &ett_nr_rrc_T_patternType,
+ &ett_nr_rrc_T_bitmaps,
+ &ett_nr_rrc_T_symbolsInResourceBlock,
+ &ett_nr_rrc_T_periodicityAndPattern,
+ &ett_nr_rrc_RateMatchPatternLTE_CRS,
&ett_nr_rrc_ReportConfigNR,
&ett_nr_rrc_T_reportType,
&ett_nr_rrc_EventTriggerConfig,
@@ -16619,22 +32960,45 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId,
&ett_nr_rrc_SchedulingRequestToAddMod,
+ &ett_nr_rrc_SchedulingRequestResourceConfig,
+ &ett_nr_rrc_T_periodicityAndOffset_01,
+ &ett_nr_rrc_SCS_SpecificCarrier,
&ett_nr_rrc_SDAP_Config,
- &ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofQFIs_OF_QFI,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI,
+ &ett_nr_rrc_SearchSpace,
+ &ett_nr_rrc_T_monitoringSlotPeriodicityAndOffset,
+ &ett_nr_rrc_T_nrofCandidates,
+ &ett_nr_rrc_T_searchSpaceType,
+ &ett_nr_rrc_T_common,
+ &ett_nr_rrc_T_dci_Format0_0_AndFormat1_0,
+ &ett_nr_rrc_T_dci_Format2_0,
+ &ett_nr_rrc_T_nrofCandidates_SFI,
+ &ett_nr_rrc_T_dci_Format2_1,
+ &ett_nr_rrc_T_dci_Format2_2,
+ &ett_nr_rrc_T_dci_Format2_3,
+ &ett_nr_rrc_T_ue_Specific,
&ett_nr_rrc_SecurityAlgorithmConfig,
+ &ett_nr_rrc_ServingCellConfig,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink,
+ &ett_nr_rrc_T_pdsch_ServingCellConfig,
+ &ett_nr_rrc_T_csi_MeasConfig,
+ &ett_nr_rrc_T_carrierSwitching,
+ &ett_nr_rrc_UplinkConfig,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink,
+ &ett_nr_rrc_T_pusch_ServingCellConfig,
&ett_nr_rrc_ServingCellConfigCommon,
- &ett_nr_rrc_T_frequencyInfoDL,
- &ett_nr_rrc_T_supplementaryUplink,
- &ett_nr_rrc_T_ssb_PositionsInBurst,
- &ett_nr_rrc_T_tdd_UL_DL_configurationCommon,
- &ett_nr_rrc_ServingCellConfigDedicated,
- &ett_nr_rrc_T_tdd_UL_DL_configurationDedicated,
- &ett_nr_rrc_T_slotSpecificConfigurations,
- &ett_nr_rrc_T_slotSpecificConfigurations_item,
+ &ett_nr_rrc_T_ssb_PositionsInBurst_01,
+ &ett_nr_rrc_T_lte_CRS_ToMatchAround,
+ &ett_nr_rrc_UplinkConfigCommon,
+ &ett_nr_rrc_SlotFormatCombinationsPerCell,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination,
+ &ett_nr_rrc_SlotFormatCombination,
+ &ett_nr_rrc_T_slotFormats,
+ &ett_nr_rrc_SlotFormatIndicator,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex,
&ett_nr_rrc_SPS_Config,
- &ett_nr_rrc_T_uplink,
- &ett_nr_rrc_T_rrcConfiguredUplinkGrant,
- &ett_nr_rrc_T_setup_12,
&ett_nr_rrc_SRS_Config,
&ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId,
&ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet,
@@ -16642,50 +33006,137 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource,
&ett_nr_rrc_SRS_ResourceSet,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId,
- &ett_nr_rrc_SRS_Resource,
&ett_nr_rrc_T_resourceType_01,
&ett_nr_rrc_T_aperiodic_01,
&ett_nr_rrc_T_semi_persistent,
&ett_nr_rrc_T_periodic_01,
- &ett_nr_rrc_T_periodicityAndOffset_02,
+ &ett_nr_rrc_T_pathlossReferenceRS,
+ &ett_nr_rrc_SRS_Resource,
+ &ett_nr_rrc_T_transmissionComb,
+ &ett_nr_rrc_T_n2,
+ &ett_nr_rrc_T_n4,
+ &ett_nr_rrc_T_resourceMapping,
+ &ett_nr_rrc_T_freqHopping,
+ &ett_nr_rrc_T_resourceType_02,
+ &ett_nr_rrc_T_aperiodic_02,
+ &ett_nr_rrc_T_semi_persistent_01,
+ &ett_nr_rrc_T_periodic_02,
+ &ett_nr_rrc_T_spatialRelationInfo,
+ &ett_nr_rrc_SRS_PeriodicityAndOffset,
+ &ett_nr_rrc_SRS_CarrierSwitching,
+ &ett_nr_rrc_T_srs_TPC_PDCCH_Group,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_SlotFormatCombinationsPerCell,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex,
+ &ett_nr_rrc_SRS_TPC_PDCCH_Config,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex,
+ &ett_nr_rrc_SRS_CC_SetIndex,
+ &ett_nr_rrc_TCI_State,
+ &ett_nr_rrc_QCL_Info,
+ &ett_nr_rrc_T_referenceSignal_03,
+ &ett_nr_rrc_TDD_UL_DL_ConfigCommon,
+ &ett_nr_rrc_TDD_UL_DL_ConfigDedicated,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex,
+ &ett_nr_rrc_TDD_UL_DL_SlotConfig,
+ &ett_nr_rrc_T_symbols,
+ &ett_nr_rrc_T_explicit,
+ &ett_nr_rrc_ZP_CSI_RS_Resource,
+ &ett_nr_rrc_ZP_CSI_RS_ResourceSet,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId,
&ett_nr_rrc_BandCombinationList,
&ett_nr_rrc_BandCombination,
- &ett_nr_rrc_UE_MRDC_Capability,
- &ett_nr_rrc_RF_Parameters_MRDC,
- &ett_nr_rrc_PhyLayerParameters_MRDC,
- &ett_nr_rrc_BasebandProcessingCombination_MRDC,
- &ett_nr_rrc_LinkedBasebandProcessingCombination,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_BandCombinationParameters,
+ &ett_nr_rrc_BandAndDL_ParametersList,
+ &ett_nr_rrc_BandAndDL_Parameters,
+ &ett_nr_rrc_BandCombinationParameters,
+ &ett_nr_rrc_CA_ParametersNR,
+ &ett_nr_rrc_MRDC_Parameters,
+ &ett_nr_rrc_BandAndDL_ParametersEUTRA,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoDL_EUTRA,
+ &ett_nr_rrc_BandAndDL_ParametersNR,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoDL,
+ &ett_nr_rrc_IntraBandContiguousCC_InfoDL,
+ &ett_nr_rrc_IntraBandContiguousCC_InfoDL_EUTRA,
+ &ett_nr_rrc_BandCombinationParametersUL_List,
+ &ett_nr_rrc_BandCombinationParametersUL,
+ &ett_nr_rrc_BandParametersUL,
+ &ett_nr_rrc_BandParametersUL_EUTRA,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoUL_EUTRA,
+ &ett_nr_rrc_BandParametersUL_NR,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoUL,
+ &ett_nr_rrc_IntraBandContiguousCC_InfoUL,
+ &ett_nr_rrc_IntraBandContiguousCC_InfoUL_EUTRA,
+ &ett_nr_rrc_BasebandCombinationParametersUL_List,
+ &ett_nr_rrc_BasebandCombinationParametersUL,
+ &ett_nr_rrc_BasebandParametersPerBandUL,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_UL,
+ &ett_nr_rrc_BasebandParametersPerCC_UL,
+ &ett_nr_rrc_T_supportedBandwidthUL,
+ &ett_nr_rrc_T_pusch_DifferentTB_PerSlot,
+ &ett_nr_rrc_BasebandProcessingCombinationMRDC,
+ &ett_nr_rrc_BasebandProcessingCombinationLink,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex,
- &ett_nr_rrc_MeasParameters_MRDC,
+ &ett_nr_rrc_FreqBandList,
+ &ett_nr_rrc_FreqBandInformation,
+ &ett_nr_rrc_SupportedBasebandProcessingCombination,
+ &ett_nr_rrc_BasebandProcessingCombination,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBandDL,
+ &ett_nr_rrc_BasebandParametersPerBandDL,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_DL,
+ &ett_nr_rrc_BasebandParametersPerCC_DL,
+ &ett_nr_rrc_T_supportedBandwidthDL,
+ &ett_nr_rrc_T_timeDurationForQCL,
+ &ett_nr_rrc_T_pdsch_DifferentTB_PerSlot,
+ &ett_nr_rrc_UE_CapabilityRAT_ContainerList,
+ &ett_nr_rrc_UE_CapabilityRAT_Container,
+ &ett_nr_rrc_UE_MRDC_Capability,
+ &ett_nr_rrc_T_nonCriticalExtension_05,
+ &ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode,
+ &ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode,
+ &ett_nr_rrc_RF_ParametersMRDC,
+ &ett_nr_rrc_Phy_ParametersMRDC,
+ &ett_nr_rrc_Phy_ParametersMRDC_XDD_Diff,
+ &ett_nr_rrc_Phy_ParametersMRDC_FRX_Diff,
+ &ett_nr_rrc_MeasParametersMRDC,
+ &ett_nr_rrc_MeasParametersMRDC_Common,
+ &ett_nr_rrc_MeasParametersMRDC_XDD_Diff,
+ &ett_nr_rrc_MeasParametersMRDC_FRX_Diff,
+ &ett_nr_rrc_GeneralParametersMRDC_XDD_Diff,
&ett_nr_rrc_UE_NR_Capability,
- &ett_nr_rrc_T_nonCriticalExtension_02,
- &ett_nr_rrc_PhyLayerParameters,
+ &ett_nr_rrc_T_nonCriticalExtension_06,
+ &ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode,
+ &ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode,
+ &ett_nr_rrc_Phy_Parameters,
+ &ett_nr_rrc_Phy_ParametersCommon,
+ &ett_nr_rrc_Phy_ParametersXDD_Diff,
+ &ett_nr_rrc_Phy_ParametersFRX_Diff,
+ &ett_nr_rrc_Phy_ParametersFR1,
+ &ett_nr_rrc_Phy_ParametersFR2,
&ett_nr_rrc_RF_Parameters,
&ett_nr_rrc_SupportedBandListNR,
- &ett_nr_rrc_SupportedBasebandProcessingCombination,
- &ett_nr_rrc_BasebandProcessingCombination,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBand,
- &ett_nr_rrc_BasebandParametersPerBand,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxServCell_OF_BasebandParametersPerCC,
- &ett_nr_rrc_BasebandParametersPerCC,
&ett_nr_rrc_BandNR,
- &ett_nr_rrc_MIMO_Capability,
- &ett_nr_rrc_ModulationOrder,
- &ett_nr_rrc_SubCarrierSpacing,
+ &ett_nr_rrc_T_pdsch_DifferentTB_PerSlot_01,
+ &ett_nr_rrc_T_pusch_DifferentTB_PerSlot_01,
+ &ett_nr_rrc_MIMO_ParametersPerBand,
+ &ett_nr_rrc_T_timeDurationForQCL_01,
+ &ett_nr_rrc_T_maxNumberRxTxBeamSwitchDL,
+ &ett_nr_rrc_T_uplinkBeamManagement,
+ &ett_nr_rrc_BeamManagementSSB_CSI_RS,
+ &ett_nr_rrc_SRS_Resources,
+ &ett_nr_rrc_SRS_TxSwitch,
&ett_nr_rrc_PDCP_Parameters,
&ett_nr_rrc_T_supportedROHC_Profiles,
&ett_nr_rrc_RLC_Parameters,
&ett_nr_rrc_MAC_Parameters,
- &ett_nr_rrc_MeasGapConfig,
- &ett_nr_rrc_MeasObjectEUTRA,
- &ett_nr_rrc_MeasResultListEUTRA,
- &ett_nr_rrc_PhysCellIdRange,
- &ett_nr_rrc_RA_Resources,
- &ett_nr_rrc_ReportConfigEUTRA,
- &ett_nr_rrc_SchedulingRequestResource_Config,
+ &ett_nr_rrc_MAC_ParametersCommon,
+ &ett_nr_rrc_MAC_ParametersXDD_Diff,
+ &ett_nr_rrc_MeasParameters,
+ &ett_nr_rrc_MeasParametersXDD_Diff,
+ &ett_nr_rrc_MeasParametersFRX_Diff,
/*--- End of included file: packet-nr-rrc-ettarr.c ---*/
-#line 87 "./asn1/nr-rrc/packet-nr-rrc-template.c"
+#line 85 "./asn1/nr-rrc/packet-nr-rrc-template.c"
&ett_nr_rrc_UECapabilityInformation
};
@@ -16706,7 +33157,7 @@ void proto_register_nr_rrc(void) {
/*--- End of included file: packet-nr-rrc-dis-reg.c ---*/
-#line 99 "./asn1/nr-rrc/packet-nr-rrc-template.c"
+#line 97 "./asn1/nr-rrc/packet-nr-rrc-template.c"
}
void
diff --git a/epan/dissectors/packet-nr-rrc.h b/epan/dissectors/packet-nr-rrc.h
index b261aa72b1..317464c338 100644
--- a/epan/dissectors/packet-nr-rrc.h
+++ b/epan/dissectors/packet-nr-rrc.h
@@ -1,7 +1,7 @@
/* Do not modify this file. Changes will be overwritten. */
/* Generated automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-nr-rrc.h */
-/* asn2wrs.py -L -p nr-rrc -c ./nr-rrc.cnf -s ./packet-nr-rrc-template -D . -O ../.. NR-InterNodeDefinitions.asn NR-RRC-Definitions.asn */
+/* asn2wrs.py -L -p nr-rrc -c ./nr-rrc.cnf -s ./packet-nr-rrc-template -D . -O ../.. NR-InterNodeDefinitions.asn NR-RRC-Definitions.asn NR-UE-Variables.asn */
/* Input file: packet-nr-rrc-template.h */
@@ -22,14 +22,17 @@
/*--- Included file: packet-nr-rrc-exp.h ---*/
#line 1 "./asn1/nr-rrc/packet-nr-rrc-exp.h"
-int dissect_nr_rrc_SCG_ConfigInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+int dissect_nr_rrc_CG_ConfigInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+int dissect_nr_rrc_ConfigRestrictInfoSCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_nr_rrc_UL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_nr_rrc_MIB_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_nr_rrc_RRCReconfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_nr_rrc_RRCReconfigurationComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+int dissect_nr_rrc_SIB1_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_nr_rrc_CellGroupConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_nr_rrc_MeasResults_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_nr_rrc_RadioBearerConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+int dissect_nr_rrc_FreqBandList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_nr_rrc_UE_MRDC_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_nr_rrc_UE_NR_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
diff --git a/epan/dissectors/packet-x2ap.c b/epan/dissectors/packet-x2ap.c
index f460490334..11efbb6f42 100644
--- a/epan/dissectors/packet-x2ap.c
+++ b/epan/dissectors/packet-x2ap.c
@@ -6622,7 +6622,7 @@ dissect_x2ap_MeNBtoSgNBContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
x2ap_data->triggering_message == successful_outcome)) {
dissect_nr_rrc_RRCReconfigurationComplete_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
} else {
- dissect_nr_rrc_SCG_ConfigInfo_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ dissect_nr_rrc_CG_ConfigInfo_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
}
@@ -7802,7 +7802,7 @@ dissect_x2ap_SgNBtoMeNBContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
if (!parameter_tvb)
return offset;
subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_SgNBtoMeNBContainer);
- dissect_nr_rrc_SCG_ConfigInfo_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ dissect_nr_rrc_CG_ConfigInfo_PDU(parameter_tvb, actx->pinfo, subtree, NULL);