深度解析 3GPP TS 32.240:Annex B Single IMSI architecture for EU Roaming (欧盟漫游单一IMSI架构)
本文技术原理深度参考了3GPP TS 32.240 V18.9.0 (2024-12) Release 18规范中,关于“Annex B (normative): Single IMSI architecture for EU Roaming”的核心章节。本文旨在为读者深入剖析这一为满足欧盟“Roam Like At Home”(像在家一样漫游)法规而设计的、极具创意的计费架构,揭示其如何巧妙地解决了用户保留原号码、却由第三方运营商实时计费的技术难题。
随着我们对3GPP计费规范主体的探索告一段落,我们将目光投向了同样重要的附录(Annexes)。这些附录并非可有可无的补充,而是针对特定技术、场景或法规的深度扩展和规范性定义。它们是连接通用理论与具体实践的关键桥梁。附录A(Annex A)作为全规范的参考文献列表,为我们提供了宝贵的索引,在此不做专门解读。
我们将直接进入第一个具有深度技术内涵的附录——Annex B。这是一个由真实世界法规催生出的精彩技术范例。为了理解它,让我们再次请出老朋友小美。这一次,她将踏上一场说走就走的欧洲之旅,从她的祖国德国出发,前往浪漫之都巴黎。而正是这次旅行,让她亲身体验到了“单一IMSI架构”的精妙之处。
1. 历史背景与核心挑战:告别“天价漫游费”
在欧盟“Roam Like At Home”政策全面实施之前,欧洲用户跨国旅行时面临的一大痛点就是高昂的漫游费。小美在德国的运营商(我们称之为“归属服务提供商”或DSP - Domestic Service Provider)与法国的运营商之间有着漫游协议,但这通常意味着更高的通话和数据费用,俗称“账单震撼 (Bill Shock)”。
为了促进单一数字市场,欧盟法规允许消费者在漫游时,选择一家更便宜的“替代漫游提供商”(ARP - Alternative Roaming Provider)来为自己的通信服务买单,同时无需更换自己德国的SIM卡(即保留单一的IMSI)。
这带来了一个巨大的技术挑战:
- 小美的手机里是德国DSP的SIM卡,她在法国接入当地网络时,当地网络(Visited Network)的一切信令交互,都会默认路由回德国的DSP。
- 但小美又希望,她在法国打的这通电话,能由她选择的、资费更低的法国ARP来进行实时在线计费和扣费。
如何让一个身处法国、使用德国SIM卡的用户,其通话能被德国的网络“放行”,并交由一个法国的计费系统来实时控制?这听起来就像一个“不可能完成的任务”。而Annex B所定义的,正是解决这一难题的巧妙架构。
2. 核心架构解析:语音控制的“代理”模式
要解开这个谜题,我们必须仔细研究规范中的核心架构图。
规范原文中 Annex B 章节的 Figure B.1.1: Voice Control Architecture and Associated Functions 清晰地展示了这一解决方案的整体视图。
这张图虽然看似复杂,但其核心思想可以概括为**“代理与翻译”**。它引入了一个关键的逻辑功能——语音代理 (Voice Proxy),它像一个神通广大的中间人,完美地衔接了两个原本不直接对话的系统。
场景设定:
- 小美:我们的主角,持有德国运营商的SIM卡。
- 归属服务提供商 (DSP):小美的德国运营商。
- 替代漫游提供商 (ARP):小美在出发前,通过APP选择的一家法国运营商,用于处理她在法国期间的通话计费。
- 拜访地网络 (Visited Network):小美抵达巴黎后,手机自动连接上的法国本地移动网络。
现在,让我们来拆解架构图中的关键角色:
-
传统的CAMEL漫游基础: 图的左半部分(HLR/VLR, GMSC, CAP T-CSI/O-CSI)描绘的是一个标准的2G/3G电路域(CS)国际漫游场景。当小美在法国拨打电话时,拜访地网络的MSC/VLR会依据她SIM卡中的信息,触发一个CAMEL(Customised Applications for Mobile network Enhanced Logic)信令,通过国际信令网关,发送回她德国的归属网络(DSP)进行鉴权和控制。这是全球漫游的基础,数十年来一直如此运作。
-
在线计费系统 (OCS - Online Charging System): 图的右上角是ARP的OCS。这是一个基于现代IP协议(如Diameter)的在线计费系统,负责实时管理小美的预付账户余额、授予通话配额、进行扣费等。
-
核心角色:语音代理 (Voice Proxy): 它位于DSP和ARP之间,是整个架构的“心脏”。它的作用是:
- 对内(对DSP),它伪装成一个传统的CAMEL业务控制点(SCP - Service Control Point)。
- 对外(对ARP),它表现为一个标准的在线计费客户端。
它的核心使命,就是将传统的、基于电路域信令的CAMEL协议,实时翻译成现代的、基于IP的Diameter Ro协议,反之亦然。
3. 关键信令流程:一次跨国通话的计费之旅
理论是枯燥的,让我们跟随小美在巴黎街头拨出的一通电话,来完整地体验一次这个计费流程的“奇幻漂流”。
第一步:触发传统的CAMEL漫游流程
小美在巴黎用她的德国手机号拨打朋友的电话。
- 法国的拜访地网络MSC识别出这是一个漫游用户发起的呼叫。
- 根据小美SIM卡签约的CAMEL业务信息(O-CSI),MSC暂停了呼叫,并向小美的德国归属网络(DSP)发送了一个CAMEL业务请求(IDP - Initial Detection Point),询问:“这个用户要打电话,我该怎么办?”
规范原文 B.1 Voice Control: The signaling between the Visited Network and the DSP utilizes CAP for the online CS domain charging as specified in TS 32.250.
这里的CAP(CAMEL Application Part)就是CAMEL协议的核心部分。到目前为止,一切都和普通国际漫游一模一样。
第二步:DSP的智能路由与“代理”介入
小美德国DSP的业务交换/控制节点(GMSC/SCP)收到了来自法国的CAMEL请求。
- 此时,DSP的系统检测到小美签约了“欧盟漫游ARP”服务。
- 于是,DSP并没有按照常规流程处理这个呼叫,而是将这个CAMEL请求转发给了架构中的新角色——语音代理 (Voice Proxy)。
第三步:神奇的翻译——从CAMEL到Diameter
语音代理收到了来自DSP的CAMEL请求。现在,它开始施展“魔法”。
- 它解析这个CAMEL消息,提取出所有关键的计费信息:主叫方(小美)、被叫方、位置信息等。
- 然后,它将这些信息重新打包,封装成一个Diameter Credit-Control-Request (CCR) 消息。这个消息的语义是:“用户小美想打电话,请求在线计费授权”。
- 语音代理通过一个安全的IP网络接口(图中的IF#1),将这个Diameter CCR消息发送给了法国ARP的OCS。
规范原文 B.1 Voice Control: For the Diameter option of IF#1, the signaling between the DSP and ARP utilizes Diameter Ro for the Voice Call Service online charging as specified in TS 32.276 and utilizes the Proxy Function for mapping between CAMEL and Diameter as specified in TS 32.293.
这段原文精确地描述了这个核心步骤:IF#1接口上跑的是Diameter Ro协议(在线计费标准接口),而实现这个转换的就是代理功能(Proxy Function)。
第四步:ARP的实时在线计费
法国ARP的OCS收到了来自语音代理的Diameter请求。
- OCS在自己的系统中找到了小美的账户(她在出发前已经通过ARP的APP注册并充值)。
- OCS检查小美的账户余额,根据ARP的漫游资费策略,决定授予一定的通话时长配额(例如,先批5分钟)。
- OCS从她的账户中预留(reserve)了5分钟对应的费用。
- 最后,OCS将授权结果封装成一个Diameter Credit-Control-Answer (CCA) 消息,其中包含了授予的配额信息,然后发回给语音代理。
第五步:再次翻译——从Diameter回到CAMEL
语音代理收到了ARP OCS返回的Diameter CCA消息。现在,它进行反向翻译。
- 它解析CCA消息,提取出“授权通话”以及“配额为5分钟”等关键指令。
- 它将这些指令转换成CAMEL协议能够理解的格式,例如一个CAMEL Connect或Continue消息,并附加了通话时长监控的指令。
- 语音代理将这个CAMEL响应消息,发送回德国DSP的SCP/GMSC。
第六步:呼叫建立与通话进行
德国DSP的SCP/GMSC收到了来自“伪装成SCP”的语音代理的CAMEL响应。它看到的完全是标准的CAMEL指令,于是:
- 它向法国的拜访地MSC发送最终的CAMEL指令:“允许呼叫继续,但最多只能持续5分钟”。
- 法国的MSC收到指令后,终于接通了小美的电话,通话开始。MSC会像一个秒表一样,实时监控通话时长。
第七步:通话结束与最终结算
当5分钟配额即将用尽,或者小美主动挂机时,法国MSC会再次触发CAMEL流程,向德国DSP报告通话结束以及实际通话时长。这个信令会再次被路由到语音代理,语音代理再次将其翻译成Diameter消息(Termination-Request),发送给ARP的OCS进行最终的扣费结算。
至此,一次看似不可能的跨运营商实时计费通话,通过语音代理的巧妙“翻译”,完美地实现了闭环。
4. 架构的精髓:务实与创新的完美结合
单一IMSI架构的 brilliant 之处在于:
- 尊重历史,最小化改造:它没有试图去改造全球数以万计的、支持CAMEL的移动交换中心(MSC),而是完全复用了现有的、成熟的国际漫游CAMEL信令基础。这使得方案具备了极强的现实可行性。
- 拥抱未来,实现灵活计费:它通过引入Diameter Ro接口,使得计费方(ARP)可以使用最现代、最灵活的在线计费系统(OCS)。ARP可以快速推出各种创新的资费套餐,而无需受制于传统CAMEL计费的局限性。
- 解耦与代理:语音代理是解耦的典范。它让DSP的传统核心网与ARP的现代计费系统可以“隔空对话”,双方都无需关心对方内部复杂的技术实现。这种松耦合的设计,大大降低了运营商之间系统对接的复杂度和成本。
FAQ 环节
Q1:为什么这个架构被称为“单一IMSI”? A1:这个名称强调的是其对用户的核心价值。“单一IMSI”意味着用户小美不需要更换SIM卡。她只需要使用自己归属运营商(DSP)的一张SIM卡(对应一个唯一的IMSI),就可以享受到替代漫游提供商(ARP)的服务。这与需要购买当地预付卡(即获得一个新的IMSI)的传统解决方案形成了鲜明对比。
Q2:这个架构只适用于语音通话吗?数据漫游呢? A2:Annex B明确地聚焦于语音控制(Voice Control),即电路域的语音、短信等业务。数据漫游的“去捆绑”有另一套不同的技术方案,通常被称为“本地疏散”(Local Breakout - LBO)。LBO允许漫游用户的数据流量不经过归属网络,而是直接在拜访地网络接入互联网,由拜访地网络或用户选择的第三方进行计费。这是两种不同领域的技术解决方案。
Q3:语音代理(Voice Proxy)是一个标准的3GPP网元吗?它通常部署在哪里? A3:语音代理并不是一个像MME或SMF那样被严格定义的标准化3GPP网络功能(NF)。它是一个为解决特定问题而出现的逻辑功能。在实际部署中,它可能由专业的第三方解决方案提供商提供,作为一个独立的网元实体存在;也可能作为归属运营商(DSP)的业务控制点(SCP)或IMS网络中的应用服务器(AS)的一个软件功能来实现。从信令流来看,它逻辑上位于DSP的网络中,因为它需要拦截从拜访地网络发往DSP的初始CAMEL信令。
Q4:如果小美选择的ARP的OCS系统出现故障,会发生什么? A4:这是一个很好的容灾问题。如果语音代理向ARP的OCS发送Diameter计费请求后,长时间未收到响应或收到错误响应,它会感知到ARP侧的故障。此时,语音代理会向DSP的SCP返回一个相应的CAMEL错误消息。DSP的SCP会根据预设的策略进行处理,通常有两种可能:
- 回退到默认漫游计费:呼叫将由DSP自己的计费系统按标准的国际漫游资费进行处理,以保证通话能够继续。
- 拒绝呼叫:如果策略设定为必须由ARP计费,那么为了避免后续的计费纠纷,可能会直接拒绝本次呼叫。
Q5:随着5G VoNR(Voice over New Radio)的普及,这种基于CAMEL的架构是否会过时? A5:这是一个着眼于未来的问题。VoNR是纯IP化的IMS语音,其漫游和计费架构(如S8HR或LBO)原生基于Diameter/HTTP2协议,不再依赖于CAMEL。从长远看,当全球绝大多数运营商都实现了VoNR漫游互通后,Annex B这种为了兼容CS漫游而设计的架构确实会逐渐退出历史舞台。然而,在可预见的未来,全球网络中仍然会长期存在大量的2G/3G/4G CS覆盖,以及大量的用户终端不支持VoNR漫游。因此,这个精巧的“翻译”架构,在CSFB(CS Fallback)和跨代网络互通的漫游场景中,仍将继续扮演着重要的角色。