5G/NR   

 

 

 

NR Release 16 Highlights

This note will show how 5G moves from the first stage in Release 15 to a more complete and practical stage in Release 16. Release 15 was mainly about building the basic 5G framework. The main target was high data rate and large capacity. In simple terms, it was about making the data pipe bigger and faster. Release 16 keeps that foundation, but it pushes 5G into a more advanced phase. It makes the network smarter, more reliable, more power efficient, and more suitable for many new environments.

In Release 15, the main focus was eMBB. This means enhanced mobile broadband. The priority was to give users faster mobile internet by using wide bandwidth and technologies such as Massive MIMO. This was very important for smartphones and consumer data services. Release 16 shifts the focus more toward URLLC. This means ultra-reliable low-latency communication. The meaning of this shift is important. In smartphone service, a short delay or a brief pause may be inconvenient. In industrial control, remote operation, or autonomous driving, even a very small interruption can become a serious problem. Release 16 addresses this by adding features such as CoMP and improved HARQ. These features help make the radio link more stable and dependable.

Another important change in Release 16 is power efficiency. Early 5G implementations often caused higher battery consumption in user devices. Release 16 introduces new power saving mechanisms to solve this issue. One example is Wakeup Signal. With this approach, the UE does not need to wake up frequently just to check whether the network has data to send. Instead, the network sends a small signal only when the UE really needs to wake up. This reduces unnecessary activity and improves battery life. The overall idea is that the network becomes more efficient in the way it interacts with the device.

Release 16 also expands the way 5G coverage can be deployed. One major feature is IAB, which stands for Integrated Access and Backhaul. With IAB, one base station can connect to another base station through 5G radio links instead of relying only on fixed fiber connections. This makes deployment easier in locations where fiber installation is difficult or expensive. Another important feature is NR-U, which allows NR operation in unlicensed spectrum such as 5 GHz or 6 GHz bands. This gives operators and private network users more flexibility. As a result, 5G becomes easier to extend into new areas and new use cases. It starts to look more flexible and scalable, not only as a traditional cellular system but also as a more adaptive wireless platform.

Release 16 also strengthens positioning capability. Release 15 mainly relied on existing positioning systems such as GPS or GNSS. Release 16 introduces PRS, which stands for Positioning Reference Signal. With PRS, the 5G network itself can help estimate device location much more accurately. This is especially useful in indoor areas such as factories, warehouses, or dense urban locations where satellite signals are weak or blocked. This makes 5G more useful for industrial automation, robotics, and tracking applications that require precise location information.

Overall, the character of 5G changes noticeably from Release 15 to Release 16. Release 15 is mainly the foundation stage. It focuses on speed, capacity, and consumer broadband experience. Release 16 is the expansion stage. It focuses more on reliability, efficiency, precise positioning, flexible deployment, and industrial use cases. In that sense, Release 15 builds the pipe, and Release 16 makes the pipe smarter and extends it into many new domains.

This illustration summarizes the main enhancement areas introduced in NR Release 16. It shows that Release 16 is not focused on just higher speed. It expands 5G toward better reliability, better efficiency, wider deployment flexibility, and more accurate positioning.

  • Enhanced Massive MIMO
    • Supports enhanced MU-MIMO for higher capacity and better multi-user operation.
    • Supports multiple TRP so the UE can benefit from transmission from multiple points.
    • Improves beam management to make beam selection and beam tracking more robust.
  • Enhanced URLLC
    • Introduces CoMP to improve reliability through coordinated transmission and reception.
    • Improves HARQ operation for faster and more dependable retransmission handling.
    • Uses increased redundancy to reduce the chance of packet loss in critical applications.
  • IAB (Integrated Access and Backhaul)
    • Supports in-band relaying using the same spectrum for both access and backhaul.
    • Supports out-of-band relaying using separate spectrum for backhaul links.
    • Enables OTA synchronization between nodes without requiring fiber connection.
  • NR-U / NPN / TSN
    • Allows NR operation in unlicensed spectrum such as 5 GHz and 6 GHz bands.
    • Supports Non-Public Networks for private and enterprise deployments.
    • Supports Time-Sensitive Networking for deterministic and low-latency communication.
  • New Positioning (PRS)
    • Supports DL-based positioning methods such as DL-TDOA, DL-AoD, and DL-RSTD.
    • Supports UL-based positioning methods such as UL-TDOA, UL-AoA, and UL-RTOA.
    • Uses multi-cell RTT to improve positioning accuracy.
    • Measures gNB RX-TX time difference for more precise timing estimation.
  • New Power Saving
    • Uses Wakeup Signal (WUS) to reduce unnecessary UE wake-up operations.
    • Improves low power active state behavior to reduce energy consumption.
    • Supports device-assisted power saving mechanisms for better efficiency.

In-Depth Note for Release 16 Features

New RRC Messages and IEs for Release 16

Followings are RRC messages or IEs that are introduced newly in Release 16, but these are not all of the messages and IEs. They are just what attracted my attention personally -:). Don't try to understand every details here... just take a quick look and pick only a few that you are especially interested in and dig into it.

I have searched through a lot of documents to get some good picture of a new (release 16 in this case) and each of the documents has its own challenge.

  • First I search through many of whitepapers from chipset vendor or network infra vendors. These are good to get some big picture of the new release but not much of details for engineers who are working in a specific subject matter.
  • Then I search through WI(Work Item) document (RP-XXXXX). These documents usually gives more details than white papers, but not every WI is really implemented. so hard to figure out which part is really implemented as of now.
  • Then I try to read through individual RS spec like 38.211, 38.212, 38.214 etc. These docs carries full details but very hard to get a big picture and in many cases it is not obvious which part is legacy and which part is new.

One good way to approach the new feature (at least good to me) would be check RRC specs (38.331) and check what kind of RRC messages or IEs are added. And then check other documents (like 38.211, 212, 214 etc and WI document and whitepapers) to find related to the new RRC message and IEs.

At a high level, these Rel-16 RRC parameters show that NR is no longer just a basic smartphone radio. The protocol starts to carry many more controls for reliability, power saving, positioning, IAB, private network support, sidelink, richer failure reporting, and more flexible scheduling. In simple terms, Release 15 built the main RRC framework. Release 16 uses that framework to carry many more detailed instructions and reports for advanced deployment scenarios.

The first thing to notice is the expansion of the DCCH message space itself. In DL-DCCH, new messages such as dlDedicatedMessageSegment-r16, ueInformationRequest-r16, dlInformationTransferMRDC-r16, and loggedMeasurementConfiguration-r16 show that the network needs more ways to send detailed control information, request UE reports, and manage more complex dual connectivity or measurement behavior. In UL-DCCH, new messages such as ulDedicatedMessageSegment-r16, dedicatedSIBRequest-r16, mcgFailureInformation-r16, ueInformationResponse-r16, sidelinkUEInformationNR-r16, ulInformationTransferIRAT-r16, and iabOtherInformation-r16 show the same direction from the UE side. The UE is no longer just acknowledging configuration. It is actively reporting problems, requesting system information on demand, providing sidelink information, and supporting IAB-related procedures.

DedicatedSIBRequest-r16 is one good example of the Rel-16 design philosophy. In earlier thinking, system information is mostly broadcast and the UE listens. In Rel-16, the UE can explicitly request only the SIBs it needs, including positioning-related SIBs. This means the system becomes more selective and more efficient. Instead of broadcasting everything aggressively, the network can provide information when requested. This reduces overhead and supports more specialized services such as positioning.

The positioning-related pieces are a major theme in Rel-16. PosSIB-ReqInfo-r16, RRC-PosSystemInfoRequest-r16, posSystemInformation-r16, dedicatedPosSysInfoDelivery-r16, NR-PRS-MeasurementInfo-r16, DL-PRS-Info-r16, SRS-PosResourceSet-r16, and SRS-PosResource-r16 all show that positioning is now treated as a first-class radio feature. The intuition is simple. Earlier cellular systems mainly focused on communication and treated positioning as an add-on. Rel-16 starts to make the radio network itself a positioning tool. That is why you see dedicated system information requests for position SI, PRS measurement definitions, and uplink positioning SRS resources.

IAB support is another clear Rel-16 signature. IABOtherInformation-r16 and the related IAB-IP request and report structures show that an IAB node is not just a normal UE. It needs transport-layer information such as IPv4 address counts, IPv6 prefixes, and traffic-specific address allocation for F1-C, F1-U, and non-F1 traffic. This means RRC is now helping a radio node bootstrap part of its backhaul behavior. bap-Config-r16, bap-Address-r16, bh-RLC-ChannelToAddModList-r16, and f1c-TransferPath-r16 extend this further. The intuition is that the radio access node itself can be connected over wireless, so RRC now has to configure not only access radio behavior but also some backhaul-related behavior.

ConditionalReconfiguration-r16 and daps-SourceRelease-r16 show the network moving toward faster and safer mobility handling. Conditional reconfiguration means the UE can receive handover-related preparation in advance and execute it only when the condition is met. This reduces reaction time. DAPS-related fields show support for dual active protocol stack mobility, where source and target links can overlap during transition. The intuition is that handover is no longer treated as a hard break-and-make event. Rel-16 tries to make mobility smoother and less risky.

NeedForGapsConfigNR-r16, targetCellSMTC-SCG-r16, and the richer measurement objects also show a stronger focus on practical measurement management. As the UE is asked to handle more carriers, more RATs, more beams, and more positioning signals, measurement gaps and measurement timing become more important. Rel-16 gives more explicit ways to manage that complexity.

The SIB1-v1610 and v1630 additions show that even basic system information is being extended toward newer use cases. idleModeMeasurementsEUTRA-r16 and idleModeMeasurementsNR-r16 improve idle mobility measurement handling. posSI-SchedulingInfo-r16 supports positioning system information scheduling. uac-BarringInfo-v1630 extends access control assistance. The intuition is that even idle mode becomes smarter because the network now has more services to advertise and more behavior to coordinate before connection setup.

UEAssistanceInformation-v1540 and v1610 are especially important because they show a philosophical change. In older systems, the network mostly tells the UE what to do. In Rel-16, the UE can tell the network what it prefers or what limitation it currently has. OverheatingAssistance lets the UE say, in effect, I am too hot, so reduce CC count, bandwidth, or MIMO layers. DRX-Preference, MaxBW-Preference, MaxCC-Preference, MaxMIMO-LayerPreference, MinSchedulingOffsetPreference, and ReleasePreference let the UE express power, complexity, or latency preferences. The intuition is that the network and UE are now negotiating practical operating points, not just following one rigid configuration.

IDC-Assistance-r16 is another example of this cooperative behavior. The UE can report which NR frequencies or frequency combinations are causing interference toward GPS, GLONASS, BDS, Galileo, NavIC, WLAN, Bluetooth, or other systems. This is very practical. Modern devices contain many radios and receivers in a small package. Rel-16 gives the UE a way to tell the network which combinations are problematic so scheduling and carrier activation can be adapted.

UEInformationResponse-r16 and all the related report structures show that Rel-16 greatly strengthens troubleshooting and analytics. measResultIdleNR-r16, logMeasReport-r16, connEstFailReport-r16, ra-ReportList-r16, rlf-Report-r16, and mobilityHistoryReport-r16 mean that the UE can provide much richer field evidence about what went wrong and what it observed. The intuition is that the network no longer wants just a final failure indication. It wants context. Which beams were good. Which neighbor cells were seen. How many random access attempts happened. Was there contention. Was RSRP above threshold. Did beam failure recovery fail. This is extremely useful for optimization and for hard-to-debug mobility or access failures.

The random access reporting additions are particularly revealing. RA-Report-r16, RA-InformationCommon-r16, PerRASSBInfo-r16, and PerRAAttemptInfo-r16 show that Rel-16 wants beam-level visibility into random access. The network can learn not only that RA failed, but also on which SSB or CSI-RS resource, how many preambles were sent, and whether contention was detected. This fits the beam-centric nature of NR much better than older cell-level thinking.

RLF-Report-r16 becomes much richer as well. It includes last serving measurements, neighbor measurements, failed cell identity, reconnect cell identity, failure cause, time since failure, RA information, and even location info. The intuition is that link failure in NR can happen for many reasons: classical radio degradation, beam failure, handover failure, LBT failure in unlicensed operation, backhaul recovery failure, and so on. Rel-16 reflects that new reality.

BeamFailureRecoverySCellConfig-r16 and CandidateBeamRS-r16 show that beam management is also becoming more explicit and more scalable. The UE can work with beam candidates identified either by SSB or CSI-RS, and even for SCells. This reflects the practical fact that in NR, keeping the right beam is almost as important as staying on the right cell.

The CellGroupConfig and related uplinkTxSwitchingOption-r16, simultaneousTCI update lists, and spatial update lists show more control over advanced multi-cell and multi-beam behavior. This is the type of RRC support needed when the radio is operating with more antennas, more panels, more cells, and more dynamic beam relations. The intuition is that one serving cell is no longer enough to describe the radio state cleanly. RRC needs grouped and coordinated updates.

ConfiguredGrantConfig gets a major Rel-16 expansion. This area supports grant-free or semi-persistent uplink operation with more flexibility. You see extra timers, repetition handling, multiple PUSCH per slot, COT sharing, HARQ process offsets, and autonomousTx-r16. This strongly reflects URLLC and NR-U style use cases. The intuition is that uplink scheduling cannot always wait for a fresh dynamic grant. Sometimes the UE needs highly predictable or repeated transmission opportunities, especially in low latency or shared-channel environments.

The DMRS, PDSCH, and PUSCH extensions also follow this same trend. New r16 flags and DCI-specific alternatives show that Rel-16 supports more dynamic interpretation of scheduling, more explicit DCI-0-2 and DCI-1-2 behavior, richer resource allocation, repetition control, minimum scheduling offset control, enhanced MIMO layer control, and more flexible HARQ/ACK operation. The intuition is that the scheduler is becoming more expressive. The network can fine tune how quickly data is scheduled, how it is repeated, how many layers are used, and how control fields are interpreted.

MinSchedulingOffsetPreference-r16, minimumSchedulingOffsetK0-r16, and minimumSchedulingOffsetK2-r16 are especially intuitive. They are about how much preparation time the UE needs between control and data. Smaller offset means lower latency, but it also means less UE processing time. Rel-16 lets both network and UE deal with this tradeoff more explicitly.

PhysicalCellGroupConfig shows another strong Rel-16 theme. DCP-Config-r16 with ps-RNTI and wake-up related fields is directly related to power saving. This is the control-plane support behind concepts like wake-up signaling. There are also many additions for enhanced HARQ-ACK codebooks, blind detection scaling, FR2 power control, NR-DC power control modes, and one-shot feedback. The intuition is that the control plane has to become smarter both for performance and for battery life.

NPN-Identity-r16 and related CAG and SNPN fields clearly show support for private networks. The network can now advertise and identify closed access groups, standalone non-public networks, and related identifiers such as NID. The intuition is that 5G is no longer only a public operator network. Factories, campuses, and enterprises need their own identity and access framework.

LBT-FailureRecoveryConfig-r16, invalidSymbolPattern-r16, CG-COT-Sharing-r16, and related parameters indicate support for unlicensed operation and shared channel access. These fields are there because in NR-U the UE and gNB must coexist with other users of unlicensed spectrum. So RRC has to configure behavior around channel occupancy, listen-before-talk failure, and how transmissions fit inside channel occupancy time.

The CLI-related structures such as MeasObjectCLI-r16, CLI-ResourceConfig-r16, RSSI and SRS CLI resources, and MeasResultCLI-r16 point to cross-link interference handling, especially important in TDD and dense deployments. The intuition is that in advanced NR systems, interference is not just something measured passively at cell level. It can be measured with dedicated resources and reported in a more targeted way.

The Rel-16 SSB mobility additions such as ssb-PositionQCL-Common-r16 and cell-specific QCL relations show refinement in beam and synchronization assumptions across cells. RMTC-Config-r16 and related measurement timing fields support more flexible synchronization and measurement of reference signals. This again reflects that beam-based mobility in NR needs more explicit signaling than legacy cell-based mobility.

The positioning SRS and PRS parameters deserve one more mention. SRS-PosResourceSet-r16, SRS-PosResource-r16, SRS-SpatialRelationInfoPos-r16, SSB-Configuration-r16, SSB-InfoNcell-r16, and DL-PRS-Info-r16 show that Rel-16 positioning is not just one measurement report added on top. It is a full signaling framework with its own resources, spatial relations, periodicities, and reference definitions. This is why Rel-16 can support much more advanced positioning behavior.

