NTN  

 

 

 

RRC Parameters (NR)

RRC parameters for 5G NTN describe the detailed configuration framework that enables smooth operation of NR systems over satellites and high-altitude platforms. Each parameter is designed to handle the unique physical conditions of NTN, such as long signal travel time, Doppler frequency variation, and continuously changing satellite positions. These settings are defined in 3GPP specifications to provide a common structure for implementation across devices and networks.

The parameters include essential NTN-specific configurations such as reference location data, timing adjustment values, and satellite ephemeris information. These allow the UE to accurately calculate delay, compensate frequency offset, and align with the moving satellite. Configuration procedures also cover neighbor cell relations, synchronization validity, and polarization handling, ensuring the UE can maintain stable connectivity even as the satellite orbits or handover events occur.

Additional elements define the scheduling and feedback behavior of both uplink and downlink links. HARQ timing, PDCCH monitoring, and slot allocation mechanisms are optimized for long round-trip times to preserve efficiency. The framework also includes enhancements for random access, beam management, and measurement reporting to cope with dynamic link conditions.

Together, these RRC configurations enable the UE to operate seamlessly across terrestrial and non-terrestrial layers, maintaining service continuity and efficient resource use. They form the functional bridge that allows 5G to extend beyond Earth-based infrastructure into global satellite coverage.

Highlights

  • NTN Configuration: SIB19 supplies the assistance needed for NR access over NTN: epoch time, common timing advance, scheduling offsets, uplink synchronization validity, satellite ephemeris, and service-link polarization. The synchronization-validity enumeration now includes s900 in the V17.6.0 baseline.
  • Neighbour Cell Assistance: The base and v1720 extension lists identify NTN neighbour cells by carrier frequency and physical cell ID and may provide per-cell NTN assistance. If an extended-list entry omits ntn-Config, the configuration at the same position in the base list applies; within the base list, an omitted configuration inherits from the preceding entry.
  • Timing Advance and Reporting: Common timing advance, drift, and drift variation compensate NTN propagation timing. cellSpecificKoffset modifies NTN scheduling relationships, while kmac handles non-aligned downlink and uplink frame timing at the gNB. ta-Report-r17 enables timing-advance reporting during the applicable random-access procedures.
    • TA-Info-r17
    • cellSpecificKoffset-r17
    • kmac-r17
    • ta-Report-r17
    • n-TimingAdvanceOffset
  • Ephemeris Information: Satellite ephemeris is provided either as Cartesian position and velocity state vectors or as orbital elements. Together with epochTime-r17, it gives the UE a time reference for applying the satellite assistance data.
  • Location-Based Mobility and Service Time: referenceLocation-r17 identifies the serving-cell reference location for a quasi-Earth-fixed NTN system. distanceThresh-r17 is the distance from that location used to initiate location-based measurements in RRC_IDLE and RRC_INACTIVE, with each encoded step representing 50 m. t-Service-r17 indicates when the cell will stop serving its current area.
  • NTN HARQ Timing and Capacity: DL-DataToUL-ACK-v1700 provides NTN-specific PDSCH-to-HARQ-ACK timing. A serving cell can configure 32 PDSCH HARQ processes and selectively disable uplink feedback per HARQ process to accommodate long NTN round-trip times.
    • downlinkHARQ-FeedbackDisabled-r17
    • nrofHARQ-ProcessesForPDSCH
    • nrofHARQ-ProcessesForPDSCH-v1700
    • DL-DataToUL-ACK-r17
    • DL-DataToUL-ACK-v1700
    • DL-DataToUL-ACK-DCI-1-2-r17
  • Service-Link Polarization: Downlink and uplink polarization can be signalled as RHCP, LHCP, or linear. If the uplink field is absent while the downlink field is present, the UE assumes the same polarization for both directions.
    • ntn-PolarizationDL-r17
    • ntn-PolarizationUL-r17
  • Code-Block-Group Feedback: PDSCH code-block-group configuration controls CBG-based retransmission and the code-block-group flush indicator. A Release 16 list supports up to two configurations for simultaneously constructed HARQ-ACK codebooks.
    • PDSCH-CodeBlockGroupTransmission
    • PDSCH-CodeBlockGroupTransmissionList-r16
    • codeBlockGroupFlushIndicator

RRC Parameters

