首页 › deep-tech › 半路换船:SRVCC锚点原理

你正在打一通电话,信号满格,声音清晰。然后你坐上了高铁,穿过一段山区。突然,手机屏幕上的信号图标从 5G/LTE 变成了小小的 "E"——手机切到了 2G 网络。但神奇的是,电话没有断,对面的人还在讲话,你甚至没有察觉到刚才发生了一次“跨界搬家”。

这背后就是今天要讲的机制:SRVCC(Single Radio Voice Call Continuity,单射频语音呼叫连续性)。它是 VoLTE 时代最精巧、也最容易被误解的一个设计。这篇文章要回答三个问题:为什么跨系统搬个家这么难?为什么 IMS 要在通话里插一个“锚点”?以及后来的增强版为什么能把中断时间从两三秒压进 300 毫秒?

一、VoLTE 有个绕不开的软肋

先把背景铺清楚。VoLTE 的全部语音走 LTE 分组域,音质好、接通快,但它有个致命前提:LTE 覆盖必须连续。而现实是,2G/3G 网络建设了二十多年,用 900MHz 这类低频段把山区、地下室、电梯间织得很密;LTE(尤其早期)的中高频段覆盖天然吃亏,边远地区、高铁沿线、楼宇深处到处是覆盖洞。

用户不关心你用几代技术,只关心一件事:电话不能掉。所以运营商必须回答一个问题——当 VoLTE 用户带着一通正在进行的通话走出 LTE 覆盖时,怎么办?

唯一的答案是:把这通电话搬到 2G/3G 的电路交换(CS)域去。因为那里覆盖好,而且语音本来就是 CS 域的看家本领。这个“通话进行中从 LTE 搬家到 GSM/WCDMA”的动作,就是 SRVCC。

二、为什么“搬家”这么难:单射频困境

你可能会想:切换而已,LTE 内部天天发生,有什么难的?

难就难在目标网络的性质完全不同。我们把两种切换摆在一起看:

维度 LTE 内部切换 SRVCC 跨系统切换
目标小区制式 还是 LTE/E-UTRA GSM 或 WCDMA(CS 域)
两代网关系 同一套接入网技术 两套完全独立的网络
承载类型 EPS 承载(QCI=1)不变 要换成 CS 电路承载
信令世界 eNB ↔ MME 要跨到 MSC Server
手机射频 同频段测量,几乎无感 需要测量间隙,执行时必须断开 LTE

关键约束在手机上:绝大多数 VoLTE 手机只有一个射频收发机。同一时刻,它只能调谐在一个频段上。LTE 内部切换虽然也是“先断后连”的硬切换,但前后小区同频同制,断开时间只有几十毫秒,用户无感。而跨到 GSM 则完全不同:

  1. 测量都费劲。手机在 LTE 上连着的时候,想测量 GSM 邻区,必须先向基站申请“测量间隙”(gap),在指定的短促时间里把接收机调到 GSM 频段瞄一眼,再调回来。因为两个系统差得太远,没法同时听。
  2. 执行必须彻底断开。切到 GSM 的那一瞬间,手机必须释放 LTE 连接、按 GSM 的方式同步、随机接入 CS 信道。这段时间它在 LTE 上是“消失”的。
  3. 网络侧要跨“衙门”。LTE 这边管事的是 eNB 和 MME,语音会话登记在 IMS;GSM 那边管事的是 BSS 和 MSC。两套体系过去二十年几乎不相往来,SRVCC 等于让它们当场做一次交接。

于是核心矛盾出现了:手机射频已经切去 GSM 了,但语音会话还挂在 IMS 那边。谁去告诉 IMS“请把这通电话转过来”?转的时候说什么?这就是 SRVCC 设计里最核心的一步棋——锚点。

三、锚点原理:不告诉对方我的新地址

想象一个场景:你要搬家了,但不想让所有通信录里的人都改你的地址。最省事的办法是租一个固定不变的邮政信箱。所有信寄到信箱,你搬到哪,只需要跟邮局一个人说新地址,由邮局负责把信转到新家。别人从头到尾只知道信箱号码。

SRVCC 里的“锚点”就是这个邮政信箱。理解锚点,要先看清一通 VoLTE 通话的两条路径其实是分离的:

如果没有锚点,切换时会发生什么?IMS 需要向远端用户所在网络发起一次媒体更新(SDP 重协商),通知对方“改发到我的新地址”。这一趟要穿过对端运营商的网络、可能跨国跨洲、还依赖对端设备的配合,一来一回是以秒计的漫长等待——而这段时间里用户正在说话,声音全断了。

有了锚点,事情就变成局部的了。会话建立时,信令路径上被插入一个中间节点,媒体路径也被引到它那里。之后无论本端怎么搬家,只需要通知锚点一个人,远端毫不知情、毫发无损。

flowchart TD
    subgraph N1["无锚点:搬家要惊动全世界"]
        A["本端用户"] -->|"信令走IMS"| B["远端网络"]
        A2["本端搬家后"] -->|"重新协商媒体地址"| B2["对端重新配置"]
    end
    subgraph N2["有锚点:只通知邮局一个人"]
        C["本端用户"] --> D["锚点:信箱"]
        D -->|"远端只认信箱"| E["远端用户"]
        F["本端搬新家"] -->|"只报新地址"| D
    end

这就是“为什么这样设计”的答案:跨系统切换的本质困难不在于换接入网,而在于会话状态的重定位。把会话状态钉在一个中间人身上,困难就从“全网问题”缩成了“局部问题”。

四、老版 SRVCC:一次信令接力的全流程

锚点思想定了,接下来看老版 SRVCC(3GPP R8/R9 时期的原始设计)到底怎么跑完这场接力。整个过程涉及五个角色,时序如下:

sequenceDiagram
    participant UE as 手机
    participant eNB as LTE基站
    participant MME as MME
    participant MSC as MSC服务器
    participant IMS as IMS锚点
    UE->>eNB: 测量报告,GSM邻区够强
    eNB->>MME: 切换请求,带SRVCC标记
    MME->>MSC: 经Sv接口转交语音上下文
    MSC->>MSC: 通知目标BSS预占CS信道
    MSC->>IMS: 拨STN-SR请求会话转移
    IMS->>IMS: 向远端发起媒体更新
    eNB->>UE: 切换命令,含GSM参数
    UE->>MSC: 断开LTE,接入GSM小区
    Note over MSC,IMS: 远端媒体改到新地址
    MSC->>UE: 语音经CS承载续传

几个关键细节值得停下来看:

1. 测量报告的门槛:B1 和 B2 事件。 手机不会随便报告“我看见 GSM 了”。基站在测量配置里设好了触发条件:B1 事件是“异系统邻区比绝对门限强”,B2 事件是“服务小区已经比门限一弱,且异系统邻区比门限二强”。工程上更常用 B2——它同时表达了“这里不行了”和“那边还行”两个条件,避免在 LTE 信号明明很好的时候白白切换。用哪个事件、门限定多少,直接决定了 SRVCC 触发的时机和成功率,这是现网参数优化里的重头戏。

2. MME 是翻译官。 切换请求到了 MME 后,它要做一个精细动作:把 EPS 承载拆开,只把标记为语音的那个承载(QCI=1)送去走 CS 流程,其余的数据承载要么留在 LTE 上等它彻底没了再释放,要么走另外的流程。语音上下文里最关键的一样东西叫 STN-SR(Session Transfer Number for SRVCC)——一个预先登记好的号码,专门用于会话转移。MME 把它和用户上下文一起通过 Sv 接口交给 MSC。

3. STN-SR 是这张网里最聪明的设计之一。 MSC 是个“电话局”,它不懂 IMS 的 SIP 协议。但电话局最懂的事就是拨号。所以设计者把“会话转移请求”包装成了一个电话号码:MSC 只要像打普通电话一样拨 STN-SR,这个号码在网络里被路由到 IMS 侧的会话转移功能,一次“跨体系谈判”就变成了电话局最熟练的日常操作。

4. 麻烦在最后一段。 注意时序图里的顺序:MSC 必须先等目标 BSS 把 CS 信道准备好,手机完成向 GSM 的接入之后,IMS 才能发起远端媒体更新——因为只有此时“新地址”才真实存在。而远端媒体更新是一趟完整的 SIP 往来,可能跨越很远的距离。在整个“手机已调到 GSM、但远端还不知道新地址”的窗口里,语音是断的。