Overall, the high level intuition is this. Rel-15 RRC was mainly about establishing and maintaining a 5G data connection. Rel-16 RRC starts to become a richer operating system for the radio. It carries control for smarter mobility, finer scheduler behavior, better troubleshooting, power saving, precise positioning, private networks, IAB backhaul, unlicensed spectrum operation, and more cooperative UE-network behavior. In short, Release 16 makes RRC much more aware of real deployment complexity.

  • Overall intuition
    • Rel-16 RRC expands NR from basic connection control into a broader control framework for reliability, efficiency, positioning, IAB, private networks, sidelink, and richer failure handling.
    • This overall expansion is visible in new message paths such as dlDedicatedMessageSegment-r16, ueInformationRequest-r16, dlInformationTransferMRDC-r16, loggedMeasurementConfiguration-r16, ulDedicatedMessageSegment-r16, dedicatedSIBRequest-r16, mcgFailureInformation-r16, ueInformationResponse-r16, sidelinkUEInformationNR-r16, ulInformationTransferIRAT-r16, and iabOtherInformation-r16.
  • Expanded DCCH message space
    • Rel-16 adds more specialized downlink and uplink dedicated control messages so the network and UE can exchange richer control, request, and diagnostic information.
    • Related IE/message names are DL-DCCH-MessageType with dlDedicatedMessageSegment-r16, ueInformationRequest-r16, dlInformationTransferMRDC-r16, loggedMeasurementConfiguration-r16, and UL-DCCH-MessageType with ulDedicatedMessageSegment-r16, dedicatedSIBRequest-r16, mcgFailureInformation-r16, ueInformationResponse-r16, sidelinkUEInformationNR-r16, ulInformationTransferIRAT-r16, and iabOtherInformation-r16.
  • On-demand system information
    • Instead of forcing the UE to wait for all system information by broadcast, Rel-16 allows the UE to explicitly request only the SIBs it needs.
    • This improves efficiency and supports more specialized information delivery such as positioning-related SIBs.
    • Related IE names are DedicatedSIBRequest-r16-IEs, onDemandSIB-RequestList-r16, requestedSIB-List-r16, requestedPosSIB-List-r16, SIB-ReqInfo-r16, PosSIB-ReqInfo-r16, RRCSystemInfoRequest-IEs, and RRC-PosSystemInfoRequest-r16-IEs.
  • Positioning becomes a core function
    • Rel-16 makes positioning a built-in radio capability instead of a side feature.
    • The network can deliver dedicated positioning system information and configure dedicated PRS and SRS resources for location estimation.
    • Related IE names are dedicatedPosSysInfoDelivery-r16, posSI-SchedulingInfo-r16, posSystemInformation-r16, LocationMeasurementInfo with nr-PRS-Measurement-r16, NR-PRS-MeasurementInfoList-r16, NR-PRS-MeasurementInfo-r16, DL-PRS-Info-r16, SRS-PosResourceSet-r16, SRS-PosResource-r16, SRS-SpatialRelationInfoPos-r16, SSB-Configuration-r16, and SSB-InfoNcell-r16.
  • IAB support
    • Rel-16 extends RRC so that a wireless backhaul node can request and receive transport-related information such as IP address resources and traffic separation.
    • This shows that RRC is no longer controlling only access radio behavior. It also helps bootstrap backhaul-related operation.
    • Related IE names are IABOtherInformation-r16-IEs, ip-InfoType-r16, iab-IP-Request-r16, iab-IP-Report-r16, iab-IPv4-AddressNumReq-r16, iab-IPv6-AddressNumReq-r16, iab-IPv6-AddressPrefixReq-r16, IAB-IP-AddressAndTraffic-r16, IAB-IP-PrefixAndTraffic-r16, bap-Config-r16, iab-IP-AddressConfigurationList-r16, bap-Address-r16, bh-RLC-ChannelToAddModList-r16, bh-RLC-ChannelToReleaseList-r16, and f1c-TransferPath-r16.
  • Advanced mobility support
    • Rel-16 prepares mobility more proactively and reduces interruption during transition.
    • Instead of reacting only after the radio condition changes, the network can pre-configure mobility actions and support smoother dual-link transition.
    • Related IE names are conditionalReconfiguration-r16, daps-SourceRelease-r16, t316-r16, targetCellSMTC-SCG-r16, and DAPS-UplinkPowerConfig-r16 with p-DAPS-Source-r16, p-DAPS-Target-r16, and uplinkPowerSharingDAPS-Mode-r16.
  • Measurement and gap handling
    • As NR becomes more beam-based and multi-carrier, the UE needs more explicit control over when and how measurements are performed.
    • Rel-16 strengthens measurement timing, gap handling, and beam-related measurement coordination.
    • Related IE names are needForGapsConfigNR-r16, targetCellSMTC-SCG-r16, SSB-ConfigMobility, ssb-PositionQCL-Common-r16, ssb-PositionQCL-CellsToAddModList-r16, ssb-PositionQCL-CellsToRemoveList-r16, and RMTC-Config-r16 with rmtc-Periodicity-r16, rmtc-SubframeOffset-r16, measDurationSymbols-r16, rmtc-Frequency-r16, and ref-SCS-CP-r16.
  • Smarter idle mode and system information evolution
    • Even idle mode becomes more capable in Rel-16 because the UE may need to measure more RATs, support positioning, and apply refined access control.
    • Related IE names are SIB1-v1610-IEs with idleModeMeasurementsEUTRA-r16, idleModeMeasurementsNR-r16, posSI-SchedulingInfo-r16, and SIB1-v1630-IEs with uac-BarringInfo-v1630 and uac-AC1-SelectAssistInfo-r16.
  • UE assistance and preference signaling
    • Rel-16 allows the UE to tell the network about thermal limits, battery-oriented preferences, and practical capability constraints.
    • This changes RRC from one-way control into more cooperative control between UE and network.
    • Related IE names are UEAssistanceInformation-v1540-IEs, OverheatingAssistance, reducedMaxCCs, reducedMaxBW-FR1, reducedMaxBW-FR2, reducedMaxMIMO-LayersFR1, reducedMaxMIMO-LayersFR2, and UEAssistanceInformation-v1610-IEs with idc-Assistance-r16, drx-Preference-r16, maxBW-Preference-r16, maxCC-Preference-r16, maxMIMO-LayerPreference-r16, minSchedulingOffsetPreference-r16, releasePreference-r16, sl-UE-AssistanceInformationNR-r16, and referenceTimeInfoPreference-r16.
  • Interference and coexistence awareness
    • A modern UE contains many radios and receivers, so the network must be aware of coexistence problems between NR and GNSS, WLAN, Bluetooth, and similar systems.
    • Rel-16 allows the UE to report which frequencies or combinations cause internal interference problems.
    • Related IE names are IDC-Assistance-r16, affectedCarrierFreqList-r16, affectedCarrierFreqCombList-r16, AffectedCarrierFreq-r16, AffectedCarrierFreqComb-r16, interferenceDirection-r16, and VictimSystemType-r16 with gps-r16, glonass-r16, bds-r16, galileo-r16, navIC-r16, wlan-r16, and bluetooth-r16.
  • Rich log and failure reporting
    • Rel-16 greatly improves post-failure visibility.
    • Instead of just telling the network that something failed, the UE can report detailed context such as serving and neighbor measurements, beam information, random access attempts, and timing.
    • Related IE names are UEInformationResponse-r16-IEs with measResultIdleEUTRA-r16, measResultIdleNR-r16, logMeasReport-r16, connEstFailReport-r16, ra-ReportList-r16, rlf-Report-r16, and mobilityHistoryReport-r16.
    • Additional related IE names are LogMeasReport-r16, LogMeasInfoList-r16, ConnEstFailReport-r16, RLF-Report-r16, timeSinceFailure-r16, connectionFailureType-r16, rlf-Cause-r16, and locationInfo-r16.
  • Beam-centric operation
    • NR is strongly beam-based, so Rel-16 adds many controls and reports at beam level rather than only at cell level.
    • This improves beam failure recovery, beam-level diagnostics, and beam-aware access handling.
    • Related IE names are MeasResultServingCell-r16 with best-ssb-Index, best-ssb-Results, numberOfGoodSSB, MeasResultFailedCell-r16, BeamFailureRecoverySCellConfig-r16, rsrp-ThresholdBFR-r16, candidateBeamRSSCellList-r16, and CandidateBeamRS-r16 with ssb-r16 and csi-RS-r16.
  • Detailed random access visibility
    • Rel-16 gives the network a much more detailed view of random access behavior, including which beam was used and how many attempts were made.
    • This is very useful for troubleshooting access failure in beam-based NR.
    • Related IE names are RA-ReportList-r16, RA-Report-r16, RA-InformationCommon-r16, raPurpose-r16, PerRAInfoList-r16, PerRASSBInfo-r16, PerRACSI-RSInfo-r16, PerRAAttemptInfoList-r16, contentionDetected-r16, and dlRSRPAboveThreshold-r16.
  • Advanced uplink scheduling and configured grant
    • Rel-16 expands configured grant so the UE can support lower latency and more autonomous uplink behavior.
    • This is useful for URLLC and for channel sharing environments such as NR-U.
    • Related IE names are ConfiguredGrantConfig, cg-RetransmissionTimer-r16, cg-minDFI-Delay-r16, cg-nrofPUSCH-InSlot-r16, cg-nrofSlots-r16, cg-StartingOffsets-r16, cg-UCI-Multiplexing-r16, cg-COT-SharingOffset-r16, betaOffsetCG-UCI-r16, cg-COT-SharingList-r16, harq-ProcID-Offset-r16, harq-ProcID-Offset2-r16, configuredGrantConfigIndex-r16, configuredGrantConfigIndexMAC-r16, periodicityExt-r16, startingFromRV0-r16, phy-PriorityIndex-r16, autonomousTx-r16, pusch-RepTypeIndicator-r16, frequencyHoppingPUSCH-RepTypeB-r16, and timeReferenceSFN-r16.
  • Scheduling offset and processing-time awareness
    • Rel-16 makes the latency versus UE-processing-time tradeoff more explicit.
    • The UE can indicate what scheduling gap is practical, and the network can configure smaller or larger offsets accordingly.
    • Related IE names are MinSchedulingOffsetPreference-r16, preferredK0-r16, preferredK2-r16, preferredK0-SCS-15kHz-r16, preferredK0-SCS-30kHz-r16, preferredK0-SCS-60kHz-r16, preferredK0-SCS-120kHz-r16, preferredK2-SCS-15kHz-r16, preferredK2-SCS-30kHz-r16, preferredK2-SCS-60kHz-r16, preferredK2-SCS-120kHz-r16, minimumSchedulingOffsetK0-r16, and minimumSchedulingOffsetK2-r16.
  • Power saving enhancements
    • Rel-16 introduces more explicit signaling for low-power behavior and wake-up style operation.
    • This helps reduce unnecessary UE activity and improves battery efficiency.
    • Related IE names are DRX-Preference-r16 with preferredDRX-InactivityTimer-r16, preferredDRX-LongCycle-r16, preferredDRX-ShortCycle-r16, preferredDRX-ShortCycleTimer-r16, ReleasePreference-r16 with preferredRRC-State-r16, and DCP-Config-r16 with ps-RNTI-r16, ps-Offset-r16, sizeDCI-2-6-r16, ps-PositionDCI-2-6-r16, ps-WakeUp-r16, ps-TransmitPeriodicL1-RSRP-r16, and ps-TransmitOtherPeriodicCSI-r16.
  • Private network support
    • Rel-16 adds explicit signaling for non-public networks, including closed groups and standalone private identities.
    • This allows NR to be deployed not only for public operators but also for enterprise and campus networks.
    • Related IE names are NPN-Identity-r16, pni-npn-r16, snpn-r16, CAG-IdentityInfo-r16, cag-Identity-r16, manualCAGselectionAllowed-r16, NID-r16, and NPN-IdentityInfo-r16 with npn-IdentityList-r16, trackingAreaCode-r16, ranac-r16, cellIdentity-r16, cellReservedForOperatorUse-r16, and iab-Support-r16.
  • Unlicensed spectrum and shared channel support
    • Rel-16 adds controls needed when NR operates in shared or unlicensed spectrum where listen-before-talk and channel occupancy matter.
    • Related IE names are LBT-FailureRecoveryConfig-r16, lbt-FailureInstanceMaxCount-r16, lbt-FailureDetectionTimer-r16, InvalidSymbolPattern-r16, symbols-r16, periodicityAndPattern-r16, CG-COT-Sharing-r16, duration-r16, offset-r16, and channelAccessPriority-r16.
  • Cross-link interference handling
    • In dense TDD systems, uplink and downlink interference between links can become a major issue.
    • Rel-16 introduces dedicated measurement resources and reporting structures for CLI.
    • Related IE names are MeasObjectCLI-r16, CLI-ResourceConfig-r16, SRS-ResourceConfigCLI-r16, RSSI-ResourceConfigCLI-r16, MeasResultCLI-r16, MeasResultListSRS-RSRP-r16, MeasResultListCLI-RSSI-r16, MeasResultSRS-RSRP-r16, and MeasResultCLI-RSSI-r16.
  • Enhanced PHY and scheduler integration
    • Rel-16 gives the scheduler much more detailed control over MIMO layers, repetition, DCI interpretation, resource allocation, and DMRS behavior.
    • This helps support advanced deployment scenarios and finer performance tuning.
    • Related IE names are PDSCH-Config with maxMIMO-Layers-r16, antennaPortsFieldPresenceDCI-1-2-r16, dmrs-SequenceInitializationDCI-1-2-r16, harq-ProcessNumberSizeDCI-1-2-r16, mcs-TableDCI-1-2-r16, numberOfBitsForRV-DCI-1-2-r16, priorityIndicatorDCI-1-2-r16, resourceAllocationType1GranularityDCI-1-2-r16, referenceOfSLIVDCI-1-2-r16, repetitionSchemeConfig-r16, and repetitionSchemeConfig-v1630.
    • Other related IE names are PUSCH-Config with harq-ProcessNumberSizeDCI-0-2-r16, dmrs-SequenceInitializationDCI-0-2-r16, numberOfBitsForRV-DCI-0-2-r16, antennaPortsFieldPresenceDCI-0-2-r16, frequencyHoppingDCI-0-2-r16, codebookSubsetDCI-0-2-r16, maxRankDCI-0-2-r16, mcs-TableDCI-0-2-r16, priorityIndicatorDCI-0-2-r16, pusch-RepTypeIndicatorDCI-0-2-r16, invalidSymbolPattern-r16, ul-FullPowerTransmission-r16, and pusch-TimeDomainAllocationListForMultiPUSCH-r16.
    • Additional related IE names are DMRS-DownlinkConfig with dmrs-Downlink-r16, DMRS-UplinkConfig with dmrs-Uplink-r16 and dmrs-UplinkTransformPrecoding-r16, and PTRS-DownlinkConfig with maxNrofPorts-r16.
  • PUCCH and HARQ/ACK flexibility
    • Rel-16 improves uplink control flexibility so the UE can support more advanced HARQ feedback timing, resource indication, and spatial relation handling.
    • Related IE names are PUCCH-Config with resourceToAddModListExt-r16, dl-DataToUL-ACK-r16, ul-AccessConfigListDCI-1-1-r16, subslotLengthForPUCCH-r16, dl-DataToUL-ACK-DCI-1-2-r16, numberOfBitsForPUCCH-ResourceIndicatorDCI-1-2-r16, dmrs-UplinkTransformPrecodingPUCCH-r16, spatialRelationInfoToAddModList2-r16, spatialRelationInfoToAddModListExt-r16, resourceGroupToAddModList-r16, resourceGroupToReleaseList-r16, and sps-PUCCH-AN-List-r16.
    • Other related IE names are PhysicalCellGroupConfig with pdsch-HARQ-ACK-Codebook-r16, pdsch-HARQ-ACK-OneShotFeedback-r16, pdsch-HARQ-ACK-OneShotFeedbackNDI-r16, pdsch-HARQ-ACK-OneShotFeedbackCBG-r16, downlinkAssignmentIndexDCI-0-2-r16, downlinkAssignmentIndexDCI-1-2-r16, pdsch-HARQ-ACK-CodebookList-r16, and ackNackFeedbackMode-r16.
  • SRS and positioning resource expansion
    • Rel-16 significantly expands SRS usage beyond ordinary sounding and connects it more strongly to positioning and advanced triggering.
    • Related IE names are SRS-Config with srs-RequestDCI-1-2-r16, srs-RequestDCI-0-2-r16, srs-ResourceSetToAddModListDCI-0-2-r16, srs-PosResourceSetToAddModList-r16, and srs-PosResourceToAddModList-r16.
    • Other related IE names are SRS-ResourceSet with pathlossReferenceRSList-r16, SRS-Resource with resourceMapping-r16, SRS-PosResourceSet-r16 with pathlossReferenceRS-Pos-r16, and SRS-SpatialRelationInfoPos-r16 with servingRS-r16, ssb-Ncell-r16, and dl-PRS-r16.
  • Overall shift
    • In simple terms, Rel-15 RRC mainly connects and maintains the UE, while Rel-16 RRC also helps optimize, diagnose, protect, position, and coordinate the UE in much more complex deployment scenarios.
    • The clearest signs of this shift are the addition of message types and IEs such as conditionalReconfiguration-r16, dedicatedPosSysInfoDelivery-r16, bap-Config-r16, DCP-Config-r16, idc-Assistance-r16, DRX-Preference-r16, NPN-Identity-r16, LBT-FailureRecoveryConfig-r16, UEInformationResponse-r16-IEs, and ConfiguredGrantConfig.

Followings are RRC Information elements that are introduced in release 16

 