ASN.1 baseline: the definitions below were checked line by line against the Release 17 ASN.1 of 3GPP TS 38.331. Field names, ranges and OPTIONAL / Need markers are reproduced verbatim; only the column alignment has been tightened so that the blocks fit the page width. The UE capability section further down tracks TS 38.306 V19.2.0 (2026-03), Release 19.

NOTE : Three things on this page were corrected against the specification text during this update, and they are worth knowing about if you have copied from an earlier version : the field is ntn-UlSyncValidityDuration-r17 (lower-case l, not ULSync); the type is TA-Info-r17 (hyphenated, not TAInfo-r17) although the field that carries it is ta-Info-r17; and ntn-Config-r17 is not a member of DownlinkConfigCommon - in dedicated signalling it sits in the v1700 extension group of ServingCellConfigCommon.

SIB19 - the NTN system information block

SIB19 is the container for everything an NTN UE needs before it may transmit : where the satellite is, how much common delay to pre-compensate, how long that information stays valid, and which neighbours to prepare for. Note that only four neighbour cells can be given assistance information, which is a real constraint when planning satellite switches.

TS 38.331 - SIB19-r17 and NTN neighbour cell list
SIB19-r17 ::= SEQUENCE {
    ntn-Config-r17                    NTN-Config-r17                OPTIONAL,  -- Need R
    t-Service-r17                     INTEGER (0..549755813887)     OPTIONAL,  -- Need R
    referenceLocation-r17             ReferenceLocation-r17         OPTIONAL,  -- Need R
    distanceThresh-r17                INTEGER (0..65525)            OPTIONAL,  -- Need R
    ntn-NeighCellConfigList-r17       NTN-NeighCellConfigList-r17   OPTIONAL,  -- Need R
    lateNonCriticalExtension          OCTET STRING                  OPTIONAL,
    ...,
    [[
    ntn-NeighCellConfigListExt-v1720  NTN-NeighCellConfigList-r17   OPTIONAL   -- Need R
    ]]
}

NTN-NeighCellConfigList-r17 ::= SEQUENCE (SIZE (1..maxCellNTN-r17))
                                    OF NTN-NeighCellConfig-r17

NTN-NeighCellConfig-r17 ::= SEQUENCE {
    ntn-Config-r17                    NTN-Config-r17                OPTIONAL,  -- Need R
    carrierFreq-r17                   ARFCN-ValueNR                 OPTIONAL,  -- Need R
    physCellId-r17                    PhysCellId                    OPTIONAL   -- Need R
}

maxCellNTN-r17  INTEGER ::= 4     -- Max NTN neighbour cells given assistance info

ReferenceLocation-r17 ::= OCTET STRING

ntn-NeighCellConfigList, ntn-NeighCellConfigListExt : Together these fields provide the NTN neighbour cells, including each cell's NTN assistance, carrier frequency, and physical cell identity. If an extended-list entry omits ntn-Config, the configuration at the same position in the original list applies.

t-Service : The time at which the cell is going to stop serving the area it is currently covering - the planned expiry of a quasi-Earth-fixed cell, and the trigger for a switch that is scheduled rather than measured.

referenceLocation, distanceThresh : The serving cell reference location for a quasi-Earth-fixed system, and the distance from it at which a UE in RRC_IDLE or RRC_INACTIVE starts location-based measurements. Each step of distanceThresh represents 50 m.

NTN-Config - the assistance data itself

This is the single most important structure on the page. Everything the UE needs for open-loop timing and frequency pre-compensation is in here, and the same type is reused in three places : broadcast in SIB19, per-neighbour in the neighbour list, and in dedicated signalling inside ServingCellConfigCommon.

TS 38.331 - NTN-Config-r17, EpochTime-r17, TA-Info-r17
NTN-Config-r17 ::= SEQUENCE {
    epochTime-r17                     EpochTime-r17                 OPTIONAL,  -- Need R
    ntn-UlSyncValidityDuration-r17    ENUMERATED { s5, s10, s15, s20, s25, s30, s35,
                                                   s40, s45, s50, s55, s60, s120,
                                                   s180, s240, s900 }
                                                                    OPTIONAL,  -- Cond SIB19
    cellSpecificKoffset-r17           INTEGER (1..1023)             OPTIONAL,  -- Need R
    kmac-r17                          INTEGER (1..512)              OPTIONAL,  -- Need R
    ta-Info-r17                       TA-Info-r17                   OPTIONAL,  -- Need R
    ntn-PolarizationDL-r17            ENUMERATED {rhcp,lhcp,linear} OPTIONAL,  -- Need R
    ntn-PolarizationUL-r17            ENUMERATED {rhcp,lhcp,linear} OPTIONAL,  -- Need R
    ephemerisInfo-r17                 EphemerisInfo-r17             OPTIONAL,  -- Need R
    ta-Report-r17                     ENUMERATED {enabled}          OPTIONAL,  -- Need R
    ...
}

