0% found this document useful (0 votes)
189 views32 pages

5G RRC Reconfig

Uploaded by

turi313
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
189 views32 pages

5G RRC Reconfig

Uploaded by

turi313
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 32

5G/NR

RRC Connection Reconfiguration in a nutshell

 RRCConnectionReconfiguration in LTE does everything required to establish NR NSA

 In NSA setup, this is the most important and complicated message you need to und

 Followings are several important configurations in this message

o Measurement for NR cell : B1-NR event

o NR Cell Information : Band, Frequency, SSB location, RACH configuration, Split


Configuration

o NR Carrier Aggregation (if NR CA is to be applied)

RRC ConnectionReconfiguration in Detail

As in LTE, RRC Reconfiguration is the most important steps in establishing Radio Connectio
between UE and Network. Understanding every details of RRC Reconfiguration would impl
understanding almost everything in NR Radio Stack. I would take around an year to get th
understandings on the details of this single message to a certain degree and you would ne
keep learning further details and new things throughout the whole life cycles of 5G/NR. So
too hurry trying to understand everything at a time and read / think on small pieces and
analyze the protocol log when available whenever you have chance. This page also will be
piece by piece and linked to many other pages for the details.

 Overall Sequence of RRC Reconfiguration for NR

 Purpose (Function) of RRC Reconfiguration

 What should UE do when it gets RRCReconfiguration message ?

 RRC Reconfiguration Message structure

 Example :

o Example 01

 Get the Test Procedure and Log / Amarisoft TechAcademy


Overall Sequence of RRC Reconfiguration for NR

Following sequence shows what triggers NR RRC Reconfiguration on UE. As you see here,
be triggered by LTE (in NSA(Non-Standalone) deployment) or by NR (in SA(Standalone)
deployment).

 Both processes start with an "Initial Setup" phase, where the UE establishes an initia
connection with the network (eNB or gNB).

 After this, both systems undergo a "RRC Connection Reconfiguration".

o In LTE, this is detailed as an RRCConnectionReconfiguration message including


IEs' (which likely refers to certain information elements specific to the version
the LTE standard).

o In 5G, this step is simply labeled as "RRC Reconfiguration".

 Following the reconfiguration command, there is an acknowledgment step labeled "


Connection Reconfiguration Complete" in LTE and "RRC Reconfiguration Complete" i
indicating that the reconfiguration process has been acknowledged by the UE.

NOTE : In both case, NR RACH process are crucial and understanding the procedure is sup
important. (In NSA case, the NR RACH process happens after RRC Connection Reconfigura
SA, it happens as a part of Initial Attach). For further details, check out the followings

 NR RACH in NSA

 NR RACH in SA

Purpose (Function) of RRC Reconfiguration

As you can guess from the word itself, the major functionality of RrcReconfiguration is to s
modify RRC configuration. This imply that there should have already been some RRC Confi
process before this message. It is true. In LTE, there is a step RrcConnectionSetup messag
RrcConnectionReconfiguration and in NR there is RRC Setup message before RrcReconfigu

The major functionality of RRC Reconfiguration are to configure following RRC


Components/Functions

 Radio Bearer

 Measurement

 Scells or Cell Group Configuration

For each of the RRC Component/Functions, RrcReconfiguration message can do following o

 Radio Bearer

o Establish

o Modify

o Release

 Measurement

o Setup

o Modify

o Release

 Scells or Cell Group

o Add

o Modify

o Release

What should UE do when it gets RRCReconfiguration message ?

What should a UE do when it gets RrcReconfiguration message ? The answer is simple. Do


the message tell you to do. I know this is not the answer you want to hear :). Like in LTE,
RRCReconfiguration is the most complicated message in NR. Understanding this message
detail is like understanding the full protocol stack of NR. You will see a good framework or
point of understanding this message in 3GPP 38.331 - 5.3.5.3 Reception of an RRCReconfi
by the UE. Followings are some of the highest level IE(Information Elements) that you may
with.

 secondaryCellGroup

 radioBearerConfig

 measConfig

 nr-SecondaryCellGroupConfig

 spCellConfig->reconfigurationWithSync

Since this message carries too many parameters (Information Elements), you would easily
if you try to go through each and every items from the beginning. I would suggest you to
any one of the high level items from the items listed above and try to understand the ove
functionality of the high level item ,and then move to next item and get an overview and
When you have overall understandings on every items listed above, then move down to n
(one-step down) in each section.

RRC Reconfiguration Message structure

Followings are RRC Reconfiguration Message structure from 38.331. (NOTE : This is not ne
from the latest specification. So just get the overal structure from this note and double ch
3GPP document version that you are specifically interested in).