DL-DCCH-MessageType ::= CHOICE {

c1 CHOICE {

   rrcReconfiguration                     RRCReconfiguration,

   rrcResume                              RRCResume,

   rrcRelease                             RRCRelease,

   rrcReestablishment                     RRCReestablishment,

   securityModeCommand                    SecurityModeCommand,

   dlInformationTransfer                  DLInformationTransfer,

   ueCapabilityEnquiry                    UECapabilityEnquiry,

   counterCheck                           CounterCheck,

   mobilityFromNRCommand                  MobilityFromNRCommand,

   dlDedicatedMessageSegment-r16          DLDedicatedMessageSegment-r16,

   ueInformationRequest-r16               UEInformationRequest-r16,

   dlInformationTransferMRDC-r16          DLInformationTransferMRDC-r16,

   loggedMeasurementConfiguration-r16     LoggedMeasurementConfiguration-r16,

   spare3 NULL, spare2 NULL, spare1 NULL

},

messageClassExtension SEQUENCE {}

}

 

UL-DCCH-MessageType ::= CHOICE {

c1 CHOICE {

   ...

},

messageClassExtension CHOICE {

c2 CHOICE {

   ulDedicatedMessageSegment-r16           ULDedicatedMessageSegment-r16,

   dedicatedSIBRequest-r16                 DedicatedSIBRequest-r16,

   mcgFailureInformation-r16               MCGFailureInformation-r16,

   ueInformationResponse-r16               UEInformationResponse-r16,

   sidelinkUEInformationNR-r16             SidelinkUEInformationNR-r16,

   ulInformationTransferIRAT-r16           ULInformationTransferIRAT-r16,

   iabOtherInformation-r16                 IABOtherInformation-r16,

   spare9 NULL, spare8 NULL, spare7 NULL, spare6 NULL,

   spare5 NULL, spare4 NULL, spare3 NULL, spare2 NULL, spare1 NULL

},

messageClassExtensionFuture-r16 SEQUENCE {}

}

}

 

DedicatedSIBRequest-r16-IEs ::= SEQUENCE {

   onDemandSIB-RequestList-r16  SEQUENCE {

       requestedSIB-List-r16     SEQUENCE (SIZE (1..maxOnDemandSIB-r16))

                                        OF SIB-ReqInfo-r16 OPTIONAL,

       requestedPosSIB-List-r16  SEQUENCE (SIZE (1..maxOnDemandPosSIB-r16))

                                        OF PosSIB-ReqInfo-r16 OPTIONAL

} OPTIONAL,

lateNonCriticalExtension OCTET STRING OPTIONAL,

   nonCriticalExtension SEQUENCE {} OPTIONAL

}

 

SIB-ReqInfo-r16 ::= ENUMERATED { sib12, sib13, sib14, spare5, spare4, spare3, spare2, spare1 }

 

PosSIB-ReqInfo-r16 ::= SEQUENCE {

   gnss-id-r16 GNSS-ID-r16 OPTIONAL,

   sbas-id-r16 SBAS-ID-r16 OPTIONAL,

   posSibType-r16 ENUMERATED { posSibType1-1, posSibType1-2, posSibType1-3, posSibType1-4,

                              posSibType1-5, posSibType1-6, posSibType1-7, posSibType1-8,

                              posSibType2-1, posSibType2-2, posSibType2-3, posSibType2-4,

                               posSibType2-5, posSibType2-6, posSibType2-7, posSibType2-8,

                               posSibType2-9, posSibType2-10, posSibType2-11, posSibType2-12,

                               posSibType2-13, posSibType2-14, posSibType2-15, posSibType2-16,

                               posSibType2-17, posSibType2-18, posSibType2-19, posSibType2-20,

                               posSibType2-21, posSibType2-22, posSibType2-23, posSibType3-1,

                               posSibType4-1, posSibType5-1, posSibType6-1, posSibType6-2,

                               posSibType6-3,... }

}

 

IABOtherInformation-r16-IEs ::= SEQUENCE {

   ip-InfoType-r16 CHOICE {

      iab-IP-Request-r16        SEQUENCE {

         iab-IPv4-AddressNumReq-r16           IAB-IP-AddressNumReq-r16 OPTIONAL,

         iab-IPv6-AddressReq-r16 CHOICE {

            iab-IPv6-AddressNumReq-r16        IAB-IP-AddressNumReq-r16,

            iab-IPv6-AddressPrefixReq-r16     IAB-IP-AddressPrefixReq-r16,

         ...

   } OPTIONAL

   },

   iab-IP-Report-r16            SEQUENCE {

      iab-IPv4-AddressReport-r16               IAB-IP-AddressAndTraffic-r16 OPTIONAL,

      iab-IPv6-Report-r16        CHOICE {

         iab-IPv6-AddressReport-r16            IAB-IP-AddressAndTraffic-r16,

         iab-IPv6-PrefixReport-r16             IAB-IP-PrefixAndTraffic-r16,

         ...

   } OPTIONAL

   },

   ...

   },

   lateNonCriticalExtension OCTET STRING OPTIONAL,

   nonCriticalExtension SEQUENCE {} OPTIONAL

}

 

IAB-IP-AddressNumReq-r16 ::= SEQUENCE {

   all-Traffic-NumReq-r16                      INTEGER (1..8) OPTIONAL,

   f1-C-Traffic-NumReq-r16                     INTEGER (1..8) OPTIONAL,

   f1-U-Traffic-NumReq-r16                     INTEGER (1..8) OPTIONAL,

   non-F1-Traffic-NumReq-r16                   INTEGER (1..8) OPTIONAL,

   ...

}

 

IAB-IP-AddressPrefixReq-r16 ::= SEQUENCE {

   all-Traffic-PrefixReq-r16                   ENUMERATED {true} OPTIONAL,

   f1-C-Traffic-PrefixReq-r16                  ENUMERATED {true} OPTIONAL,

   f1-U-Traffic-PrefixReq-r16                  ENUMERATED {true} OPTIONAL,

   non-F1-Traffic-PrefixReq-r16                ENUMERATED {true} OPTIONAL,

   ...

}

 

IAB-IP-AddressAndTraffic-r16 ::= SEQUENCE {

   all-Traffic-IAB-IP-Address-r16          SEQUENCE (SIZE(1..8)) OF IAB-IP-Address-r16 OPTIONAL,

   f1-C-Traffic-IP-Address-r16             SEQUENCE (SIZE(1..8)) OF IAB-IP-Address-r16 OPTIONAL,

   f1-U-Traffic-IP-Address-r16             SEQUENCE (SIZE(1..8)) OF IAB-IP-Address-r16 OPTIONAL,

   non-F1-Traffic-IP-Address-r16           SEQUENCE (SIZE(1..8)) OF IAB-IP-Address-r16 OPTIONAL

}

 

IAB-IP-PrefixAndTraffic-r16 ::= SEQUENCE {

   all-Traffic-IAB-IP-Address-r16          IAB-IP-Address-r16 OPTIONAL,

   f1-C-Traffic-IP-Address-r16             IAB-IP-Address-r16 OPTIONAL,

   f1-U-Traffic-IP-Address-r16             IAB-IP-Address-r16 OPTIONAL,

   non-F1-Traffic-IP-Address-r16           IAB-IP-Address-r16 OPTIONAL

}

 

RRCReconfiguration-v1610-IEs ::= SEQUENCE {

   otherConfig-v1610       OtherConfig-v1610,

   bap-Config-r16          SetupRelease { BAP-Config-r16 },

   iab-IP-AddressConfigurationList-r16          IAB-IP-AddressConfigurationList-r16,

   conditionalReconfiguration-r16               ConditionalReconfiguration-r16,

   daps-SourceRelease-r16                       ENUMERATED{true},

   t316-r16                                     SetupRelease {T316-r16},

   needForGapsConfigNR-r16              SetupRelease {NeedForGapsConfigNR-r16},

   onDemandSIB-Request-r16              SetupRelease { OnDemandSIB-Request-r16 },

   dedicatedPosSysInfoDelivery-r16      OCTET STRING (CONTAINING PosSystemInformation-r16-IEs)

   sl-ConfigDedicatedNR-r16             SetupRelease {SL-ConfigDedicatedNR-r16},

   sl-ConfigDedicatedEUTRA-Info-r16     SetupRelease {SL-ConfigDedicatedEUTRA-Info-r16},

   targetCellSMTC-SCG-r16               SSB-MTC ,

   nonCriticalExtension SEQUENCE {} OPTIONAL

}

 

RRCSystemInfoRequest ::= SEQUENCE {

criticalExtensions CHOICE {

   rrcSystemInfoRequest                   RRCSystemInfoRequest-IEs,

   criticalExtensionsFuture-r16 CHOICE {

      rrcPosSystemInfoRequest-r16         RRC-PosSystemInfoRequest-r16-IEs,

      criticalExtensionsFuture SEQUENCE {}

   }

}

}

 

RRCSystemInfoRequest-IEs ::= SEQUENCE {

   requested-SI-List                     BIT STRING (SIZE (maxSI-Message)), --32bits

   spare BIT STRING (SIZE (12))

}

 

RRC-PosSystemInfoRequest-r16-IEs ::= SEQUENCE {

   requestedPosSI-List                  BIT STRING (SIZE (maxSI-Message)), --32bits

   spare                                BIT STRING (SIZE (11))

}

 

SIB1-v1610-IEs ::= SEQUENCE {

   idleModeMeasurementsEUTRA-r16                ENUMERATED{true} OPTIONAL,

   idleModeMeasurementsNR-r16                   ENUMERATED{true} OPTIONAL,

   posSI-SchedulingInfo-r16                     PosSI-SchedulingInfo-r16 OPTIONAL,

   nonCriticalExtension                         SIB1-v1630-IEs OPTIONAL

}

 

SIB1-v1630-IEs ::= SEQUENCE {

   uac-BarringInfo-v1630 SEQUENCE {

      uac-AC1-SelectAssistInfo-r16   SEQUENCE (SIZE (2..maxPLMN)) OF UAC-AC1-SelectAssistInfo-r16

   } OPTIONAL,

   nonCriticalExtension SEQUENCE {} OPTIONAL

}

UAC-AccessCategory1-SelectionAssistanceInfo    ::= ENUMERATED {a, b, c}

UAC-AC1-SelectAssistInfo-r16                   ::= ENUMERATED {a, b, c, notConfigured}

 

SystemInformation ::= SEQUENCE {

criticalExtensions CHOICE {

   systemInformation SystemInformation-IEs,

   criticalExtensionsFuture-r16 CHOICE {

      posSystemInformation-r16 PosSystemInformation-r16-IEs,

   criticalExtensionsFuture SEQUENCE {}

   }

}

}

SystemInformation-IEs ::= SEQUENCE {

   sib-TypeAndInfo SEQUENCE (SIZE (1..maxSIB)) OF CHOICE {

      sib2 SIB2,

      sib3 SIB3,

      sib4 SIB4,

      sib5 SIB5,

      sib6 SIB6,

      sib7 SIB7,

      sib8 SIB8,

      sib9 SIB9,

      ...,

      sib10-v1610 SIB10-r16,

      sib11-v1610 SIB11-r16,

      sib12-v1610 SIB12-r16,

      sib13-v1610 SIB13-r16,

      sib14-v1610 SIB14-r16

   },

   lateNonCriticalExtension OCTET STRING OPTIONAL,

   nonCriticalExtension SEQUENCE {} OPTIONAL

}

 

UEAssistanceInformation-v1540-IEs ::= SEQUENCE {

   overheatingAssistance                        OverheatingAssistance OPTIONAL,

   nonCriticalExtension                         UEAssistanceInformation-v1610-IEs OPTIONAL

}

 

OverheatingAssistance ::= SEQUENCE {

   reducedMaxCCs                               ReducedMaxCCs-r16 OPTIONAL,

   reducedMaxBW-FR1                            ReducedMaxBW-FRx-r16 OPTIONAL,

   reducedMaxBW-FR2                            ReducedMaxBW-FRx-r16 OPTIONAL,

   reducedMaxMIMO-LayersFR1 SEQUENCE {

      reducedMIMO-LayersFR1-DL                 MIMO-LayersDL,

      reducedMIMO-LayersFR1-UL                 MIMO-LayersUL

   } OPTIONAL,

   reducedMaxMIMO-LayersFR2 SEQUENCE {

      reducedMIMO-LayersFR2-DL                MIMO-LayersDL,

      reducedMIMO-LayersFR2-UL                MIMO-LayersUL

   } OPTIONAL

}

 

ReducedAggregatedBandwidth ::= ENUMERATED {mhz0, mhz10, mhz20, mhz30, mhz40, mhz50, mhz60,

                                           mhz80, mhz100, mhz200, mhz300, mhz400}

 

UEAssistanceInformation-v1610-IEs ::= SEQUENCE {

   idc-Assistance-r16                      IDC-Assistance-r16 OPTIONAL,

   drx-Preference-r16                      DRX-Preference-r16 OPTIONAL,

   maxBW-Preference-r16                    MaxBW-Preference-r16 OPTIONAL,

   maxCC-Preference-r16                    MaxCC-Preference-r16 OPTIONAL,

   maxMIMO-LayerPreference-r16             MaxMIMO-LayerPreference-r16 OPTIONAL,

   minSchedulingOffsetPreference-r16       MinSchedulingOffsetPreference-r16 OPTIONAL,

   releasePreference-r16                   ReleasePreference-r16 OPTIONAL,

   sl-UE-AssistanceInformationNR-r16       SL-UE-AssistanceInformationNR-r16 OPTIONAL,

   referenceTimeInfoPreference-r16         BOOLEAN OPTIONAL,

   nonCriticalExtension SEQUENCE {} OPTIONAL

}

 

IDC-Assistance-r16 ::= SEQUENCE {

   affectedCarrierFreqList-r16             AffectedCarrierFreqList-r16 OPTIONAL,

   affectedCarrierFreqCombList-r16         AffectedCarrierFreqCombList-r16 OPTIONAL,

   ...

}

 

AffectedCarrierFreqList-r16 ::= SEQUENCE (SIZE (1.. maxFreqIDC-r16)) OF AffectedCarrierFreq-r16

   AffectedCarrierFreq-r16 ::= SEQUENCE {

      carrierFreq-r16 ARFCN-ValueNR,

      interferenceDirection-r16 ENUMERATED {nr, other, both, spare}

}

 

AffectedCarrierFreqCombList-r16 ::= SEQUENCE (SIZE (1..maxCombIDC-r16))

                                         OF AffectedCarrierFreqComb-r16

 

AffectedCarrierFreqComb-r16 ::= SEQUENCE {

   affectedCarrierFreqComb-r16 SEQUENCE (SIZE (2..maxNrofServingCells)) OF ARFCN-ValueNR OPTIONAL,

   victimSystemType-r16        VictimSystemType-r16

}

 

VictimSystemType-r16 ::= SEQUENCE {

   gps-r16                    ENUMERATED {true} OPTIONAL,

   glonass-r16                ENUMERATED {true} OPTIONAL,

   bds-r16                    ENUMERATED {true} OPTIONAL,

   galileo-r16                ENUMERATED {true} OPTIONAL,

   navIC-r16                  ENUMERATED {true} OPTIONAL,

   wlan-r16                   ENUMERATED {true} OPTIONAL,

   bluetooth-r16              ENUMERATED {true} OPTIONAL,

   ...

}

 

DRX-Preference-r16 ::= SEQUENCE {

   preferredDRX-InactivityTimer-r16 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} OPTIONAL,

   preferredDRX-LongCycle-r16 ENUMERATED {

      ms10, ms20, ms32, ms40, ms60, ms64, ms70, ms80, ms128, ms160, ms256, ms320, ms512,

      ms640, ms1024, ms1280, ms2048, ms2560, ms5120, ms10240, spare12, spare11, spare10,

      spare9, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 } OPTIONAL,

   preferredDRX-ShortCycle-r16 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 } OPTIONAL,

   preferredDRX-ShortCycleTimer-r16 INTEGER (1..16) OPTIONAL

}

 

MaxBW-Preference-r16 ::= SEQUENCE {

   reducedMaxBW-FR1-r16        ReducedMaxBW-FRx-r16 OPTIONAL,

   reducedMaxBW-FR2-r16        ReducedMaxBW-FRx-r16 OPTIONAL

}

 

MaxCC-Preference-r16 ::= SEQUENCE {

   reducedMaxCCs-r16           ReducedMaxCCs-r16 OPTIONAL

}

 

MaxMIMO-LayerPreference-r16 ::= SEQUENCE {

   reducedMaxMIMO-LayersFR1-r16 SEQUENCE {

      reducedMIMO-LayersFR1-DL-r16         INTEGER (1..8),

      reducedMIMO-LayersFR1-UL-r16         INTEGER (1..4)

   } OPTIONAL,

   reducedMaxMIMO-LayersFR2-r16 SEQUENCE {

      reducedMIMO-LayersFR2-DL-r16         INTEGER (1..8),

      reducedMIMO-LayersFR2-UL-r16         INTEGER (1..4)

   } OPTIONAL

}

 

MinSchedulingOffsetPreference-r16 ::= SEQUENCE {

   preferredK0-r16 SEQUENCE {

         preferredK0-SCS-15kHz-r16        ENUMERATED {sl1, sl2, sl4, sl6} OPTIONAL,

         preferredK0-SCS-30kHz-r16        ENUMERATED {sl1, sl2, sl4, sl6} OPTIONAL,

         preferredK0-SCS-60kHz-r16        ENUMERATED {sl2, sl4, sl8, sl12} OPTIONAL,

         preferredK0-SCS-120kHz-r16       ENUMERATED {sl2, sl4, sl8, sl12} OPTIONAL

      } OPTIONAL,

   preferredK2-r16 SEQUENCE {

         preferredK2-SCS-15kHz-r16        ENUMERATED {sl1, sl2, sl4, sl6} OPTIONAL,

         preferredK2-SCS-30kHz-r16        ENUMERATED {sl1, sl2, sl4, sl6} OPTIONAL,

         preferredK2-SCS-60kHz-r16        ENUMERATED {sl2, sl4, sl8, sl12} OPTIONAL,

         preferredK2-SCS-120kHz-r16       ENUMERATED {sl2, sl4, sl8, sl12} OPTIONAL

      } OPTIONAL

}

 