EpochTime-r17 ::= SEQUENCE {
    sfn-r17                           INTEGER (0..1023),
    subFrameNR-r17                    INTEGER (0..9)
}

TA-Info-r17 ::= SEQUENCE {
    ta-Common-r17                     INTEGER (0..66485757),
    ta-CommonDrift-r17                INTEGER (-257303..257303)     OPTIONAL,  -- Need R
    ta-CommonDriftVariant-r17         INTEGER (0..28949)            OPTIONAL   -- Need R
}

cellSpecificKoffset : Scheduling offset for NTN timing relationships. Its unit is the number of slots at 15 kHz subcarrier spacing. If absent, the UE assumes 0.

kmac : Scheduling offset provided when downlink and uplink frame timing are not aligned at the gNB. In FR1 its unit is the number of slots at 15 kHz subcarrier spacing. If absent, the UE assumes 0.

ntn-UlSyncValidityDuration : Maximum duration, measured from epochTime, for which the UE may use satellite ephemeris and common timing-advance assistance without acquiring updated assistance. The UE runs timer T430 for this duration from the subframe indicated by epochTime; when T430 expires the UE considers uplink synchronisation lost and has to re-acquire SIB19 before it may transmit again.

ta-Report : Enables timing-advance reporting during the applicable random-access procedures. In SIB19 it covers connection establishment, resume, and re-establishment; in dedicated ServingCellConfigCommon signalling it covers reconfiguration with synchronization.

ta-Common, ta-CommonDrift, ta-CommonDriftVariant : The common timing advance and its first and second derivatives, so the UE can extrapolate rather than wait for the next SIB. Their full-scale values are not arbitrary : ta-Common reaches 270.73 ms, exactly the worst-case GEO one-hop round trip in TR 38.821, and ta-CommonDrift reaches about +/- 51.5 us/s, which covers the LEO delay variation. See NTN Timing Advance.

Ephemeris - two ways to describe an orbit

The network may describe the satellite either as Cartesian position and velocity state vectors, or as classical orbital elements. Both carry velocity information implicitly or explicitly, which is what makes Doppler pre-compensation possible - see NTN Frequency Compensation.

TS 38.331 - EphemerisInfo-r17 and its two alternatives
EphemerisInfo-r17 ::= CHOICE {
    positionVelocity-r17              PositionVelocity-r17,
    orbital-r17                       Orbital-r17
}

PositionVelocity-r17 ::= SEQUENCE {
    positionX-r17                     PositionStateVector-r17,
    positionY-r17                     PositionStateVector-r17,
    positionZ-r17                     PositionStateVector-r17,
    velocityVX-r17                    VelocityStateVector-r17,
    velocityVY-r17                    VelocityStateVector-r17,
    velocityVZ-r17                    VelocityStateVector-r17
}

Orbital-r17 ::= SEQUENCE {
    semiMajorAxis-r17                 INTEGER (0..8589934591),
    eccentricity-r17                  INTEGER (0..1048575),
    periapsis-r17                     INTEGER (0..268435455),
    longitude-r17                     INTEGER (0..268435455),
    inclination-r17                   INTEGER (-67108864..67108863),
    meanAnomaly-r17                   INTEGER (0..268435455)
}

PositionStateVector-r17 ::= INTEGER (-33554432..33554431)
VelocityStateVector-r17 ::= INTEGER (-131072..131071)

Where ntn-Config actually appears

In dedicated signalling the NTN assistance travels inside ServingCellConfigCommon, in its v1700 extension group - not in DownlinkConfigCommon. Both are shown below so the distinction is visible.