RRCReconfiguration ::= SEQUENCE {

rrc-TransactionIdentifier RRC-TransactionIdentifier,

criticalExtensions CHOICE {

rrcReconfiguration RRCReconfiguration-IEs,

criticalExtensionsFuture SEQUENCE {}

RRCReconfiguration-IEs ::=SEQUENCE {
radioBearerConfig RadioBearerConfig OPTIONAL, -- Need M

secondaryCellGroup OCTET STRING (CONTAINING CellGroupConfig) OPTIONAL, -- N

measConfig MeasConfig OPTIONAL, -- Need M

lateNonCriticalExtension OCTET STRING OPTIONAL,

nonCriticalExtension SEQUENCE {} OPTIONAL

< RadioBearerConfig >

The radio bearer configuration process allows the network to establish, modify, and releas
bearers for the UE. the radio bearer configuration procedure allows the network to control
bearers used by the UE to meet the QoS and service requirements. It is a key part of RRC
connection establishment, reconfiguration, and mobility procedures.

Here is a brief overview of what radio bearer configuration does:

 Radio bearers carry user plane data between the UE and the network. The SRBs (Sig
Radio Bearers) carry control plane data like RRC messages, while the DRBs (Data Ra
Bearers) carry user plane data.

 The network uses the RadioBearerConfig information element to configure the radio
for the UE. This allows the network to setup, modify or release SRBs, DRBs, and mul
MRBs.

 Through this configuration, the network can control the QoS profile, security parame
PDCP configuration etc for each radio bearer.

 The network can add new radio bearers, modify the configuration of existing ones, o
radio bearers that are no longer needed.

 The UE is required to act on the RadioBearerConfig IE and setup, modify or release b


accordingly. This allows the UE and network to establish the necessary radio bearers
support the desired services.

Here goes a little bit detailed summary based on 38.331-5.3.5.6

The UE performs actions to configure radio bearers based on the RadioBearerConfig IE rec
from the network. This includes SRB release, SRB addition/modification, DRB release, DRB
addition/modification, multicast MRB release, and multicast MRB addition/modification. Fo
are summary based on each sections under 38.331-5.3.5.6
1> SRB Release

o Release PDCP entity and srb-Identity for SRB3 if srb3-ToRelease is included

o Release PDCP entity and srb-Identity for SRB4 if srb4-ToRelease is included

2> SRB Addition/Modification

o Establish PDCP entity for target cell group for each SRB if DAPS bearer configu

o Configure security (ciphering/integrity) based on target RAT

o Establish PDCP entity and configure it for each new srb-Identity

o Reconfigure PDCP for existing srb-Identity if included

3> DRB Release

o Release PDCP entity and drb-Identity for each drb-Identity included

o Indicate DRB release to SDAP and upper layers

4> DRB Addition/Modification

o Establish PDCP entity and configure it for each new drb-Identity

o Configure security (ciphering/integrity) based on target RAT

o Establish SDAP entity if needed

o Associate eps-BearerIdentity for DRB if included

o Reconfigure PDCP for existing drb-Identity configured as DAPS bearer

o Re-establish or recover PDCP for existing drb-Identity based on flags

o Reconfigure SDAP entity if sdap-Config included

5> Multicast MRB Release

o Release PDCP entity and mrb-Identity for each mrb-Identity included

6> Multicast MRB Addition/Modification

o Reconfigure/re-establish/recover PDCP for existing mrb-Identity

o Establish PDCP entity and configure it for each new mrb-Identity

o Establish SDAP entity if needed

o Update mrb-Identity if mrb-IdentityNew included


Followings are the Information Elements for RadioBearerConfig

RadioBearerConfig ::= SEQUENCE {

srb-ToAddModList SRB-ToAddModList OPTIONAL, -- Need N

srb3-ToRelease ENUMERATED{true} OPTIONAL, -- Need N

drb-ToAddModList DRB-ToAddModList OPTIONAL, -- Need N

drb-ToReleaseList DRB-ToReleaseList OPTIONAL, -- Need N

securityConfig SecurityConfig OPTIONAL, -- Cond M

...

SRB-ToAddModList ::= SEQUENCE (SIZE (1..2)) OF SRB-ToAddMod

SRB-ToAddMod ::= SEQUENCE {

srb-Identity SRB-Identity,

reestablishPDCP ENUMERATED{true} OPTIONAL, - Need N

discardOnPDCP ENUMERATED{true} OPTIONAL, -- Need N

pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP

...

DRB-ToAddModList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod

DRB-ToAddMod ::= SEQUENCE {

cnAssociation CHOICE {

eps-BearerIdentity INTEGER (0..15) OPTIONAL,

sdap-Config SDAP-Config OPTIONAL


},

drb-Identity DRB-Identity,

reestablishPDCP ENUMERATED{true} OPTIONAL,

recoverPDCP ENUMERATED{true} OPTIONAL,

pdcp-Config PDCP-Config OPTIONAL,

...

SDAP-Config ::= SEQUENCE {

pdu-Session PDU-SessionID,

sdap-HeaderDL ENUMERATED {present, absent},

sdap-HeaderUL ENUMERATED {present, absent},

defaultDRB BOOLEAN,

mappedQoS-FlowsToAdd SEQUENCE (SIZE (1..maxNrofQFIs)) OF QFI OPTIONAL,

mappedQoS-FlowsToRelease SEQUENCE (SIZE (1..maxNrofQFIs)) OF QFI OPTIONAL,

...

QFI ::= INTEGER (0..maxQFI)

PDU-SessionID ::= INTEGER (0..255)

PDCP-Config ::= SEQUENCE {

drb SEQUENCE {

discardTimer ENUMERATED {ms10, ms20, ms30, ms40, ms50, ms60, ms75, ms100,
ms200,

ms250, ms300, ms500, ms750, ms1500, infinity} OPTIONAL, --Cond Set

pdcp-SN-SizeUL ENUMERATED {len12bits, len18bits} OPTIONAL, -- Cond Setup2


pdcp-SN-SizeDL ENUMERATED {len12bits, len18bits} OPTIONAL, -- Cond Setup2

headerCompression CHOICE {

notUsed NULL,

rohc SEQUENCE {

maxCID INTEGER (1..16383) DEFAULT 15,

profiles SEQUENCE {

profile0x0001 BOOLEAN,

profile0x0002 BOOLEAN,

profile0x0003 BOOLEAN,

profile0x0004 BOOLEAN,

profile0x0006 BOOLEAN,

profile0x0101 BOOLEAN,

profile0x0102 BOOLEAN,

profile0x0103 BOOLEAN,

profile0x0104 BOOLEAN

},

drb-ContinueROHC ENUMERATED { true } OPTIONAL -- Need N

},

uplinkOnlyROHC SEQUENCE {

maxCID INTEGER (1..16383) DEFAULT 15,

profiles SEQUENCE {

profile0x0006 BOOLEAN

},

drb-ContinueROHC ENUMERATED { true } OPTIONAL -- Need N

},

...
},

integrityProtection ENUMERATED { enabled } OPTIONAL, -- Cond ConnectedTo5GC

statusReportRequired ENUMERATED { true } OPTIONAL, -- Cond Rlc-AM

outOfOrderDelivery ENUMERATED { true } OPTIONAL -- Need R

} OPTIONAL, -- Cond DRB

moreThanOneRLC SEQUENCE {

primaryPath SEQUENCE {

cellGroup CellGroupId OPTIONAL, -- Need R

logicalChannel LogicalChannelIdentity OPTIONAL -- Need R

},

ul-DataSplitThreshold UL-DataSplitThreshold OPTIONAL, -- Cond SplitBearer

pdcp-Duplication BOOLEAN OPTIONAL -- Need R

} OPTIONAL,

t-Reordering ENUMERATED {

ms0, ms1, ms2, ms4, ms5, ms8, ms10, ms15, ms20, ms30, ms40,

ms50, ms60, ms80, ms100, ms120, ms140, ms160, ms180, ms200, ms220

ms240, ms260, ms280, ms300, ms500, ms750, ms1000, ms1250,

ms1500, ms1750, ms2000, ms2250, ms2500, ms2750,

ms3000, spare28, spare27, spare26, spare25, spare24,

spare23, spare22, spare21, spare20,

spare19, spare18, spare17, spare16, spare15, spare14,

spare13, spare12, spare11, spare10, spare09,

spare08, spare07, spare06, spare05, spare04, spare03,

spare02, spare01 } OPTIONAL, -- Need S

...,

[[
cipheringDisabled ENUMERATED {true} OPTIONAL -- Cond ConnectedTo5GC

]]

UL-DataSplitThreshold ::= ENUMERATED {

b0, b100, b200, b400, b800, b1600, b3200, b6400, b12800, b25600, b51200, b102400
b204800,

b409600, b819200, b1228800, b1638400, b2457600, b3276800, b4096000, b4915200


b5734400,

b6553600, infinity, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1}

DRB-ToReleaseList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-Identity

SecurityConfig ::= SEQUENCE {

securityAlgorithmConfig SecurityAlgorithmConfig OPTIONAL,

keyToUse ENUMERATED{KeNB, S-KgNB} OPTIONAL

...

SecurityAlgorithmConfig ::= SEQUENCE {

cipheringAlgorithm CipheringAlgorithm,

integrityProtAlgorithm IntegrityProtAlgorithm OPTIONAL, -- Need R

...

IntegrityProtAlgorithm ::= ENUMERATED {


nia0, nia1, nia2, nia3, spare4, spare3,

spare2, spare1, ...}

CipheringAlgorithm ::= ENUMERATED {

nea0, nea1, nea2, nea3, spare4, spare3,

spare2, spare1, ...}

CellGroupConfig ::= SEQUENCE {

cellGroupId CellGroupId,

rlc-BearerToAddModList SEQUENCE (SIZE(1..maxLC-ID)) OF RLC-Bearer-Config OPTI

rlc-BearerToReleaseList SEQUENCE (SIZE(1..maxLC-ID)) OF LogicalChannelIdentity O

mac-CellGroupConfig MAC-CellGroupConfig OPTIONAL,

physicalCellGroupConfig PhysicalCellGroupConfig OPTIONAL,

spCellConfig SpCellConfig OPTIONAL,

sCellToAddModList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellConfig OPTION

sCellToReleaseList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellIndex OPTIONA

...

MAC-CellGroupConfig ::= SEQUENCE {

drx-Config SetupRelease { 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 SetupRelease { PHR-Config } OPTIONAL, -- Need M

skipUplinkTxDynamic BOOLEAN,
cs-RNTI SetupRelease { 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)

},

shortDRX SEQUENCE {
drx-ShortCycle ENUMERATED {

ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20,

ms30, ms32, ms35, ms40, ms64, ms80, ms128, ms160, ms256,

ms320, ms512, ms640, spare9, spare8, spare7, spare6, spare5,

spare4, spare3, spare2, spare1 },

drx-ShortCycleTimer INTEGER (1..16)

} OPTIONAL, -- Need R

drx-SlotOffset INTEGER (0..31)

PHR-Config ::= SEQUENCE {

phr-PeriodicTimer ENUMERATED {sf10, sf20, sf50, sf100, sf200,sf500, sf1000, infi

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 SEQUENCE (SIZE (1..maxNrofTAGs)) OF TAG-Id OPTIONAL,-- Nee

tag-ToAddModList SEQUENCE (SIZE (1..maxNrofTAGs)) OF TAG-ToAddMod OPTIONA


N

}
TAG-ToAddMod ::= SEQUENCE {

tag-Id TAG-Id,

timeAlignmentTimer TimeAlignmentTimer,

...

TAG-Id ::= INTEGER (0..maxNrofTAGs-1)

TimeAlignmentTimer ::= ENUMERATED {ms500, ms750, ms1280, ms1920, ms2560, ms51

ms10240, infinity}

BSR-Config ::= SEQUENCE {

periodicBSR-Timer ENUMERATED {

sf1, sf5, sf10, sf16, sf20, sf32, sf40, sf64, sf80, sf128,

sf160, sf320, sf640, sf1280, sf2560, infinity},

retxBSR-Timer ENUMERATED { sf10, sf20, sf40, sf80, sf160, sf320, sf640, sf1280

sf2560, sf5120, sf10240, spare5, spare4,spare3, spare2, spare1},

logicalChannelSR-DelayTimer ENUMERATED { sf20, sf40, sf64, sf128, sf512, sf1024, s

spare1} OPTIONAL -- Need R

SchedulingRequestConfig ::= SEQUENCE {

schedulingRequestToAddModList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGrou

SchedulingRequestToAddMod OPTIONAL, -- Need N

schedulingRequestToReleaseList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup


SchedulingRequestId OPTIONAL -- Need N

SchedulingRequestToAddMod ::=SEQUENCE {

sr-ConfigIndex SchedulingRequestId,

sr-ProhibitTimer ENUMERATED {ms1, ms2, ms4, ms8, ms16,

ms32, ms64, ms128} OPTIONAL, -- Need S

sr-TransMax ENUMERATED {n4,n8,n16,n32,n64,spare3,spare2,spare1}

SchedulingRequestId ::= INTEGER (0..7)

CellGroupId ::= INTEGER (1.. maxSCellGroups)

LCH-Config ::= SEQUENCE {

logicalChannelIdentity LogicalChannelIdentity,

servedRadioBearer INTEGER (1..32) OPTIONAL,

reestablishRLC ENUMERATED {true} OPTIONAL,

rlc-Config RLC-Config OPTIONAL,

mac-LogicalChannelConfig LogicalChannelConfig OPTIONAL

LogicalChannelIdentity ::= INTEGER (1..FFS)

PhysicalCellGroupConfig ::= SEQUENCE {

harq-ACK-SpatialBundlingPUCCH ENUMERATED {true} OPTIONAL, -- Need S


harq-ACK-SpatialBundlingPUSCH ENUMERATED {true} OPTIONAL, -- Need S

p-NR P-Max OPTIONAL, -- Need R

pdsch-HARQ-ACK-Codebook ENUMERATED {semiStatic, dynamic},

tpc-SRS-RNTI RNTI-Value OPTIONAL, -- Need R

tpc-PUCCH-RNTI RNTI-Value OPTIONAL, -- Need R

tpc-PUSCH-RNTI RNTI-Value OPTIONAL, -- Need R

sp-CSI-RNTI RNTI-Value OPTIONAL, -- Cond SP-CSI-Report

cs-RNTI SetupRelease { RNTI-Value } OPTIONAL, -- Need R

< MeasConfig >

MeasConfig is to specify various configurations for RRC level measurement like types of
measurement, types of reference signal for the measurement etc. The details are specifed
38.331-5.5

Types of Measurement

 NR measurements;

 Inter-RAT measurements of E-UTRA frequencies;

 Inter-RAT measurements of UTRA-FDD frequencies;

 NR sidelink measurements of L2 U2N Relay UEs.

Type of Reference signal for the measurement and corresponding measurement item. The
measurements are performed only when they are configured in the RRC message.

 SS/PBCH block(s):

o Measurement results per SS/PBCH block;

o Measurement results per cell based on SS/PBCH block(s);

o SS/PBCH block(s) indexes.

 CSI-RS resources:

o Measurement results per CSI-RS resource;


o Measurement results per cell based on CSI-RS resource(s);

o CSI-RS resource measurement identifiers.

 NR sidelink and V2X sidelink for Cross Link Interference:

o CBR(Channel Busy Ratio) measurements.

 SRS resources for Cross Link Interference(CLI):

o Measurement results per SRS resource;

o SRS resource(s) indexes.

 CLI-RSSI (Cross Link Interference RSSI) resources:

o Measurement results per CLI-RSSI resource;

o CLI-RSSI resource(s) indexes.

 CSI-RS for tracking or PRS:

o UE Rx-Tx time difference measurement result.

Components of Measurement Configuration

This is a pretty huge topic and it is decribed in a separate note here.

MeasConfig ::= SEQUENCE {

measObjectToRemoveList MeasObjectToRemoveList OPTIONAL, -- Need N

measObjectToAddModList MeasObjectToAddModList OPTIONAL, -- Need N

reportConfigToRemoveList ReportConfigToRemoveList OPTIONAL, -- Need N

reportConfigToAddModList ReportConfigToAddModList OPTIONAL, -- Need N

measIdToRemoveList MeasIdToRemoveList OPTIONAL, -- Need N

measIdToAddModList MeasIdToAddModList OPTIONAL, -- Need N

s-MeasureConfig CHOICE {

ssb-RSRP RSRP-Range,

csi-RSRP RSRP-Range

} OPTIONAL, -- Need M

quantityConfig QuantityConfig OPTIONAL, -- Need M


measGapConfig MeasGapConfig OPTIONAL, -- Need M

measGapSharingConfig MeasGapSharingConfig OPTIONAL, -- Need M

...

MeasObjectToRemoveList ::= SEQUENCE (SIZE (1..maxNrofObjectId)) OF MeasObjectId

MeasIdToRemoveList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasId

ReportConfigToRemoveList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigI

MeasGapConfig ::= SEQUENCE {

gapFR2 SetupRelease { GapConfig } OPTIONAL, -- Need M

...

GapConfig ::= SEQUENCE {

gapOffset INTEGER (0..159),

mgl ENUMERATED {ms1dot5, ms3, ms3dot5, ms4, ms5dot5, ms6},

mgrp ENUMERATED {ms20, ms40, ms80, ms160},

mgta ENUMERATED {ms0, ms0dot25, ms0dot5},

...

MeasGapSharingConfig ::= SEQUENCE {

gapSharingFR2 SetupRelease { MeasGapSharingScheme } OPTIONAL, -- Need M

...

MeasGapSharingScheme ::= ENUMERATED { scheme00, scheme01, scheme10, scheme11


QuantityConfig ::= SEQUENCE {

quantityConfigNR-List SEQUENCE (SIZE (1..maxNrofQuantityConfig))

OF QuantityConfigNR OPTIONAL, -- Need M

...

QuantityConfigNR::= SEQUENCE {

quantityConfigCell QuantityConfigRS,

quantityConfigRS-Index QuantityConfigRS OPTIONAL -- Need M

QuantityConfigRS ::= SEQUENCE {

ssb-FilterConfig FilterConfig,

cs-RS-FilterConfig FilterConfig

FilterConfig ::= SEQUENCE {

filterCoefficientRSRP FilterCoefficient DEFAULT fc4,

filterCoefficientRSRQ FilterCoefficient DEFAULT fc4,

filterCoefficientRS-SINR FilterCoefficient DEFAULT fc4

< SpcellConfig >

"spCell" stands for Special or Secondary Primary Cell. The term "spCell" refers to a specifi
primary cell in a defined group within a cellular network. "spCell" is used to refer to a spec
a defined group, making it the primary cell of that particular group. It's often mentioned in
context of Master Cell Group (MCG) and Secondary Cell Group (SCG), where it denotes the
cell of these groups. In the context of NSA, spCell is the first NR cell added as SCG(Second
Group) to LTE anchor.

 spCellConfig configures a special cell configuration for a defined group of cells in a 5


network. It essentially denotes the primary cell of a specified group, with mentions o
Master Cell Group (MCG) and PScell for Secondary Cell Group (SCG)

 There are two specific configurations under spCellConfig: spCellConfigCommon and


spCellConfigDedicated.

 spCellConfigCommon is a common configuration available to all User Equipment (UE


initial access to the network. It contains parameters used for initial Random Access
(RACH) synchronization with the Secondary Synchronization Signal Block (SSB). Para
under this configuration are used for initial Bandwidth Part (BWP) calculations for bo
downlink (DL) and uplink (UL) which decide access to the NR cell after a specific trig
information is ideally sent as part of SIB1 in Standalone (SA) mode or via LTE RRC Si
an NR Container in case of EN-DC (E-UTRAN New Radio - Dual Connectivity).

 spCellConfigDedicated is a dedicated configuration with specific parameters for a pa


UE. It contains different configurations like CORESET/Searchspace, PUCCH allocation
PDSCH/PUSCH time domain allocation information, and it also allows the network to
different BWPs for common and dedicated configurations

SpCellConfig ::= SEQUENCE {

servCellIndex ServCellIndex OPTIONAL, -- Cond SCG

reconfigurationWithSync ReconfigurationWithSync OPTIONAL,

rlf-TimersAndConstants etupRelease { RLF-TimersAndConstants } OPTIONAL, -- N

rlmInSyncOutOfSyncThreshold INTEGER (0..1) OPTIONAL, -- Need M

spCellConfigDedicated ServingCellConfig OPTIONAL, -- Need M

...

ReconfigurationWithSync ::= SEQUENCE {

spCellConfigCommon ServingCellConfigCommon OPTIONAL, -- Need M

newUE-Identity RNTI-Value,

t304 ENUMERATED {ms50, ms100, ms150, ms200, ms500, ms1000


, ms2000, ms10000},

rach-ConfigDedicated CHOICE {

uplink RACH-ConfigDedicated,

supplementaryUplink RACH-ConfigDedicated

} OPTIONAL, -- Need N

...

ServingCellConfig ::= SEQUENCE {

tdd-UL-DL-ConfigurationDedicated TDD-UL-DL-ConfigDedicated OPTIONAL,-- Cond TD

initialDownlinkBWP BWP-DownlinkDedicated OPTIONAL, -- Cond ServCellAdd

downlinkBWP-ToReleaseList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id OPTI

downlinkBWP-ToAddModList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Downlink


OPTIONAL

firstActiveDownlinkBWP-Id BWP-Id OPTIONAL, -- Need R

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,

defaultDownlinkBWP-Id BWP-Id OPTIONAL, -- Need M

uplinkConfig UplinkConfig OPTIONAL, -- Cond ServCellAdd-UL

supplementaryUplink UplinkConfig OPTIONAL, -- Cond ServCellAdd-SUL

pdsch-ServingCellConfig SetupRelease { PDSCH-ServingCellConfig } OPTIONAL, -- Ne

csi-MeasConfig SetupRelease { CSI-MeasConfig } OPTIONAL, -- Need M

carrierSwitching SetupRelease { SRS-CarrierSwitching} OPTIONAL, -- Need M

sCellDeactivationTimer ENUMERATED {ms20, ms40, ms80, ms160, ms200, ms240, m


ms400, ms480, ms520, ms640, ms720, ms840,

ms1280, spare2,spare1} OPTIONAL,-- Cond


ServingCellWithoutPUCCH

crossCarrierSchedulingConfig CrossCarrierSchedulingConfig OPTIONAL, -- Need M

tag-Id TAG-Id,

ue-BeamLockFunction ENUMERATED {enabled} OPTIONAL, -- Need R

pathlossReferenceLinking ENUMERATED {pCell, sCell} OPTIONAL -- Cond SCellOnly

PDSCH-ServingCellConfig ::= SEQUENCE {

codeBlockGroupTransmission SetupRelease {

PDSCH-CodeBlockGroupTransmission

} OPTIONAL, -- Need M

xOverhead ENUMERATED { xOh6, xOh12, xOh18 } OPTIONAL,-- Need

nrofHARQ-ProcessesForPDSCH ENUMERATED {n2, n4, n6, n10, n12, n16} OPTIONA


S

pucch-Cell ServCellIndex OPTIONAL , -- Cond SCellAddOnly

...

PDSCH-CodeBlockGroupTransmission ::= SEQUENCE {

maxCodeBlockGroupsPerTransportBlock ENUMERATED {n2, n4, n6, n8},

codeBlockGroupFlushIndicator BOOLEAN,

...

UplinkConfig ::= SEQUENCE {


initialUplinkBWP BWP-UplinkDedicated OPTIONAL, -- Cond ServCellAdd.

uplinkBWP-ToReleaseList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id OPTIONAL,--

uplinkBWP-ToAddModList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Uplink OPTIO

firstActiveUplinkBWP-Id BWP-Id OPTIONAL, -- Need R

pusch-ServingCellConfig SetupRelease { PUSCH-ServingCellConfig } OPTIONAL,

...

ServingCellConfigCommon ::= SEQUENCE {

physCellId PhysCellId

downlinkConfigCommon DownlinkConfigCommon,

uplinkConfigCommon UplinkConfigCommon

supplementaryUplinkConfig UplinkConfigCommon

n-TimingAdvanceOffset ENUMERATED { n0, n25600, n39936 }

ssb-PositionsInBurst CHOICE {

shortBitmap BIT STRING (SIZE (4)),

mediumBitmap BIT STRING (SIZE (8)),

longBitmap BIT STRING (SIZE (64))

} OPTIONAL, -- Need R,

ssb-periodicityServingCell ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160,

spare2, spare1 }OPTIONAL, -- Need S

dmrs-TypeA-Position ENUMERATED {pos2, pos3},

lte-CRS-ToMatchAround SetupRelease { RateMatchPatternLTE-CRS } OPTIONAL,

rateMatchPatternToAddModList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF

RateMatchPattern

rateMatchPatternToReleaseList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF


RateMatchPatternId

ssbsubcarrierSpacing SubcarrierSpacing

tdd-UL-DL-ConfigurationCommon TDD-UL-DL-ConfigCommon

ss-PBCH-BlockPower INTEGER (-60..50),

...

RateMatchPatternLTE-CRS ::= SEQUENCE {

carrierFreqDL INTEGER (0..16383),

carrierBandwidthDL ENUMERATED {n6, n15, n25, n50, n75, n100, spare2, spare

mbsfn-SubframeConfigList EUTRA-MBSFN-SubframeConfigList OPTIONAL,

nrofCRS-Ports ENUMERATED {n1, n2, n4},

v-Shift ENUMERATED {n0, n1, n2, n3, n4, n5}

RateMatchPattern ::= SEQUENCE {

rateMatchPatternId RateMatchPatternId,

patternType CHOICE {

bitmaps SEQUENCE {

resourceBlocks BIT STRING (SIZE (275)),

symbolsInResourceBlock CHOICE {

oneSlot BIT STRING (SIZE (14)),

twoSlots BIT STRING (SIZE (28))

},

periodicityAndPattern CHOICE {

n2 BIT STRING (SIZE (2)),


n4 BIT STRING (SIZE (4)),

n5 BIT STRING (SIZE (5)),

n8 BIT STRING (SIZE (8)),

n10 BIT STRING (SIZE (10)),

n20 BIT STRING (SIZE (20)),

n40 BIT STRING (SIZE (40))

} OPTIONAL, -- Need S

...

},

controlResourceSet ControlResourceSetId

},

subcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond CellLevel

mode ENUMERATED { dynamic, semiStatic },

...

EUTRA-MBSFN-SubframeConfigList ::=

SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF EUTRA-MBSFN-SubframeConfig

EUTRA-MBSFN-SubframeConfig ::= SEQUENCE {

radioframeAllocationPeriod ENUMERATED {n1, n2, n4, n8, n16, n32},

radioframeAllocationOffset INTEGER (0..7),

subframeAllocation CHOICE {

oneFrame BIT STRING (SIZE(6)),

fourFrames BIT STRING (SIZE(24))

},
subframeAllocation-v1430 CHOICE {

oneFrame-v1430 BIT STRING (SIZE(2)),

fourFrames-v1430 BIT STRING (SIZE(8))

} OPTIONAL, -- Need R

...

SubcarrierSpacing ::= ENUMERATED {kHz15, kHz30, kHz60, kHz120, kHz240, spare3, spa
spare1}

UplinkConfigCommon ::= SEQUENCE {.

frequencyInfoUL FrequencyInfoUL

initialUplinkBWP BWP-UplinkCommon

FrequencyInfoDL ::= SEQUENCE {

absoluteFrequencySSB ARFCN-ValueNR,

frequencyBandList MultiFrequencyBandListNR,

absoluteFrequencyPointA ARFCN-ValueNR,

scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,

...

SCS-SpecificCarrier ::= SEQUENCE {

offsetToCarrier INTEGER (0..2199),

subcarrierSpacing SubcarrierSpacing,

carrierBandwidth INTEGER (1..maxNrofPhysicalResourceBlocks),


...,

[[

txDirectCurrentLocation-v1530 INTEGER (0..4095) OPTIONAL -- Need S

]]

absoluteFrequencySSB : Frequency of the SSB to be used for this serving cell. SSB related
parameters (e.g. SSB index) provided for a serving cell refer to this SSB frequency unless
mentioned otherwise. The frequency provided in this field identifies the position of resourc
element RE=#0 (subcarrier #0) of resource block RB#10 of the SS block. The cell-defining
the PCell is always on the sync raster. Frequencies are considered to be on the sync raster
are also identifiable with a GSCN value. If the field is absent, the SSB related parameters s
absent, e.g. ssb-PositionsInBurst, ssb-periodicityServingCell and subcarrierSpacing in
ServingCellConfigCommon IE. If the field is absent, the UE obtains timing reference from t
This is only supported in case the Scell is in the same frequency band as the SpCell

absoluteFrequencyPointA : Absolute frequency position of the reference resource block (C


RB 0). Its lowest subcarrier is also known as Point A. Note that the lower edge of the actua
not defined by this field but rather in the scs-SpecificCarrierList. Corresponds to L1 param
'offset-ref-low-scs-ref-PRB' . See this page for further details.

carrierBandwidth : Width of this carrier in number of PRBs (using the subcarrierSpacing de


this carrier) Corresponds to L1 parameter 'BW

offsetToCarrier : Offset in frequency domain between Point A (lowest subcarrier of commo


and the lowest usable subcarrier on this carrier in number of PRBs (using the subcarrierSp
defined for this carrier). The maximum value corresponds to 275*8-1. Corresponds to L1 p
'offset-pointA-low-scs'

SubcarrierSpacing : Subcarrier spacing of this carrier. It is used to convert the offsetToCarr


an actual frequency. Only the values 15 or 30 kHz (<6GHz), 60 or 120 kHz (>6GHz) are ap
The network configures all SCSs of configured BWPs configured in this serving cell. Corres
L1 parameter 'ref-scs'

txDirectCurrentLocation : Indicates the downlink Tx Direct Current location for the carrier.
the range 0..3299 indicates the subcarrier index within the carrier. The values in the value
3301..4095 are reserved and ignored by the UE. If this field is absent, the UE assumes the
value of 3300 (i.e. "Outside the carrier").

offsetToPointA : The offset in PRB between the Point A and the lowest subcarrier of the low
of the cell-defining SSB after floating SSB is resolved. See this page for further details.

Example 01 : spCellConfig.FrequencyInfoDL

IE(Information Element) Example Description

absoluteFrequencySSB 2054962

ssb_SubcarrierOffset Omit

frequencyBandList

frequencyBand[0] 257

absoluteFrequencyPointA 2054170

scs_SpecificCarrierList

scs_SpecificCarrier[0]

offsetToCarrier 0

subcarrierSpacing 120khz

k0 n0

carrierBandwidth 66

FrequencyInfoUL ::= SEQUENCE {

frequencyBandList MultiFrequencyBandListNR

absoluteFrequencyPointA ARFCN-ValueNR

scs-SpecificCarriers SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,

additionalSpectrumEmission AdditionalSpectrumEmission

p-Max P-Max

frequencyShift7p5khz ENUMERATED {true}

...

}
subcarrierSpacingCommon : Indicates Subcarrier spacing for SIB1, Msg.2/4 for initial acce
messages.

Values 15, and 30 kHz are applicable for carrier frequencies <6GHz;

Values 60 and 120 kHz are applicable for carrier frequencies >6GHz

ssb-subcarrieroffset : The frequency domain offset between SSB and the overall resource
in number of subcarriers. Absence of the field indicates that no offset if applied (offset = 0
38.211, 7.4.3.1)

ssb-PositionsInBurst : Indicates the time domain positions of the transmitted SS-blocks in


burst. It corresponds to L1 parameter 'SSB-Transmitted' (see 38.213, section 4.1)

shortBitmap : bitmap for sub 3 GHz

mediumBitmap : bitmap for 3-6 GHz

longBitmap : bitmap for above 6 GHz

ssb-periodicityServingCell : The SSB periodicity in msec for the rate matching purpose (se
7.4.3.1)

dmrs-TypeA-Position : Position of (first) DL DM-RS (see 38.211, section 7.4.1.1.1). This field
in MIB. Assuming that the UE does not need to acquire MIB before sending RA to target ce
parameter should also be here.

subcarrierSpacingSSB : Subcarrier spacing of SSB. Used only for non-initial access (e.g. SC
of SCG).

ss-PBCH-BlockPower : TX power that the NW used for SSB transmission. The UE uses it to
the RA preamble TX power

rach-ConfigCommon : Parameters that are also conveyed via system information (SIB1) bu
are provided here to accelerate handover and to avoid that UEs need to read system infor
from SCells. See rach-ConfigCommon details in RACH page.

newUE-Identity : This is used as an RNTI assigning a C-RNTI to a UE. 38.331(v15.1)-5.3.5.5


'apply the value of the newUE-Identity as the C-RNTI for this cell group'

Example :

Example 01 : Initial NR Addition.

You can get the entire procedure of how to test NSA and full log from this tutorial of Ama
Tech-Academy
Reference

[1]

You might also like