ReleasePreference-r16 ::= SEQUENCE {

   preferredRRC-State-r16                ENUMERATED {idle, inactive, connected, outOfConnected}

}

 

ReducedMaxBW-FRx-r16 ::= SEQUENCE {

   reducedBW-DL-r16                      ReducedAggregatedBandwidth,

   reducedBW-UL-r16                      ReducedAggregatedBandwidth

}

 

ReducedMaxCCs-r16 ::= SEQUENCE {

   reducedCCsDL-r16                     INTEGER (0..31),

   reducedCCsUL-r16                     INTEGER (0..31)

}

 

UEInformationResponse-r16 ::= SEQUENCE {

   rrc-TransactionIdentifier           RRC-TransactionIdentifier,

   criticalExtensions CHOICE {

      ueInformationResponse-r16        UEInformationResponse-r16-IEs,

   criticalExtensionsFuture SEQUENCE {}

   }

}

 

UEInformationResponse-r16-IEs ::= SEQUENCE {

   measResultIdleEUTRA-r16           MeasResultIdleEUTRA-r16 OPTIONAL,

   measResultIdleNR-r16              MeasResultIdleNR-r16 OPTIONAL,

   logMeasReport-r16                 LogMeasReport-r16 OPTIONAL,

   connEstFailReport-r16             ConnEstFailReport-r16 OPTIONAL,

   ra-ReportList-r16                 RA-ReportList-r16 OPTIONAL,

   rlf-Report-r16                    RLF-Report-r16 OPTIONAL,

   mobilityHistoryReport-r16         MobilityHistoryReport-r16 OPTIONAL,

   lateNonCriticalExtension OCTET STRING OPTIONAL,

   nonCriticalExtension SEQUENCE {} OPTIONAL

}

 

LogMeasReport-r16 ::= SEQUENCE {

   absoluteTimeStamp-r16            AbsoluteTimeInfo-r16,

   traceReference-r16               TraceReference-r16,

   traceRecordingSessionRef-r16     OCTET STRING (SIZE (2)),

   tce-Id-r16                       OCTET STRING (SIZE (1)),

   logMeasInfoList-r16              LogMeasInfoList-r16,

   logMeasAvailable-r16             ENUMERATED {true} OPTIONAL,

   logMeasAvailableBT-r16           ENUMERATED {true} OPTIONAL,

   logMeasAvailableWLAN-r16         ENUMERATED {true} OPTIONAL,

   ...

}

 

LogMeasInfoList-r16 ::= SEQUENCE (SIZE (1..maxLogMeasReport-r16)) OF LogMeasInfo-r16

   LogMeasInfo-r16 ::= SEQUENCE {

      locationInfo-r16            LocationInfo-r16 OPTIONAL,

      relativeTimeStamp-r16       INTEGER (0..7200),

      servCellIdentity-r16        CGI-Info-Logging-r16 OPTIONAL,

      measResultServingCell-r16   MeasResultServingCell-r16 OPTIONAL,

      measResultNeighCells-r16 SEQUENCE {

         measResultNeighCellListNR           MeasResultListLogging2NR-r16 OPTIONAL,

         measResultNeighCellListEUTRA        MeasResultList2EUTRA-r16 OPTIONAL

   },

   anyCellSelectionDetected-r16              ENUMERATED {true} OPTIONAL

}

 

ConnEstFailReport-r16 ::= SEQUENCE {

   measResultFailedCell-r16      MeasResultFailedCell-r16,

   locationInfo-r16              LocationInfo-r16 OPTIONAL,

   measResultNeighCells-r16 SEQUENCE {

      measResultNeighCellListNR             MeasResultList2NR-r16 OPTIONAL,

      measResultNeighCellListEUTRA          MeasResultList2EUTRA-r16 OPTIONAL

   },

   numberOfConnFail-r16                     INTEGER (1..8),

   perRAInfoList-r16                        PerRAInfoList-r16,

   timeSinceFailure-r16                     TimeSinceFailure-r16,

   ...

}

 

MeasResultServingCell-r16 ::= SEQUENCE {

   resultsSSB-Cell                         MeasQuantityResults,

   resultsSSB SEQUENCE{

      best-ssb-Index                       SSB-Index

      best-ssb-Results                     MeasQuantityResults,

      numberOfGoodSSB                      INTEGER (1..maxNrofSSBs-r16)

   } OPTIONAL

}

 

MeasResultFailedCell-r16 ::= SEQUENCE {

   cgi-Info CGI-Info-Logging-r16,

   measResult-r16 SEQUENCE {

         cellResults-r16 SEQUENCE{

            resultsSSB-Cell-r16           MeasQuantityResults

         },

      rsIndexResults-r16 SEQUENCE{

         resultsSSB-Indexes-r16           ResultsPerSSB-IndexList

      }

   }

}

 

RA-ReportList-r16 ::= SEQUENCE (SIZE (1..maxRAReport-r16)) OF RA-Report-r16

 

RA-Report-r16 ::= SEQUENCE {

   cellId-r16 CHOICE {

      cellGlobalId-r16                 CGI-Info-Logging-r16,

      pci-arfcn-r16 SEQUENCE {

         physCellId-r16                PhysCellId,

         carrierFreq-r16               ARFCN-ValueNR

      }

   },

   ra-InformationCommon-r16           RA-InformationCommon-r16,

   raPurpose-r16 ENUMERATED           {accessRelated, beamFailureRecovery,

                                       reconfigurationWithSync, ulUnSynchronized,

                                       schedulingRequestFailure, noPUCCHResourceAvailable,

                                       requestForOtherSI,spare9, spare8, spare7, spare6, spare5,

                                       spare4, spare3, spare2, spare1}

}

 

RA-InformationCommon-r16 ::= SEQUENCE {

   absoluteFrequencyPointA-r16       ARFCN-ValueNR,

   locationAndBandwidth-r16          INTEGER (0..37949),

   subcarrierSpacing-r16             SubcarrierSpacing,

   msg1-FrequencyStart-r16           INTEGER (0..maxNrofPhysicalResourceBlocks-1) OPTIONAL,

   msg1-FrequencyStartCFRA-r16       INTEGER (0..maxNrofPhysicalResourceBlocks-1) OPTIONAL,

   msg1-SubcarrierSpacing-r16        SubcarrierSpacing OPTIONAL,

   msg1-SubcarrierSpacingCFRA-r16    SubcarrierSpacing OPTIONAL,

   msg1-FDM-r16                      ENUMERATED {one, two, four, eight} OPTIONAL,

   msg1-FDMCFRA-r16                  ENUMERATED {one, two, four, eight} OPTIONAL,

   perRAInfoList-r16                 PerRAInfoList-r16

}

 

PerRAInfoList-r16 ::= SEQUENCE (SIZE (1..200)) OF PerRAInfo-r16

 

PerRAInfo-r16 ::= CHOICE {

   perRASSBInfoList-r16             PerRASSBInfo-r16,

   perRACSI-RSInfoList-r16          PerRACSI-RSInfo-r16

}

 

PerRASSBInfo-r16 ::= SEQUENCE {

   ssb-Index-r16                        SSB-Index,

   numberOfPreamblesSentOnSSB-r16       INTEGER (1..200),

   perRAAttemptInfoList-r16             PerRAAttemptInfoList-r16

}

 

PerRACSI-RSInfo-r16 ::= SEQUENCE {

   csi-RS-Index-r16                    CSI-RS-Index,

   numberOfPreamblesSentOnCSI-RS-r16   INTEGER (1..200)

}

 

PerRAAttemptInfoList-r16 ::= SEQUENCE (SIZE (1..200)) OF PerRAAttemptInfo-r16

PerRAAttemptInfo-r16 ::= SEQUENCE {

   contentionDetected-r16            BOOLEAN OPTIONAL,

   dlRSRPAboveThreshold-r16          BOOLEAN OPTIONAL,

   ...

}

 

RLF-Report-r16 ::= CHOICE {

   nr-RLF-Report-r16 SEQUENCE {

      measResultLastServCell-r16             MeasResultRLFNR-r16,

      measResultNeighCells-r16 SEQUENCE {

         measResultListNR-r16                MeasResultList2NR-r16 OPTIONAL,

         measResultListEUTRA-r16             MeasResultList2EUTRA-r16 OPTIONAL

      } OPTIONAL,

   c-RNTI-r16 RNTI-Value,

   previousPCellId-r16 CHOICE {

      nrPreviousCell-r16                    CGI-Info-Logging-r16,

      eutraPreviousCell-r16                 CGI-InfoEUTRALogging

   } OPTIONAL,

   failedPCellId-r16 CHOICE {

      nrFailedPCellId-r16 CHOICE {

         cellGlobalId-r16                  CGI-Info-Logging-r16,

         pci-arfcn-r16 SEQUENCE {

            physCellId-r16                 PhysCellId,

            carrierFreq-r16                ARFCN-ValueNR

         }

   },

   eutraFailedPCellId-r16 CHOICE {

      cellGlobalId-r16                    CGI-InfoEUTRALogging,

      pci-arfcn-r16 SEQUENCE {

         physCellId-r16                   EUTRA-PhysCellId,

         carrierFreq-r16                  ARFCN-ValueEUTRA

      }

   }

   },

   reconnectCellId-r16 CHOICE {

      nrReconnectCellId-r16              CGI-Info-Logging-r16,

      eutraReconnectCellId-r16           CGI-InfoEUTRALogging

   } OPTIONAL,

   timeUntilReconnection-16              TimeUntilReconnection-16 OPTIONAL,

   reestablishmentCellId-r16             CGI-Info-Logging-r16 OPTIONAL,

   timeConnFailure-r16                   INTEGER (0..1023) OPTIONAL,

   timeSinceFailure-r16                  TimeSinceFailure-r16,

   connectionFailureType-r16             ENUMERATED {rlf, hof},

   rlf-Cause-r16                         ENUMERATED {t310-Expiry, randomAccessProblem,

                                                     rlc-MaxNumRetx,beamFailureRecoveryFailure,

                                                    lbtFailure-r16,bh-rlfRecoveryFailure,

                                                    spare2, spare1},

   locationInfo-r16                     LocationInfo-r16 OPTIONAL,

   noSuitableCellFound-r16              ENUMERATED {true} OPTIONAL,

   ra-InformationCommon-r16             RA-InformationCommon-r16 OPTIONAL,

   ...

   },

   eutra-RLF-Report-r16 SEQUENCE {

      failedPCellId-EUTRA              CGI-InfoEUTRALogging,

      measResult-RLF-Report-EUTRA-r16  OCTET STRING,

      ...

   }

}

 

MeasResultList2NR-r16 ::= SEQUENCE(SIZE (1..maxFreq)) OF MeasResult2NR-r16

 

MeasResultList2EUTRA-r16 ::= SEQUENCE(SIZE (1..maxFreq)) OF MeasResult2EUTRA-r16

 

MeasResult2NR-r16 ::= SEQUENCE {

   ssbFrequency-r16                 ARFCN-ValueNR OPTIONAL,

   refFreqCSI-RS-r16                ARFCN-ValueNR OPTIONAL,

   measResultList-r16               MeasResultListNR

}

 

MeasResultListLogging2NR-r16 ::= SEQUENCE(SIZE (1..maxFreq)) OF MeasResultLogging2NR-r16

 

MeasResultLogging2NR-r16 ::= SEQUENCE {

   carrierFreq-r16                 ARFCN-ValueNR,

   measResultListLoggingNR-r16     MeasResultListLoggingNR-r16

}

 

MeasResultListLoggingNR-r16 ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultLoggingNR-r16

 

MeasResultLoggingNR-r16 ::= SEQUENCE {

   physCellId-r16                PhysCellId,

   resultsSSB-Cell-r16           MeasQuantityResults,

   numberOfGoodSSB-r16           INTEGER (1..maxNrofSSBs-r16) OPTIONAL

}

 

MeasResult2EUTRA-r16 ::= SEQUENCE {

   carrierFreq-r16              ARFCN-ValueEUTRA,

   measResultList-r16           MeasResultListEUTRA

}

 

MeasResultRLFNR-r16 ::= SEQUENCE {

   measResult-r16 SEQUENCE {

      cellResults-r16 SEQUENCE{

         resultsSSB-Cell-r16           MeasQuantityResults OPTIONAL,

         resultsCSI-RS-Cell-r16        MeasQuantityResults OPTIONAL

   },

   rsIndexResults-r16 SEQUENCE{

      resultsSSB-Indexes-r16          ResultsPerSSB-IndexList OPTIONAL,

      ssbRLMConfigBitmap-r16          BIT STRING (SIZE (64)) OPTIONAL,

      resultsCSI-RS-Indexes-r16       ResultsPerCSI-RS-IndexList OPTIONAL,

      csi-rsRLMConfigBitmap-r16       BIT STRING (SIZE (96)) OPTIONAL

   } OPTIONAL

}

}

 

TimeSinceFailure-r16 ::= INTEGER (0..172800)

 

MobilityHistoryReport-r16 ::= VisitedCellInfoList-r16

 

TimeUntilReconnection-16 ::= INTEGER (0..172800)

 

BeamFailureRecoverySCellConfig-r16 ::= SEQUENCE {

   rsrp-ThresholdBFR-r16                      RSRP-Range OPTIONAL, -- Need M

   candidateBeamRSSCellList-r16               SEQUENCE (SIZE(1..maxNrofCandidateBeams-r16)) OF

                                                    CandidateBeamRS-r16 OPTIONAL,

   ...

}

 

CandidateBeamRS-r16 ::= SEQUENCE {

   candidateBeamConfig-r16 CHOICE {

      ssb-r16                               SSB-Index,

      csi-RS-r16                            NZP-CSI-RS-ResourceId

   },

   servingCellId ServCellIndex OPTIONAL -- Need R

}

 

CellGroupConfig ::= SEQUENCE {

   ...

   bap-Address-r16                           BIT STRING (SIZE (10)) OPTIONAL, -- Need M

   bh-RLC-ChannelToAddModList-r16            SEQUENCE (SIZE(1..maxBH-RLC-ChannelID-r16))

                                                 OF BH-RLC-ChannelConfig-r16 OPTIONAL,

   bh-RLC-ChannelToReleaseList-r16           SEQUENCE (SIZE(1..maxBH-RLC-ChannelID-r16))

                                                 OF BH-RLC-ChannelID-r16 OPTIONAL,

   f1c-TransferPath-r16                      ENUMERATED {lte, nr, both} OPTIONAL,

   simultaneousTCI-UpdateList1-r16           SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF

                                                ServCellIndex OPTIONAL,

   simultaneousTCI-UpdateList2-r16           SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF

                                                ServCellIndex OPTIONAL,

   simultaneousSpatial-UpdatedList1-r16      SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF

                                                ServCellIndex OPTIONAL,

   simultaneousSpatial-UpdatedList2-r16      SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF

                                                ServCellIndex OPTIONAL,

   uplinkTxSwitchingOption-r16               ENUMERATED {switchedUL, dualUL} OPTIONAL,

   uplinkTxSwitchingPowerBoosting-r16        ENUMERATED {enabled} OPTIONAL

   ]]

}

 

ReconfigurationWithSync ::= SEQUENCE {

    ...

   [[

      daps-UplinkPowerConfig-r16          DAPS-UplinkPowerConfig-r16 OPTIONAL

   ]]

}

 

DAPS-UplinkPowerConfig-r16 ::= SEQUENCE {

   p-DAPS-Source-r16                      P-Max,

   p-DAPS-Target-r16                      P-Max,

   uplinkPowerSharingDAPS-Mode-r16        ENUMERATED {semi-static-mode1, semi-static-mode2,

                                                      dynamic }

}

 

SCellConfig ::= SEQUENCE {

       ...

      sCellState-r16 ENUMERATED {activated} OPTIONAL, -- Cond SCellAddSync

      secondaryDRX-GroupConfig-r16 ENUMERATED {true} OPTIONAL -- Cond DRX-Config2

   ]]

}

 

CodebookConfig-r16 ::= SEQUENCE {

   codebookType CHOICE {

   type2 SEQUENCE {

      subType CHOICE {

      typeII-r16 SEQUENCE {

         n1-n2-codebookSubsetRestriction-r16 CHOICE {

            two-one                          BIT STRING (SIZE (16)),

            two-two                          BIT STRING (SIZE (43)),

            four-one                         BIT STRING (SIZE (32)),

            three-two                        BIT STRING (SIZE (59)),

            six-one                          BIT STRING (SIZE (48)),

            four-two                         BIT STRING (SIZE (75)),

            eight-one                        BIT STRING (SIZE (64)),

            four-three                       BIT STRING (SIZE (107)),

            six-two                          BIT STRING (SIZE (107)),

            twelve-one                       BIT STRING (SIZE (96)),

            four-four                        BIT STRING (SIZE (139)),

            eight-two                        BIT STRING (SIZE (139)),

            sixteen-one                      BIT STRING (SIZE (128))

      },

      typeII-RI-Restriction-r16             BIT STRING (SIZE(4))

   },

   typeII-PortSelection-r16 SEQUENCE {

      portSelectionSamplingSize-r16                  ENUMERATED {n1, n2, n3, n4},

      typeII-PortSelectionRI-Restriction-r16         BIT STRING (SIZE (4))

   }

   },

   numberOfPMI-SubbandsPerCQI-Subband-r16           INTEGER (1..2),

   paramCombination-r16                             INTEGER (1..8)

   }

}

}

 