TS 38.331 - ServingCellConfigCommon (extract) and DownlinkConfigCommon
ServingCellConfigCommon ::= SEQUENCE {
    physCellId                        PhysCellId                    OPTIONAL,  -- Cond HO/Add
    downlinkConfigCommon              DownlinkConfigCommon          OPTIONAL,  -- Cond HO/Add
    uplinkConfigCommon                UplinkConfigCommon            OPTIONAL,  -- Need M
    n-TimingAdvanceOffset             ENUMERATED {n0,n25600,n39936} OPTIONAL,  -- Need S
    ...                          -- further Rel-15/16 fields omitted
    ...,
    [[                           -- v1700 extension group
    uplinkConfigCommon-v1700          UplinkConfigCommon-v1700      OPTIONAL,  -- Need R
    ntn-Config-r17                    NTN-Config-r17                OPTIONAL   -- Need R
    ]],
    ...
}

DownlinkConfigCommon ::= SEQUENCE {    -- for contrast: no ntn-Config here
    frequencyInfoDL                   FrequencyInfoDL               OPTIONAL,  -- Cond HO/Add
    initialDownlinkBWP                BWP-DownlinkCommon            OPTIONAL,  -- Cond ServCell
    ...,
    [[
    initialDownlinkBWP-RedCap-r17     BWP-DownlinkCommon            OPTIONAL   -- Need R
    ]]
}

n-TimingAdvanceOffset : The N_TA-Offset to be applied for all uplink transmissions on this serving cell. If the field is absent, the UE applies the value defined for the duplex mode and frequency range of this serving cell. See TS 38.133 table 7.1.2-2.

HARQ feedback timing for NTN

NTN needs a PDSCH-to-HARQ-ACK timing range that terrestrial NR never required. Note the range of DL-DataToUL-ACK-v1700 - it starts at 16 rather than at 0, because in NTN the answer can never come back quickly.

TS 38.331 - PUCCH-Config extract and the DL-DataToUL-ACK types
PUCCH-Config ::= SEQUENCE {
    ...
    dl-DataToUL-ACK-r17               SetupRelease { ...-r17 }      OPTIONAL,  -- Need M
    dl-DataToUL-ACK-DCI-1-2-r17       SetupRelease { ...-DCI-1-2-r17 }OPTIONAL,  -- Need M
    ul-AccessConfigListDCI-1-2-r17    SetupRelease { ...-DCI-1-2-r17 }OPTIONAL,  -- Need M
    ul-AccessConfigListDCI-1-1-r17    SetupRelease { ...-DCI-1-1-r17 }OPTIONAL,  -- Need M
    ...
    dl-DataToUL-ACK-v1700             SetupRelease { ...-v1700 }    OPTIONAL,  -- Need M
    ...
}

DL-DataToUL-ACK-r16            ::= SEQUENCE (SIZE (1..8))  OF INTEGER (-1..15)
DL-DataToUL-ACK-r17            ::= SEQUENCE (SIZE (1..8))  OF INTEGER (-1..127)
DL-DataToUL-ACK-v1700          ::= SEQUENCE (SIZE (1..8))  OF INTEGER (16..31)
DL-DataToUL-ACK-DCI-1-2-r17    ::= SEQUENCE (SIZE (1..8))  OF INTEGER (0..127)
UL-AccessConfigListDCI-1-2-r17 ::= SEQUENCE (SIZE (1..16)) OF INTEGER (0..15)
UL-AccessConfigListDCI-1-1-r17 ::= SEQUENCE (SIZE (1..3))  OF INTEGER (0..2)

DL-DataToUL-ACK-r17, DL-DataToUL-ACK-v1700, DL-DataToUL-ACK-DCI-1-2-r17, UL-AccessConfigListDCI-1-2-r17 : List of timing for a given PDSCH to the DL ACK (see TS 38.213, clause 9.1.2). dl-DataToUL-ACK-v1700 is the one applicable to NTN, while dl-DataToUL-ACK-r17 is applicable up to 71 GHz. If dl-DataToUL-ACK-r16, dl-DataToUL-ACK-r17 or dl-DataToUL-ACK-v1700 is signalled, the UE ignores dl-DataToUL-ACK without a suffix. The value -1 corresponds to an inapplicable value, for the case where the A/N feedback timing is not explicitly included when the PDSCH is scheduled.

HARQ processes and feedback disabling

Two Rel-17 additions carry the NTN HARQ adaptation : the process count is raised to 32, and feedback can be switched off per process. Both are visible in the last extension group below.

