Dynamic scheduling helps the LTE network assign radio resources to users based on real-time needs. This method is important for services like VoLTE, which require low delay and high reliability.
Dynamic scheduling is mainly supported on macro eNodeBs. It is not suitable for LampSite eNodeBs, which do not support high-speed mobility or 1.4 MHz bandwidth. So, the scheduling strategies mentioned here should only be applied to macro eNodeBs.
Voice services like VoLTE are very sensitive to delay. To meet voice quality requirements, the network scheduler gives higher priority to voice packets. This ensures that the voice service quality of service (QoS) is maintained even during heavy traffic.
When VoLTE is used, it is recommended to use the Enhanced Proportional Fair (EPF) scheduling policy. This policy balances fairness with service priority and is effective in managing voice traffic.
For uplink scheduling, set the parameter CellUlschAlgo.Ulsch Strategy
to ULSCH_STRATEGY_EPF
.
For downlink scheduling, set the parameter CellDischAlgo.Disch Strategy
to DLSCH_PRI_TYPE_EPF
.
These settings help the scheduler treat voice traffic more efficiently, ensuring smooth and clear voice communication.
Uplink Dynamic Scheduling for VoLTE
In LTE, uplink dynamic scheduling decides how the network assigns uplink resources in real time. When using the Enhanced Proportional Fair (EPF) algorithm, VoLTE (QCI 1) packets are given moderate priority. Specifically, voice packets have lower priority than certain critical data types but higher priority than other regular traffic. The types of data with higher priority than VoLTE include:
- HARQ retransmissions
- Signaling radio bearers SRB1 and SRB2
- IMS signaling (QCI 5)
- Public safety control signaling (QCI 69)
- Public safety voice services (QCI 65)
Uplink HARQ Retransmission Policies
The number of times voice packets can be retransmitted in the uplink (HARQ transmissions) is controlled by specific settings. These settings depend on whether a special optimization switch is enabled and whether TTI bundling is in use.
1. When Cross-layer Optimization Is Disabled
If the parameter CellUlschAlgo.UlEnhancedVoipSchSw.UlVoipCrosslayerOptSwitch
is deselected, then:
- If the UE is not in TTI bundling state:
- The voice-specific HARQ transmission limit is controlled by
CellQciPara.UIHarqMaxTxNum
. - If this parameter is set to NO, the default HARQ setting in
CellUlschAlgo.UlHarqMaxTxNum
is used instead. - If it has a value other than NO, then the value in
CellQciPara.UlHarqMaxTxNum
is used. - Note: Using voice-specific HARQ limits is not recommended in cells with heavy uplink traffic.
- The voice-specific HARQ transmission limit is controlled by
- If the UE is in TTI bundling, then the HARQ limits follow the rules defined under Data Block Transmission.
2. When Cross-layer Optimization Is Enabled
If the UlVoipCrosslayerOptSwitch
is selected, the maximum number of HARQ transmissions for VoLTE is decided by the cross-layer optimization function itself, adapting dynamically for performance.
Optimized Uplink MCS Selection for Voice Services
When using dynamic scheduling for VoLTE, it’s important to choose the right uplink modulation and coding scheme (MCS) to keep voice quality high. A key parameter that helps with this is:
CellUlschAlgo.UlVolteDeltaSinrForNack
This parameter adjusts how aggressively or conservatively the eNodeB selects the MCS for voice packets.
- If this parameter is set to 0, the feature is disabled and MCS selection follows standard behavior.
- If it is set to a value other than 0, the feature is enabled. The eNodeB will lower the MCS index for voice UEs by the configured value.
This means the network will choose a slightly more robust (lower rate) MCS, which reduces the chance of packet loss. This helps improve the overall voice quality and user experience.
However, this function is not recommended for cells that are already heavily loaded in the uplink, as it may reduce spectral efficiency and affect other users.
In FDD mode, the effect is applied directly by subtracting the configured value from the MCS index for uplink voice traffic.
RB Increase for First Uplink Retransmission
When dynamic scheduling is used for VoLTE, enabling smarter retransmission strategies can help reduce packet loss and improve call quality. One such feature is the option to increase Resource Blocks (RBs) during the first uplink retransmission, if the system has enough available PRBs.
To enable this, you should select the following option:
CellUlschAlgo.UIVoLTERetransSchStrategy.FIRST_RETRANS_EXPN_RB_SWITCH
When this option is enabled:
- The eNodeB checks the UE’s transmit power and decides whether to increase RBs for retransmission starting from the first attempt.
- This adaptive retransmission approach improves the chance of successful delivery of voice packets and helps maintain good voice quality.
- This setting is especially useful when uplink radio conditions are weak, but PRBs are available.
Important Note:
If this switch is enabled, RB expansion is applied from the first retransmission onwards, regardless of whether the UlLast2RetransSchOptSwitch
option (in CellAlgoSwitch.UISchSwitch
) is enabled or not.
In short, turning on this setting allows the network to boost resources early in the retransmission process, which helps reduce uplink packet loss for voice services in FDD cells as long as there’s enough bandwidth available.
Uplink Voice Pre allocation
Uplink voice pre allocation is a technique designed to reduce delay in voice services by allocating uplink resources in advance specifically for voice traffic. This helps voice packets get transmitted quickly, improving the overall quality and responsiveness of VoLTE calls.
When the number of online UEs in a cell exceeds a certain threshold set by the parameter CellUlschAlgo.PreallocationUserCntThid
the eNodeB will preallocate uplink resources only for voice service UEs. This ensures that voice users get prioritized access to the uplink resources when the network is busy.
If the number of UEs is equal to or below this threshold, the eNodeB will maintain the existing uplink preallocation or uplink smart preallocation mechanisms, which allocate resources more broadly to all users rather than focusing on voice traffic.
This feature is controlled by the UlVoipPreAllocationSwitch
option within the CellUlschAlgo.UlEnhancedVoipSchSw
parameter. Enabling this switch allows the network to dynamically prioritize uplink resources for voice services during times of higher load, helping to keep voice communication smooth and with minimal delay.
Optimized Uplink VoLTE Retransmission
When dynamic scheduling is used for voice services, it is recommended to enable the UlVoipRblerControlSwitch
option in the CellUlschAlgo.UlEnhancedVoipSchSw
settings. Turning on this option helps reduce the loss of voice packets, which leads to a better user experience during calls.
Once enabled for a cell, the eNodeB monitors voice service uplink retransmissions and decides whether to apply Resource Block (RB) increased adaptive retransmission specifically for the last two retransmissions. This decision is based on two factors: the number of retransmissions already made and the UE’s transmit power.
By adapting retransmission resources this way, the network improves the chances that voice packets are successfully delivered, maintaining call clarity and reducing dropouts.
Uplink Modulation Scheme Restriction for Voice Service UEs
To improve the reliability of uplink transmissions for voice service users, the base station can restrict the use of the highest uplink modulation scheme, 256QAM, based on a specific setting.
This setting is controlled by the option VOLTE_FORBID_UL_256_QAM_SW
within the VolteAlgoConfig.VolteOptSwitch
parameter. If this option is enabled, uplink 256QAM is prohibited for voice service UEs. Instead, the highest modulation allowed for these users is 64QAM.
If the option is disabled, there is no restriction, and voice service UEs can use uplink 256QAM when conditions allow.
While restricting uplink modulation to 64QAM may limit the maximum data rate when the uplink signal-to-noise ratio (SNR) is high, it enhances the reliability of voice transmissions, ensuring better call quality and fewer errors.
Downlink Dynamic Scheduling
When dynamic scheduling is used for downlink traffic, the way priorities are assigned depends on whether DL Non-GBR Packet Bundling is enabled or not.
Scheduling Priorities for Initial Transmissions
- If DL Non-GBR Packet Bundling is disabled:
Using the downlink EPF scheduling algorithm, voice packets (QCI 1) have a priority that is lower than certain important signals like UE-specific control info, IMS signaling (QCI 5), public safety signaling (QCI 69), public safety voice (QCI 65), HARQ retransmissions, and RLC AM status reports. However, voice packets still have higher priority than other initial transmissions. - If DL Non-GBR Packet Bundling is enabled:
The priority of voice packets (QCI 1) is no longer strictly higher than other initial transmissions. Instead, the eNodeB evaluates and sorts all priorities together to make more flexible scheduling decisions.
Scheduling Priorities for Retransmissions
For retransmissions, the scheduling priority depends on the DIVoiceRetransOptSwitch
option within the CellDischAlgo.DlEnhancedVoipSchSw
parameter. This setting controls how the eNodeB prioritizes retransmissions of voice packets in the downlink, helping balance reliability and resource efficiency.
MCS Selection Policy
For QCI 1 Bearers (Voice Services)
The choice of Modulation and Coding Scheme (MCS) for voice bearers can be based on the Transport Block Size (TBS). This TBS-based MCS selection is controlled by the VoipTbsBasedMcsSelSwitch
option in the CellAlgoSwitch.DISchSwitch
parameter.
- If the option is enabled:
The eNodeB decides whether to use TBS-based MCS selection depending on how many VoLTE UEs are online and the initial block error rate (IBLER). When active, the eNodeB picks a lower-index MCS during talk spurts based on packet size but keeps the number of resource blocks (RBs) the same. This approach reduces retransmissions and lowers delay, improving voice quality. - If the option is disabled:
The eNodeB selects the MCS based on the downlink CQI adjustment algorithm instead.
Additionally, when TBS-based MCS selection is enabled, an optimization controlled by the TBS_MCS_SEL_OPT_SW
option in CellDlSchExtParam.DISchExtSwitch
allows this method to apply even when UEs have low IBLER, further improving performance.
For QCI 5 Bearers (IMS Signaling)
If the DIVoiceRetransOptSwitch
option in CellDischAlgo.DlEnhancedVoipSchSw
is enabled, the MCS chosen for retransmissions is set to the normal MCS index minus 2, which uses a more robust coding scheme to increase reliability.
Downlink Voice Packet Bundling
When dynamic scheduling is used, operators can enable downlink voice packet bundling by selecting the DlVoipBundlingSwitch
option in the CellAlgoSwitch.DlSchSwitch
parameter. This feature allows the network to bundle two voice packets together for scheduling.
Bundling voice packets reduces the number of PDCCH control channel elements (CCEs) needed to manage downlink VoLTE services. This helps improve scheduling efficiency and network resource utilization.
However, this feature can only be enabled for cells with a downlink bandwidth of 5 MHz or higher. The downlink bandwidth of a cell is configured by the Cell.DlBandwidth
parameter.
Optimized TBS Index Adjustment for Downlink Retransmissions
The optimized adjustment of the Transport Block Size (TBS) index for downlink retransmissions is managed by the DlRetxTbsindexAdjOptSwitch
option in the CellAlgoSwitch.CalAdjAlgeSwitch
parameter.
When dynamic scheduling is used for voice services, it is recommended to enable this option. Doing so helps reduce the loss of voice packets during retransmissions, which improves the overall user experience for voice calls.
Voice Service Scheduling in DCI Format 1A
When uplink conditions are good but downlink interference is high or PDCCH coverage is limited, scheduling voice services using DCI format 1A can improve the reliability of PDCCH demodulation.
After enabling this feature, the network uses DCI format 1A for downlink grant scheduling in rank 1 transmissions or handovers for UEs with QCI 1 voice services operating in transmission mode 3 (TM3). This helps reduce the chance of downlink packet loss caused by DTX (discontinuous transmission) from missed PDCCH detection.
This feature is controlled by the VoLTEDci1aSwitch
option in the CellDischAlgo.DlEnhancedVoipSchSw
parameter.
Note: This function is not applied to UEs using 256QAM modulation to avoid frequent switching between DCI formats 1A and 2A, which can increase the residual block error rate (RBLER).
Enhanced voice service scheduling in DCI format 1A
Enhanced voice service scheduling in DCI format 1A expands the use of DCI format 1A beyond just UEs using QCI 1 services in TM3. It allows DCI format 1A to also be used during rank 1 transmissions and handovers, making it effective in more scenarios. This helps reduce downlink packet loss caused by missed PDCCH detection (DTX), improving VoLTE reliability. The feature is controlled by the VoLTEDci1aEnhancedSwitch
parameter.
Voice service UEs in TM3
The enhanced DCI format 1A scheduling function applies to voice service UEs in TM3, as well as UEs (in FDD mode) with a PDCCH aggregation level of 8 that are not in TM3, TM9, or TM10. However, it is not applied to UEs with 256QAM enabled. This restriction is in place to avoid frequent switching between DCI formats 1A and 2A, which could lead to an increase in residual block error rate (RBLER).
Optimized MCS selection for downlink voice services
The Optimized MCS selection for downlink voice services function helps improve VoIP quality by dynamically adjusting the downlink CQI based on HARQ feedback. Specifically, when a base station receives a NACK from a voice service UE during a talk spurt, it reduces the CQI value by a predefined amount (configured via the VolteNackDeltaCqi
parameter). This leads to a lower Modulation and Coding Scheme (MCS) index, helping reduce the packet loss rate and enhance the user’s voice experience.
This feature is activated by enabling the DLDeltaCqiOptSwitch
under the CellCqiAdjAlgo.DIVolteCqiAdjOptSw
parameter group. While it can slightly improve uplink performance and reduce VoIP uplink packet loss, it also increases the use of downlink resources (RBs and CCEs). As a result, it’s not recommended for heavily loaded cells, where it may lead to higher PDCCH DTX ratios due to limited resources.
Downlink intra-RBG MCS index decrease for voice service UEs
The Downlink intra-RBG MCS index decrease for voice service UEs function is designed to improve the reliability of voice data transmission by fine-tuning the MCS selection during scheduling. It is enabled through the VOLTE_MCS_SELECT_OPT_SW
option in the VolteAlgoConfig.VolteOptExtSwitch
parameter.
When this function is active, the scheduler rounds up the number of Resource Block Groups (RBGs) allocated to a voice service UE to the nearest whole number. It then selects a slightly lower MCS index based on the size of the data to be transmitted and the allocated Transport Block Size (TBS) for that Transmission Time Interval (TTI). The key condition is that the TBS must be sufficient to carry the data. This conservative approach prioritizes transmission reliability, helping to reduce the chance of retransmissions and voice quality degradation.
Downlink MCS index decrease for initial transmission of voice service UEs
The Downlink MCS index decrease for initial transmission of voice service UEs function aims to enhance the reliability of initial downlink transmissions for voice services. It is governed by the VolteAlgoConfig.VolteDiInitTransMcsDec
parameter.
When this function is enabled, the system reduces the downlink MCS index used for the first transmission of packets sent to voice service UEs. This conservative selection of MCS helps lower the risk of transmission errors, particularly in less favorable radio conditions. However, if the VolteAlgoConfig.VolteDlinitTransMcsDoc
parameter is set to 0, the MCS index remains unchanged, meaning the function is disabled and no additional protection is applied to initial transmissions.
Voice call hold optimization in VoLTE
The Voice call hold optimization function enhances the stability and quality of voice services, particularly during periods when a call is on hold. It is activated by enabling the VOLTE_CALL_HOLD_SW
option within the VolteAlgoConfig.VolteOptSwitch
parameter.
Once enabled, this function increases the tolerable delay on the air interface for voice service UEs. It does so by optimizing two key parameters: the PDCP-layer discard timer and the maximum number of downlink HARQ transmissions. These adjustments help reduce voice call drops and the downlink packet loss rate for VoIP, ultimately leading to improved voice quality. The specific configurations applied when the feature is active are detailed in Table below.
Optimized Usage of the Time Alignment Timer for Voice Service UEs
This feature, enabled via VOLTE_TA_TIMER_OPT_SW
in VolteAlgoConfig.VoLTEOptSwitch
, sets the Time Alignment Timer to INFINITY for voice UEs. This helps prevent uplink out-of-sync issues that can cause voice drops. However, it disables real-time correction of uplink timing errors. If disabled, uplink errors can be corrected promptly, but voice drop risk increases.
Separate Configuration of RLC ARQ for Voice Service UEs
By enabling VOLTE_CALL_HOLD_SW
under VolteAlgoConfig.VoLTEOptSwitch
, you can use the SrbRlcPdcpCfg.VoLTEEnodebMaxRetxThid
parameter to set a dedicated RLC ARQ max retransmission limit for SRBs of voice UEs. This enhances interference resistance and reduces voice call drops.
PDCCH Aggregation Level Optimization for Voice Service UEs (FDD)
This feature, enabled via the VoltePdcchDtxOptSwitch
option under CellUlschAlgo.UlEnhancedVoipSchSw
, fine-tunes the PDCCH aggregation level to improve uplink reliability for voice UEs:
- When a DTX is detected on PUSCH, the eNodeB increases the aggregation level by one for retransmission.
- If two consecutive DTX detection failures occur, a closed-loop adjustment of the aggregation level is triggered.
This reduces packet loss from uplink bit errors, enhancing voice quality.
RAR Optimization for Voice Service UEs During Handovers
Controlled by the VOLTE_HO_RAR_OPT_SW
under VolteAlgoConfig.VoLTEOptExtSwitch
, this function enhances RAR delivery during non-contention-based handovers:
- If a voice UE repeatedly sends dedicated preambles after handover, the eNodeB raises the PDCCH aggregation level to 8 for RAR.
- This improves RAR delivery reliability by lowering the chance of PDCCH detection failure.
PDCCH Boundary Power Control Optimization for Voice Service UEs (FDD)
This feature is enabled by the VOLTE_PDCCH_BOUNDARY_PC_OPT_SW
option under VolteAlgoConfig.VoLTEOptExtSwitch
.
Once the PDCCH aggregation level reaches its maximum, this function boosts the PDCCH power more quickly for voice UEs. This helps reduce PDCCH detection failures and enhances overall user experience.
Downlink Modulation Scheme Restriction for Voice UEs (Simplified Teaching Style)
This feature is managed by the VOLTE_FORBID_DL_256_QAM_SW
option in VolteAlgoConfig.VoLTEOptExtSwitch
.
- When enabled, the system blocks 256QAM for voice users, limiting them to a maximum of 64QAM.
- This improves downlink reliability, especially for VoIP, even if the signal (SNR) is strong.
- The trade-off is slightly lower data rates, but better voice quality and fewer drops.
- If the switch is disabled, voice UEs can use 256QAM as usual, with no modulation restriction.
A2 measurement configuration with two thresholds for voice services
In fast-moving scenarios, voice UEs often experience quick drops in signal quality (RSRQ) due to strong interference. This can delay handovers, causing the UE to lose connection and need to reestablish it.
To prevent this, the system uses two A2 thresholds to manage early reporting:
- Voice UEs with poor RSRQ send early A2 measurement reports when their RSRQ falls below a set threshold (
VolteAlgoConfig.VoltePrdcInterFA2RsrqThid
). - The base station waits to send more detailed A4 or A5 measurements until the UE’s RSRQ drops below a baseline A2 threshold (
InterFreqHoGroup.InterFreqHoA2ThdRsrq
).
This helps the network react faster to signal quality drops, reducing connection losses and improving voice call stability during fast movement or strong interference.
This function works only if the value set in VolteAlgoConfig.VoltePrdcInterFA2RsrqThid
is higher than the value of InterFreqHoGroup.InterFreqHoA2ThdRsrq
for the highest-priority QCI bearer. If this condition is met, the function becomes active and helps improve voice call stability during fast signal quality changes.
Removal of UL COMP-related measurement configurations for voice service UEs
When UL COMP is enabled and the channel quality is poor, voice service UEs might not report intra-frequency A3 measurements properly. This can delay handovers and cause RRC connection reestablishments, disrupting calls.
The removal of UL COMP-related measurement configurations for voice service UEs helps avoid these delays and connection drops. Controlled by the VOLTE_RMV_UL_COMP_MEAS_CFG_SW
option, this function makes sure that when UL COMP-related measurements exist, they are removed from new RRC reconfiguration messages for voice UEs. If such configurations were never sent, they won’t be triggered for QCI 1 services at all.
Even after a voice UE is handed over to a new cell, this function continues to prevent problems caused by UL COMP measurements, ensuring smoother voice call continuity.
Power Control in Dynamic Scheduling
Power control for voice services during dynamic scheduling follows the same policies as those used for data services. For more detailed information on these power control policies, you can refer to the general Power Control documentation.
There is a specific function called independent PDCCH power control for voice service UEs. When enabled, this allows the system to manage PDCCH power separately for voice UEs, improving control and potentially enhancing voice quality. This function is activated by selecting the VOLTE_PDCCH_PC_OPT_SW
option in the VolteAlgoConfig.VolteOptExtSwitch
parameter.
The way PDCCH power is allocated to UEs depends on the combination of the VOLTE_PDCCH_PC_OPT_SW
option and the PdcchPcSwitch
option in CellAlgoSwitch.DIPcAlgoSwitch
. These settings work together to determine the precise PDCCH power control behavior for voice UEs.
Table below UEs for which the PDCCH power is dynamically allocated under different parameter settings.