ConfiguredGrantConfig ::= SEQUENCE {

   frequencyHopping ENUMERATED {intraSlot, interSlot} OPTIONAL,

   cg-DMRS-Configuration DMRS-UplinkConfig,

   mcs-Table ENUMERATED {qam256, qam64LowSE} OPTIONAL,

   mcs-TableTransformPrecoder ENUMERATED {qam256, qam64LowSE} OPTIONAL,

   uci-OnPUSCH SetupRelease { CG-UCI-OnPUSCH } OPTIONAL,

   resourceAllocation ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch },

   rbg-Size ENUMERATED {config2} OPTIONAL,

   powerControlLoopToUse ENUMERATED {n0, n1},

   p0-PUSCH-Alpha P0-PUSCH-AlphaSetId,

   transformPrecoder ENUMERATED {enabled, disabled} OPTIONAL,

   nrofHARQ-Processes INTEGER(1..16),

   repK ENUMERATED {n1, n2, n4, n8},

   repK-RV ENUMERATED {s1-0231, s2-0303, s3-0000} OPTIONAL,

   periodicity ENUMERATED {

   sym2, sym7, sym1x14, sym2x14, sym4x14, sym5x14, sym8x14, sym10x14, sym16x14, sym20x14,

   sym32x14, sym40x14, sym64x14, sym80x14, sym128x14, sym160x14, sym256x14, sym320x14, sym512x14,

   sym640x14, sym1024x14, sym1280x14, sym2560x14, sym5120x14,

   sym6, sym1x12, sym2x12, sym4x12, sym5x12, sym8x12, sym10x12, sym16x12, sym20x12, sym32x12,

   sym40x12, sym64x12, sym80x12, sym128x12, sym160x12, sym256x12, sym320x12, sym512x12, sym640x12,

   sym1280x12, sym2560x12

   },

   configuredGrantTimer INTEGER (1..64) OPTIONAL,

   rrc-ConfiguredUplinkGrant SEQUENCE {

      timeDomainOffset                                  INTEGER (0..5119),

      timeDomainAllocation                              INTEGER (0..15),

      frequencyDomainAllocation                         BIT STRING (SIZE(18)),

      antennaPort                                       INTEGER (0..31),

      dmrs-SeqInitialization                            INTEGER (0..1) OPTIONAL,

      precodingAndNumberOfLayers                        INTEGER (0..63),

      srs-ResourceIndicator                             INTEGER (0..15) OPTIONAL,

      mcsAndTBS                                         INTEGER (0..31),

      frequencyHoppingOffset            INTEGER (1.. maxNrofPhysicalResourceBlocks-1) OPTIONAL,

      pathlossReferenceIndex            INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1),

      ...,

      [[

      pusch-RepTypeIndicator-r16             ENUMERATED {pusch-RepTypeA,pusch-RepTypeB} OPTIONAL,

      frequencyHoppingPUSCH-RepTypeB-r16     ENUMERATED {interRepetition, interSlot} OPTIONAL,

      timeReferenceSFN-r16                   ENUMERATED {sfn512} OPTIONAL

      ]]

   } OPTIONAL,

   ...,

   [[

   cg-RetransmissionTimer-r16 INTEGER (1..64) OPTIONAL,

   cg-minDFI-Delay-r16 ENUMERATED

      {sym7, sym1x14, sym2x14, sym3x14, sym4x14, sym5x14, sym6x14, sym7x14, sym8x14,

      sym9x14, sym10x14, sym11x14, sym12x14, sym13x14, sym14x14,sym15x14, sym16x14

      } OPTIONAL,

   cg-nrofPUSCH-InSlot-r16                                  INTEGER (1..7) OPTIONAL,

   cg-nrofSlots-r16                                         INTEGER (1..40) OPTIONAL,

   cg-StartingOffsets-r16                                   CG-StartingOffsets-r16 OPTIONAL,

   cg-UCI-Multiplexing-r16                                  ENUMERATED {enabled} OPTIONAL,

   cg-COT-SharingOffset-r16                                 INTEGER (1..39) OPTIONAL,

   betaOffsetCG-UCI-r16                                     INTEGER (0..31) OPTIONAL,

   cg-COT-SharingList-r16          SEQUENCE (SIZE (1..1709)) OF CG-COT-Sharing-r16 OPTIONAL,

   harq-ProcID-Offset-r16                                   INTEGER (0..15) OPTIONAL,

   harq-ProcID-Offset2-r16                                  INTEGER (0..15) OPTIONAL,

   configuredGrantConfigIndex-r16                     ConfiguredGrantConfigIndex-r16 OPTIONAL,

   configuredGrantConfigIndexMAC-r16                  ConfiguredGrantConfigIndexMAC-r16 OPTIONAL,

   periodicityExt-r16                                       INTEGER (1..5120) OPTIONAL,

   startingFromRV0-r16                                      ENUMERATED {on, off} OPTIONAL,

   phy-PriorityIndex-r16                                    ENUMERATED {p0, p1} OPTIONAL,

   autonomousTx-r16                                         ENUMERATED {enabled} OPTIONAL

   ]]

}

 

CG-COT-Sharing-r16 ::= CHOICE {

   noCOT-Sharing-r16                             NULL,

   cot-Sharing-r16 SEQUENCE {

      duration-r16                               INTEGER (1..39),

      offset-r16                                 INTEGER (1..39),

      channelAccessPriority-r16                  INTEGER (1..4)

   }

}

 

CG-StartingOffsets-r16 ::= SEQUENCE {

   cg-StartingFullBW-InsideCOT-r16            SEQUENCE (SIZE (1..7)) OF INTEGER (0..6) OPTIONAL,

   cg-StartingFullBW-OutsideCOT-r16           SEQUENCE (SIZE (1..7)) OF INTEGER (0..6) OPTIONAL,

   cg-StartingPartialBW-InsideCOT-r16         INTEGER (0..6) OPTIONAL,

   cg-StartingPartialBW-OutsideCOT-r16        INTEGER (0..6) OPTIONAL

}

 

DMRS-DownlinkConfig ::= SEQUENCE {

   dmrs-Type                            ENUMERATED {type2} OPTIONAL,

   dmrs-AdditionalPosition              ENUMERATED {pos0, pos1, pos3} OPTIONAL,

   maxLength                            ENUMERATED {len2} OPTIONAL,

   scramblingID0                        INTEGER (0..65535) OPTIONAL,

   scramblingID1                        INTEGER (0..65535) OPTIONAL,

   phaseTrackingRS                      SetupRelease { PTRS-DownlinkConfig } OPTIONAL,

   ...,

   [[

      dmrs-Downlink-r16                 ENUMERATED {enabled} OPTIONAL

   ]]

}

 

DMRS-UplinkConfig ::= SEQUENCE {

   dmrs-Type                                 ENUMERATED {type2} OPTIONAL,

   dmrs-AdditionalPosition                   ENUMERATED {pos0, pos1, pos3} OPTIONAL,

   phaseTrackingRS                           SetupRelease { PTRS-UplinkConfig } OPTIONAL,

   maxLength                                 ENUMERATED {len2} OPTIONAL,

   transformPrecodingDisabled SEQUENCE {

      scramblingID0                          INTEGER (0..65535) OPTIONAL,

      scramblingID1                          INTEGER (0..65535) OPTIONAL,

      ...,

      [[

         dmrs-Uplink-r16                     ENUMERATED {enabled} OPTIONAL

      ]]

   } OPTIONAL,

   transformPrecodingEnabled SEQUENCE {

      nPUSCH-Identity                        INTEGER(0..1007) OPTIONAL,

      sequenceGroupHopping                   ENUMERATED {disabled} OPTIONAL,

      sequenceHopping                        ENUMERATED {enabled} OPTIONAL,

      ...,

   [[

      dmrs-UplinkTransformPrecoding-r16 SetupRelease {DMRS-UplinkTransformPrecoding-r16} OPTIONAL

   ]]

   } OPTIONAL,

   ...

}

 

DMRS-UplinkTransformPrecoding-r16 ::= SEQUENCE {

pi2BPSK-ScramblingID0                        INTEGER(0..65535) OPTIONAL,

pi2BPSK-ScramblingID1                        INTEGER(0..65535) OPTIONAL

}

 

InvalidSymbolPattern-r16 ::= SEQUENCE {

   symbols-r16 CHOICE {

      oneSlot                                BIT STRING (SIZE (14)),

      twoSlots                               BIT STRING (SIZE (28))

   },

   periodicityAndPattern-r16 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 M

...

}

 

LBT-FailureRecoveryConfig-r16 ::= SEQUENCE {

   lbt-FailureInstanceMaxCount-r16           ENUMERATED {n4, n8, n16, n32, n64, n128},

   lbt-FailureDetectionTimer-r16             ENUMERATED {ms10, ms20, ms40, ms80, ms160, ms320},

   ...

}

 

LocationInfo-r16 ::= SEQUENCE {

   commonLocationInfo-r16 CommonLocationInfo-r16 OPTIONAL,

   bt-LocationInfo-r16 LogMeasResultListBT-r16 OPTIONAL,

   wlan-LocationInfo-r16 LogMeasResultListWLAN-r16 OPTIONAL,

   sensor-LocationInfo-r16 Sensor-LocationInfo-r16 OPTIONAL,

   ...

}

 

LocationMeasurementInfo ::= CHOICE {

   eutra-RSTD EUTRA-RSTD-InfoList,

   ..,

   eutra-FineTimingDetection NULL,

   nr-PRS-Measurement-r16 NR-PRS-MeasurementInfoList-r16

}

 

EUTRA-RSTD-InfoList ::= SEQUENCE (SIZE (1..maxInterRAT-RSTD-Freq)) OF EUTRA-RSTD-Info

 

EUTRA-RSTD-Info ::= SEQUENCE {

   carrierFreq ARFCN-ValueEUTRA,

   measPRS-Offset INTEGER (0..39),

   ...

}

 

NR-PRS-MeasurementInfoList-r16 ::=SEQUENCE(SIZE (1..maxFreqLayers)) OF NR-PRS-MeasurementInfo-r16

 

NR-PRS-MeasurementInfo-r16 ::= SEQUENCE {

   dl-PRS-PointA-r16                           ARFCN-ValueNR,

   nr-MeasPRS-RepetitionAndOffset-r16 CHOICE {

      ms20-r16                                 INTEGER (0..19),

      ms40-r16                                 INTEGER (0..39),

      ms80-r16                                 INTEGER (0..79),

      ms160-r16                                INTEGER (0..159),

   ...

   },

   nr-MeasPRS-length-r16      ENUMERATED {ms1dot5, ms3, ms3dot5, ms4, ms5dot5, ms6, ms10, ms20},

   ...

}

 

 

MeasObjectCLI-r16 ::= SEQUENCE {

   cli-ResourceConfig-r16                CLI-ResourceConfig-r16,

   ...

}

 

CLI-ResourceConfig-r16 ::= SEQUENCE {

   srs-ResourceConfig-r16                SetupRelease { SRS-ResourceListConfigCLI-r16 } OPTIONAL,

   rssi-ResourceConfig-r16               SetupRelease { RSSI-ResourceListConfigCLI-r16 } OPTIONAL

}

 

SRS-ResourceListConfigCLI-r16 ::= SEQUENCE (SIZE (1.. maxNrofCLI-SRS-Resources-r16))

                                     OF SRS-ResourceConfigCLI-r16

 

RSSI-ResourceListConfigCLI-r16 ::= SEQUENCE (SIZE (1.. maxNrofCLI-RSSI-Resources-r16))

                                     OF RSSI-ResourceConfigCLI-r16

 

SRS-ResourceConfigCLI-r16 ::= SEQUENCE {

   srs-Resource-r16                      SRS-Resource,

   srs-SCS-r16                           SubcarrierSpacing,

   refServCellIndex-r16                  ServCellIndex OPTIONAL, -- Need S

   refBWP-r16                            BWP-Id,

   ...

}

 

RSSI-ResourceConfigCLI-r16 ::= SEQUENCE {

   rssi-ResourceId-r16                   RSSI-ResourceId-r16,

   rssi-SCS-r16                          SubcarrierSpacing,

   startPRB-r16                          INTEGER (0..2169),

   nrofPRBs-r16                          INTEGER (4..maxNrofPhysicalResourceBlocksPlus1),

   startPosition-r16                     INTEGER (0..13),

   nrofSymbols-r16                       INTEGER (1..14),

   rssi-PeriodicityAndOffset-r16         RSSI-PeriodicityAndOffset-r16,

   refServCellIndex-r16                  ServCellIndex OPTIONAL, -- Need S

   ...

}

 

RSSI-ResourceId-r16 ::= INTEGER (0.. maxNrofCLI-RSSI-Resources-r16-1)

 

RSSI-PeriodicityAndOffset-r16 ::= CHOICE {

   sl10                                  INTEGER(0..9),

   sl20                                  INTEGER(0..19),

   sl40                                  INTEGER(0..39),

   sl80                                  INTEGER(0..79),

   sl160                                 INTEGER(0..159),

   sl320                                 INTEGER(0..319),

   s1640                                 INTEGER(0..639),

   ...

}

 

SSB-ConfigMobility::= SEQUENCE {

   ssb-ToMeasure SetupRelease { SSB-ToMeasure } OPTIONAL,

   deriveSSB-IndexFromCell BOOLEAN,

   ss-RSSI-Measurement SS-RSSI-Measurement OPTIONAL,

   ...,

   [[

      ssb-PositionQCL-Common-r16 SSB-PositionQCL-Relation-r16 OPTIONAL,

      ssb-PositionQCL-CellsToAddModList-r16 SSB-PositionQCL-CellsToAddModList-r16 OPTIONAL,

      ssb-PositionQCL-CellsToRemoveList-r16 PCI-List OPTIONAL

   ]]

}

 

RMTC-Config-r16 ::= SEQUENCE {

   rmtc-Periodicity-r16                  ENUMERATED {ms40, ms80, ms160, ms320, ms640},

   rmtc-SubframeOffset-r16               INTEGER(0..639) OPTIONAL,

   measDurationSymbols-r16        ENUMERATED {sym1, sym14or12, sym28or24, sym42or36, sym70or60},

   rmtc-Frequency-r16                    ARFCN-ValueNR,

   ref-SCS-CP-r16                        ENUMERATED {kHz15, kHz30, kHz60-NCP, kHz60-ECP},

   ...

}

 

SSB-PositionQCL-CellsToAddModList-r16 ::= SEQUENCE (SIZE (1..maxNrofCellMeas))

                                                 OF SSB-PositionQCL-CellsToAddMod-r16

 

SSB-PositionQCL-CellsToAddMod-r16 ::= SEQUENCE {

   physCellId-r16                         PhysCellId,

   ssb-PositionQCL-r16                    SSB-PositionQCL-Relation-r16

}

 

MeasResultUTRA-FDD-r16 ::= SEQUENCE {

   physCellId-r16                         PhysCellIdUTRA-FDD-r16,

   measResult-r16 SEQUENCE {

      utra-FDD-RSCP-r16                   INTEGER (-5..91) OPTIONAL,

      utra-FDD-EcN0-r16                   INTEGER (0..49) OPTIONAL

   }

}

 

MeasResultForRSSI-r16 ::= SEQUENCE {

   rssi-Result-r16                        RSSI-Range-r16,

   channelOccupancy-r16                   INTEGER (0..100)

}

 

MeasResultCLI-r16 ::= SEQUENCE {

   measResultListSRS-RSRP-r16             MeasResultListSRS-RSRP-r16 OPTIONAL,

   measResultListCLI-RSSI-r16             MeasResultListCLI-RSSI-r16 OPTIONAL

}

 

MeasResultListSRS-RSRP-r16 ::= SEQUENCE (SIZE (1.. maxCLI-Report-r16)) OF MeasResultSRS-RSRP-r16

 

MeasResultSRS-RSRP-r16 ::= SEQUENCE {

   srs-ResourceId-r16                     SRS-ResourceId,

   srs-RSRP-Result-r16                    SRS-RSRP-Range-r16

}

 

MeasResultListCLI-RSSI-r16 ::= SEQUENCE (SIZE (1.. maxCLI-Report-r16)) OF MeasResultCLI-RSSI-r16

 

MeasResultCLI-RSSI-r16 ::= SEQUENCE {

   rssi-ResourceId-r16                    RSSI-ResourceId-r16,

   cli-RSSI-Result-r16                    CLI-RSSI-Range-r16

}

 

UL-PDCP-DelayValueResultList-r16 ::= SEQUENCE (SIZE (1..maxDRB)) OF UL-PDCP-DelayValueResult-r16

 

UL-PDCP-DelayValueResult-r16 ::= SEQUENCE {

   drb-Id-r16                             DRB-Identity,

   averageDelay-r16                       INTEGER (0..10000),

   ...

}

 

