|
RRC ConnectionReconfiguration in Detail
As in LTE, RRC Reconfiguration is the most important steps in establishing Radio Connection between UE and Network. Understanding every details of RRC Reconfiguration would imply understanding almost everything in NR Radio Stack. I would take around an year to get the understandings on the details of this single message to a certain degree and you would need to keep learning further details and new things throughout the whole life cycles of 5G/NR. So.. don't be 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 updated 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 :
- 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, this can 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 initial connection with the network (eNB or gNB).
- After this, both systems undergo a "RRC Connection Reconfiguration".
- In LTE, this is detailed as an RRCConnectionReconfiguration message including 'v15x0-IEs' (which likely refers to certain information elements specific to the version 15.x of the LTE standard).
- In 5G, this step is simply labeled as "RRC Reconfiguration".
- Following the reconfiguration command, there is an acknowledgment step labeled "RRC Connection Reconfiguration Complete" in LTE and "RRC Reconfiguration Complete" in 5G, indicating that the reconfiguration process has been acknowledged by the UE.
Purpose (Function) of RRC Reconfiguration
As you can guess from the word itself, the major functionality of RrcReconfiguration is to setup or modify RRC configuration. This imply that there should have already been some RRC Configuration process before this message. It is true. In LTE, there is a step RrcConnectionSetup message before RrcConnectionReconfiguration and in NR there is RRC Setup message before RrcReconfiguration.
The major functionality of RRC Reconfiguration is to configure or reconfigure:
- Radio Bearers
- Measurements
- Secondary Cells (SCells) or Cell Groups (e.g., Master Cell Group [MCG], Secondary Cell Group [SCG])
- Backhaul RLC (BH RLC) Channels (for IAB nodes)
- Uu Relay RLC Channels / PC5 Relay RLC Channels (for sidelink relay scenarios)
- Conditional Reconfiguration (e.g., CHO – Conditional Handover, CPA – Conditional PSCell Addition/Change, CPC – Conditional PSCell Change)
- Other dedicated configurations (e.g., BAP config, IAB IP address, sidelink dedicated configs, etc.)
Within each category, the RRCReconfiguration procedure can establish, modify, or release the relevant entities
Radio Bearer Configuration
Radio bearers are logical channels responsible for carrying either control-plane or user-plane data. RRC Reconfiguration can:
- Establish new radio bearers, such as:
- Signaling Radio Bearers (SRBs) – for RRC/NAS signaling
- Data Radio Bearers (DRBs) – for user-plane data
- Multicast MRBs (for broadcast or multicast data)
- Modify existing radio bearers (e.g., changing their PDCP/RLC configuration, security settings, QoS mapping via SDAP, etc.).
- Release radio bearers that are no longer needed or are being replaced.
This includes handling of:
- DAPS bearers (dual active protocol stack scenarios),
- RLC entity re-establishment or PDCP data recovery in certain handover or reconfiguration-with-sync scenarios,
- Security key updates for ciphering and integrity protection.
Measurement Configuration
Another major purpose of RRC Reconfiguration is to manage the UE’s measurement activities:
- Setup measurement configurations (e.g., events to trigger cell reselection or handover, reporting criteria, thresholds).
- Modify existing measurement parameters (change event thresholds, add or remove frequency layers, etc.).
- Release measurement configurations that are no longer applicable.
This procedure may configure measurements for intra- and inter-frequency scenarios, including NR, E-UTRA, and possibly inter-RAT (depending on RAT type). It can also handle advanced measurement setups like conditional reconfiguration triggers.
SCells or Cell Group Configuration
Especially relevant in carrier aggregation (CA) or Dual Connectivity (DC) scenarios, RRC Reconfiguration can:
- Add Secondary Cells (SCells) or entire Secondary Cell Groups (SCG).
- Modify the configurations of already added SCells or SCG (e.g., activation/deactivation, scheduling, beam failure detection, or radio link monitoring parameters).
- Release SCells or SCGs that are no longer required.
In (NG)EN-DC or NR-DC, the RRCReconfiguration message may also include:
- SCG MAC configuration
- SRB3 usage (a special SRB in DC scenarios)
- SCG activation/deactivation (with or without random access)
Backhaul RLC Channels (IAB)
For Integrated Access and Backhaul (IAB) nodes:
- Establish, modify, or release BH RLC channels used on the wireless backhaul link.
- Only possible when AS security is activated.
- May involve setting up logical channels and corresponding RLC entities for data relaying between IAB nodes and the donor network.
Uu Relay RLC Channels / PC5 Relay RLC Channels
In sidelink relay scenarios (e.g., L2 U2N Relay UE or L2 U2N Remote UE):
- Establish, modify, or release relay RLC channels that carry user or control data over Uu or PC5 interfaces.
- Manage specialized RLC channels (SL-RLC0, SL-RLC1, or additional ones) associated with the relay.
- Set up the SRAP (Sidelink Relay Adaptation Protocol) configuration for U2N relay scenarios
Conditional Reconfiguration (CHO, CPA, CPC)
RRC Reconfiguration can include conditionalReconfiguration, where the UE is pre-configured with one or more “candidate” target cells. The UE automatically executes the reconfiguration when certain triggering conditions (e.g., measurement events) are met. Examples:
- CHO (Conditional Handover)
- CPA (Conditional PSCell Addition or Change)
- CPC (Conditional PSCell Change)
The network can remove, add, or modify conditional reconfiguration entries. The UE stores them, evaluates the trigger events, and applies the new configuration only if the condition is fulfilled.
Other Configuration Aspects
Depending on the needs of the network, RRC Reconfiguration may carry additional, more specialized configuration elements, such as:
- Security Key Update (masterKeyUpdate or sk-Counter)
- Sidelink Dedicated Configuration for V2X or direct UE-to-UE communication
- BAP (Backhaul Adaptation Protocol) Configuration for IAB
- IAB IP Address Configuration (adding/modifying/releasing IPs used by the IAB-node)
- Dedicated NAS Message List to forward NAS messages from the network to the UE
- System Information Delivery (e.g., dedicatedSIB1-Delivery or dedicatedSystemInformationDelivery)
- MUSIM gap configuration or FR2 UL gap configuration for multi-SIM or certain FR2 setups
- Application layer measurement configuration (e.g., QoE measurements for streaming sessions)
What should UE do when it gets RRCReconfiguration message ?
What should a UE do when it gets RrcReconfiguration message ? The answer is simple. Do whatever 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 in full detail is like understanding the full protocol stack of NR. You will see a good framework or starting point of understanding this message in 3GPP 38.331 - 5.3.5.3 Reception of an RRCReconfiguration by the UE. Followings are some of the highest level IE(Information Elements) that you may start with.
- secondaryCellGroup
- radioBearerConfig
- measConfig
- nr-SecondaryCellGroupConfig
- spCellConfig->reconfigurationWithSync
Since this message carries too many parameters (Information Elements), you would easily get lost if you try to go through each and every items from the beginning. I would suggest you to pick up any one of the high level items from the items listed above and try to understand the overall functionality of the high level item ,and then move to next item and get an overview and so on. When you have overall understandings on every items listed above, then move down to next level (one-step down) in each section.
General Approach
- Understand the Overall Purpose: The RRCReconfiguration message serves to update the UE's configuration during an active RRC connection, impacting various aspects such as radio bearers, measurements, cells, or mobility procedures.
- Identify and Parse Key Information Elements (IEs): The message contains several high-level Information Elements (IEs) that direct specific configuration updates. The UE must extract and interpret these elements to determine the required actions.
- Follow a Systematic Process: To avoid confusion due to the complexity of the message, a systematic understanding of the key IEs and their relationships is essential. Start with the highest-level IEs, understand their overall functionality, and then drill down into the detailed parameters and sub-elements.
secondaryCellGroup:
The secondaryCellGroup Information Element is essential for Dual Connectivity (DC) or Carrier Aggregation (CA). It provides configuration details for the Secondary Cell Group (SCG) in EN-DC or NR-DC scenarios. This element includes parameters for adding, modifying, or releasing Secondary Cells (SCells). It also specifies SCG-specific configurations for the RLC, MAC, and physical layers. These configurations ensure efficient operation and coordination between primary and secondary connections.
- Relevant for Dual Connectivity (DC) or Carrier Aggregation (CA).
- The IE may contain:
- Configuration for the Secondary Cell Group (SCG) in EN-DC or NR-DC.
- - This configuration outlines the parameters that define how the SCG is established and maintained.
- - It includes information about the scheduling, coordination, and management of the resources allocated to the SCG.
- - This setup enables seamless data transmission across multiple nodes, improving data rates and connection reliability.
- Parameters for SCell addition, modification, or release.
- This part specifies the parameters required for the management of Secondary Cells (SCells) within the SCG. It covers:
- Addition: When a new Secondary Cell is added to enhance the overall capacity and improve throughput. The parameters include details like frequency, bandwidth, and cell ID.
- Modification: When an existing Secondary Cell needs to be updated, such as changing its configuration to optimize performance or adapt to dynamic network conditions.
- Release: When an SCell is no longer required, the parameters ensure the efficient removal of the cell without disrupting ongoing communication. These operations allow dynamic adjustments to the network based on user and network demands.
- SCG-specific RLC, MAC, and physical-layer configurations.
- The SCG-specific configurations define how RLC, MAC, and physical layers operate within the Secondary Cell Group:
- RLC Layer: The configurations include parameters for segmentation, reassembly, and retransmission of data packets. These ensure reliable data transfer between the UE and the network.
- MAC Layer: This includes scheduling, priority handling, and HARQ (Hybrid Automatic Repeat Request) configurations for the SCG. These parameters manage the allocation of radio resources and ensure low-latency communication.
- Physical Layer: The settings in this layer define the transmission and reception parameters, including modulation schemes, antenna configurations, and reference signal configurations. These parameters are tailored for the SCG to maximize signal quality and efficiency.
radioBearerConfig:
The radioBearerConfig Information Element (IE) is responsible for configuring the Radio Bearers used for communication between the User Equipment (UE) and the network. Radio Bearers are categorized into Signaling Radio Bearers (SRBs) for control messages and Data Radio Bearers (DRBs) for user data. This IE ensures the proper setup, modification, and release of these bearers based on the network's requirements and the user's session.
- Key Actions:
- Establish New Bearers:
- - This involves setting up new SRBs or DRBs to enable communication. For example, establishing an SRB is necessary to exchange control messages, while DRBs handle user data like internet browsing or video streaming.
- Modify Existing Bearers:
- - Modifications can include updating Quality of Service (QoS) parameters, such as priority levels, latency targets, and throughput requirements, to adapt to changing network conditions. It may also involve updating security settings, including ciphering and integrity protection algorithms.
- Release Unused Bearers:
- - Bearers that are no longer required, such as those associated with inactive sessions or terminated services, are released. This action frees up network resources for other users or services.
- Layer-Specific Configurations:
- Packet Data Convergence Protocol (PDCP) Layer:
- Configurations include header compression, ciphering, and integrity protection. These ensure efficient and secure data transmission.
- Radio Link Control (RLC) Layer:
- The RLC layer settings define how data is segmented, reassembled, and retransmitted, ensuring reliability in data delivery.
- Service Data Adaptation Protocol (SDAP) Layer:
- This layer maps the data flows (QoS flows) to the appropriate DRBs, ensuring that QoS requirements are met for each data flow.
measConfig:
The measConfig Information Element (IE) is responsible for defining the measurement configurations that the User Equipment (UE) uses to monitor and report network conditions. These measurements play a critical role in optimizing the UE's connectivity by enabling efficient handovers, cell reselection, and network performance evaluation.
NOTE: This is pretty complicated configuration and there is a separate note for the full details on this.
- Measurement Types:
- Event-Triggered Measurements:
- The configuration includes various event-based triggers: (a few examples are )
- A1 (Serving Cell Becomes Better): Triggered when the serving cell's signal quality surpasses a configured threshold.
- A2 (Serving Cell Becomes Worse): Triggered when the serving cell's signal quality drops below a threshold.
- A3 (Neighbor Cell Becomes Better): Triggered when a neighbor cell's signal quality becomes better than the serving cell by a predefined offset. This is commonly used for handover decisions.
- Key Responsibilities for the UE:
- Configure New Measurements:
- The network may instruct the UE to start new measurement campaigns, such as:
- Intra-frequency Measurements: Assessing cells operating on the same frequency as the current connection.
- Inter-frequency Measurements: Monitoring cells on different frequencies.
- Inter-RAT (Radio Access Technology) Measurements: Evaluating cells in other technologies, such as LTE while connected to NR or vice versa.
- Modify Existing Measurements:
- The UE may update its measurement parameters, such as thresholds, offsets, and reporting criteria, based on updated network commands.
- Release Existing Measurement Configurations:
- When certain measurements are no longer required, the UE removes those configurations to save resources and processing power.
nr-SecondaryCellGroupConfig:
The nr-SecondaryCellGroupConfig Information Element (IE) is critical for configuring Secondary Cell Groups (SCG) in NR systems that utilize Dual Connectivity (DC). This configuration applies to scenarios involving NR-DC (NR-NR Dual Connectivity) or EN-DC (EUTRA-NR Dual Carrier).
- Specific to NR Systems Using DC:
- This configuration enables the UE to connect to multiple cells across different radio access technologies, such as LTE and NR, or multiple NR cells.
- SCG Configurations for NR-DC or EN-DC:
- The IE provides parameters to set up, modify, or release the SCG. It governs the interactions between the Master Cell Group (MCG) and SCG to ensure efficient coordination between primary and secondary connections. This allows the network to improve data throughput, enhance mobility, and support advanced use cases such as ultra-reliable low latency communication (URLLC).
spCellConfig -> reconfigurationWithSync:
The spCellConfig -> reconfigurationWithSync procedure plays a crucial role in mobility and reconfiguration scenarios involving the Primary Cell (PCell) in NR systems. This configuration is essential during NR addition in EN-DC (EUTRA NR-DC), handovers, or other mobility events.
- Used During NR Addition in ENDC, Handovers, or Mobility Procedures:
- This procedure enables the UE to maintain seamless connectivity while transitioning to a new cell, whether for adding NR functionality in EN-DC or during intra-NR or inter-NR handovers.
- Synchronization with a New Cell:
- The UE must synchronize with the new cell's timing and frequency. This step ensures the UE aligns with the new cell's transmission, enabling proper communication and minimizing service disruption.
- Random Access for Reconfiguration:
- The UE may need to perform a Random Access Procedure (RACH) as part of the reconfiguration process. This step facilitates initial access to the new cell or reestablishes uplink timing alignment.
- Updating Parameters for the PCell or PSCell:
- The UE updates its configuration parameters for the PCell (Primary Cell) or the PSCell (Primary Secondary Cell) to match the new cell's requirements. These updates may include physical layer settings, RLC/MAC configurations, and cell-specific identifiers.
conditionalReconfiguration:
The conditionalReconfiguration information element (IE) enables advanced mobility procedures by preparing the UE with pre-configured parameters for potential network changes. This allows for faster and more efficient transitions when specific conditions are met.
- Storing the Conditional Configuration:
- If the conditionalReconfiguration IE is included, the UE must store the configuration parameters. These parameters typically include cell-specific settings, such as Physical Cell ID (PCI), frequency, and access-related parameters, required for seamless reconfiguration.
- Monitoring for the Trigger Condition:
- The UE must actively monitor for the specified trigger condition defined in the conditional configuration. For example, the trigger condition may be related to measurement events such as signal strength thresholds (e.g., A3, A5) or mobility events (handover triggers).
- Applicability to Conditional Handover (CHO):
- In Conditional Handover (CHO), the network provides the UE with a pre-configured target cell. When the trigger condition is met (e.g., target cell quality becomes better than the serving cell), the UE autonomously initiates the handover, reducing latency and improving mobility efficiency.
- Applicable for Conditional PSCell Addition/Change (CPA/CPC):
- For Conditional PSCell Addition/Change (CPA/CPC), the conditional configuration enables the UE to seamlessly add or change the PSCell when the conditions are satisfied. This is commonly used in dual-connectivity scenarios for optimizing resource usage or network performance.
masterKeyUpdate:
The masterKeyUpdate procedure is a critical component of security reconfiguration in LTE and NR networks. It ensures that the communication between the UE and the network remains secure by refreshing cryptographic keys used for ciphering and integrity protection.
- Security Reconfiguration:
- The masterKeyUpdate is triggered as part of the security procedures to enhance the confidentiality and integrity of transmitted data. This is particularly important during mobility events such as handovers, where secure communication must be maintained as the UE transitions between cells or networks.
- Ciphering Key Update:
- The UE must generate and apply a new ciphering key. This key is used to encrypt user and signaling data, preventing unauthorized access and maintaining data confidentiality.
- Integrity Key Update:
- The integrity key is also updated to ensure the authenticity of signaling messages exchanged between the UE and the network. This prevents tampering and ensures that messages are not altered during transmission.
- Procedure:
- The network provides the UE with updated security parameters, such as the Key Derivation Function (KDF) inputs or new key seeds. The UE uses these inputs to derive fresh ciphering and integrity keys, ensuring secure and uninterrupted communication.
otherConfigurations:
The otherConfigurations field encompasses diverse configurations required for specialized network functionalities beyond standard operations. These configurations support advanced use cases, such as direct communication between devices or enhanced network capabilities.
- Sidelink Configuration for V2X or Direct UE-to-UE Communication:
- This setup enables sidelink operations, allowing devices to communicate directly without routing through the base station. It is particularly relevant for Vehicle-to-Everything (V2X) communications, enhancing road safety and traffic efficiency, and for other applications requiring low-latency device-to-device (D2D) communication.
- Integrated Access and Backhaul (IAB) Configurations:
- The configuration includes parameters related to backhaul Radio Link Control (RLC) or other layers essential for IAB nodes. IAB facilitates the use of a single node for both access (UE connectivity) and backhaul (network connection), optimizing network deployment in areas with limited infrastructure.
- NAS Message Forwarding or System Information Delivery:
- This covers mechanisms for forwarding Non-Access Stratum (NAS) messages, ensuring seamless communication of higher-layer control information between the UE and the core network. It also includes delivering system information to UEs, ensuring they remain updated with essential network parameters for proper functioning.
RRC Reconfiguration Message structure
Followings are RRC Reconfiguration Message structure from 38.331. (
RRCReconfiguration ::= SEQUENCE {
rrc-TransactionIdentifier RRC-TransactionIdentifier,
criticalExtensions CHOICE {
rrcReconfiguration RRCReconfiguration-IEs,
criticalExtensionsFuture SEQUENCE {}
}
}
RRCReconfiguration-IEs ::=SEQUENCE {
radioBearerConfig RadioBearerConfig OPTIONAL, -- Need M
secondaryCellGroup OCTET STRING (CONTAINING CellGroupConfig) OPTIONAL, -- Need M
measConfig MeasConfig OPTIONAL, -- Need M
lateNonCriticalExtension OCTET STRING OPTIONAL,
nonCriticalExtension SEQUENCE {} OPTIONAL
}
RadioBearerConfig
The radio bearer configuration process allows the network to establish, modify, and release radio bearers for the UE. the radio bearer configuration procedure allows the network to control the radio 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 (Signaling Radio Bearers) carry control plane data like RRC messages, while the DRBs (Data Radio Bearers) carry user plane data.
- The network uses the RadioBearerConfig information element to configure the radio bearers for the UE. This allows the network to setup, modify or release SRBs, DRBs, and multicast MRBs.
- Through this configuration, the network can control the QoS profile, security parameters, PDCP configuration etc for each radio bearer.
- The network can add new radio bearers, modify the configuration of existing ones, or release radio bearers that are no longer needed.
- The UE is required to act on the RadioBearerConfig IE and setup, modify or release bearers accordingly. This allows the UE and network to establish the necessary radio bearers to 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 received from the network. This includes SRB release, SRB addition/modification, DRB release, DRB addition/modification, multicast MRB release, and multicast MRB addition/modification. Followings are summary based on each sections under 38.331-5.3.5.6
- Release PDCP entity and srb-Identity for SRB3 if srb3-ToRelease is included
- Release PDCP entity and srb-Identity for SRB4 if srb4-ToRelease is included
- Establish PDCP entity for target cell group for each SRB if DAPS bearer configured
- Configure security (ciphering/integrity) based on target RAT
- Establish PDCP entity and configure it for each new srb-Identity
- Reconfigure PDCP for existing srb-Identity if included
- Release PDCP entity and drb-Identity for each drb-Identity included
- Indicate DRB release to SDAP and upper layers
- Establish PDCP entity and configure it for each new drb-Identity
- Configure security (ciphering/integrity) based on target RAT
- Establish SDAP entity if needed
- Associate eps-BearerIdentity for DRB if included
- Reconfigure PDCP for existing drb-Identity configured as DAPS bearer
- Re-establish or recover PDCP for existing drb-Identity based on flags
- Reconfigure SDAP entity if sdap-Config included
- Release PDCP entity and mrb-Identity for each mrb-Identity included
- Reconfigure/re-establish/recover PDCP for existing mrb-Identity
- Establish PDCP entity and configure it for each new mrb-Identity
- Establish SDAP entity if needed
- Update mrb-Identity if mrb-IdentityNew included
1> SRB Release
2> SRB Addition/Modification
3> DRB Release
4> DRB Addition/Modification
5> Multicast MRB Release
6> Multicast MRB Addition/Modification
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, ms150, ms200,
ms250, ms300, ms500, ms750, ms1500, infinity} OPTIONAL, --Cond Setup
pdcp-SN-SizeUL ENUMERATED {len12bits, len18bits} OPTIONAL, -- Cond Setup2
pdcp-SN-SizeDL ENUMERATED {len12bits, len18bits} OPTIONAL, -- Cond Setup2
headerCompression CHOICE {
notUsed NULL,
rohc SEQUENCE {
maxCID INTEGER (1..16383) DEFAULT 15,
profiles SEQUENCE {
profile0x0001 BOOLEAN,
profile0x0002 BOOLEAN,
profile0x0003 BOOLEAN,
profile0x0004 BOOLEAN,
profile0x0006 BOOLEAN,
profile0x0101 BOOLEAN,
profile0x0102 BOOLEAN,
profile0x0103 BOOLEAN,
profile0x0104 BOOLEAN
},
drb-ContinueROHC ENUMERATED { true } OPTIONAL -- Need N
},
uplinkOnlyROHC SEQUENCE {
maxCID INTEGER (1..16383) DEFAULT 15,
profiles SEQUENCE {
profile0x0006 BOOLEAN
},
drb-ContinueROHC ENUMERATED { true } OPTIONAL -- Need N
},
...
},
integrityProtection ENUMERATED { enabled } OPTIONAL, -- Cond ConnectedTo5GC
statusReportRequired ENUMERATED { true } OPTIONAL, -- Cond Rlc-AM
outOfOrderDelivery ENUMERATED { true } OPTIONAL -- Need R
} OPTIONAL, -- Cond DRB
moreThanOneRLC SEQUENCE {
primaryPath SEQUENCE {
cellGroup CellGroupId OPTIONAL, -- Need R
logicalChannel LogicalChannelIdentity OPTIONAL -- Need R
},
ul-DataSplitThreshold UL-DataSplitThreshold OPTIONAL, -- Cond SplitBearer
pdcp-Duplication BOOLEAN OPTIONAL -- Need R
} OPTIONAL,
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 OPTIONAL,
rlc-BearerToReleaseList SEQUENCE (SIZE(1..maxLC-ID)) OF LogicalChannelIdentity OPTIONAL,
mac-CellGroupConfig MAC-CellGroupConfig OPTIONAL,
physicalCellGroupConfig PhysicalCellGroupConfig OPTIONAL,
spCellConfig SpCellConfig OPTIONAL,
sCellToAddModList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellConfig OPTIONAL,
sCellToReleaseList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellIndex OPTIONAL,
...
}
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, 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 SEQUENCE (SIZE (1..maxNrofTAGs)) OF TAG-Id OPTIONAL,-- Need N
tag-ToAddModList SEQUENCE (SIZE (1..maxNrofTAGs)) OF TAG-ToAddMod OPTIONAL -- Need N
}
TAG-ToAddMod ::= SEQUENCE {
tag-Id TAG-Id,
timeAlignmentTimer TimeAlignmentTimer,
...
}
TAG-Id ::= INTEGER (0..maxNrofTAGs-1)
TimeAlignmentTimer ::= ENUMERATED {ms500, ms750, ms1280, ms1920, ms2560, ms5120,
ms10240, infinity}
BSR-Config ::= SEQUENCE {
periodicBSR-Timer ENUMERATED {
sf1, sf5, sf10, sf16, sf20, sf32, sf40, sf64, sf80, sf128,
sf160, sf320, sf640, sf1280, sf2560, infinity},
retxBSR-Timer ENUMERATED { sf10, sf20, sf40, sf80, sf160, sf320, sf640, sf1280,
sf2560, sf5120, sf10240, spare5, spare4,spare3, spare2, spare1},
logicalChannelSR-DelayTimer ENUMERATED { sf20, sf40, sf64, sf128, sf512, sf1024, sf2560,
spare1} OPTIONAL -- Need R
}
SchedulingRequestConfig ::= SEQUENCE {
schedulingRequestToAddModList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF
SchedulingRequestToAddMod OPTIONAL, -- Need N
schedulingRequestToReleaseList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF
SchedulingRequestId OPTIONAL -- Need N
}
SchedulingRequestToAddMod ::=SEQUENCE {
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 in 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. These measurements are performed only when they are configured in the RRC message.
- SS/PBCH block(s):
- Measurement results per SS/PBCH block;
- Measurement results per cell based on SS/PBCH block(s);
- SS/PBCH block(s) indexes.
- CSI-RS resources:
- Measurement results per CSI-RS resource;
- Measurement results per cell based on CSI-RS resource(s);
- CSI-RS resource measurement identifiers.
- NR sidelink and V2X sidelink for Cross Link Interference:
- CBR(Channel Busy Ratio) measurements.
- SRS resources for Cross Link Interference(CLI):
- Measurement results per SRS resource;
- SRS resource(s) indexes.
- CLI-RSSI (Cross Link Interference RSSI) resources:
- Measurement results per CLI-RSSI resource;
- CLI-RSSI resource(s) indexes.
- CSI-RS for tracking or PRS:
- 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 ReportConfigId 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 specific or primary cell in a defined group within a cellular network. "spCell" is used to refer to a special cell for a defined group, making it the primary cell of that particular group. It's often mentioned in the context of Master Cell Group (MCG) and Secondary Cell Group (SCG), where it denotes the primary cell of these groups. In the context of NSA, spCell is the first NR cell added as SCG(Secondary Cell Group) to LTE anchor.
spCellConfig configures a special cell configuration for a defined group of cells in a 5G network. It essentially denotes the primary cell of a specified group, with mentions of Pcell for 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) for initial access to the network. It contains parameters used for initial Random Access Channel (RACH) synchronization with the Secondary Synchronization Signal Block (SSB). Parameters under this configuration are used for initial Bandwidth Part (BWP) calculations for both downlink (DL) and uplink (UL) which decide access to the NR cell after a specific trigger. This information is ideally sent as part of SIB1 in Standalone (SA) mode or via LTE RRC Signaling in an NR Container in case of EN-DC (E-UTRAN New Radio - Dual Connectivity).spCellConfigDedicated is a dedicated configuration with specific parameters for a particular UE. It contains different configurations like CORESET/Searchspace, PUCCH allocations, PDSCH/PUSCH time domain allocation information, and it also allows the network to configure different BWPs for common and dedicated configurations
SpCellConfig ::= SEQUENCE { servCellIndex ServCellIndex OPTIONAL, -- Cond SCG reconfigurationWithSync ReconfigurationWithSync OPTIONAL, rlf-TimersAndConstants etupRelease { RLF-TimersAndConstants } OPTIONAL, -- Need M 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 TDD initialDownlinkBWP BWP-DownlinkDedicated OPTIONAL, -- Cond ServCellAdd downlinkBWP-ToReleaseList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id OPTIONAL, 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, -- Need M csi-MeasConfig SetupRelease { CSI-MeasConfig } OPTIONAL, -- Need M carrierSwitching SetupRelease { SRS-CarrierSwitching} OPTIONAL, -- Need M sCellDeactivationTimer ENUMERATED {ms20, ms40, ms80, ms160, ms200, ms240, ms320, ms400, ms480, ms520, ms640, ms720, ms840, ms1280, spare2,spare1} OPTIONAL,-- Cond ServingCellWithoutPUCCH crossCarrierSchedulingConfig CrossCarrierSchedulingConfig OPTIONAL, -- Need M tag-Id TAG-Id, ue-BeamLockFunction ENUMERATED {enabled} OPTIONAL, -- Need R pathlossReferenceLinking ENUMERATED {pCell, sCell} OPTIONAL -- Cond SCellOnly } PDSCH-ServingCellConfig ::= SEQUENCE { codeBlockGroupTransmission SetupRelease { PDSCH-CodeBlockGroupTransmission } OPTIONAL, -- Need M xOverhead ENUMERATED { xOh6, xOh12, xOh18 } OPTIONAL,-- Need S nrofHARQ-ProcessesForPDSCH ENUMERATED {n2, n4, n6, n10, n12, n16} OPTIONAL,-- Need S pucch-Cell ServCellIndex OPTIONAL , -- Cond SCellAddOnly ... } PDSCH-CodeBlockGroupTransmission ::= SEQUENCE { maxCodeBlockGroupsPerTransportBlock ENUMERATED {n2, n4, n6, n8}, codeBlockGroupFlushIndicator BOOLEAN, ... } UplinkConfig ::= SEQUENCE { initialUplinkBWP BWP-UplinkDedicated OPTIONAL, -- Cond ServCellAdd. uplinkBWP-ToReleaseList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id OPTIONAL,-- Need N uplinkBWP-ToAddModList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Uplink OPTIONAL, 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, spare1}, 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, spare2, 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 ]] }
|
|
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} ... }
Values 15, and 30 kHz are applicable for carrier frequencies <6GHz;
Values 60 and 120 kHz are applicable for carrier frequencies >6GHz
shortBitmap : bitmap for sub 3 GHz
mediumBitmap : bitmap for 3-6 GHz
longBitmap : bitmap for above 6 GHz
Example :
Example 01 : Initial NR Addition.
You can get the entire procedure of how to test NSA and full log from this tutorial of Amarisoft Tech-Academy
Reference
[1]