好的,我们继续深入5G服务化短信的旅程。这是系列文章的第四篇,我们将探讨短信投递的第三条成功路径——穿越IP世界的握手,并首次揭开当消息投递失败时,5G网络那套优雅而智能的应对机制。
深度解析 3GPP TS 23.540:5.1 MT SMS 流程 (Part 2 - IP 通道与失败处理机制)
本文技术原理深度参考了3GPP TS 23.540 V18.4.0 (2024-06) Release 18规范中,关于“5.1 Procedure for SBI-based MT SMS”的核心章节,本次重点聚焦于 5.1.4 Successful Mobile Terminated short message transfer via IP-SM-GW 以及对失败流程 5.1.5 Unsuccessful Mobile Terminated short message transfer… 的初步探讨。本文旨在为读者揭示短信如何通过IMS的IP通道进行投递,并首次展现当短信投递遭遇阻碍时,5G网络所启动的智能“等待与唤醒”机制。
在上一篇文章中,我们见证了小明如何成功接收到两条重要的提醒短信。我们学习了最直接的投递路径,以及经过SMS Router进行策略增强的路径。这两条路径,代表了5G短信网络最高效、最灵活的“陆路运输”系统。
然而,5G的世界是一个IP无处不在的世界。语音(VoNR)、数据,乃至短信,都可以承载于IP之上。今天的故事,将从小明的一位精通技术的朋友——小李——说起。小李正在使用最新的VoNR(Voice over New Radio)高清语音通话,并想在通话中给小明发送一条会议地址的短信。这条短信,将带领我们探索5G短信的“空中航线”——经由IP-SM-GW的IP化投递。随后,我们将模拟一个常见场景:小明在进入地铁时信号中断,看看网络是如何应对这突如其来的“失联”。
1. 场景三:穿越IMS的握手 - 经由IP-SM-GW的成功投递 (Section 5.1.4)
小李在VoNR通话中发送的短信,其本质是SM-over-IP(基于IP的短信)。这类短信的旅程,需要一位特殊的“翻译官”和“摆渡人”——IP-SM-GW (IP Short Message Gateway)。它的职责是搭建一座桥梁,连接传统的短信世界(由SC和SMS-GMSC代表)与现代的IMS(IP多媒体子系统)世界。
Section 5.1.4 Successful Mobile Terminated short message transfer via IP-SM-GW及其附图Figure 5.1.4-1: MT SMS over NAS via IP-SM-GW详细描绘了这条“海陆空联运”的路线。
旅程的开端:与前序流程的一致性
- MT SMS interaction between SC and SMS-GMSC follow the current procedure as defined in 3GPP TS 23.040.
2a. SMS-GMSC invokes the Nnrf_NFDiscovery to discover and select the UDM instance(s)…
- The SMS-GMSC invokes Nudm_UECM_SendRoutingInfoForSM (GPSI) to the UDM…
深度解读(Step 1, 2, 3):
旅程的开端与我们之前学习的流程完全一致。小李的短信首先抵达小明所在运营商的SMS-GMSC。SMS-GMSC依然是先向NRF查询,找到可用的UDM,然后向UDM发起Nudm_UECM_SendRoutingInfoForSM服务调用,请求小明的短信路由信息。这体现了SBA架构下入口流程的高度统一性。
关键转折点:UDM的“IP化”路由决策
- The UDM shall check the registration/reachability flags… For MT SM transfer via IP-SM-GW, the UDM shall invoke the Nipsmgw_SMService_RoutingInfo to provide the SMSF Instance Id to the IP-SM-GW.
- The UDM responds to the SMS-GMSC by sending Nudm_UECM_SendRoutingInfoForSM response, including IP-SM-GW address, the indication for SMSF SMS_SBI support and the indication for IP-SM-GW SMS_SBI support.
深度解读(Step 4, 5, 6):
这里出现了与之前流程的第一个核心差异。当UDM在查询小明的档案时,它发现了小明的一个重要状态:“IMS Registered for SMS”(该用户已在IMS网络注册并支持短信)。这可能是因为小明正在进行VoNR通话,IMS会话处于激活状态。
-
UDM据此判断,这条短信应该通过IP通道投递。于是,它并没有直接返回SMSF的地址。
-
(Step 4 & 5) 类似于SMS Router的场景,UDM转身联系了IP短信的“专家”——IP-SM-GW,调用了
Nipsmgw_SMService_RoutingInfo服务,相当于在“咨询”IP-SM-GW:“我这有条给小明的短信,需要走IP通道,后续流程你来处理,请告诉我该怎么走。” IP-SM-GW在确认可以处理后,可能会返回目标SMSF的信息给UDM。 -
(Step 6) 最终,UDM向SMS-GMSC返回的路由信息中,包含的“下一跳”地址是IP-SM-GW的地址。
现在,SMS-GMSC知道,它需要把这个“包裹”交给IP-SM-GW这位“联运专家”去处理。
两级跳转发:从短信域到IP域再到接入域
7-8. The SMS-GMSC forwards the SMS message to the IP-SM-GW, and then IP-SM-GW performs service authorization and domain selection… If the SMSF is selected, the IP-SM-GW forwards the SMS message to the SMSF.
深度解读(Step 7 & 8):
消息的转发再次呈现“两级跳”的模式,但每一跳的意义都不同:
-
第一跳:进入IP互通世界。SMS-GMSC调用
Nipsmgw_SMService_MtForwardSm服务,将短信发送给IP-SM-GW。 -
第二跳:回归短信核心逻辑。IP-SM-GW执行其核心功能,比如业务鉴权、选择投递域(是走NAS投递还是IMS投递)。在本流程中,它选择通过NAS投递,于是它再调用
Nsmsf_SMService_MtForwardSm服务,将短信转发给最终的“短信大脑”——SMSF。
旅程的终点:殊途同归
- The MT SMS over NAS procedure between SMSF, AMF and UE is the same as in step 4a to 6b of Figure 4.13.3.6-1 of 3GPP TS 23.502.
深度解读(Step 9 onwards):
一旦短信抵达了SMSF,后续的“最后一公里”投递流程就和我们之前学过的完全一样了。SMSF将短信交给AMF,AMF通过NAS信令送达UE。投递报告的返回路径,也只是原路经过IP-SM-GW,再回到SMS-GMSC和SC。
通过引入IP-SM-GW,5G短信架构实现了与IMS生态的无缝融合,确保了无论用户处于何种接入状态(普通NAS注册或IMS会话中),都能以最优路径接收到短信,提供了统一且无缝的通信体验。
2. 当消息迷航:失败流程概览与智能应对 (Introduction to Section 5.1.5)
我们已经看完了所有成功的投递路径。但现实世界中,意外时有发生。现在,让我们进入第二个场景:小明在市中心,正要进入地铁站,信号满格。此时,小李的第二条短信——“别忘了带文件”——正向他飞来。然而,就在短信即将抵达的瞬间,小明步入了地铁深处,手机信号瞬间消失。
网络将如何处理这次突如其来的“投递失败”?Section 5.1.5 Unsuccessful Mobile Terminated short message transfer without SMS Router/IP-SM-GW为我们揭示了这套精密的失败处理与恢复机制。
识别失败点
对照Figure 5.1.5-1: Unsuccessful MT SMS...,我们可以发现,失败可能发生在多个环节,但最常见的失败点发生在步骤6和7。
- MT SMS over NAS procedure between SMSF, AMF and UE…
- If the AMF informs the SMSF that it cannot deliver the MT-SMS to the UE in step 6, e.g. UE is not reachable… the SMSF shall send the Nsmsf_SMService_MtForwardSm response with error cause to the SMS-GMSC.
深度解读:
-
(Step 6) SMSF信心满满地将短信交给AMF,请求投递。
-
(Step 7) AMF尝试呼叫小明的手机,但无论如何都联系不上(Paging Unsuccessful)。AMF只能无奈地告诉SMSF:“抱歉,目标(小明)已失联(UE is not reachable)”。
-
收到坏消息的SMSF,并不会把消息丢弃,而是立即向上游的SMS-GMSC发送一个带有错误原因(error cause)的响应,明确告知:“投递失败,原因为用户不可达”。
报告失败与启动“智能等待”
收到失败通知的SMS-GMSC,并不会简单地将失败消息传递给SC后就撒手不管。它启动了一套优雅的“Plan B”。
- The SMS-GMSC sends the failure report to SC as defined in TS 23.040.
- The SMS-GMSC subscribes in UDM to be notified when the UE becomes reachable for SMS… by using the Nudm_EventExposure_Subscribe service operation for Reachability for SMS event…
深度解读(Step 10, 11, 12):
-
(Step 10) SMS-GMSC首先忠实地将“暂时投递失败”的报告发送给始发的SC(小李所在的运营商网络)。SC收到后,会将这条短信置于“待重发”队列。
-
(Step 11) 接下来是整个流程的精髓所在!SMS-GMSC并没有选择“盲目轮询”或“定时重试”,而是转向UDM,发起了一个名为
Nudm_EventExposure_Subscribe的服务调用。这是一个划时代的转变,从“拉(Pull)”模式转向了“推(Push)”模式。
-
这个调用的语义是:“尊敬的UDM,请帮我盯住小明。一旦他重新变得可达(reachable),请第一时间通知我。”
-
这相当于SMS-GMSC在UDM那里为小明的“可达性状态”订阅了一个事件。
-
-
(Step 12) UDM收到这个订阅请求后,欣然接受。它会在小明的用户档案里设置一个特殊的“监控标志”。如果需要,UDM还会进一步向为小明提供服务的**AMF(s)**订阅更底层的UE可达性事件(通过
Namf_EventExposure服务)。这样,一张从接入层(AMF)到数据层(UDM)再到业务层(SMS-GMSC)的“监控大网”就悄然形成了。
至此,网络已经从一次失败的投递,切换到了一个高效、低耗的**“事件等待”状态。它不再徒劳地尝试,而是静静地等待着小明重新上线的那个时刻。当那一刻来临时,将会触发我们在后续文章中将要详细解读的Alert(告警/通知)流程**,实现短信的“秒级”智能重发。
【FAQ环节】
Q1:IP-SM-GW和SMS Router都作为短信路径的中间节点,它们的核心区别是什么?
A1:它们的核心区别在于职责领域。
-
SMS Router 关注的是短信业务逻辑与策略。它工作在纯粹的短信域内,主要职责是根据运营商的策略(如号码段、关键字、优先级)对短信进行灵活的路由和处理。它是一个“业务策略控制器”。
-
IP-SM-GW 关注的是不同承载域之间的互通与翻译。它的核心职责是处理SM-over-IP,实现IP/IMS域与传统短信域(如基于NAS或MAP)之间的协议转换和消息适配。它是一个“协议翻译与域间摆渡人”。
一个处理业务策略,一个处理协议互通,两者可以独立存在,也可以串联工作。
Q2:为什么短信需要通过IP/IMS来传输?直接通过NAS信令传输不是更简单吗?
A2:通过IP/IMS传输短信(SM-over-IP)有几个好处:
-
统一承载:在VoLTE/VoNR场景下,用户的信令和媒体都承载于一个IP PDU会话上。短信也通过这个会话传输,可以实现所有业务的承载统一,简化UE和网络的处理。
-
增强业务可能性:IMS不仅仅是IP通道,更是一个丰富的多媒体业务平台。将短信纳入IMS体系,为未来与RCS(富媒体通信)、语音、视频等业务的融合提供了可能。
-
Wi-Fi覆盖:在蜂窝信号不佳但有Wi-Fi覆盖的场景(如地下室),通过VoWiFi进行通话和收发短信,可以极大地改善用户体验。而VoWiFi正是基于IMS的,因此短信也需要通过IP-SM-GW进行处理。
所以,虽然NAS投递是基础,但IP化投递是向业务融合与体验增强演进的重要方向。
Q3:当MT短信投递失败后,消息是存储在哪里等待重发?SMSF还是SC?
A3:在3GPP定义的标准流程中,主要的存储责任方是始发的服务中心(SC)。当SMSF尝试投递失败后,它会向上游返回一个带有失败原因的报告。这个报告会逐级传回SC。SC作为一个“存储转发”中心,在收到“暂时性失败”(如用户不可达)的报告后,会将该短信保留在其发送队列中,等待网络后续的Alert通知。SMSF本身也可以配置具备一定的短时存储能力,但这并非其核心职责。这种设计将存储的重任放在了业务的发起端,使得核心网络更加轻量化。
Q4:Nudm_EventExposure_Subscribe这个服务调用为什么说是“划时代的转变”?
A4:因为这个服务调用体现了5G SBA架构从传统的**“请求-响应”/“轮询”模式向“事件驱动”/“发布-订阅”模式**的深刻转变。
-
传统模式:如果SMS-GMSC想知道小明是否在线,它只能不断地去问UDM:“小明在线了吗?”,“现在在线了吗?”。这种“轮询”方式效率低下,且会产生大量不必要的信令。
-
事件驱动模式:SMS-GMSC只需向UDM订阅一次“小明可达性”这个事件。之后它就可以高枕无忧。当事件发生时(小明上线),UDM会主动通知(Notify)所有订阅者。这种模式极大地降低了信令开销,响应更实时,是构建现代化、可扩展、松耦合系统的核心思想之一。
Q5:小明进入地铁导致短信失败,那发送方小李的手机上会显示什么?是“发送失败”吗?
A5:通常不会立即显示“发送失败”。小李的手机发送短信后,只要消息成功到达了他所在运营商的SC,手机界面通常就会显示“已发送”或一个对勾。后续的投递状态,取决于**投递报告(Delivery Report)**的设置。如果小李开启了投递报告,那么在他的SC收到来自小明侧网络的“暂时性失败”报告后,小李的手机可能会收到一个提示,如“消息正在发送中”或“对方暂时无法接收”。只有在多次重试后仍然失败(例如,小明手机长时间关机超出了SC的重试期限),SC才会生成一个“永久性失败”的报告,此时小李的手机才可能显示最终的“发送失败”。