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. Also, If you liked this article, then please subscribe to our Youtube channel – Our Technology Planet for more exciting stuff and videos.
Latest posts by Ali Khalid (see all)
- How Smart ChatGPT Really Is? - January 9, 2023
- Identify Non-RAN Issues – How to find Backhaul or Core Network Issues - January 5, 2023
- STARLINK vs 5G – Who Will Win The Ultimate Race? - January 2, 2023
72 thoughts on “CSFB (Circuit Switch Fall Back) Explanation & Optimization”
how longer normally cst duration during CSFB (specially direct CSFB to 2G network) ?
Thank you for your comment.
Please follow the link below and post your question/feedback in Youtube comments section so that Ali Khalid will be able to answer.
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
How is it possible, can u please explain this scenario in detail or refer me a document to explain this very point
You are talking about Rach process during csfb, but ue is already connected in case of paging response I.e idle mode or cs service notification for connected mode after that you told Rrc connection request and everything is to be going on. But ue is already synchronized in unlink, why Rach process required? PLEASE EXPLAIN
Thank you so much for your explanation. I have a question. Do you have an explanation for a UE being camping on another carrier than the one sent in the RRC redirection message in CSFB although the carrier sent in the RRC release message is showing good radio conditions?
does anyone know any reason of 0 csfb attempts(GSM only) and at the same time too many drops in LTE ?
Check SCTP Link with wireless team,when IP is not defined properly then its give zero attempts.
Is there any specific set of SIP response codes for which CSFB is initiated in an VoLTE MT call?
I have seen that a 408 definitely leads to CSFB.
Hi Ali Khalid,
When actually CSFB attempt and succes happens??
From the KPI perspective, Attempt should be at Initial Context Setup or UE Context Modification while success should be at RRC Release to 3G/2G.
i´m waiting about Article on how to reduce the CSFB call setup time and also on issues that cause an E2E CSFB call setup failure, such as TAC definition, Inter-MSC issues and paging failures as promised
your articles teach me how to better understand 3G4G services
That is great to know. However we are shifting from articles to video lectures (Youtube) as it seems to be the popular demand. I will try to create a lecture on this topic too.
Hi, In CSFB after UE context release ….will UE be in no service mode for fraction of time?
Any RRC release can result in a No Service Mode if the target frequency is unavailable. A UE can be inaccessible during the time it gets RRC Release from eNB till the time it connects on 3G.
Aloha Mr. Ali Khalid,
Thank you, for a great article. I’m having issues trying to figure out why certain SIM card users are experiencing NO connectivity on their Android Head Unit (identical) to mines along with the SIM cards I provided. They all worked in Hawaii and I sent them to friends in the continental US like California, Dallas, and Florida.
Their SIM cards do not connect, and the Carrier T-Mobile has Excellent 4GLTE & 5G service in their respective cities. I told each friend to place the SIM card in the head unit and reboot it. It shows connection 4G LTE, but no service.
I have 4G LTE and phenomenal with no issues of changing APNs the SIM cards just work out of the box.
I’ve gone into the engineering mode to see around and I saw a lot of what your article mentioned and just want to know I’m in the right spot.
I truly believe it’s a setting issue sent from the factory when they built this head unit as this is an upgraded unit with faster chipset,rom, ram, and TopawayT10 modem. Different from the T9, which I upgraded to in my Toyota, 4Runner.
Mahalo again for any insight.
Here’s my head unit specs:
Android version 10.0
CPU (Processor) Unisoc UMS512 1H10 board 8 cores 1.8 GHz 64-bit (2 cores ARM cortex A75 + 6 cores ARM cortex A55)
Process technology 12 nm
GPU (Video processor) 2-core ARM Mali G52 614.4MHz
RAM (RAM) LPDDR4 – 4/6 GB – Needs validation
ROM (Internal Memory) EMMC 64/128
Resolution (Screen Resolution) 1280×720
Support android auto / carplay Wireless CarPlay built-in (TLink).
EQ (Equalizer) 32-band equalizer, surround sound
DSP audio processor DSP55 ROHM BU32107 – 6 output channels
Camera support AHD (720p/1080p @ 25/30 fps) / TVI / CVBS
Networks Built-in 4G SIM Card modem (2 SIM cards) – supports calls and SMS via SIM card.
TD-LTE / FDD-LTE / TD-SCDMA / HSPA (+) / WCDMA / HSPA (+) GSM / GPRS / EDGE / CDMA standards – Needs validation
Bluetooth Realtek 8761BTV Bluetooth 5.0 support – Needs validation
WiFi 2.4Ghz/5 GHz, IEEE802.11B/G/N compatible WLAN
GPS Navigation with GPS support, BEIDOU, GLONASS
Radio module ST TDA7708 –
Amplifier TDA7851 4 x 48 W MOSFET –
Please note that we are facing issues with MO/MT CSFB where first attempt to camp on 3G network always fail.
Note that we have Huawei MME and Nokia MSS.
Kindly advise if you faced such problem before and the way(s) to solve it.
I was reading yhis article and find this like hope this will help you.
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.
Hi Guys i do need your support, we have made some migration in our network and we are facing noise during CFSF (from 4G to 2G)in one particular area.Only in 2G.What might be the cause??
Hi Ali Sir
I am having an issue with CSFB Call setup time on 2G network. It is quite high around 15-16 sec. During analysis I observed that there are additional System Information Type-5 and 6 (Approx 15-20 times)between Progress to Alerting messages,
Can you please suggest why and how can be CSFB CST improved?
We are having an issue with CSFB Call setup time. its quite long around 7 to 8 sec. Upon detailed analysis we observed that there are additional messages after CALL PROCEEDING messages, That are “Active set Update” & “Active set Update complete” they keep on repeating 3 to 4 times till ALERTING message is arrived. In some logs there was no such message & the CSFB call setup time was around 4secs. Vendor is ZTE.
Can you please suggest why UE keeps on updating active set multiple times. Also can you suggest further how can be CSFB CST improved?
Seems that the issue is at the 3G end. Sorry, I am not a ZTE expert but lets see if someone over here can help 🙂
Active set update means 3G handover, it’s not related to call setup time. If your call setup time is until alerting, you need to check on the MTC part why it took longer time till alerting.
if you have both 2G/3G network to make CS fallback on, and prioritized for example 3G with higher csfallbackprio, will transition occur to 2G cell if there is poor 3G coverage?
The algorithm works such that the UE measures 3G and if there is no 3G cell with good coverage then the eNB will not get a MR from the UE. There will be a timer on eNB which will expire and the eNB will send the UE to 2G.
Just to update, There is no MTRF enabled on Core side
We are having CSFBMT failures due to MSC localization on the border and there is MTRF module on core side. I enabled CSFB PS HO instead of Redirection on border site , Will it solve the issue ? Can you please explain the scenario. IN PSHO Will UE perform location update on 3G side if the LAC is change in PS HO.. Also after disabling CSFB redirection , We can still see 70% of UEs still performing CSFB redirection based ( from Huawei statistical data) >>
If you disabled CSFB redirections and you are still seeing redirections, then it means that your timer to trigger blind redirection should be expiring. You can increase it to reduce redirections. If the timer is already long enough then it might mean that the CSFB target thresholds are too strict that the UE is unable to find the cell in time.
Lastly, if you enable PSHO and it goes to the 3G cell in another MSC, and there is no MTRF/MTRR then it should still be a problem as even with PSHO, the paging response needs to be sent by the MT UE and the MSC node will not be aware of that paging response.
I have a problem with my CSFB function, i have 3g overlaping 4g coverage, i have problem with a specific zone that the users report missed call without notification or alert of incoming calls. Please Help
Usually this happens in LAC/MSC borders. But it will be better to root-cause with an E2E trace plus DT logs or if you have CEM, you can use that. Break down the issue in parts to see where the call fails – pre ESR (paging), at ESR to RRC Rel, on UMTS paging response or bearer establishment.
Hi sir ,
Our issue when the mobile is in connected mode ( in LTE ) and after csfb the data connection of 3G is disapearing during 5s .
in CSFB (without measurement ) it goes blindly to higher frequency priority , how ue find the cell then? for example we have 2-3 cells with same frequency , is it based on SIB data ?
Yeah, the UE will blindly look for cells on that frequency and the cell that meets the selection criteria will be used. If the UE has System information for that cell, it will not have to read the SIBs and call setup will be faster.
Hi Ali Khalid,
Having one issue,, CSFB is successful but FLash CSFB is not happening at enodeB..
Is the vendor same (For 3G and 4G)? If yes, can you see if RIM messages are being received?
In NSN in case of CSFB, what are the specific counters using for CSSR (Call setup success rate) & CST (Call setup time) 4G cell wise?
Hello Ali, I do not have a GSM/CSFB back ground but the article highlights complex terms in a very easy way. I have a question and not sure this thread is still active or not. But trying to turn OFF UMTS and trying to find the best way to reduce the “Hurt” to customers. yes we still have some using 3G in poor coverage areas. With LTE more pervasive now, what are some of the ericsson Opto Parms I can trial/look at to test to manage this endeavor?
My initial thoughts are for the LTE phone not to be able to read the PHICH or anything 3G. extend LTE Idle Mode Parms.. like QrxLevMin parms.. to try and extend (although weak) cell-edge users.
advice is greatly appreciated.
You have the correct idea. In case you have no 3G and you want to retain all the users on LTE, this can be done with the basics like you mentioned (cell selection and reselection parameters). Physicals can also be looked into to provide max coverage atleast on the lower band. You may use a RS boost on lower band to increase LTE’s coverage.
You didn’t mention R9 redirection or SIB skipping method of CSFB where target frequency is indicated like R8 redirection. However, UE then reads mandatory SIBs 1, 3, 5 and 7 only, skipping all other SIBs and undergo normal call setup procedure (also referred to as Differed Measurement Control Reporting or DMCR).
Secondly you mentioned that HO based CSFB will cause higher delay as compared to the blind redirection. I think below will be the CSFB types sorted from lowest to highest time/delay:
1- R9 SI Tunneling or RIM
2- PS Handover (non blind) (blind handover will be fastest)
3- R9 Redirection with SIB Skipping (DMCR)
4- R8 Redirection
Thanks for the additions, Faisal 🙂
In our network we are facing CSFB issue in one cell.During busy hour lots of Ue-Context modification with CSFB attempt & all the Ue-Context Modification attempt is successful. But no Ue-Context Release after successful Ue-Context modification. As this Ue-Context modification & Ue-Context Release part is included in our CSFB formula .So CSFB formula is showing almost 0
When the UE context modification is successful but there is no UE context release, the most common issue is that the UTRA configuration is not there. For instance, if the freq for UTRA is not defined or there is no UTRA NBR cell defined (especially Huawei system) then there will be no UE context release.
Hi Mr. Ali,
Quick question, does Location-Requesting-Udate have A number information?, is this a most or due to the blind CSFB it’s not needed?
Thanks for the awesome article.
Salam Ali Khalid,
Thank you for this excellent topic , according to your experience what should be the best strategies for CSFB
Blind or with mesurément ?
redirection or handover ?
In RIM Message, ENB will send to UE the SI of the declared neighbors.
i would like to know that ENB send the SI of each neighbor is the same order like i declared in adjacencies table ? or enb can do an ordering based on the measurement report got from UE ?
This is vendor specific implementation. Usually, vendors tend to send the SI of the neighbor that was reported in MR by the UE and then the remaining cells are chosen based on priorities defined (for instance co-located cells)
Can You Please explain the Scenario/ Architecture of E-UTRAN sharing between Two Operator & What are the Possible causes of CSFB failure and low Throughput in E-UTRAN Shared network ( Two Operators ).
Hi, here in explanation it is mentioned that, “if the paging fails or ESR is not decoded by the eNB, the CSFB KPI on the eNB will not show any degradation”. ESR in RRC Setup complete msg is earlier process before MME sent initial context setup request with CSFB indicator. And because of CSFB indicator only eNB get to know about CSFB initiation.
So how come eNB can decode ESR. It means for incoming call when UE is in idle mode, CSFB KPI will not show any degradation every time.
Please correct me if i am wrong.
eNB sends the ESR to the MME – it is more like a forwarding of a message. So, the MME is the entity that reads the ESR and then sends the CSFB indication to the eNB. Now, in case of incoming call for idle mode, once the UE gets the page, it sends the ESR and the eNB will forward the ESR to the MME. MME will send Init Context Setup with CSFB indication and the eNB will peg CSFB preparation at this point.
Hi Ali khalid,
CSFB only happens with 3G only?
No, it can happen to 2G as well – depends on the implementation
Detailed explanation !
Hi Ali, I came across your site and you have excellent articles about LTE. You express complex functionality in very simple way…
I have a request, if you can also cover hardware part from RF design point of view –
1- Power dimensioning, Ref power calculation for various bandwidths, how PA power is split when you increase/decrease bandwidth/Txports
2. Hardware Configuration, How to configure various bands through single, multiple antennas, 2T2R/4T4R configurations, when do we need couplers, combiners, hardware limitations in terms or power/ports etc.
I need L3 message function in details ples explain
L3 message function wise tell me
Glad that you liked it 🙂
Hi , i have a small doubt, why we are Multipling RRC & Erab for calculating CSSR ? Why can’t we sum rrc & erab. Any specific reason for Multiplying.
We are calculating rate not the total success calls
thanks ali for sharing such a good knowledge sharing docs.
You are welcome, Rajat
Hi Mr khalid , i facing Browsing issue in the LTE Network (huawei and new lunched) , what i mean you can browsing some web sites while you can not browsing others , for example youtue.com ok , but you can not access gmail.com or google.com and etc..
This should not be related to radio/RAN interface. You should check with the core team on this.
Well, there can be different reasons for access issue to only certain websites.
1. Have you checked same websites on another device using the same network? If the result is no different, you might need to check with your provider as they might have them filtered on the Firewall.
2. Have you tried accessing those websites without having the DNS to resolve them? If that is okay, try sending a basic request to any site by connecting to port 80. It is a good test because it ensures that you are able to connect to the web server.
3. It would also be helpful to run a trace test for problematic sites as the traceroute would reveal which exact device is responsible for dropping packets.
4. Lastly, changing the default MTU setting on your gateway device could also help as I have experienced once before.
1. In Blind CSFB , UE will be redirected ONLY to any of the 3G Neighbor Cells defined in a particular eNodeB, right?
In case of multiple 3G carriers , one carrier can be prioritized for blind redirection?
And similarly with Blind Flash CSFB , it will fetch SIBs of only those Cells which are defined as Neighbors in a particular eNodeb?
2. Handover Conflicts can be resolved by a Parameter in eRAN v12 (Huawei) although as per my knowledge it is only limited to Handover Preparation Phase and does not work in Handover Execution Phase , is it correct? Secondly what other procedures can it conflict with?
For the first one, it will be released to the UTRAN frequency and yeah one carrier can be prioritized if needed. For Flash, your understanding is correct.
i actually meant that for blind redirection it will be any one of the cell which are defined as NBRs (assuming only one carrier of 3G) in that particular enodeb
Hi Ali, I am facing CSFB Call setup time issue. we are getting CST above 7 sec in a cluster. What are the possible measures to reduce it. Further after some analysis we find that we are facing large call alerting time on DCCH. If you can recommend some measures it would be helpful.
Have you checked from call trace, exactly the delay is between which messages? A call trace should be able to help you root-cause the issue.
For the second, yeah it can only tackle the preparation phase issues. There are other procedures but I will cover those in my next article so wait till then 🙂
I face,Huawei network in some area the CSFB activated for only 3G but when analizing the drivetest logs the result shows that around 20% of the CSFB managed by 2G,how it could this happen? please explain
Thank you for your comment.
Please follow the link below and post your question in Youtube comments section so that Ali Khalid will be able to answer.