把这趟流程的中断时间拆开看,就是一条时延瀑布:

$$T_{中断} \approx T_{无线接入} + T_{CS承载建立} + T_{SIP跨网往返}$$

工程实测中,老版 SRVCC 的语音中断普遍在一秒到三秒量级,网络条件差时更长。两三秒的沉默在打电话时是能被双方明显感知的——“喂?喂?你那边怎么了?”

问题出在哪?看公式就知道:锚点确实让“通知谁”变成了局部问题,但锚点自己站得太远了。会话锚在归属网络的 IMS 深处,而手机人在千里之外的覆盖边缘。每次搬家都要让信令从边界跑回归属网络跑一个来回。

五、eSRVCC:把邮局搬到你家门口

增强版 SRVCC(eSRVCC,R10 引入)的思路简单到漂亮:既然问题出在锚点太远,那就把锚点挪近。

具体做法是在会话建立之初,就在用户附近的网络边界(通常和 SBC 同址部署)安排两个功能实体:

也就是说,从通话建立的第一秒起,媒体路径就变成了:本端 ↔ 本地 ATGW ↔ 远端。通话进行中如果一切正常,ATGW 就是一个透明的水管工,只转发不改道。而一旦需要 SRVCC,一切都变了:

flowchart TD
    subgraph BEFORE["切换前:媒体已在门口挂了号"]
        U1["手机在LTE"] --> G1["ATGW驿站"]
        G1 --> R1["远端用户"]
    end
    subgraph AFTER["切换后:驿站只换一条腿"]
        U2["手机在GSM"] --> CS["CS承载"]
        CS --> G2["同一个ATGW驿站"]
        G2 --> R2["远端用户:完全无感"]
    end

看清楚这个设计的妙处:远端那一侧的媒体路径纹丝不动。切换时 ATGW 做的事只是把自己的一条“腿”换掉——把连着 LTE 的那条断开,接上来自 CS 承载的新腿。而 MSC 拨出的 STN-SR 这一次不再指向归属网络的深处,而是指向本地的 ATCF;ATCF 就在 MSC 附近,信令往返是一段短跑,不是跨国长途。

中断时间的构成也随之改写:

$$T_{中断}^{eSRVCC} \approx T_{无线接入} + T_{CS承载建立}$$

最贵的第三项——SIP 跨网往返——被整个消灭了。这也是为什么 eSRVCC 的设计目标把语音中断压缩到 300 毫秒以内,达到人耳几乎无感的水平。两代方案摆在一起:

对比项 老版 SRVCC eSRVCC
媒体锚点位置 归属网络 IMS 深处 本地边界,与 SBC 同址
新增功能实体 无 ATCF + ATGW
会话转移信令 MSC → 归属网络,长途往返 MSC → 本地 ATCF,短跑
切换时媒体动作 等远端重协商完成后切换 ATGW 本地换腿
远端是否感知 需要远端配合更新地址 远端完全无感
典型语音中断 约 1~3 秒 目标 300 毫秒内
会话转移入口 指向归属网络的 STN-SR 预先注册到 ATCF 的 STN-SR

还有一点容易被忽略:ATCF 在会话建立时就要提前介入——为这次通话分配 ATGW 资源、把自己的联系地址注册到 IMS、并把指向自己的 STN-SR 下发给 MME 备用。也就是说,eSRVCC 的“快”,是用通话建立时的一点开销,换来切换时的从容。这和条件切换(CHO)的思想一脉相承:把能提前做的准备都提前做,把切换瞬间要做的压缩到最少。

六、现网里你在哪里会碰到它

1. VoLTE 掉话分析的第一站。 用户投诉“打着电话突然断了”,如果话单显示通话中发生过 LTE→GSM 的移动,SRVCC 流程就是重点怀疑对象。要看的关键点:测量报告是否上报(B1/B2 门限是否合理)、MME 与 MSC 之间的 Sv 接口是否正常、STN-SR 的路由是否可达、CS 信道建立是否失败。链路上任何一环超时,结果都不是“慢一点接上”,而是掉话——因为手机射频已经断开 LTE,没有回头路。