TS 38.331 - PDSCH-ServingCellConfig and the code-block-group types
PDSCH-ServingCellConfig ::= SEQUENCE {
    codeBlockGroupTransmission        SetupRelease { PDSCH-CBGT }   OPTIONAL,  -- Need M
    xOverhead                         ENUMERATED {xOh6,xOh12,xOh18} OPTIONAL,  -- Need S
    nrofHARQ-ProcessesForPDSCH        ENUMERATED {n2,n4,n6,n10,n12,n16}OPTIONAL,  -- Need S
    pucch-Cell                        ServCellIndex                 OPTIONAL,  -- Cond SCellAdd
    ...,
    [[
    maxMIMO-Layers                    INTEGER (1..8)                OPTIONAL,  -- Need M
    processingType2Enabled            BOOLEAN                       OPTIONAL   -- Need M
    ]],
    [[
    pdsch-CodeBlockGroupTransmissionList-r16
                                      SetupRelease { ...-r16 }      OPTIONAL   -- Need M
    ]],
    [[                                -- Rel-17, used by NTN
    downlinkHARQ-FeedbackDisabled-r17 SetupRelease { ...-r17 }      OPTIONAL,  -- Need M
    nrofHARQ-ProcessesForPDSCH-v1700  ENUMERATED {n32}              OPTIONAL   -- Need R
    ]]
}

DownlinkHARQ-FeedbackDisabled-r17 ::= BIT STRING (SIZE (32))

PDSCH-CodeBlockGroupTransmission ::= SEQUENCE {
    maxCodeBlockGroupsPerTransportBlockENUMERATED {n2,n4,n6,n8},
    codeBlockGroupFlushIndicator      BOOLEAN,
    ...
}

PDSCH-CodeBlockGroupTransmissionList-r16 ::= SEQUENCE (SIZE (1..2))
                                    OF PDSCH-CodeBlockGroupTransmission

downlinkHARQ-FeedbackDisabled : Used to disable the DL HARQ feedback, sent in the uplink, per HARQ process ID. The first / leftmost bit corresponds to HARQ process ID 0, the next bit to HARQ process ID 1 and so on. Bits corresponding to HARQ process IDs that are not configured shall be ignored. The bits set to one identify HARQ processes with disabled DL HARQ feedback and the bits set to zero identify HARQ processes with enabled DL HARQ feedback.

NOTE : The BIT STRING is 32 bits wide, which is exactly why nrofHARQ-ProcessesForPDSCH-v1700 tops out at n32. Even 32 processes cannot cover a GEO round trip of 541 ms at a 1 ms slot - which is the whole reason feedback disabling exists alongside the larger process count. See Why HARQ Stalls in NTN.

NTN-Parameters - the capability container

On the capability side, Rel-17 does not scatter NTN flags through the existing structures. It defines one container that re-uses whole terrestrial capability structures, so a UE can declare a different set of MAC, PHY and mobility capabilities when it is operating over NTN than when it is on a terrestrial cell. That is a compact way of saying "everything I told you before may be different in space".

TS 38.331 - NTN-Parameters-r17
NTN-Parameters-r17 ::= SEQUENCE {
    inactiveStateNTN-r17              ENUMERATED {supported}        OPTIONAL,
    ra-SDT-NTN-r17                    ENUMERATED {supported}        OPTIONAL,
    srb-SDT-NTN-r17                   ENUMERATED {supported}        OPTIONAL,
    measAndMobParametersNTN-r17       MeasAndMobParameters          OPTIONAL,
    mac-ParametersNTN-r17             MAC-Parameters                OPTIONAL,
    phy-ParametersNTN-r17             Phy-Parameters                OPTIONAL,
    fdd-Add-UE-NR-CapabilitiesNTN-r17 UE-NR-CapabilityAddXDD-Mode   OPTIONAL,
    fr1-Add-UE-NR-CapabilitiesNTN-r17 UE-NR-CapabilityAddFRX-Mode   OPTIONAL,
    ue-BasedPerfMeas-ParametersNTN-r17UE-BasedPerfMeas-Parameters-r16OPTIONAL,
    son-ParametersNTN-r17             SON-Parameters-r16            OPTIONAL
}

Parameter map : what each field is actually for

The ASN.1 above is organised the way the specification is organised. The table below reorganises the same fields the way an engineer meets them.

The question it answers

Field

Range / values

Comment

Where is the satellite ?

ephemerisInfo-r17

PositionVelocity or Orbital

Timing and Doppler pre-compensation both start here

When is that true ?

epochTime-r17

SFN 0..1023, subframe 0..9

The origin for every extrapolation

How much common delay ?

ta-Common-r17