MsgA-PUSCH-Config-r16 ::= SEQUENCE {

   msgA-PUSCH-ResourceGroupA-r16                     MsgA-PUSCH-Resource-r16 OPTIONAL,

   msgA-PUSCH-ResourceGroupB-r16                     MsgA-PUSCH-Resource-r16 OPTIONAL,

   msgA-TransformPrecoder-r16                        ENUMERATED {enabled, disabled} OPTIONAL,

   msgA-DataScramblingIndex-r16                      INTEGER (0..1023) OPTIONAL,

   msgA-DeltaPreamble-r16                            INTEGER (-1..6) OPTIONAL

}

 

MsgA-PUSCH-Resource-r16 ::= SEQUENCE {

   msgA-MCS-r16                                      INTEGER (0..15),

   nrofSlotsMsgA-PUSCH-r16                           INTEGER (1..4),

   nrofMsgA-PO-PerSlot-r16                           ENUMERATED {one, two, three, six},

   msgA-PUSCH-TimeDomainOffset-r16                   INTEGER (1..32),

   msgA-PUSCH-TimeDomainAllocation-r16               INTEGER (1..maxNrofUL-Allocations) OPTIONAL,

   startSymbolAndLengthMsgA-PO-r16                   INTEGER (0..127) OPTIONAL,

   mappingTypeMsgA-PUSCH-r16                         ENUMERATED {typeA, typeB} OPTIONAL,

   guardPeriodMsgA-PUSCH-r16                         INTEGER (0..3) OPTIONAL,

   guardBandMsgA-PUSCH-r16                           INTEGER (0..1),

   frequencyStartMsgA-PUSCH-r16                      INTEGER (0..maxNrofPhysicalResourceBlocks-1),

   nrofPRBs-PerMsgA-PO-r16                           INTEGER (1..32),

   nrofMsgA-PO-FDM-r16                               ENUMERATED {one, two, four, eight},

   msgA-IntraSlotFrequencyHopping-r16                ENUMERATED {enabled} OPTIONAL,

   msgA-HoppingBits-r16                              BIT STRING (SIZE(2)) OPTIONAL,

   msgA-DMRS-Config-r16                              MsgA-DMRS-Config-r16,

   nrofDMRS-Sequences-r16                            INTEGER (1..2),

   msgA-Alpha-r16                                    ENUMERATED {alpha0, alpha04, alpha05,

                                                      alpha06, alpha07, alpha08, alpha09, alpha1

                                                      OPTIONAL,

   interlaceIndexFirstPO-MsgA-PUSCH-r16              INTEGER (1..10) OPTIONAL,

   nrofInterlacesPerMsgA-PO-r16                      INTEGER (1..10) OPTIONAL,

   ...

}

 

MsgA-DMRS-Config-r16 ::= SEQUENCE {

   msgA-DMRS-AdditionalPosition-r16                  ENUMERATED {pos0, pos1, pos3} OPTIONAL,

   msgA-MaxLength-r16                                ENUMERATED {len2} OPTIONAL,

   msgA-PUSCH-DMRS-CDM-Group-r16                     INTEGER (0..1) OPTIONAL,

   msgA-PUSCH-NrofPorts-r16                          INTEGER (0..1) OPTIONAL,

   msgA-ScramblingID0-r16                            INTEGER (0..65535) OPTIONAL,

   msgA-ScramblingID1-r16                            INTEGER (0..65535) OPTIONAL

}

 

NPN-Identity-r16 ::= CHOICE {

   pni-npn-r16 SEQUENCE {

      plmn-Identity-r16                   PLMN-Identity,

      cag-IdentityList-r16                SEQUENCE (SIZE (1..maxNPN-r16)) OF CAG-IdentityInfo-r16

   },

   snpn-r16 SEQUENCE {

      plmn-Identity-r16                   PLMN-Identity,

      nid-List-r16                        SEQUENCE (SIZE (1..maxNPN-r16)) OF NID-r16

   }

}

 

CAG-IdentityInfo-r16 ::= SEQUENCE {

   cag-Identity-r16                       BIT STRING (SIZE (32)),

   manualCAGselectionAllowed-r16          ENUMERATED {true} OPTIONAL -- Need R

}

 

NID-r16 ::= BIT STRING (SIZE (44))

 

NPN-IdentityInfoList-r16 ::= SEQUENCE (SIZE (1..maxNPN-r16)) OF NPN-IdentityInfo-r16

 

NPN-IdentityInfo-r16 ::= SEQUENCE {

   npn-IdentityList-r16                SEQUENCE (SIZE (1..maxNPN-r16)) OF NPN-Identity-r16,

   trackingAreaCode-r16                TrackingAreaCode,

   ranac-r16                           RAN-AreaCode OPTIONAL,

   cellIdentity-r16                    CellIdentity,

   cellReservedForOperatorUse-r16      ENUMERATED {reserved, notReserved},

   iab-Support-r16                     ENUMERATED {true} OPTIONAL,

   ...

}

 

PDCCH-Config ::= SEQUENCE {

   controlResourceSetToAddModList          SEQUENCE(SIZE (1..3)) OF ControlResourceSet OPTIONAL,

   controlResourceSetToReleaseList         SEQUENCE(SIZE (1..3)) OF ControlResourceSetId OPTIONAL,

   searchSpacesToAddModList                SEQUENCE(SIZE (1..10)) OF SearchSpace OPTIONAL,

   searchSpacesToReleaseList               SEQUENCE(SIZE (1..10)) OF SearchSpaceId OPTIONAL,

   downlinkPreemption                      SetupRelease { DownlinkPreemption } OPTIONAL,

   tpc-PUSCH                               SetupRelease { PUSCH-TPC-CommandConfig } OPTIONAL,

   tpc-PUCCH                               SetupRelease { PUCCH-TPC-CommandConfig } OPTIONAL,

   tpc-SRS                                 SetupRelease { SRS-TPC-CommandConfig} OPTIONAL,

   ...,

   [[

      controlResourceSetToAddModList2-r16  SEQUENCE (SIZE (1..2)) OF ControlResourceSet OPTIONAL,

      controlResourceSetToReleaseList-r16  SEQUENCE (SIZE (1..5)) OF ControlResourceSetId-r16

                                               OPTIONAL,

      searchSpacesToAddModListExt-r16      SEQUENCE(SIZE (1..10)) OF SearchSpaceExt-r16 OPTIONAL,

      uplinkCancellation-r16               SetupRelease { UplinkCancellation-r16 } OPTIONAL,

      monitoringCapabilityConfig-r16       ENUMERATED

                                           {

                                              r15monitoringcapability,r16monitoringcapability

                                           } OPTIONAL,

      searchSpaceSwitchConfig-r16          SearchSpaceSwitchConfig-r16 OPTIONAL

   ]]

}

 

SearchSpaceSwitchConfig-r16 ::= SEQUENCE {

   cellGroupsForSwitchList-r16         SEQUENCE(SIZE (1..4)) OF CellGroupForSwitch-r16 OPTIONAL,

   searchSpaceSwitchDelay-r16          INTEGER (10..52) OPTIONAL

}

 

CellGroupForSwitch-r16 ::= SEQUENCE(SIZE (1..16)) OF ServCellIndex

 

PDSCH-Config ::= SEQUENCE {

   dataScramblingIdentityPDSCH INTEGER (0..1023) OPTIONAL,

   dmrs-DownlinkForPDSCH-MappingTypeA SetupRelease { DMRS-DownlinkConfig } OPTIONAL,

   dmrs-DownlinkForPDSCH-MappingTypeB SetupRelease { DMRS-DownlinkConfig } OPTIONAL,

   tci-StatesToAddModList SEQUENCE (SIZE(1..maxNrofTCI-States)) OF TCI-State OPTIONAL,

   tci-StatesToReleaseList SEQUENCE (SIZE(1..maxNrofTCI-States)) OF TCI-StateId OPTIONAL,

   vrb-ToPRB-Interleaver ENUMERATED {n2, n4} OPTIONAL,

   resourceAllocation                 ENUMERATED { resourceAllocationType0,

                                                   resourceAllocationType1, dynamicSwitch},

   pdsch-TimeDomainAllocationList     SetupRelease { PDSCH-TimeDomainResourceAllocationList }

                                                   OPTIONAL,

   pdsch-AggregationFactor            ENUMERATED { n2, n4, n8 } OPTIONAL,

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

                                                   RateMatchPattern OPTIONAL,

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

                                                   RateMatchPatternId OPTIONAL,

   rateMatchPatternGroup1             RateMatchPatternGroup OPTIONAL,

   rateMatchPatternGroup2             RateMatchPatternGroup OPTIONAL,

   rbg-Size                           ENUMERATED {config1, config2},

   mcs-Table                          ENUMERATED {qam256, qam64LowSE} OPTIONAL,

   maxNrofCodeWordsScheduledByDCI     ENUMERATED {n1, n2} OPTIONAL,

   prb-BundlingType CHOICE {

      staticBundling SEQUENCE {

         bundleSize           ENUMERATED { n4, wideband } OPTIONAL

      },

      dynamicBundling SEQUENCE {

         bundleSizeSet1       ENUMERATED { n4, wideband, n2-wideband, n4-wideband } OPTIONAL,

         bundleSizeSet2       ENUMERATED { n4, wideband } OPTIONAL

      }

   },

   zp-CSI-RS-ResourceToAddModList         SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Resources)) OF

                                                 ZP-CSI-RS-Resource OPTIONAL,

   zp-CSI-RS-ResourceToReleaseList        SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Resources)) OF

                                                 ZP-CSI-RS-ResourceId OPTIONAL,

   aperiodic-ZP-CSI-RS-ResourceSetsToAddModList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets))

                                           OF ZP-CSI-RS-ResourceSet OPTIONAL,

   aperiodic-ZP-CSI-RS-ResourceSetsToReleaseList SEQUENCE(SIZE (1..maxNrofZP-CSI-RS-ResourceSets))

                                           OF ZP-CSI-RS-ResourceSetId OPTIONAL,

   sp-ZP-CSI-RS-ResourceSetsToAddModList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF

                                           ZP-CSI-RS-ResourceSet OPTIONAL,

   sp-ZP-CSI-RS-ResourceSetsToReleaseList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF

                                           ZP-CSI-RS-ResourceSetId OPTIONAL,

   p-ZP-CSI-RS-ResourceSet               SetupRelease { ZP-CSI-RS-ResourceSet } OPTIONAL,

   ...,

   [[

      maxMIMO-Layers-r16                 SetupRelease { MaxMIMO-LayersDL-r16 } OPTIONAL,

      minimumSchedulingOffsetK0-r16      SetupRelease { MinSchedulingOffsetK0-Values-r16 }

                                               OPTIONAL,

      antennaPortsFieldPresenceDCI-1-2-r16                   ENUMERATED {enabled} OPTIONAL,

      aperiodicZP-CSI-RS-ResourceSetsToAddModListDCI-1-2-r16

                  SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF

                  ZP-CSI-RS-ResourceSet OPTIONAL,

      aperiodicZP-CSI-RS-ResourceSetsToReleaseListDCI-1-2-r16

                  SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF

                  ZP-CSI-RS-ResourceSetId OPTIONAL,

      dmrs-DownlinkForPDSCH-MappingTypeA-DCI-1-2-r16

                  SetupRelease { DMRS-DownlinkConfig } OPTIONAL,

      dmrs-DownlinkForPDSCH-MappingTypeB-DCI-1-2-r16

                  SetupRelease { DMRS-DownlinkConfig } OPTIONAL,

      dmrs-SequenceInitializationDCI-1-2-r16     ENUMERATED {enabled} OPTIONAL,

      harq-ProcessNumberSizeDCI-1-2-r16          INTEGER (0..4) OPTIONAL,

      mcs-TableDCI-1-2-r16                       ENUMERATED {qam256, qam64LowSE} OPTIONAL,

      numberOfBitsForRV-DCI-1-2-r16              INTEGER (0..2) OPTIONAL,

      pdsch-TimeDomainAllocationListDCI-1-2-r16  SetupRelease {

                                                    PDSCH-TimeDomainResourceAllocationList-r16

                                                 } OPTIONAL,

      prb-BundlingTypeDCI-1-2-r16 CHOICE {

         staticBundling-r16 SEQUENCE {

         bundleSize-r16 ENUMERATED { n4, wideband } OPTIONAL

      },

      dynamicBundling-r16 SEQUENCE {

         bundleSizeSet1-r16       ENUMERATED { n4, wideband, n2-wideband, n4-wideband } OPTIONAL,

         bundleSizeSet2-r16       ENUMERATED { n4, wideband } OPTIONAL

      }

      } OPTIONAL,

      priorityIndicatorDCI-1-2-r16               ENUMERATED {enabled} OPTIONAL,

      rateMatchPatternGroup1DCI-1-2-r16          RateMatchPatternGroup OPTIONAL,

      rateMatchPatternGroup2DCI-1-2-r16          RateMatchPatternGroup OPTIONAL,

      resourceAllocationType1GranularityDCI-1-2-r16    ENUMERATED {n2,n4,n8,n16} OPTIONAL,

      vrb-ToPRB-InterleaverDCI-1-2-r16           ENUMERATED {n2, n4} OPTIONAL,

      referenceOfSLIVDCI-1-2-r16                 ENUMERATED {enabled} OPTIONAL,

      resourceAllocationDCI-1-2-r16              ENUMERATED { resourceAllocationType0,

                                                     resourceAllocationType1,

                                                     dynamicSwitch} OPTIONAL,

      priorityIndicatorDCI-1-1-r16               ENUMERATED {enabled} OPTIONAL,

      dataScramblingIdentityPDSCH2-r16           INTEGER (0..1023) OPTIONAL,

      pdsch-TimeDomainAllocationList-r16         SetupRelease {

                                                   PDSCH-TimeDomainResourceAllocationList-r16

                                                 } OPTIONAL,

      repetitionSchemeConfig-r16                 SetupRelease {

                                                   RepetitionSchemeConfig-r16

                                                 } OPTIONAL

   ]],

   [[

      repetitionSchemeConfig-v1630        SetupRelease { RepetitionSchemeConfig-v1630} OPTIONAL

   ]]

}

 

RateMatchPatternGroup ::= SEQUENCE (SIZE (1..maxNrofRateMatchPatternsPerGroup)) OF CHOICE {

   cellLevel RateMatchPatternId,

   bwpLevel RateMatchPatternId

}

 

MinSchedulingOffsetK0-Values-r16 ::= SEQUENCE (SIZE (1..maxNrOfMinSchedulingOffsetValues-r16)) OF

                                          INTEGER (0..maxK0-SchedulingOffset-r16)

 

MaxMIMO-LayersDL-r16 ::= INTEGER (1..8) 

 

PDSCH-TimeDomainResourceAllocation-r16 ::= SEQUENCE {

   k0-r16                             INTEGER(0..32) OPTIONAL,

   mappingType-r16                    ENUMERATED {typeA, typeB},

   startSymbolAndLength-r16           INTEGER (0..127),

   repetitionNumber-r16               ENUMERATED {n2, n3, n4, n5, n6, n7, n8, n16} OPTIONAL,

...

}

 

PhysicalCellGroupConfig ::= SEQUENCE {

   harq-ACK-SpatialBundlingPUCCH                ENUMERATED {true} OPTIONAL,

   harq-ACK-SpatialBundlingPUSCH                ENUMERATED {true} OPTIONAL,

   p-NR-FR1                                     P-Max OPTIONAL,

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

   tpc-SRS-RNTI                                 RNTI-Value OPTIONAL,

   tpc-PUCCH-RNTI                               RNTI-Value OPTIONAL,

   tpc-PUSCH-RNTI                               RNTI-Value OPTIONAL,

   sp-CSI-RNTI                                  RNTI-Value OPTIONAL,

   cs-RNTI                                      SetupRelease { RNTI-Value } OPTIONAL,

   ...,

   [[

      mcs-C-RNTI                                RNTI-Value OPTIONAL,

      p-UE-FR1                                  P-Max OPTIONAL

   ]],

   [[

      xScale                                    ENUMERATED {dB0, dB6, spare2, spare1} OPTIONAL

   ]],

   [[

      pdcch-BlindDetection                      SetupRelease { PDCCH-BlindDetection } OPTIONAL

   ]],

   [[

      dcp-Config-r16                            SetupRelease { DCP-Config-r16 } OPTIONAL,

      harq-ACK-SpatialBundlingPUCCH-secondaryPUCCHgroup-r16       ENUMERATED {enabled, disabled}

                                                                      OPTIONAL,

      harq-ACK-SpatialBundlingPUSCH-secondaryPUCCHgroup-r16       ENUMERATED {enabled, disabled}

                                                                      OPTIONAL,

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

                                                                      OPTIONAL,

      p-NR-FR2-r16                                                P-Max OPTIONAL,

      p-UE-FR2-r16                                                P-Max OPTIONAL,

      nrdc-PCmode-FR1-r16    ENUMERATED {semi-static-mode1, semi-static-mode2, dynamic} OPTIONAL,

      nrdc-PCmode-FR2-r16    ENUMERATED {semi-static-mode1, semi-static-mode2, dynamic} OPTIONAL,

      pdsch-HARQ-ACK-Codebook-r16                        ENUMERATED {enhancedDynamic} OPTIONAL,

      nfi-TotalDAI-Included-r16                          ENUMERATED {true} OPTIONAL,

      ul-TotalDAI-Included-r16                           ENUMERATED {true} OPTIONAL,

      pdsch-HARQ-ACK-OneShotFeedback-r16                 ENUMERATED {true} OPTIONAL,

      pdsch-HARQ-ACK-OneShotFeedbackNDI-r16              ENUMERATED {true} OPTIONAL,

      pdsch-HARQ-ACK-OneShotFeedbackCBG-r16              ENUMERATED {true} OPTIONAL,

      downlinkAssignmentIndexDCI-0-2-r16                 ENUMERATED { enabled } OPTIONAL,

      downlinkAssignmentIndexDCI-1-2-r16                 ENUMERATED {n1, n2, n4} OPTIONAL,

      pdsch-HARQ-ACK-CodebookList-r16     SetupRelease {PDSCH-HARQ-ACK-CodebookList-r16} OPTIONAL,

      ackNackFeedbackMode-r16             ENUMERATED {joint, separate} OPTIONAL,

      pdcch-BlindDetectionCA-CombIndicator-r16       SetupRelease {

                                                        PDCCH-BlindDetectionCA-CombIndicator-r16

                                                     } OPTIONAL,

      pdcch-BlindDetection2-r16              SetupRelease { PDCCH-BlindDetection2-r16 } OPTIONAL,

      pdcch-BlindDetection3-r16              SetupRelease { PDCCH-BlindDetection3-r16 } OPTIONAL,

      bdFactorR-r16                          ENUMERATED {n1} OPTIONAL

   ]]

}

 