2. 参数优化的两难。 B2 事件的“服务小区弱于门限一”设得太高,SRVCC 触发太早,大量本可以继续留在 LTE(VoLTE 音质更好)的通话被白白搬到 GSM(音质下降);设得太低,触发太晚,可能在流程走完之前 LTE 信号已经彻底没了,直接掉话。这个门限是每个网格、每种场景(高铁、高速、山区)都要单独调的教学案例。

3. QCI=1 的识别。 MME 拆承载时靠 QCI=1 识别语音。如果 IMS 侧建立专用承载失败、语音走了默认承载,SRVCC 触发时 MME 找不到“该搬走的那条腿”,切换会失败。排查 VoLTE 开通问题时,这是必须核对的环节。

4. 两个高频误解,顺便澄清:

5. 往前看的尾巴。 在 VoNR(5G 独立组网语音)时代,同样的故事换个主角重演:5G 覆盖不足时,VoNR 通话同样需要向 4G/3G 侧做语音连续性切换,锚点、会话转移、媒体本地改道的思想原样继承——先例就是 SRVCC 打下的。

常见问题

Q:SRVCC 和 EPS 回落到底怎么区分? A:看时机。EPS 回落发生在呼叫建立前——手机在 LTE 上想打电话,网络让它先切到 2G/3G,再在 CS 域拨号,通话全程走 CS;SRVCC 发生在通话进行中——VoLTE 通话已经跑在 IMS 上,因为走出 LTE 覆盖而中途搬迁到 CS 域。一个动身前搬家,一个住到一半搬家。

Q:为什么手机切到 GSM 之后不能先说几句话,等 IMS 慢慢更新远端? A:因为语音媒体是实时的双向流。手机切到 GSM 后,CS 承载只通向 MSC 那一侧;远端的语音包还在按旧地址发往 LTE 侧的旧路径。在锚点完成媒体改道之前,CS 承载上是一条“断头路”——手机说得出去的话到不了对方,对方的也进不来。所以老版 SRVCC 的沉默窗口没法靠“先凑合说”绕过去。

Q:ATGW 会不会让所有语音都绕远路,增加时延? A:ATGW 部署在用户附近的边界位置,本来就在媒体的合理路径上(功能上与 SBC 同类同址)。正常通话时它只做转发,引入的额外时延在毫秒级、人耳不可辨。它买来的却是切换时数百毫秒的节省,这笔账在工程上是划算的。

Q:为什么 MSC 拨 STN-SR 就能完成 IMS 的会话转移?电话局不是不懂 SIP 吗? A:这正是 STN-SR 的巧妙之处:它把“会话转移请求”伪装成一个普通的电话号码。MSC 只需要做它最擅长的事——按号码建立呼叫。号码在网络内部被路由到 IMS 侧的转移功能实体,由后者把“一通 incoming 呼叫”翻译成 SIP 世界的会话转移操作。跨体系的协议鸿沟,被一个号码填平了。

Q:5G 时代还有 SRVCC 吗? A:机制思想完整继承了。VoNR 通话在 5G 覆盖边缘同样面临“往哪儿搬”的问题,答案依旧是:提前锚定、本地改道、远端无感。只是主角从 LTE/GSM 换成了 5G/4G。理解了 SRVCC 的锚点原理,就拿到了理解下一代语音连续性的钥匙。

参考来源

  1. 《移动通信》(第X版,西安电子电子科技大学出版社等通用教材体系)中关于语音连续性与异系统切换的章节 — 系统讲解跨系统切换的测量、执行与承载迁移框架
  2. 《5G核心网原理与实践》,爱卫生,51学通信 — IMS 会话管理、锚定与业务连续性机制的工程化讲解
  3. Voice over LTE - Wikipedia — VoLTE 语音方案族(含 SRVCC)的一般性背景参考
  4. ShareTechnote — LTE/5G 物理层与切换机制的免费技术手册型站点,含异系统移动性专题
  5. GSM/UMTS/EPC 各体系互通的经典工程手册(如运营商内部无线参数指导原则的公开培训资料)— B1/B2 事件门限优化与 SRVCC 参数实践

本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入