Scheduling Request in 5G-NR
1. Introduction to Scheduling Request
The concept of Scheduling request is same for LTE and 5G NR. Scheduling request is way for UE to tell the network that it has some data in its MAC buffer and it needs PHY resources in Uplink to send that data. Scheduling Request (SR) is only triggered when the UE does not any have any uplink resources scheduled to transmit any data i.e PUSCH resources.
From a Network stand point view the network can periodically allocate UL resources via PUSCH to UE, incase if UE needs to send uplink data or it can be configured with configured grant where the UE can send PUSCH periodically with only a set of predefined resource blocks without any PDCCH allocation i.e. DCI scheduling. Both these approaches can help in certain situations but will not help when the cell is loaded and when there are a lot of users on the cell, and the gNB will have lower the resources to allocate to all UE’s for PUCCH.
In another approach the network can configure the UE to send an indication in uplink when it has to send an uplink data on PUCCH and then the network can allocate PUSCH resources to UE to send uplink data.
The Classroom Analogy
A unique analogy for SR would be a student raising their hand in class to ask the teacher a question.
- The Student: The UE
- The Teacher: The gNB
- The Question: The UL data
When the student raises their hand, they are essentially sending an SR message to the teacher. The teacher then decides whether or not to call on the student, which is analogous to the gNB granting or denying an UL grant.
Scheduling request is a lower layer i.e MAC layer process. The MAC entity may be configured with zero, one, or more SR configurations.
SR Configurations
SR Configurations consists of a set of:
- PUCCH resources
- Scheduling requests for different BWP’s
- Per cell i.e Primary node and secondary node (eg- NR-DC)
- For a Logical channel
- Scell beam failure recovery
- and for consistent LBT failure recovery
The network configures Scheduling request Configuration to UE, it specifics the periodicity and the PUCCH resource the UE can use when sending scheduling requests.
The UE Can be configured with Multiple Logical channels and each logical channel can be mapped with SchedulingRequestID. Multiple logical channels can have Multiple SchedulingRequestID’s mapped or Multiple logical channels can be mapped to a single SchedulingRequestID.
Typically if UE has been configured to send Multiple types of data such Low latency, Voice Calls and regular data traffic then it can be configured with Multiple Logical channels.
2. RRC Configuration & Parameters
The MAC entity can be configured with multiple SR configurations. This allows the network to distinguish between high-priority (URLLC) and best-effort (eMBB) traffic at the physical layer.
SchedulingRequestConfig (MAC-CellGroupConfig)
This IE defines the "rules of engagement" for SR transmissions. The IE SchedulingRequestConfig is used to configure the parameters, for the dedicated scheduling request (SR) resources
When UE receives the SR Configuration, It will know how many SR resources has been assigned to it, the corresponding PUCCH resource to be used.
| Parameter | Function | Technical Nuance |
|---|---|---|
sr-ProhibitTimer | Prevents SR "flooding." | The UE must wait for this timer to expire before retransmitting an SR on the same configuration. |
sr-TransMax | Retransmission limit. | If reached, the UE triggers a Random Access (RACH) procedure and informs RRC of a potential Radio Link Failure (RLF). |
schedulingRequestId | Unique Identifier. | Used to link the MAC-layer configuration to the Physical-layer resource. |
Once UE transmits an SR it starts a local timer as indicated in sr-ProhibitTimer, the timer is stopped if it receives a UL grant for the SR transmitted. If the sr-ProhibitTimer expires the UE will send another SR. This process continues until the UE has reached maximum SR transmission allowed.
SchedulingRequestResourceConfig (PUCCH-Config)
This defines the actual physical "slots" where the UE can transmit the SR.
- Periodicity and Offset: Unlike LTE, the SR periodicity in NR is defined in slots (e.g., 2 symbols, 1 slot, 80 slots).
- The SCS Factor: Because 5G supports multiple Subcarrier Spacings (SCS), a "10-slot" periodicity at 15kHz (10ms) is vastly different from 10 slots at 120kHz (1.25ms).
- phy-PriorityIndex: (Introduced in Rel-16) A value of
p1(high priority) allows the PHY layer to prioritize this SR over other overlapping transmissions, essential for low-latency services.
| SchedulingRequestConfig field | Description |
|---|---|
| schedulingRequestToAddModList | List of Scheduling Request configurations to add or modify |
| schedulingRequestToReleaseList | List of Scheduling Request configurations to release. |
| SchedulingRequestToAddMod field | Description |
|---|---|
| schedulingRequestId | Used to modify a SR configuration and to indicate mapping in LogicalChannelConfig and SchedulingRequestresourceConfig. |
| sr-ProhibitTimer | Timer for SR transmission on PUCCH (ms). Value ms1 = 1ms, etc. Absent = 0. |
| sr-TransMax | Maximum number of SR transmissions (n4=4, n8=8, etc.) |
SchedulingRequestResourceConfig
The IE SchedulingRequestResourceConfig determines physical layer resources on PUCCH where the UE may send the dedicated scheduling request.
| Field | Description |
|---|---|
| periodicityAndOffset | SR periodicity and offset in symbols or slots. Periodicities vary by SCS (15, 30, 60, 120 kHz). |
| phy-PriorityIndex | Indicates priority: p0 (low) or p1 (high) for PHY multiplexing. |
| resource | ID of the PUCCH resource (Format 0 or 1) configured in PUCCH-Config. |
| schedulingRequestID | Used to modify a SR configuration and to indicate, in LogicalChannelConfig, the SR configuration to which a logical channel is mapped and to indicate, in SchedulingRequestresourceConfig, the SR configuration for which a scheduling request resource is used.. |
Logical Channel Mapping
Every LogicalChannelConfig has a SchedulingRequestID mapped along with LogicalChannelSR-mask and LogicalChannelSR-DelayTimerApplied IEs.
The LogicalChannelSR-mask controls scheduling request triggering for the logical channel when it has configured uplink grant of either Type1 or Type2. If configured uplink grant is available for the logical channel then UE can send PUSCH in uplink during the configured grant period.
If the LogicalChannelSR-mask is set to ‘true’ then SR masking is set to be configured for this logical channel i.e UE can transmit scheduling request for this logical channel if there is any data in MAC buffer and the UE cannot wait until the configured uplink grant period occurs. This situation might happen when Logical Channel is associated with low latency data and the configured uplink grant has a large periodicity.
The IE logicalChannelSR-DelayTimerApplied indicates whether to apply the delay timer for SR transmission for the logical channel. This flag activates a timer which is used to delay the transmission of SR which is included in BSR config i.e logicalChannelSR-DelayTimer.
Below is an illustration of Logical Channel config mapped to Scheduling request Configuration:
3. Logical Channel Optimization
5G-NR provides granular control over which data triggers an SR through two key mechanisms:
A. The SR Mask (logicalChannelSR-Mask)
If a UE is configured with a Configured Grant (Type 1 or Type 2), it already has periodic UL resources. If logicalChannelSR-Mask is set to true, the UE is prohibited from sending an SR for this specific logical channel. This forces the UE to wait for its next pre-allocated grant, saving PUCCH overhead.
B. SR Delay Timer
The logicalChannelSR-DelayTimer is configured in the BSR-Config.
- Use Case: It prevents the UE from immediately sending an SR for certain data, giving it a window to see if a UL grant arrives via other means (like dynamic scheduling or a different LCG).
- Activation: It is only applied to logical channels where
logicalChannelSR-DelayTimerAppliedis set totrue.
4. Failure Handling: What happens if SR fails?
If the UE sends an SR and receives no response after sr-TransMax attempts:
- RACH Trigger: The UE cancels all pending SRs and initiates a Random Access procedure (contention-based) on the SpCell.
- MAC to RRC: The MAC layer notifies RRC of the SR failure.
- RLF: If the RACH procedure also fails, the UE declares Radio Link Failure and begins the RRC Re-establishment process.
5. The SR-BSR Lifecycle
It is a common misconception that SR and BSR (Buffer Status Report) are independent. In reality, the SR is often a "trigger" to get enough resources to send a BSR.
- Trigger: Data arrives in the UE's MAC buffer.
- BSR Trigger: A Regular BSR is triggered.
- SR Trigger: If no UL resources are available to send the BSR, the UE triggers an SR.
- Physical Signal: The UE sends a 1-bit signal on its configured PUCCH resource.
- UL Grant: The gNB responds with a DCI Format 0_0 or 0_1 (UL Grant).
- Transmission: The UE sends the BSR (and potentially data) via PUSCH.

WirelessBrew Team
Technical expert at WirelessBrew, specializing in 5G NR, LTE, and wireless system optimization. Committed to providing accurate, 3GPP-compliant engineering tools.
Up Next
More 5g nr Articles →