0..66485757 (approx. 270.73 ms)

The RP-to-satellite round trip the UE cannot compute itself

How fast is it changing ?

ta-CommonDrift-r17

-257303..257303 (approx. +/- 51.5 us/s)

First-order term; signed because the satellite may approach or recede

And its curvature ?

ta-CommonDriftVariant-r17

0..28949 (approx. 0.58 us/s2)

Second-order term, keeps the extrapolation valid over a pass

How long may I use it ?

ntn-UlSyncValidityDuration-r17

s5 ... s60, s120, s180, s240, s900

Drives timer T430; short values imply LEO, s900 implies GEO

How far ahead do I schedule ?

cellSpecificKoffset-r17

1..1023 slots at 15 kHz

Restores causality for uplink scheduling relationships

When does a MAC CE apply ?

kmac-r17

1..512 slots at 15 kHz

Only when DL and UL frame timing are not aligned at the gNB

Tell the network my TA

ta-Report-r17

enabled

Lets the network reconstruct the absolute delay it no longer measures

Which polarisation ?

ntn-PolarizationDL / UL-r17

rhcp, lhcp, linear

If UL is absent but DL present, the UE assumes the same for both

When does this cell stop ?

t-Service-r17

0..549755813887

Planned expiry of a quasi-Earth-fixed cell

Where is the cell centred ?

referenceLocation-r17 / distanceThresh-r17

OCTET STRING / 0..65525

Location-based measurement triggering; 50 m per step

What comes next ?

ntn-NeighCellConfigList-r17

up to maxCellNTN-r17 = 4 cells

Pre-computation for a satellite the UE has not switched to yet

HARQ in long RTT

downlinkHARQ-FeedbackDisabled-r17

BIT STRING (SIZE (32))

Per-process feedback disabling, alongside n32 processes

NOTE : Reading down the Field column, notice how much of NTN RRC is geometry plus an expiry date. There is no field that tells the UE what to do - only where things are, when that was true, and how long it may be believed. Every behaviour is derived by the UE from those facts. That is a very different style from most of the rest of 38.331, and it is a direct consequence of the decision to require GNSS in the UE.

What is deliberately absent

It is worth noticing what is not in NTN-Config. There is a common timing advance with two derivatives, but there is no common frequency offset - no ta-Common equivalent for Doppler. That is not an omission. The feeder-link Doppler and the payload oscillator error are removed by the network before the signal reaches the UE, so there is nothing to tell the UE about. The UE computes its own service-link Doppler from the same ephemeris it uses for timing. The asymmetry is explained in The Timing / Frequency Asymmetry.

UE Capability

NR NTN capability signalling starts with the Release 17 access indication and uses dedicated capability fields where NTN behavior differs from terrestrial-network behavior. Release 18 adds connected-mode SIB19 reception, satellite switching, dedicated neighbour ephemeris, conditional handover, and mobile-terminated small-data support. Release 19 adds TN-to-NTN and NTN-to-NTN redirection, Ku-band VSAT characteristics, and FR1 NTN support for eRedCap devices.

