I have received a lot of requests to explain CSFB as it is one of the more complicated LTE KPIs. So, here is a brief explanation on how CSFB works and what are various ways to optimize the KPI itself.
If a handset is camped on LTE and it does not support VoLTE, then it needs to perform a CSFB to initiate a voice call. CSFB (Circuit Switched Fall Back) is a mechanism that sends the user from 4G to 3G/2G (CS RAT) where it can successfully complete a CS Voice Call. If CSFB is not enabled in the network, the incoming voice calls will fail, however outgoing voice calls can still work depending on the mobile. However, let’s start from the basics to understand this in detail.
The figure explains an incoming CSFB call when the UE is in idle mode. If the UE is in idle mode, the core needs to send a paging message to inform the UE that a voice call is being made to the UE and it needs to perform a CSFB. Once, the UE reads the paging message, it will initiate access starting with RACH and followed by RRC setup. The RRC Setup Complete message will contain the Extended Service Request (ESR) and the eNB passes this message to the EPC in S1 Initial UE Message. ESR is the indication to the EPC that the UE has successfully received the page and it wants to undergo CSFB process.
Based on this, the MME will send Initial Context Setup Request to the eNB with CSFB indicator. It is at this point that the eNB will be informed that the CSFB process needs to be started. So, most of the CSFB related counters peg CSFB attempt at this point. This also means that if the paging fails or ESR is not decoded by the eNB, the CSFB KPI on the eNB will not show any degradation. The question is why the eNB does not peg any CSFB counters for paging or ESR? The answer is that the paging is broadcasted and the eNB does not know if that paging message is intended for the UE in its coverage area as the UE is in idle mode and it has no RRC connection to the eNB. The ESR is a NAS message and this a communication between UE and MME as the eNB does not read the NAS messages. So, the only message that informs the eNB about the CSFB process is the MME’s response to the ESR NAS message that has CSFB indicator included.
Once the eNB gets the Initial Context Setup Process, it may send a Security Command and RRC Reconfiguration to the UE to create a RAB and as the UE responds to these messages, the eNB sends a Initial Context Setup Response to the MME. After this, the process may vary depending on the type of CSFB implementation done in the network. Usually, there are they types of CSFB mechanisms that are used but there are other variations as well.
- Blind CSFB: This is the most common type of CSFB implementation where the eNB will send the UE blindly to 3G/2G. In this case, the eNB will send a RRC Release with the target RAT’s frequency and the UE will be redirected to that frequency. The UE will search for that carrier and will try to connect to it and send a paging response to initiate the MT CS Call (Mobile Terminating). The gain of this type of implementation is that it is very quick and since most of the networks have a better coverage of CS RATs (2G and 3G) so a blind redirection should not be an issue usually. The drawback is that if the CS RAT has bad coverage or poor quality in that area, the call might fail or take extensively long time.
- Measurement Based CSFB: This means that the eNB will send a RRC Reconfiguration with measurement control and the UE will measure the 3G or 2G cells and once it finds a cell that meets the required thresholds, it will send a Measurement Report (MR) to the eNB. The eNB will then send a RRC Release to the UE and the UE will try to initiate a CS call on that RAT. Over here, the CSFB can also be based on handover in which case, the eNB will initiate a handover to the target RAT’s cell and send the UE to that specific cell for which the MR has been generated by the UE. This type of implementation usually has more reliability but the delay is higher in call setup because the UE takes around 500 to 700 milliseconds to complete the measurement of the target CS RAT. Secondly, a handover-based implementation degrades the KPI as well since a small number of handovers fail in preparation phase. Usually, such an implementation is governed by a timer such that if the UE is unable to find 3G then if the timer expires, the eNB will blindly send the UE to 2G. This reduces the delay and improves the reliability of the call.
- RIM or Flash CSFB : This is a mechanism in which eNB fetches System Information (SIBs) from the target RAT and sends the SIBs to the UE in the RRC Release message. This reduces the time, the UE takes to connect to the target RAT as it will not have to read all the SIBs again. The drawback of this approach is that there can only be a limited number of SIBs that can be sent in a RRC Release message and the UE might not be able to find that cell in the target RAT so then it will still have to go through all the SIBs. However, this approach can work with both blind CSFB or measurement-based CSFB redirections and usually it brings gain to both the implementations.
Once the UE moves to the target RAT, it still needs to connect to initiate the call. There is a possibility that the call setup fails in this part and the call might fail. However, once again, this will not be pegged in the CSFB KPI on the eNB as the for the eNB, the CSFB is successful when it sends the RRC Release. The eNB has no way of knowing whether the call was successful on 2G/3G. Thus, when there is a complaint of a call failure, just looking at the CSFB KPI does not give the complete picture. It is a good idea to check the CS paging success rate and call setup success rate on the CS RATs as well.
If the CSFB KPI is bad then it can basically mean two things. Either there is an issue in the EPC to eNB phase or there is an issue in the eNB to UE Release phase.
- EPC to eNB Phase: I call the portion where the MME tells the eNB that a CSFB is required as the “EPC to eNB Phase”. In idle mode, this phase describes the portion from Initial Context Setup Request to Initial Context Setup Response while in connected mode, this covers the UE Context Modification Request to UE Context Modification Response. Usually, the failures in this phase happen in the connected mode and they are mostly related to conflict with other procedures. For instance, if the UE is performing a handover and MME sends a UE Context Modification Request to the eNB for CSFB, the eNB might reject it saying that the UE is already undergoing handover procedure. Such issues can be mitigated by reducing handovers – if the number of handovers is huge or some vendors offer features to prioritize CSFB over other procedures. However, such failures do not cause a call failure as the MME will resend the CSFB request to the target eNB. If both the connected mode and idle mode phases show failures then it usually indicates a CSFB license issue or the feature is not activated.
- eNB to UE Release Phase: Once the eNB has responded to the MME with Initial Context Setup Response or UE Context Modification Response, then the eNB will start the procedure over the air interface. In case of blind CSFB, the eNB just sends a RRC Release to the UE. If the RRC Release is not sent, then usually it is related to configuration of UTRAN frequencies or neighbors depending on the vendor. If the CSFB is measurement based and it is taking too long then verify if the UE is sending the Measurement Report in time (within 700 milliseconds). If it is taking longer than that then that normally indicates that the target thresholds (B1/B2) are too difficult. For instance, if the target RAT is 3G and the B1 threshold is set to -8 dB EcNo, the UE might find it difficult to find a cell that meets this threshold and will take a longer time to send the Measurement Report. So reducing the threshold to -12 or -14 will help in resolving this issue.
These are some of the basics on CSFB and I will write another article on how to reduce the CSFB call setup time and also about issues that cause a E2E CSFB call setup failure like TAC definition, Inter-MSC issues and paging failures.
In case of any queries or feedback, please drop a comment below and I would love to respond and help.