PDCCH-BlindDetection ::= INTEGER (1..15)

 

DCP-Config-r16 ::= SEQUENCE {

   ps-RNTI-r16                               RNTI-Value,

   ps-Offset-r16                             INTEGER (1..120),

   sizeDCI-2-6-r16                           INTEGER (1..maxDCI-2-6-Size-r16),

   ps-PositionDCI-2-6-r16                    INTEGER (0..maxDCI-2-6-Size-1-r16),

   ps-WakeUp-r16                             ENUMERATED {true} OPTIONAL,

   ps-TransmitPeriodicL1-RSRP-r16            ENUMERATED {true} OPTIONAL,

   ps-TransmitOtherPeriodicCSI-r16           ENUMERATED {true} OPTIONAL

}

 

PDSCH-HARQ-ACK-CodebookList-r16 ::= SEQUENCE (SIZE (1..2)) OF ENUMERATED {semiStatic, dynamic}

 

PDCCH-BlindDetectionCA-CombIndicator-r16 ::= SEQUENCE {

   pdcch-BlindDetectionCA1-r16               INTEGER (1..15),

   pdcch-BlindDetectionCA2-r16               INTEGER (1..15)

}

 

PDCCH-BlindDetection2-r16 ::= INTEGER (1..15)

PDCCH-BlindDetection3-r16 ::= INTEGER (1..15)

 

PTRS-DownlinkConfig ::= SEQUENCE {

   frequencyDensity            SEQUENCE (SIZE (2)) OF INTEGER (1..276) OPTIONAL,

   timeDensity                 SEQUENCE (SIZE (3)) OF INTEGER (0..29) OPTIONAL,

   epre-Ratio                  INTEGER (0..3) OPTIONAL, -- Need S

   resourceElementOffset       ENUMERATED { offset01, offset10, offset11 } OPTIONAL,

   ...,

   [[

      maxNrofPorts-r16         ENUMERATED {n1, n2} OPTIONAL

   ]]

}

 

PUCCH-Config ::= SEQUENCE {

   resourceSetToAddModList     SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets))

                                           OF PUCCH-ResourceSet OPTIONAL,

   resourceSetToReleaseList    SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets))

                                           OF PUCCH-ResourceSetId OPTIONAL,

   resourceToAddModList        SEQUENCE (SIZE (1..maxNrofPUCCH-Resources))

                                           OF PUCCH-Resource OPTIONAL,

   resourceToReleaseList       SEQUENCE (SIZE (1..maxNrofPUCCH-Resources))

                                           OF PUCCH-ResourceId OPTIONAL,

   format1                     SetupRelease { PUCCH-FormatConfig } OPTIONAL,

   format2                     SetupRelease { PUCCH-FormatConfig } OPTIONAL,

   format3                     SetupRelease { PUCCH-FormatConfig } OPTIONAL,

   format4                     SetupRelease { PUCCH-FormatConfig } OPTIONAL,

   schedulingRequestResourceToAddModList         SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF

                                                    SchedulingRequestResourceConfig OPTIONAL,

   schedulingRequestResourceToReleaseList        SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF

                                                    SchedulingRequestResourceId OPTIONAL,

   multi-CSI-PUCCH-ResourceList      SEQUENCE (SIZE (1..2)) OF PUCCH-ResourceId OPTIONAL,

   dl-DataToUL-ACK                   SEQUENCE (SIZE (1..8)) OF INTEGER (0..15) OPTIONAL,

   spatialRelationInfoToAddModList   SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos))

                                         OF PUCCH-SpatialRelationInfo OPTIONAL,

   spatialRelationInfoToReleaseList  SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos))

                                         OF PUCCH-SpatialRelationInfoId OPTIONAL,

   pucch-PowerControl                PUCCH-PowerControl OPTIONAL,

   ...,

   [[

      resourceToAddModListExt-r16    SEQUENCE (SIZE (1..maxNrofPUCCH-Resources))

                                         OF PUCCH-ResourceExt-r16 OPTIONAL,

      dl-DataToUL-ACK-r16            SetupRelease { DL-DataToUL-ACK-r16 } OPTIONAL,

      ul-AccessConfigListDCI-1-1-r16 SetupRelease { UL-AccessConfigListDCI-1-1-r16 } OPTIONAL,

      subslotLengthForPUCCH-r16 CHOICE {

         normalCP-r16                ENUMERATED {n2,n7},

         extendedCP-r16              ENUMERATED {n2,n6}

      } OPTIONAL,

      dl-DataToUL-ACK-DCI-1-2-r16    SetupRelease { DL-DataToUL-ACK-DCI-1-2-r16} OPTIONAL,

      numberOfBitsForPUCCH-ResourceIndicatorDCI-1-2-r16     INTEGER (0..3) OPTIONAL,

      dmrs-UplinkTransformPrecodingPUCCH-r16                ENUMERATED {enabled} OPTIONAL,

      spatialRelationInfoToAddModList2-r16 SEQUENCE (SIZE (1..maxNrofSpatialRelationInfosDiff-r16))

                                                 OF PUCCH-SpatialRelationInfo OPTIONAL,

      spatialRelationInfoToReleaseList2-r16 SEQUENCE(SIZE (1..maxNrofSpatialRelationInfosDiff-r16))

                                                 OF PUCCH-SpatialRelationInfoId OPTIONAL,

      spatialRelationInfoToAddModListExt-r16 SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos-r16))

                                                OF PUCCH-SpatialRelationInfoExt-r16 OPTIONAL,

      spatialRelationInfoToReleaseList-r16 SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos-r16))

                                                OF PUCCH-SpatialRelationInfoId-r16 OPTIONAL,

      resourceGroupToAddModList-r16        SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceGroups-r16))

                                                OF PUCCH-ResourceGroup-r16 OPTIONAL,

      resourceGroupToReleaseList-r16       SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceGroups-r16))

                                                OF PUCCH-ResourceGroupId-r16 OPTIONAL,

      sps-PUCCH-AN-List-r16                SetupRelease { SPS-PUCCH-AN-List-r16 } OPTIONAL,

      schedulingRequestResourceToAddModList-v1610      SEQUENCE (SIZE (1..maxNrofSR-Resources))

                                           OF SchedulingRequestResourceConfig-v1610 OPTIONAL

   ]]

}

 

PUCCH-ResourceExt-r16 ::= SEQUENCE {

   interlaceAllocation-r16 SEQUENCE {

      rb-SetIndex INTEGER (0..4),

      interlace0 CHOICE {

         scs15 INTEGER (0..9),

         scs30 INTEGER (0..4)

      }

   } OPTIONAL,

   formatExt-v1610 CHOICE {

      interlace1-v1610 INTEGER (0..9),

   occ-v1610 SEQUENCE {

      occ-Length-v1610 ENUMERATED {n2,n4} OPTIONAL,

      occ-Index-v1610 ENUMERATED {n0,n1,n2,n3} OPTIONAL

   }

   } OPTIONAL,

...

}

 

PUCCH-ResourceGroup-r16 ::= SEQUENCE {

   pucch-ResourceGroupId-r16          PUCCH-ResourceGroupId-r16,

   resourcePerGroupList-r16           SEQUENCE (SIZE (1..maxNrofPUCCH-ResourcesPerGroup-r16))

                                                OF PUCCH-ResourceId

}

 

PUCCH-ResourceGroupId-r16 ::= INTEGER (0..maxNrofPUCCH-ResourceGroups-1-r16)

DL-DataToUL-ACK-r16 ::= SEQUENCE (SIZE (1..8)) OF INTEGER (-1..15)

DL-DataToUL-ACK-DCI-1-2-r16 ::= SEQUENCE (SIZE (1..8)) OF INTEGER (0..15)

UL-AccessConfigListDCI-1-1-r16 ::= SEQUENCE (SIZE (1..16)) OF INTEGER (0..15)

 

PUSCH-Config ::= SEQUENCE {

   dataScramblingIdentityPUSCH           INTEGER (0..1023) OPTIONAL,

   txConfig                              ENUMERATED {codebook, nonCodebook} OPTIONAL,

   dmrs-UplinkForPUSCH-MappingTypeA      SetupRelease { DMRS-UplinkConfig } OPTIONAL,

   dmrs-UplinkForPUSCH-MappingTypeB      SetupRelease { DMRS-UplinkConfig } OPTIONAL,

   pusch-PowerControl                    PUSCH-PowerControl OPTIONAL,

   frequencyHopping                      ENUMERATED {intraSlot, interSlot} OPTIONAL,

   frequencyHoppingOffsetLists           SEQUENCE (SIZE (1..4)) OF

                                           INTEGER (1.. maxNrofPhysicalResourceBlocks-1) OPTIONAL,

   resourceAllocation                    ENUMERATED { resourceAllocationType0,

                                                     resourceAllocationType1, dynamicSwitch},

   pusch-TimeDomainAllocationList SetupRelease { PUSCH-TimeDomainResourceAllocationList } OPTIONAL,

   pusch-AggregationFactor               ENUMERATED { n2, n4, n8 } OPTIONAL,

   mcs-Table                             ENUMERATED {qam256, qam64LowSE} OPTIONAL,

   mcs-TableTransformPrecoder            ENUMERATED {qam256, qam64LowSE} OPTIONAL,

   transformPrecoder                     ENUMERATED {enabled, disabled} OPTIONAL,

   codebookSubset                        ENUMERATED {fullyAndPartialAndNonCoherent,

                                                   partialAndNonCoherent,nonCoherent} OPTIONAL,

   maxRank                               INTEGER (1..4) OPTIONAL,

   rbg-Size                              ENUMERATED { config2} OPTIONAL,

   uci-OnPUSCH                           SetupRelease { UCI-OnPUSCH} OPTIONAL,

   tp-pi2BPSK                            ENUMERATED {enabled} OPTIONAL,

   ...,

   [[

      minimumSchedulingOffsetK2-r16    SetupRelease { MinSchedulingOffsetK2-Values-r16 } OPTIONAL,

      ul-AccessConfigListDCI-0-1-r16   SetupRelease { UL-AccessConfigListDCI-0-1-r16 } OPTIONAL,

      harq-ProcessNumberSizeDCI-0-2-r16           INTEGER (0..4) OPTIONAL,

      dmrs-SequenceInitializationDCI-0-2-r16      ENUMERATED {enabled} OPTIONAL,

      numberOfBitsForRV-DCI-0-2-r16               INTEGER (0..2) OPTIONAL,

      antennaPortsFieldPresenceDCI-0-2-r16        ENUMERATED {enabled} OPTIONAL,

      dmrs-UplinkForPUSCH-MappingTypeA-DCI-0-2-r16   SetupRelease { DMRS-UplinkConfig } OPTIONAL,

      dmrs-UplinkForPUSCH-MappingTypeB-DCI-0-2-r16   SetupRelease { DMRS-UplinkConfig } OPTIONAL,

      frequencyHoppingDCI-0-2-r16 CHOICE {

         pusch-RepTypeA                           ENUMERATED {intraSlot, interSlot},

         pusch-RepTypeB                           ENUMERATED {interRepetition, interSlot}

      } OPTIONAL,

      frequencyHoppingOffsetListsDCI-0-2-r16      SetupRelease

                                               {FrequencyHoppingOffsetListsDCI-0-2-r16} OPTIONAL,

      codebookSubsetDCI-0-2-r16                   ENUMERATED {fullyAndPartialAndNonCoherent,

                                                     partialAndNonCoherent,nonCoherent} OPTIONAL,

      invalidSymbolPatternIndicatorDCI-0-2-r16    ENUMERATED {enabled} OPTIONAL,

      maxRankDCI-0-2-r16                          INTEGER (1..4) OPTIONAL,

      mcs-TableDCI-0-2-r16                        ENUMERATED {qam256, qam64LowSE} OPTIONAL,

      mcs-TableTransformPrecoderDCI-0-2-r16       ENUMERATED {qam256, qam64LowSE} OPTIONAL,

      priorityIndicatorDCI-0-2-r16                ENUMERATED {enabled} OPTIONAL,

      pusch-RepTypeIndicatorDCI-0-2-r16           ENUMERATED { pusch-RepTypeA, pusch-RepTypeB}

                                                           OPTIONAL,

      resourceAllocationDCI-0-2-r16               ENUMERATED { resourceAllocationType0,

                                                               resourceAllocationType1,

                                                               dynamicSwitch} OPTIONAL,

      resourceAllocationType1GranularityDCI-0-2-r16      ENUMERATED { n2,n4,n8,n16 } OPTIONAL,

      uci-OnPUSCH-ListDCI-0-2-r16         SetupRelease { UCI-OnPUSCH-ListDCI-0-2-r16} OPTIONAL,

      pusch-TimeDomainAllocationListDCI-0-2-r16      SetupRelease {

                                                      PUSCH-TimeDomainResourceAllocationList-r16

                                                     } OPTIONAL,

      pusch-TimeDomainAllocationListDCI-0-1-r16      SetupRelease {

                                                      PUSCH-TimeDomainResourceAllocationList-r16

                                                     } OPTIONAL,

      invalidSymbolPatternIndicatorDCI-0-1-r16    ENUMERATED {enabled} OPTIONAL,

      priorityIndicatorDCI-0-1-r16                ENUMERATED {enabled} OPTIONAL,

      pusch-RepTypeIndicatorDCI-0-1-r16           ENUMERATED { pusch-RepTypeA, pusch-RepTypeB}

                                                    OPTIONAL,

      frequencyHoppingDCI-0-1-r16          ENUMERATED {interRepetition, interSlot} OPTIONAL,

      uci-OnPUSCH-ListDCI-0-1-r16          SetupRelease { UCI-OnPUSCH-ListDCI-0-1-r16 } OPTIONAL,

      invalidSymbolPattern-r16             InvalidSymbolPattern-r16 OPTIONAL,

      pusch-PowerControl-v1610             SetupRelease {PUSCH-PowerControl-v1610} OPTIONAL,

      ul-FullPowerTransmission-r16         ENUMERATED {

                                               fullpower, fullpowerMode1, fullpowerMode2

                                           } OPTIONAL,

      pusch-TimeDomainAllocationListForMultiPUSCH-r16  SetupRelease {

                                                        PUSCH-TimeDomainResourceAllocationList-r16

                                                       } OPTIONAL,

      numberOfInvalidSymbolsForDL-UL-Switching-r16     INTEGER (1..4) OPTIONAL

   ]]

}

 

UCI-OnPUSCH ::= SEQUENCE {

   betaOffsets CHOICE {

      dynamic                              SEQUENCE (SIZE (4)) OF BetaOffsets,

      semiStatic                           BetaOffsets

   } OPTIONAL,

   scaling                                 ENUMERATED { f0p5, f0p65, f0p8, f1 }

}

 

MinSchedulingOffsetK2-Values-r16 ::= SEQUENCE (SIZE (1..maxNrOfMinSchedulingOffsetValues-r16))

                                           OF INTEGER (0..maxK2-SchedulingOffset-r16)

 

UCI-OnPUSCH-DCI-0-2-r16 ::= SEQUENCE {

   betaOffsetsDCI-0-2-r16 CHOICE {

      dynamicDCI-0-2-r16 CHOICE {

         oneBit-r16                        SEQUENCE (SIZE (2)) OF BetaOffsets,

         twoBits-r16                       SEQUENCE (SIZE (4)) OF BetaOffsets

   },

   semiStaticDCI-0-2-r16                   BetaOffsets

   } OPTIONAL,

   scalingDCI-0-2-r16                      ENUMERATED { f0p5, f0p65, f0p8, f1 }

}

 

FrequencyHoppingOffsetListsDCI-0-2-r16 ::= SEQUENCE (SIZE (1..4))

                                              OF INTEGER (1.. maxNrofPhysicalResourceBlocks-1)

UCI-OnPUSCH-ListDCI-0-2-r16 ::= SEQUENCE (SIZE (1..2)) OF UCI-OnPUSCH-DCI-0-2-r16

