好的,我们继续对TS 23.015的深度拆解。
这是系列文章的第三篇,我们将正式进入规范的核心——第二章“Method of realisation”,并首先聚焦于最基础也是最常见的限制类型:2.1节 Barring of Outgoing Calls or Mobile Originated Short Messages (对呼出电话或手机始发短信的限制)。
深度解析 3GPP TS 23.015:2.1节 呼出限制的技术实现 (CS域)
本文技术原理深度参考了3GPP TS 23.015 V18.1.0 (2024-06) Release 18规范中,关于“2.1 Barring of Outgoing Calls or Mobile Originated Short Messages”的核心章节。本文旨在为读者详细剖析在传统的电路域(CS)网络中,运营商是如何通过HLR与VLR/SGSN的联动,来精确执行对用户呼出电话和发出短信的限制策略的。
引言:当“拨号”键被网络“冻结”
我们的主角美美,这次拿到的是一张为儿童设计的“成长守护卡”。她的父亲在办理业务时,特意为这张卡开通了一项ODB服务:“禁止拨打所有国际长途电话”。这个看似简单的需求,背后却牵动着核心网中一套严密而经典的信令交互流程。
今天,美美在好奇心的驱使下,尝试用这张卡拨打她在国外的朋友的电话。当她按下拨号键后,听到的不是熟悉的彩铃,而是一段提示音:“对不起,您拨打的电话无权接通。”
这个“无权接通”的背后,究竟发生了什么?网络是如何“知道”并“阻止”美美的这次国际呼叫的?TS 23.015的2.1节,为我们详细描绘了这张无形的“拦截网”是如何部署和触发的。本章,我们将化身为电路域核心网的“信令侦探”,追踪这次呼出限制的完整实现路径。
1. 2.1.1 策略的部署:Application or Change of Barring in the HLR
这一节描述了ODB策略的“部署”阶段。当运营商的后台系统(如CRM或网管)决定为一个用户应用、修改或移除一项呼出限制时,整个联动流程便开始了。
If barring of outgoing calls or mobile originated short messages is applied to a subscription … by administrative action in the HLR, the HLR will update the subscription information accordingly, and transfer the updated subscription information to the VLR and the SGSN using one or more Insert Subscriber Data operations… Figure 2.1.1/1: Transfer of updated subscription information to VLR or SGSN
-
核心流程解读:
- “administrative action in the HLR” (在HLR中的行政管理动作): 这一切的起点,是运营商的系统在**HLR(归属位置寄存器)**中,修改了美美的签约数据。HLR中有一块专门的区域,用于存放ODB相关的配置。对于美美的“成长守护卡”,操作员在这里勾选了“禁止所有国际呼出”的选项。
- “HLR will update the subscription information” (HLR将更新签约信息): HLR内部完成了数据的更新。
- “transfer the updated subscription information to the VLR and the SGSN” (将更新后的签约信息传送给VLR和SGSN): 这是最关键的一步。HLR作为“总司令部”,不会亲自去拦截每一次呼叫。它必须将这个最新的“作战命令”,下发给正在为美美提供服务的一线“指挥所”——VLR(拜访位置寄存器,负责语音业务)和SGSN(服务GPRS支持节点,负责短信等数据业务)。
- “using one or more Insert Subscriber Data operations” (使用一个或多个插入签约用户数据操作): 这个下发的动作,是通过一个被称为**
Insert Subscriber Data (ISD)**的MAP(移动应用部分)信令来完成的。HLR会主动向记录中美美当前所在的VLR和SGSN,发起一个ISD请求,将包含最新ODB配置在内的签约数据“推送”过去。
-
图示解读 (Figure 2.1.1/1): 这张图非常简洁地展示了这个“推送”过程。左侧是管理动作(
ODB of outgoing calls applied...),它作用于右侧的HLR。HLR随即向中间的VLR or SGSN发送Insert Subscriber data消息。 -
场景演绎: 在美美的父亲办好业务的那一刻,运营商的后台系统就修改了HLR中她的档案。HLR查询到美美当前在国内A城市的VLR-A和SGSN-A下注册,于是立刻向VLR-A和SGSN-A发送了ISD消息。收到消息后,VLR-A和SGSN-A在它们为美美建立的本地“临时档案”中,也记下了一笔:“该用户,禁止国际呼出”。至此,拦截网部署完毕,只等触发。
2. 2.1.2 限制的触发:Invocation of Barring
这一节描述了当美美实际发起一次被禁止的通信时,网络是如何进行拦截的。呼叫和短信的拦截点是不同的。
2.1 呼出电话的拦截 (Invocation in VLR)
Barring of outgoing calls … is invoked in the VLR. If the VLR receives a request for subscription information for an outgoing call … which is prohibited by Operator Determined Barring, the VLR will return a negative response to the request for subscription information, with an appropriate error indication. Figure 2.1.2/1: Operator Determined Barring of Outgoing Calls … invocation in the VLR
-
核心流程解读:
- “invoked in the VLR” (在VLR中被调用/触发): 呼出限制的“执法者”是VLR。
- 拦截时机: 当美美拨打电话时,她所在的**MSC(移动交换中心)**需要向VLR查询她的签约信息(如是否允许本次呼叫)。这个查询动作,在图中表现为MSC向VLR发送
Send Info for O/G Call。 - VLR的决策: VLR收到查询请求后,会检查它缓存的美美签约数据中的ODB配置。
- 对于“禁止所有呼出”: VLR只需看到这个标志,就可以直接做出拒绝的判断。
- 对于“禁止国际呼出”/“禁止premium rate呼叫”: VLR需要进行更复杂的判断。> >Barring of all international calls … requires the VLR … to analyse the called number to determine whether the requested call is barred. VLR需要分析被叫号码。它会检查号码是否带有国际冠码(如+86),或者是否属于已知的premium rate号码段。
- 执行拦截: 如果VLR判断本次呼叫违反了ODB规则,它就不会返回成功,而是向MSC回复一个**
Reject(拒绝)**消息,并附带一个明确的原因值(cause),如“Operator Determined Barring”。 - MSC的后续处理: MSC收到拒绝响应后,有两个选择:
The MSC may relay this error indication ... to the mobile station: 将错误原因传递给手机,手机上可能会显示“呼叫被限制”等提示。may connect the mobile station to an address to be determined by the network operator: 将呼叫连接到一个预设的语音通知平台,播放“对不起,您无权拨打此电话”的录音。这就是美美听到的声音的来源。
-
图示解读 (Figure 2.1.2/1): 这张图生动地描绘了美美手机(
MS)发起呼叫请求(O/G Request)后,MSC与VLR之间的交互。MSC向VLR请示,VLR检查后发现违规,回复Reject,MSC随即向MS返回错误指示或播放录音。
2.2 始发短信的拦截 (Invocation in SGSN)
Barring of mobile originated short messages is invoked in the SGSN. If the SGSN receives a request for a mobile originated short message which is prohibited by Operator Determined Barring, the SGSN will return a negative response to the request with an appropriate error indication… Figure 2.1.2/2: Operator Determined Barring of Mobile Originated Short Messages invocation in the SGSN
-
核心流程解读: 短信的发送在2G/3G时代,通常是通过分组域的信令通道来承载的。
- “invoked in the SGSN” (在SGSN中被调用/触发): 短信呼出限制的“执法者”是SGSN。
- 拦截时机: 当美美编辑完短信点击发送时,手机(
MS)会向当前服务的SGSN发送一条包含短信内容的MO Short Message请求。 - SGSN的决策: SGSN同样会检查从HLR同步过来的ODB数据。如果配置了对呼出短信的限制,SGSN就会直接拒绝这个请求。
- 执行拦截: SGSN向手机返回一个带有错误原因的**
Reject**消息。 - 用户感知: 美美的手机会显示“短信发送失败”的提示。
-
图示解读 (Figure 2.1.2/2): 这张图展示了MS向SGSN发送
MO Short Message,SGSN检查ODB后直接返回Reject的简单流程。
3. 策略部署的异常处理
If the VPLMN does not support Operator Determined Barring of outgoing calls, the VLR and the SGSN shall indicate this in the acknowledgement of the Insert Subscriber Data message. The HLR shall then, as an operator option, apply the Outgoing Calls Barred supplementary service, apply barring of roaming … or take any other action…
这里定义了一个重要的向后兼容和异常处理机制。
- 场景演绎: 假设美美漫游到了一个比较老旧的国外网络,当地的VLR版本太低,不认识HLR在ISD消息中下发的ODB参数。
- 技术解读:
- VLR上报“不支持”: 老旧的VLR在收到ISD消息后,会在确认消息(ack)中告诉美美的归属HLR:“对不起,你发来的ODB参数我不懂”。
- HLR采取“替代措施”: HLR收到这个“不支持”的反馈后,不能坐视不管。它会启动预案(operator option)。最常见的预案是:
- 应用补充业务: HLR可以远程为美美激活一个标准的**“呼出限制(Outgoing Calls Barred)”补充业务**。这个是所有网络都支持的标准功能,虽然不如ODB灵活,但能起到类似的作用。
- 应用漫游限制: HLR也可以采取更严格的措施,直接将美美置于**“漫游受限”**状态,这将在2.3节中详细讨论。 这个机制确保了即使在版本不匹配的漫游网络中,运营商的限制策略也能通过“降级”的方式得到近似的执行,保证了策略的健壮性。
FAQ环节
Q1:为什么呼叫限制在VLR执行,而短信限制在SGSN执行? A1:这是由2G/3G核心网的域划分决定的。
- VLR/MSC属于电路交换域(CS Domain),专门负责处理语音呼叫等电路交换业务。因此,所有与语音呼叫相关的策略执行,自然就落在了VLR身上。
- SGSN属于分组交换域(PS Domain),负责处理所有的数据业务。在GPRS/UMTS中,手机发送短信(MO-SMS)的信令,通常是通过PS域的信令通道(如GTP-C)来承载的,因此对短信的拦截就在PS域的入口——SGSN处进行。
Q2:HLR是如何知道美美当前所在的VLR/SGSN地址的?
A2:这是通过**位置更新(Location Update / Routing Area Update)**流程实现的。当美美开机或进入一个新的位置区/路由区时,她的手机会向网络发起位置更新请求。这个请求最终会到达她的归属HLR。HLR在处理这个请求时,就会记录下当前为她提供服务的VLR和SGSN的地址。这个地址信息是HLR能够主动向VLR/SGSN推送(Insert Subscriber Data)更新的前提。
Q3:当VLR需要“分析被叫号码”时,它能分析全球所有的号码格式吗? A3:VLR的号码分析能力是非常强大的。它内置了一套可配置的、复杂的号码分析规则(Number Analysis Plan)。运营商可以根据国际电信联盟(ITU-T)的E.164标准和本国的号码计划,为VLR配置各种号码前缀的含义。例如,VLR可以被配置为:
- 所有以“+”或“00”开头的号码都属于国际长途。
- 所有以“900”或“168”开头的号码属于premium rate号码。
- 所有不带国家码的号码属于国内号码。 通过这套灵活的规则,VLR可以准确地识别出美美拨打的电话类型,并与ODB策略进行匹配。
Q4:如果运营商在HLR修改了ODB设置,而此时HLR与VLR之间的链路正好中断了,会发生什么? A4:这是一个网络可靠性的问题。MAP协议栈(承载ISD消息)本身具备重传机制。如果HLR发送ISD失败,它会进行重试。如果链路长时间中断,HLR会标记该VLR为不可达,并将这次数据更新标记为“待处理”。当链路恢复,或者当美美下次发起位置更新,触发VLR与HLR重新通信时,HLR会重新发送这个待处理的数据更新,以保证最终的数据一致性。
Q5:这个2.1节描述的流程,在4G VoLTE和5G VoNR中还适用吗? A5:不适用。2.1节描述的是纯粹的电路域(CS)流程。而VoLTE和VoNR是完全运行在IMS(IP多媒体子系统)上的。虽然用户看到的都是“打电话”,但底层的技术实现截然不同。对VoLTE/VoNR的呼出限制,是在IMS域中,通过S-CSCF和**iFC(初始过滤规则)**来实现的,其ODB数据的存储和交互也遵循IMS的流程(通常由HSS通过Cx/Dx接口提供给S-CSCF)。TS 23.015并未详细展开IMS域的ODB,它更多是隐含在对“Packet Oriented Services”的限制中。