Capability baseline: 3GPP TS 38.306 V19.2.0 (2026-03), Release 19. The RRC capability container structure summarized here is based on 3GPP TS 38.331 V17.6.0.

  • NTN-Parameters-r17 Conveys the subset of UE radio-access capabilities that applies differently to NTN access than to terrestrial access.
    • inactiveStateNTN-r17, ra-SDT-NTN-r17, and srb-SDT-NTN-r17
    • measAndMobParametersNTN-r17, mac-ParametersNTN-r17, and phy-ParametersNTN-r17
    • fdd-Add-UE-NR-CapabilitiesNTN-r17 and fr1-Add-UE-NR-CapabilitiesNTN-r17
    • ue-BasedPerfMeas-ParametersNTN-r17 and son-ParametersNTN-r17
    • If an NTN-specific differential field is absent, the corresponding terrestrial capability field applies.
  • nonTerrestrialNetwork-r17 Indicates whether the UE supports NR NTN access.
    • Extends timers in MAC, RLC, and PDCP layers to handle long RTT.
    • Adapts RACH procedure to large propagation delay.
    • Receives NTN-specific System Information Blocks (SIBs).
    • Supports multiple TACs per PLMN broadcast within one cell.
  • uplinkPreCompensation-r17 Indicates support for uplink time and frequency pre-compensation and NTN timing-relationship enhancements. uplink-TA-Reporting-r17 separately indicates support for reporting timing-advance pre-compensation information.
    • UE-specific Timing Advance (TA) calculation using GNSS position and satellite ephemeris.
    • Use of network-provided common TA, cellSpecificKoffset, and kmac.
    • Application of calculated timing advance to uplink transmissions and random access.
    • Performs frequency pre-compensation to counter Doppler shift on the service link.
    • uplink-TA-Reporting-r17 enables TA reporting during initial access when configured by the network.
  • inactiveStateNTN-r17 Indicates UE support for RRC_INACTIVE in NTN as specified in TS 38.331.
    • Mandatory if nonTerrestrialNetwork-r17 is supported.
  • ra-SDT-NTN-r17 Indicates UE support for initiating mobile-originated Small Data Transmission over random access in RRC_INACTIVE.
    • Supports 4-step RA type.
    • If twoStepRACH-r16 is supported for NTN, supports 2-step RA type as well.
    • Defined in TS 38.331.
    • Requires nonTerrestrialNetwork-r17 support.
  • srb-SDT-NTN-r17 Indicates support for using SRB2 for mobile-originated or mobile-terminated SDT over random access or configured grants in NTN.
    • Defined in TS 38.331.
    • Requires support for at least one applicable NTN RA-SDT, CG-SDT, or MT-SDT capability.
    • Requires nonTerrestrialNetwork-r17 support.
  • ntn-ScenarioSupport-r17 Indicates whether the UE supports NTN features in GSO or NGSO scenario.
    • If not present but nonTerrestrialNetwork-r17 is supported:
      • UE supports both GSO and NGSO.
      • UE supports mobility between GSO and NGSO.
  • Release 18 Satellite Mobility and Access Adds capability signalling for acquiring assistance while connected to a terrestrial cell, switching satellites, NTN conditional handover, dedicated neighbour ephemeris, and mobile-terminated SDT.
    • sib19-Support-r18 - receives SIB19 in RRC_CONNECTED in a TN cell for NTN satellite assistance.
    • hardSatelliteSwitchResyncNTN-r18 - supports hard satellite switching with re-synchronization.
    • softSatelliteSwitchResyncNTN-r18 - supports soft switching and also requires hard-switch support.
    • ntn-CHO-OnlyLocationTimeTrigger-r18 - supports NTN conditional handover using only location- or time-based trigger events.
    • ntn-NeighbourCellInfoSupport-r18 - supports dedicated neighbour ephemeris in MeasObjectNR.
    • mt-SDT-NTN-r18 - supports mobile-terminated SDT initiated in response to paging.
  • Release 19 Redirection Extends mobility into and within NTN through explicit redirection capabilities.
    • ntn-Redirection-r19 - supports redirection from an NR terrestrial frequency to an NR NTN frequency.
    • ntn-RedirectionWithSatelliteInfo-r19 - supports receiving satellite assistance in RRCRelease for redirection between NR NTN frequencies.
    • Both capabilities require nonTerrestrialNetwork-r17.
  • VSAT and Reduced-Capability NTN Identifies antenna steering, mobility class, and reduced-capability operation for newer NTN frequency ranges and device types.
    • ntn-VSAT-AntennaType-r18 and ntn-VSAT-MobilityType-r18 cover FR2-NTN bands above 14.5 GHz.
    • ntn-VSAT-AntennaTypeKuBand-r19 and ntn-VSAT-MobilityTypeKuBand-r19 cover FR1/FR2 NTN bands from 10.7 GHz to 14.5 GHz.
    • ntn-ERedCap-FR1-r19 indicates FR1-NTN support for an eRedCap UE and requires the applicable eRedCap capability.
  • cqi-4-BitsSubbandNTN-SharedSpectrumChAccess-r17 Indicates support for 4-bit per-subband CQI reporting for NTN and shared spectrum channel access.
  • dynamicSlotRepetitionMulticastNTN-SharedSpectrumChAccess-r17 Indicates maximum number of supported dynamic slot-level repetitions for group-common PDSCH (multicast) for NTN and shared spectrum access.
    • Value n8 = 8 repetitions.
    • Value n16 = 16 repetitions.
    • Requires support for dynamicMulticastPCell-r17.
  • ta-BasedPDC-NTN-SharedSpectrumChAccess-r17 Indicates support for propagation-delay compensation based on the legacy timing-advance procedure for NTN and shared-spectrum channel access.