UCI-OnPUSCH-ListDCI-0-1-r16 ::= SEQUENCE (SIZE (1..2)) OF UCI-OnPUSCH

UL-AccessConfigListDCI-0-1-r16 ::= SEQUENCE (SIZE (1..64)) OF INTEGER (0..63)

 

PUSCH-PathlossReferenceRS-r16 ::= SEQUENCE {

   pusch-PathlossReferenceRS-Id-r16 PUSCH-PathlossReferenceRS-Id-v1610,

      referenceSignal-r16 CHOICE {

         ssb-Index-r16 SSB-Index,

         csi-RS-Index-r16 NZP-CSI-RS-ResourceId

   }

}

 

PUSCH-ServingCellConfig ::= SEQUENCE {

   codeBlockGroupTransmission     SetupRelease { PUSCH-CodeBlockGroupTransmission } OPTIONAL,

   rateMatching                   ENUMERATED {limitedBufferRM} OPTIONAL,

   xOverhead                      ENUMERATED {xoh6, xoh12, xoh18} OPTIONAL,

   ...,

   [[

      maxMIMO-Layers              INTEGER (1..4) OPTIONAL,

      processingType2Enabled      BOOLEAN OPTIONAL

   ]],

   [[

      maxMIMO-LayersDCI-0-2-r16   SetupRelease { MaxMIMO-LayersDCI-0-2-r16} OPTIONAL

   ]]

}

 

PUSCH-CodeBlockGroupTransmission ::= SEQUENCE {

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

   ...

}

 

MaxMIMO-LayersDCI-0-2-r16 ::= INTEGER (1..4)

 

PUSCH-TimeDomainResourceAllocation-r16 ::= SEQUENCE {

   k2-r16                  INTEGER(0..32) OPTIONAL,

   puschAllocationList-r16 SEQUENCE (SIZE(1..maxNrofMultiplePUSCHs-r16)) OF PUSCH-Allocation-r16,

   ...

}

 

PUSCH-Allocation-r16 ::= SEQUENCE {

   mappingType-r16              ENUMERATED {typeA, typeB} OPTIONAL,

   startSymbolAndLength-r16     INTEGER (0..127) OPTIONAL,

   startSymbol-r16              INTEGER (0..13) OPTIONAL,

   length-r16                   INTEGER (1..14) OPTIONAL,

   numberOfRepetitions-r16      ENUMERATED {n1, n2, n3, n4, n7, n8, n12, n16} OPTIONAL,

   ...

}

 

SRS-Config ::= SEQUENCE {

   srs-ResourceSetToReleaseList        SEQUENCE (SIZE(1..maxNrofSRS-ResourceSets))

                                                      OF SRS-ResourceSetId OPTIONAL,

   srs-ResourceSetToAddModList         SEQUENCE (SIZE(1..maxNrofSRS-ResourceSets))

                                                      OF SRS-ResourceSet OPTIONAL,

   srs-ResourceToReleaseList           SEQUENCE (SIZE(1..maxNrofSRS-Resources))

                                                      OF SRS-ResourceId OPTIONAL,

   srs-ResourceToAddModList            SEQUENCE (SIZE(1..maxNrofSRS-Resources))

                                                      OF SRS-Resource OPTIONAL,

   tpc-Accumulation                    ENUMERATED {disabled} OPTIONAL,

   ...,

   [[

      srs-RequestDCI-1-2-r16           INTEGER (1..2) OPTIONAL,

      srs-RequestDCI-0-2-r16           INTEGER (1..2) OPTIONAL,

      srs-ResourceSetToAddModListDCI-0-2-r16      SEQUENCE (SIZE(1..maxNrofSRS-ResourceSets))

                                                             OF SRS-ResourceSet OPTIONAL,

      srs-ResourceSetToReleaseListDCI-0-2-r16     SEQUENCE (SIZE(1..maxNrofSRS-ResourceSets))

                                                             OF SRS-ResourceSetId OPTIONAL,

      srs-PosResourceSetToReleaseList-r16      SEQUENCE (SIZE(1..maxNrofSRS-PosResourceSets-r16))

                                                   OF SRS-PosResourceSetId-r16 OPTIONAL,

      srs-PosResourceSetToAddModList-r16       SEQUENCE (SIZE(1..maxNrofSRS-PosResourceSets-r16))

                                                   OF SRS-PosResourceSet-r16 OPTIONAL,

      srs-PosResourceToReleaseList-r16         SEQUENCE (SIZE(1..maxNrofSRS-PosResources-r16))

                                                   OF SRS-PosResourceId-r16 OPTIONAL,

      srs-PosResourceToAddModList-r16          SEQUENCE (SIZE(1..maxNrofSRS-PosResources-r16))

                                                   OF SRS-PosResource-r16 OPTIONAL

]]

}

 

SRS-ResourceSet ::= SEQUENCE {

   srs-ResourceSetId                 SRS-ResourceSetId,

   srs-ResourceIdList                SEQUENCE (SIZE(1..maxNrofSRS-ResourcesPerSet))

                                              OF SRS-ResourceId OPTIONAL,

   resourceType CHOICE {

      aperiodic SEQUENCE {

         aperiodicSRS-ResourceTrigger          INTEGER (1..maxNrofSRS-TriggerStates-1),

         csi-RS                                NZP-CSI-RS-ResourceId OPTIONAL,

         slotOffset                            INTEGER (1..32) OPTIONAL,

         ...,

         [[

            aperiodicSRS-ResourceTriggerList    SEQUENCE (SIZE(1..maxNrofSRS-TriggerStates-2)) OF

                                                  INTEGER (1..maxNrofSRS-TriggerStates-1) OPTIONAL

         ]]

      },

      semi-persistent SEQUENCE {

         associatedCSI-RS                       NZP-CSI-RS-ResourceId OPTIONAL,

         ...

      },

      periodic SEQUENCE {

         associatedCSI-RS                       NZP-CSI-RS-ResourceId OPTIONAL,

         ...

      }

   },

   usage                    ENUMERATED {beamManagement, codebook, nonCodebook, antennaSwitching},

   alpha                    Alpha OPTIONAL,

   p0                       INTEGER (-202..24) OPTIONAL,

   pathlossReferenceRS      PathlossReferenceRS-Config OPTIONAL,

   srs-PowerControlAdjustmentStates        ENUMERATED { sameAsFci2, separateClosedLoop} OPTIONAL,

   ...,

   [[

      pathlossReferenceRSList-r16          SetupRelease { PathlossReferenceRSList-r16} OPTIONAL

   ]]

}

 

PathlossReferenceRS-Config ::= CHOICE {

   ssb-Index                          SSB-Index,

   csi-RS-Index                       NZP-CSI-RS-ResourceId

}

 

PathlossReferenceRSList-r16 ::= SEQUENCE (SIZE (1..maxNrofSRS-PathlossReferenceRS-r16))

                                       OF PathlossReferenceRS-r16

 

PathlossReferenceRS-r16 ::= SEQUENCE {

   srs-PathlossReferenceRS-Id-r16            SRS-PathlossReferenceRS-Id-r16,

   pathlossReferenceRS-r16                   PathlossReferenceRS-Config

}

 

SRS-PathlossReferenceRS-Id-r16 ::= INTEGER (0..maxNrofSRS-PathlossReferenceRS-1-r16)

 

SRS-PosResourceSet-r16 ::= SEQUENCE {

   srs-PosResourceSetId-r16             SRS-PosResourceSetId-r16,

   srs-PosResourceIdList-r16            SEQUENCE (SIZE(1..maxNrofSRS-ResourcesPerSet))

                                                        OF SRS-PosResourceId-r16 OPTIONAL,

   resourceType-r16 CHOICE {

      aperiodic-r16 SEQUENCE {

         aperiodicSRS-ResourceTriggerList-r16     SEQUENCE (SIZE(1..maxNrofSRS-TriggerStates-1))

                                                   OF INTEGER (1..maxNrofSRS-TriggerStates-1)

                                                   OPTIONAL,

         ...

      },

      semi-persistent-r16 SEQUENCE {

         ...

      },

      periodic-r16 SEQUENCE {

         ...

      }

   },

   alpha-r16                                     Alpha OPTIONAL,

   p0-r16                                        INTEGER (-202..24) OPTIONAL,

   pathlossReferenceRS-Pos-r16 CHOICE {

      ssb-IndexServing-r16                       SSB-Index,

      ssb-Ncell-r16                              SSB-InfoNcell-r16,

      dl-PRS-r16                                 DL-PRS-Info-r16

   } OPTIONAL,

   ...

}

 

SRS-ResourceSetId ::= INTEGER (0..maxNrofSRS-ResourceSets-1)

SRS-PosResourceSetId-r16 ::= INTEGER (0..maxNrofSRS-PosResourceSets-1-r16)

 

SRS-Resource ::= SEQUENCE {

   srs-ResourceId                                SRS-ResourceId,

   nrofSRS-Ports                                 ENUMERATED {port1, ports2, ports4},

   ptrs-PortIndex                                ENUMERATED {n0, n1 } OPTIONAL,

   transmissionComb CHOICE {

      n2 SEQUENCE {

         combOffset-n2                           INTEGER (0..1),

         cyclicShift-n2                          INTEGER (0..7)

      },

      n4 SEQUENCE {

         combOffset-n4                           INTEGER (0..3),

         cyclicShift-n4                          INTEGER (0..11)

      }

   },

   resourceMapping SEQUENCE {

      startPosition                              INTEGER (0..5),

      nrofSymbols                                ENUMERATED {n1, n2, n4},

      repetitionFactor                           ENUMERATED {n1, n2, n4}

   },

   freqDomainPosition                            INTEGER (0..67),

   freqDomainShift                               INTEGER (0..268),

   freqHopping SEQUENCE {

      c-SRS                                      INTEGER (0..63),

      b-SRS                                      INTEGER (0..3),

      b-hop                                      INTEGER (0..3)

   },

   groupOrSequenceHopping                 ENUMERATED { neither, groupHopping, sequenceHopping },

   resourceType CHOICE {

      aperiodic SEQUENCE {

      ...

   },

   semi-persistent SEQUENCE {

      periodicityAndOffset-sp             SRS-PeriodicityAndOffset,

      ...

   },

   periodic SEQUENCE {

      periodicityAndOffset-p              SRS-PeriodicityAndOffset,

      ...

   }

   },

   sequenceId                             INTEGER (0..1023),

   spatialRelationInfo                    SRS-SpatialRelationInfo OPTIONAL,

   ...,

   [[

      resourceMapping-r16 SEQUENCE {

         startPosition-r16                INTEGER (0..13),

         nrofSymbols-r16                  ENUMERATED {n1, n2, n4},

         repetitionFactor-r16             ENUMERATED {n1, n2, n4}

      } OPTIONAL

   ]]

}

 

SRS-PosResource-r16::= SEQUENCE {

   srs-PosResourceId-r16                  SRS-PosResourceId-r16,

   transmissionComb-r16 CHOICE {

      n2-r16 SEQUENCE {

         combOffset-n2-r16                INTEGER (0..1),

         cyclicShift-n2-r16               INTEGER (0..7)

      },

      n4-r16 SEQUENCE {

         combOffset-n4-16                 INTEGER (0..3),

         cyclicShift-n4-r16               INTEGER (0..11)

      },

      n8-r16 SEQUENCE {

         combOffset-n8-r16                INTEGER (0..7),

         cyclicShift-n8-r16               INTEGER (0..5)

      },

      ...

   },

   resourceMapping-r16 SEQUENCE {

      startPosition-r16                   INTEGER (0..13),

      nrofSymbols-r16                     ENUMERATED {n1, n2, n4, n8, n12}

   },

   freqDomainShift-r16                    INTEGER (0..268),

   freqHopping-r16 SEQUENCE {

      c-SRS-r16                           INTEGER (0..63),

      ...

   },

   groupOrSequenceHopping-r16             ENUMERATED { neither, groupHopping, sequenceHopping },

   resourceType-r16 CHOICE {

      aperiodic-r16 SEQUENCE {

      slotOffset-r16                      INTEGER (1..32) OPTIONAL,

      ...

   },

   semi-persistent-r16 SEQUENCE {

      periodicityAndOffset-sp-r16         SRS-PeriodicityAndOffset-r16,

      ...

   },

   periodic-r16 SEQUENCE {

      periodicityAndOffset-p-r16          SRS-PeriodicityAndOffset-r16,

      ...

   }

   },

   sequenceId-r16                         INTEGER (0..65535),

   spatialRelationInfoPos-r16             SRS-SpatialRelationInfoPos-r16 OPTIONAL,

   ...

}

 

SRS-SpatialRelationInfoPos-r16 ::= CHOICE {

   servingRS-r16 SEQUENCE {

      servingCellId                       ServCellIndex OPTIONAL,

         referenceSignal-r16 CHOICE {

            ssb-IndexServing-r16          SSB-Index,

            csi-RS-IndexServing-r16       NZP-CSI-RS-ResourceId,

            srs-SpatialRelation-r16 SEQUENCE {

               resourceSelection-r16 CHOICE {

                  srs-ResourceId-r16      SRS-ResourceId,

                  srs-PosResourceId-r16   SRS-PosResourceId-r16

               },

            uplinkBWP-r16                 BWP-Id

         }

      }

   },

   ssb-Ncell-r16                          SSB-InfoNcell-r16,

   dl-PRS-r16                             DL-PRS-Info-r16

}

 

SSB-Configuration-r16 ::= SEQUENCE {

   ssb-Freq-r16                           ARFCN-ValueNR,

   halfFrameIndex-r16                     ENUMERATED {zero, one},

   ssbSubcarrierSpacing-r16               SubcarrierSpacing,

   ssb-Periodicity-r16                    ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160,

                                                     spare2,spare1 } OPTIONAL,

   sfn0-Offset-r16 SEQUENCE {

      sfn-Offset-r16                      INTEGER (0..1023),

      integerSubframeOffset-r16           INTEGER (0..9) OPTIONAL

   } OPTIONAL,

   sfn-SSB-Offset-r16                     INTEGER (0..15),

   ss-PBCH-BlockPower-r16                 INTEGER (-60..50) OPTIONAL -- Cond Pathloss

}

 

SSB-InfoNcell-r16 ::= SEQUENCE {

   physicalCellId-r16                     PhysCellId,

   ssb-IndexNcell-r16                     SSB-Index OPTIONAL,

   ssb-Configuration-r16                  SSB-Configuration-r16 OPTIONAL

}

 

DL-PRS-Info-r16 ::= SEQUENCE {

   dl-PRS-ID-r16                          INTEGER (0..255),

   dl-PRS-ResourceSetId-r16               INTEGER (0..7),

   dl-PRS-ResourceId-r16                  INTEGER (0..63) OPTIONAL

}

 

SRS-ResourceId ::= INTEGER (0..maxNrofSRS-Resources-1)

SRS-PosResourceId-r16 ::= INTEGER (0..maxNrofSRS-PosResources-1-r16)

 

SRS-PeriodicityAndOffset-r16 ::= 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),

   sl5120                 INTEGER(0..5119),

   sl10240                INTEGER(0..10239),

   sl40960                INTEGER(0..40959),

   sl81920                INTEGER(0..81919),

   ...

}

Reference :

[1] 3GPP Release 16 Status

[2]  Propelling 5G forward: A closer look at 3GPP Release 16 (Qualcomm Blog)

[3]  5G evolution: 3GPP releases 16 & 17 overview (Ericsson TechReview)

[4] The 5G Evolution:3GPP Releases 16-17 (5G Americas)

[5] 3GPPs 5G NR Release 16S 9 Most Critical Improvements To 5G

Reference : YouTube

[1] Explore 3GPP Rel-16 enhancements in Keysight Signal Studio and 89600 VSA (Keysight)

[2] Evolution of 5G from 3GPP Rel-15 to Rel-17 and Testing Challenges (Anritsu)

[3] 2020 09 24 12 00 ATIS Webinar 5G Standards Developments in 3GPP Release 16 and Beyond

[4] 5G Mobile mmWave Technology Evolution (Qualcomm)

[5] Experience 5Gs true potential with mmWave Spectrum (SamSung)  

[6] Fastest 5G mmWave Speeds of 8.5Gbps Achieved Across Multiple Devices (SamSung)

[7] Live Qualcomm Massive MIMO 5G Demo (Qualcomm)

[8] Qualcomm 5G NR Industrial IoT Demo (Qualcomm)

[9] Coordinated Multipoint (CoMP) Technology for 5G Spectrum Sharing | Demo by Qualcomm | Digit.(Qualcomm)

[10] 5G Precise Indoor Positioning (Qualcomm)

[11] Qualcomm 5G NR Industrial IoT Demo (Qualcomm)

[12] Qualcomm, Bosch highlight 5G as an industrial enabler (Qualcomm)

[13] 5G CoMP for Spectrum Sharing (Qualcomm)

[14] 5G C-V2X Technology Evolution OTA Prototype (Qualcomm)

[15] How Cooperative Driving Works | Demo by Qualcomm's Automotive Solutions | Digit.in (Qualcomm)

[16] QUALCOMM - 5G NR C V2X (Qualcomm)

[17] Private 5G Network in Test Center from Siemens (Siemens)

[18] 5G NR Spectrum Sharing (Qualcomm)

[19] 5G CV2X in Action from Qualcomm at CES 2019 (Qualcomm) 

[20] V2X Collaborative Environmental Perception