SRVCC — Single Radio Voice Call Continuity in LTE 4G
Handing an in-progress VoLTE call from LTE/IMS to a 2G/3G circuit-switched leg without dropping it.
You are ten minutes into a VoLTE call, walking out of a shopping mall, and the LTE signal is fading fast while the old 2G/3G macro layer outside still reaches you. Your phone has a single radio — it can be tuned to LTE or to legacy 2G/3G, never both at once — so the network cannot quietly duplicate your voice onto the other access and let you drift. It must actively pick up the live conversation and carry it across, before the LTE leg dies. That mid-call rescue is SRVCC — Single Radio Voice Call Continuity, defined in TS 23.216. This page walks the whole chain: the measurement that fires it, the Sv interface, the split in the MME, the IMS session transfer via the STN-SR (sped up by the ATCF/ATGW anchor), and the handover command that retunes your radio.
Introduction
Single Radio Voice Call Continuity (SRVCC), defined in TS 23.216, is the procedure that keeps a live VoLTE call from dropping when the UE runs out of LTE coverage mid-conversation. It is an inter-RAT handover with an IMS twist: the voice leg, which exists as an IMS session on a packet bearer, has to be re-established as an old-fashioned circuit-switched (CS) call on 2G/3G, all while the two people talking keep talking.
SRVCC only ever applies to a call that is already in progress on VoLTE. That single fact separates it from CS Fallback (which acts before a call, when there is no VoLTE at all) and is worth holding onto, because the two are constantly confused. SRVCC assumes an IMS session exists and must be continued; CSFB assumes no IMS session exists and one must be set up on legacy CS.
Because SRVCC is a tightly ordered chain across the UE, eNB, MME, MSC Server, IMS anchor, and target legacy RAN, a failure or a long audio gap almost always traces to one specific step — the measurement that never fired, the SRVCC flag that was never set, the Sv request that timed out, the session transfer that round-tripped to the home network. Walking the steps in order is exactly how you turn "the call dropped when I left the building" into a specific, testable root cause.
On this page
Why SRVCC is needed
In plain words: think of a relay race where the baton is your live conversation. You are sprinting on the "LTE" track, but that track is about to end. Because you only have one pair of hands (one radio), you cannot run on two tracks at once — the network has to hand the baton to a runner already moving on the "2G/3G" track, cleanly, without dropping it. SRVCC is that baton pass, executed the instant before the LTE track runs out.
VoLTE voice is not a "call" in the old telephony sense — it is an IMS session whose media is RTP packets riding a dedicated packet-switched (PS) EPS bearer, the GBR bearer marked QCI 1. That works beautifully while you sit inside LTE coverage. But LTE has hard edges, and the deployed 2G/3G footprint frequently reaches further out. When you cross that edge mid-call, the only voice service the legacy network can offer is the classic circuit-switched (CS) call over UTRAN or GERAN. SRVCC is the procedure that lifts your in-progress IMS/PS voice leg and re-establishes it as a CS voice leg, without dropping the conversation.
A handover that moves an ongoing VoLTE (IMS/PS) voice call from E-UTRAN to a 2G/3G circuit-switched call, so the call survives when the UE leaves LTE coverage.
The UE is single-radio — one active RAT at a time. It cannot straddle LTE and 2G/3G, so the voice leg must be handed over, not merely mirrored, before LTE is lost.
The eNB sees poor coverage from a measurement report, sends an SRVCC-flagged Handover Required; the MME drives a CS handover to an MSC Server over Sv, which anchors the media in IMS and transfers the session to the CS leg via the STN-SR.
One line to remember: SRVCC keeps a live voice call alive by switching its media from the IMS/PS world (LTE) to a circuit-switched call (2G/3G) — because the phone has only one radio, the switch has to be a real handover.
What SRVCC Is
The word that carries all the weight is "single." In a dual-radio device you could imagine a soft make-before-break: bring up the CS leg while LTE is still healthy, then release LTE. A single-radio UE cannot do that, which is exactly why SRVCC exists as a tightly choreographed network procedure. The network must prepare the target CS resources and re-point the media in IMS before it finally commands the UE to retune, so that the instant the radio lands on 2G/3G, a fully formed voice path is waiting for it.
Everything downstream in this page is in service of that ordering constraint: the trigger has to fire while LTE is still just healthy enough to deliver a handover command; the Sv handshake and the IMS session transfer have to complete before the command is sent; and the audio gap the two talkers hear is exactly the window between the media re-point and the UE landing on the CS leg. Minimising that gap is the whole engineering story of enhanced SRVCC later on.
The Trigger — How the Network Decides to Move
Nothing happens until the radio starts to weaken. The eNB has configured the UE with inter-RAT measurements aimed at legacy neighbours, and gates them so the UE only bothers reporting when the serving LTE cell is genuinely in trouble. The classic configuration is event-driven: the UE fires a MeasurementReport when serving quality drops and a suitable inter-RAT neighbour appears.
The event that captures "my serving LTE cell became worse than a threshold and an inter-RAT neighbour became better than a threshold" is event B2. Many networks instead combine event A2 ("serving becomes worse than a threshold" — the hint to start hunting) with event B1 ("inter-RAT neighbour becomes better than a threshold") to get the same effect in two stages. Either way, the intent is identical: do not tear a UE off healthy LTE, but the moment LTE is failing and a legacy cell is strong enough to hold a CS call, report it.
| Event | Condition | Role in SRVCC |
|---|---|---|
A2 | Serving LTE becomes worse than a threshold | Arms the procedure — tells the UE/eNB "LTE is degrading, start looking at neighbours" |
B1 | Inter-RAT (2G/3G) neighbour becomes better than a threshold | Confirms a viable CS target exists to hand the call to |
B2 | Serving worse than threshold-1 and inter-RAT neighbour better than threshold-2 | Single combined trigger — both conditions in one report |
When the report arrives, the eNB recognises that this UE has an active voice bearer — it can see the GBR QCI 1 bearer in the UE context. That is the crucial discriminator: an ordinary data-only UE at the LTE edge would get a plain inter-RAT PS handover (or simply be redirected), but a UE with QCI 1 up is on a voice call, and its voice cannot survive as PS on the legacy CS-only leg. So the eNB sends the S1AP Handover Required to the MME and sets the SRVCC handover indication in it. That flag is the whole point of the trigger stage: it tells the MME "this is not a normal handover — split the voice part off to the CS domain."
Spec note: the split PS/CS SRVCC handover is defined in TS 23.216. The GBR QCI 1 bearer is what identifies the voice component that must be moved to CS; everything else is treated as ordinary PS.
Reading the trigger in the logs
The trigger stage leaves two footprints: the RRC MeasurementReport that fired the event, and the S1AP Handover Required that carries the SRVCC indication. If you see the measurement report but no SRVCC-flagged Handover Required, the eNB either did not recognise the QCI 1 bearer or SRVCC is not enabled for this UE.
Representative eNB log — illustrative, values vary by vendor/build:
| Field | Meaning | Example (from log) | Check |
|---|---|---|---|
event | Which measurement event fired the report. | B2 | Confirm thresholds are set so the report fires while LTE can still deliver a HO command — too late = dropped call. |
qci | The bearer the eNB uses to decide this is a voice call. | 1 (GBR) | No QCI 1 bearer means the eNB will not treat this as SRVCC — it does a plain PS HO or redirect. |
srvccHoIndication | The SRVCC flag in S1AP Handover Required. | psAndCs | Must be present; if absent, the MME never splits the voice off to CS. |
targetID | The prepared 2G/3G target for the handover. | RNC-0x1A | Must be a valid, reachable inter-RAT neighbour; a bad target aborts the HO. |
✅ Debugging steps
- Confirm the inter-RAT measurement (
B2, orA2+B1) is configured and actually fired before LTE became undeliverable. - Verify the eNB saw the active
QCI 1GBR bearer and classified the UE as an SRVCC candidate. - Check the S1AP
Handover Requiredcarried the SRVCC handover indication (not a plain PS-HO indication). - Validate the target 2G/3G cell/RNC is a real neighbour with the needed inter-RAT relations.
⚠ Common causes of failure
- Measurement thresholds too aggressive/late, so LTE dies before the report or the HO command can be delivered.
- eNB does not recognise the
QCI 1bearer (misconfig), so it never sets the SRVCC indication. - SRVCC not enabled / UE not SRVCC-capable, so the voice leg is treated as ordinary PS and the call drops.
- No suitable inter-RAT neighbour, so there is no valid CS target to hand the call to.
The Sv Interface and the MME Split
A VoLTE UE often has two things in flight: the voice media on QCI 1, and possibly other data (a download, messaging, background sync) on other bearers. SRVCC moves only the voice; the rest stays packet-switched if the target can carry it. So when the MME receives the SRVCC-flagged Handover Required, it splits the handover into two parallel jobs.
- The voice (CS) component. The
MMEinitiates a CS handover toward theMSC Serverover theSvinterface, sending a GTP-basedSvPS to CS Request. This carries theSTN-SRand the subscriber'sC-MSISDN(Correlation MSISDN), so the CS side and IMS can identify the subscriber and correlate the exact session being moved. - The remaining data (PS) component. Any non-voice bearers are handed as an ordinary PS handover toward the target packet core (for 3G, toward the
SGSN), so data continues where the target supports it.
The Sv interface is the dedicated reference point between the MME (in EPC) and the MSC Server (enhanced for SRVCC) in the CS core. It is the SRVCC-specific control channel and it exists for exactly this: to let a packet-core node ask a circuit-core node to prepare a CS handover for a call that is currently PS. It is emphatically not the same as the SGs interface used by CS Fallback — more on that distinction later.
The MSC Server is the coordinator on the CS side. On receiving PS to CS Request it does two things in parallel: it asks the target MSC/BSC/RNC to allocate CS radio resources (the "prepare handover" toward 2G/3G), and it triggers the IMS session transfer that actually moves the media path. Those two must both complete before the UE is told to jump.
The split in one line: the MME peels the QCI 1 voice off to the MSC Server over Sv, and pushes any leftover data as a normal PS handover — two parallel handovers from one request.
✅ Debugging steps
- Confirm the MME correctly split the request — a
SvPS to CS Requestfor the voice bearer and (if data exists) a separate PS handover. - Verify the
SvPS to CS Requestcarried both theSTN-SRand theC-MSISDN. - Check the
Svpath (MME↔MSC Server) is up and the MSC Server is SRVCC-enhanced. - Confirm the MSC Server started both target CS resource preparation and the IMS session transfer.
⚠ Common causes of failure
- Missing/incorrect
STN-SRorC-MSISDN(subscriber not provisioned for SRVCC), so IMS cannot correlate and transfer the session. Svinterface down or MSC Server not SRVCC-enhanced, so the CS handover never starts.- Target CS resource allocation fails at the MSC/BSC/RNC (congestion, no neighbour prep).
- The split logic mishandles the non-voice bearers, dropping data even when the target could have carried it.
Session Transfer, STN-SR and the ATCF/ATGW
Preparing CS radio resources is only half the job. The far end of the call — the person you are talking to — is still sending media toward your old IMS/PS access leg. Someone has to re-point that media stream to your new CS leg. That "someone" is IMS, and the trigger it responds to is the STN-SR (Session Transfer Number for Single Radio).
The MSC Server effectively places a call toward the STN-SR. IMS recognises that number as "a subscriber is arriving on the CS side; transfer their existing session there." Historically the anchor point that performs this re-pointing is the SCC AS (Service Centralization and Continuity Application Server) in the subscriber's home IMS. It correlates the incoming session-transfer request (matched via the C-MSISDN) with the ongoing call and swaps the remote party's media from the old access leg to the new CS access leg. The two ends never renegotiate the call — they just experience a brief media gap.
Anchoring in the home SCC AS can be slow when the user is roaming, because the session-transfer signalling has to travel back to the home network. To cut the media interruption, later releases introduced enhanced SRVCC (eSRVCC), which adds two functions in the serving (visited) network:
ATCF(Access Transfer Control Function) — a control-plane anchor placed in the signalling path in the serving network. It anchors the session locally so the transfer can be executed close to the UE instead of round-tripping to the homeSCC AS.ATGW(Access Transfer Gateway) — the media-plane anchor theATCFcontrols. Because the media is already pinned at theATGW, the transfer only re-points the UE-side leg between theATGWand the access; the remote party’s media toward theATGWis untouched, so the switch is far faster and the audio gap is much shorter.
Why the ATCF/ATGW matter: without them, session transfer reaches all the way back to the home SCC AS and the media interruption is longer. With them, the media is already anchored locally, so only the near leg switches — that is the difference between a noticeable clip and an almost imperceptible one.
The following table pins down who does what across the interfaces and anchors involved.
| Element | Where it sits | Role in SRVCC |
|---|---|---|
Sv | Between MME and MSC Server | Control interface carrying PS to CS Request/Response; conveys STN-SR and C-MSISDN |
MSC Server (SRVCC-enhanced) | CS core | Coordinates the CS handover: prepares target CS resources and initiates IMS session transfer |
STN-SR | Routable number in IMS | The "number" the MSC Server dials to make IMS transfer the session onto the CS leg |
C-MSISDN | Subscriber identity | Correlation MSISDN used to match the transfer request to the exact ongoing session |
SCC AS | Home IMS | Service continuity anchor that performs the access transfer (media re-point) of the remote leg |
ATCF | Serving (visited) IMS — control plane | eSRVCC control anchor; executes the transfer locally to shorten interruption |
ATGW | Serving (visited) IMS — media plane | eSRVCC media anchor controlled by ATCF; only the near leg switches |
✅ Debugging steps
- Confirm the
MSC Serverinitiated the session transfer toward theSTN-SRand that IMS routed it to the anchor. - Verify the
C-MSISDNcorrelation matched the ongoing session at the anchor (ATCF/SCC AS). - Check whether the deployment uses eSRVCC (
ATCF/ATGW); if not, measure the extra delay of a home-SCC ASround trip, especially when roaming. - Confirm the media re-point completed (access transfer complete) before the handover command was sent to the UE.
⚠ Common causes of failure
- Wrong or unprovisioned
STN-SR, so IMS cannot route the transfer request. C-MSISDNmismatch, so the anchor cannot correlate the request to the live session.- No eSRVCC anchoring while roaming, producing a long audible gap (session transfer round-trips to home IMS).
- Anchor (
SCC AS/ATCF) unreachable or overloaded, so the media is never re-pointed and the call drops on retune.
The SRVCC Handover Flow
Putting the pieces in order: the measurement report, the SRVCC-flagged request, the CS handover preparation over Sv, the IMS session transfer through the ATCF/SCC AS, and finally the handover command that retunes the single radio to 2G/3G. Read the diagram top to bottom — time runs down the page, and each horizontal arrow is one message.
Notice the ordering. The media transfer in IMS and the CS resource preparation both complete before the Sv PS to CS Response comes back and the handover command is finally sent. By the time the UE retunes, the remote party’s audio is already flowing to the CS side. The goal is that the two people talking hear at most a short gap.
Step-by-Step: Node and Interface
Every SRVCC step lives on a specific node and interface. This is the table worth memorising for interviews — it is the flow above rendered as a checklist.
| # | SRVCC step | Node / interface |
|---|---|---|
| 1 | Detect poor LTE, report a viable 2G/3G neighbour | UE → eNB (B2 or A2+B1 MeasurementReport over RRC / Uu) |
| 2 | Request handover, flagged as SRVCC | eNB → MME (S1AP Handover Required with SRVCC indication, over S1-MME) |
| 3 | Split the handover: voice to CS, data to PS | MME (decision at the split point) |
| 4 | Initiate CS handover for the voice leg | MME → MSC Server (Sv, PS to CS Request, STN-SR + C-MSISDN) |
| 5 | Transfer the IMS session to the CS leg | MSC Server → IMS ATCF/SCC AS (session transfer to STN-SR; media re-point at ATGW) |
| 6 | Prepare target CS radio resources | MSC Server → target MSC / BSC / RNC (2G/3G) |
| 7 | Hand over remaining data (if any) | MME → SGSN / target (ordinary PS handover) |
| 8 | Acknowledge readiness back to EPC | MSC Server → MME (Sv, PS to CS Response) |
| 9 | Command the UE, retune the single radio | MME → eNB → UE (S1AP / RRC Handover Command) |
Spec note: the exact message set and options (e.g. SRVCC to GERAN vs UTRAN, with or without DTM, and the eSRVCC anchoring) are detailed in TS 23.216. Do not over-index on any single clause number — the node/interface mapping above is the durable part.
Reading the whole SRVCC handover in the logs
End to end, the MME trace stitches the chain together: the SRVCC-flagged request in, the Sv handshake to the MSC Server, and the handover command out. The single most useful thing to measure is the elapsed time from PS to CS Request to Handover Command — that window bounds the audio gap the user hears.
Representative MME log — illustrative, values vary by vendor/build:
| Field | Meaning | Example (from log) | Check |
|---|---|---|---|
srvccHoIndication | Confirms the MME treated this as an SRVCC (split) handover. | psAndCs | If a plain PS-HO indication, voice is not moved to CS and the call drops. |
stnSr / cMsisdn | Session-transfer number and correlation identity sent over Sv. | +44163... / +44770... | Both must be provisioned and correct or IMS cannot transfer the session. |
PS-to-CS-Response cause | MSC Server's result of preparing CS resources + session transfer. | Request-accepted | Any reject/timeout aborts the HO — inspect the MSC Server / target RAN. |
dT (request→response) | Time to prepare the CS leg; proxy for the audio gap. | 142ms | Long values point at missing eSRVCC anchoring or a slow target RAN. |
HANDOVER COMMAND | The MME telling the eNB to retune the UE. | present | Its absence after an accepted response means the command was lost — the UE stays on dying LTE. |
✅ Debugging steps
- Walk the MME trace in order: SRVCC-flagged
Handover Required→Sv PS to CS Request→Response→Handover Command. Find the first missing link. - Measure the
PS to CS Request→Responsetime; a large value is usually a slow session transfer (no eSRVCC) or slow target CS allocation. - Confirm the response carried a valid target-to-source container (the target RRC config the UE needs to retune).
- Verify the UE actually received and executed the RRC handover command before LTE became undeliverable.
⚠ Common causes of failure
SvPS to CS Requestrejected or timed out at the MSC Server (target CS congestion, provisioning).- Session transfer too slow (home-IMS round trip without
ATCF/ATGW), so the audio gap is long or the call drops. - Handover command lost or delivered too late, leaving the UE on dying LTE.
- Target 2G/3G radio failure right after retune (weak CS cell, wrong target), so the moved call drops on arrival.
SRVCC vs CSFB, and the Reverse Direction
Both SRVCC and CS Fallback (CSFB) end with the UE getting voice from a 2G/3G circuit-switched network, which is why freshers mix them up. The difference is when they happen relative to the call, and it changes almost everything else.
| SRVCC | CSFB | |
|---|---|---|
| When it happens | During an ongoing call (mid-call continuity) | Before the call connects (at call setup) |
| Starting point | An active VoLTE / IMS voice call on LTE | UE camped on LTE with no VoLTE; a call is arriving or being made |
| What moves | The live voice media, handed over to CS | The whole UE drops to 2G/3G to set up the CS call there |
| Trigger | Radio measurement (B2 / A2+B1): LTE coverage failing mid-call | Paging / call request on LTE (no VoLTE available for it) |
| MME–CS interface | Sv | SGs |
| Key IMS node | ATCF/SCC AS (session transfer) | None — there is no IMS session to continue |
| Assumes VoLTE? | Yes — there must be an IMS call to continue | No — it exists precisely because there is no VoLTE |
Mental model: CSFB is "no VoLTE, so leave LTE to make the call on 2G/3G." SRVCC is "already on a VoLTE call, coverage is dying, so rescue the call by moving it to 2G/3G." Before vs during; SGs vs Sv.
There is also a reverse case. Once you are on the CS leg and later come back into LTE/VoLTE coverage, rSRVCC (reverse SRVCC) can hand the CS call back to a VoLTE/IMS session, restoring the packet-switched voice leg. Conceptually it mirrors SRVCC — the MSC Server and IMS anchor cooperate to transfer the session the other way — but it is used far less in practice, because the common deployment story is "LTE island shrinking, legacy blanket everywhere," so the pressing need is the outbound SRVCC direction.
LTE ↔ NR: the 5G analogue of SRVCC is 5G-SRVCC (NR→UTRAN), defined for handing an ongoing VoNR (voice over NR) IMS call down to 3G CS when NR coverage is lost — same idea, with the AMF playing the MME's role and an N26/Sv-style path to the MSC Server. In most current deployments, though, the pressing 5G continuity case is not SRVCC to legacy CS but EPS Fallback: at call setup the network moves a VoNR-incapable path from NR to LTE and runs the call as VoLTE. Where a VoNR call is already up and NR fades toward LTE, an inter-system PS handover to LTE keeps it on IMS with no CS domain involved at all. CS-domain SRVCC only re-appears in 5G for the NR→3G corner case.
Summary
SRVCC exists because a single-radio UE on a live VoLTE call cannot straddle two RATs: when LTE coverage fails mid-call, the IMS/PS voice leg must be actively handed over to a 2G/3G circuit-switched call before LTE is lost. The chain is fixed — a gated measurement (B2, or A2+B1) fires; the eNB, seeing the QCI 1 GBR bearer, sends an SRVCC-flagged Handover Required; the MME splits voice off over Sv to the MSC Server; IMS transfers the session via the STN-SR (correlated by C-MSISDN, sped up by the ATCF/ATGW); and only then does the UE get the command to retune.
To root-cause an SRVCC problem, walk that chain and find the first broken link. No SRVCC-flagged request? Look at the measurement config and the QCI 1 recognition. Request sent but no response? Look at Sv, the MSC Server, and CS resource preparation. A long audible gap? Look at whether eSRVCC anchoring is in place. Call drops right after retune? Look at the target CS cell. The single durable contrast to keep: SRVCC is Sv, during a call; CSFB is SGs, before a call.
Interview Quickfire
Q. Why is it called Single Radio Voice Call Continuity?
A. Because the UE has one transceiver and cannot be active on LTE and 2G/3G simultaneously. The voice call must be actively handed over from the PS/IMS access to the CS access before LTE is lost — there is no dual-radio make-before-break across the two RATs.
Q. What triggers SRVCC on the radio side?
A. A measurement report driven by B2 (serving LTE worse than a threshold AND an inter-RAT 2G/3G neighbour better than a threshold), or equivalently A2 to arm plus B1 to confirm the target. The eNB then sends an SRVCC-flagged Handover Required because the UE has an active QCI 1 voice bearer.
Q. Which interface does the MME use to reach the MSC Server, and how is it different from CSFB?
A. SRVCC uses the Sv interface between MME and MSC Server for the mid-call PS-to-CS handover. CSFB uses the SGs interface for paging/registration before a call. Sv = during a call; SGs = before one.
Q. What is the STN-SR and who uses it?
A. The Session Transfer Number for SRVCC. The MSC Server "calls" it to trigger the IMS session transfer; IMS routes it to the ATCF/SCC AS, which re-points the remote party’s media from the old IMS/PS leg to the new CS leg. It is how IMS learns the same subscriber is now arriving on the CS side.
Q. What do the ATCF and ATGW add?
A. They are the eSRVCC anchors in the serving network — ATCF on the control plane, ATGW on the media plane. By anchoring the media locally, only the near (UE-side) leg switches during transfer, so the interruption is much shorter than routing session transfer back to the home SCC AS.
Q. What is rSRVCC?
A. Reverse SRVCC: handing an ongoing CS voice call back to a VoLTE/IMS session when the UE re-enters LTE coverage — the mirror image of SRVCC, used far less often in practice.
Where SRVCC connects
SRVCC is one branch of the larger story of how LTE delivers voice — the mid-call rescue that complements the before-call fallback path, and a specialised inter-RAT handover with an IMS twist.