好的,我们继续对TS 23.204的深度拆解。

这是系列文章的第四篇,我们将把显微镜对准规范的第六章:流程 (Procedures) 的核心部分。由于第六章内容极其丰富,我们将分多篇进行解读。本篇将聚焦于最基础也是最重要的流程:6.1节 Registration (注册)6.2节 De-registration (去注册),以及6.3节和6.4节定义的、经典的**MO/MT-SMS(手机收发)**流程。


深度解析 3GPP TS 23.204:第六章(上) SMS over IP的“生死轮回”与“经典收发”

本文技术原理深度参考了3GPP TS 23.204 V18.0.0 (2024-03) Release 18规范中,关于“6.1 Registration procedure”, “6.2 De-registration procedure”, “6.3 …Short Message origination procedure…” 和 “6.4 …Short Message termination procedure…”的核心章节。本文旨在为读者详细拆解SMS over IP业务的完整生命周期,我们将通过信令流程图,一步步地追踪一个IMS用户是如何“激活”其IP短信能力,并完成一次经典的短信收发全过程的。

引言:为“短信IP化”注入生命

在上一篇中,我们已经勾勒出了SMS over IP的“系统骨架”,知道了IP-SM-GW是这个系统的“宇宙中心”。现在,我们要为这个静态的骨架注入“生命”——也就是信令的流动。

一个SMS over IP用户,从开机到关机,其“IP短信”能力会经历一个完整的“生死轮回”:

  • 诞生 (Registration): 用户开机,接入IMS,如何让整个短信网络知道,“这位用户现在应该通过IP方式来接收短信了”?
  • 活动 (Origination & Termination): 在线期间,用户如何通过IP网络,发出和接收短信?
  • 消亡 (De-registration): 用户关机或主动退出IMS,如何通知短信网络,“这位用户已下线,请转回传统方式或启动留言服务”?

第六章“Procedures”,就是描绘这个“生命周期”的动态剧本。今天,我们将扮演“信令分析师”的角色,跟随用户李雷的一天,来完整地追踪这个“IP短信生命体”的诞生、活动与消亡。


1. 6.1 Registration procedure (注册流程):IP短信能力的“激活仪式”

Figure 6.1: Registration procedure

这是李雷开启他IP短信一天的“激活仪式”。当他早上打开5G手机时,背后发生了一场精密的“三方会谈”。

1.1 核心流程拆解

步骤 1-3: IMS世界的“常规报到”

  1. UE establishes IP connection: 李雷的手机首先建立了一个到5G核心网的PDU会话,获得了IP连接。
  2. IMS Registration: 手机向IMS网络发起SIP REGISTER请求,经过P-CSCF、I-CSCF,最终到达S-CSCF
  3. S-CSCF checks initial filter criteria (iFC): S-CSCF从HSS获取李雷的IMS签约数据,特别是iFC(初始过滤规则)。

步骤 4-5: S-CSCF向“短信总局”的“引荐”

  1. S-CSCF informs the IP-SM-GW (AS): S-CSCF在iFC中,找到了一条与短信业务相关的规则,该规则指向了IP-SM-GW(它在这里扮演AS的角色)。于是,S-CSCF向IP-SM-GW发送一个**SIP REGISTER**请求的“副本”(或者是一个第三方注册Third-Party Registration流程)。这个消息告诉IP-SM-GW:“嗨,你的新客户李雷(IMSI为…)刚刚上线了,他当前的联系地址是…”。
  2. IP-SM-GW (AS) returns OK: IP-SM-GW收到通知,知道了李雷已经在线,并回复200 OK

步骤 6-8: “短信总局”向“中央户籍处”的“备案”

  1. IP-SM-GW (AS) sends IP-SM-GW Register Req to the HSS: 这是最关键的一步。IP-SM-GW在得知李雷上线后,必须立即向HSS进行“备案”。它会向HSS发送一个包含自己地址的**Register**请求(通常是MAP_ANY_TIME_INTERROGATION或Diameter的SAR等消息的变体)。
  2. HSS stores the…IP-SM-GW address: HSS收到这个请求后,会在李雷的用户档案中,更新或记录下当前为他服务的IP-SM-GW的地址。同时,HSS会返回一个Register Res响应。
  3. HSS checks whether message waiting data are stored: HSS在完成备案后,会检查李雷的“信箱”里是否有“未读短信”标志(Message Waiting Data, MWD)。如果他下线期间,有短信发送失败被存储在SMSC,HSS会立即触发Alert-SC流程,通知SMSC:“李雷上线了,快把之前失败的短信重发给他!”

流程总结: 这个“三方会谈”的本质,就是通过IMS注册流程,将**“用户李雷 > S-CSCF”的会话关系,扩展为“用户李雷 > S-CSCF > IP-SM-GW > HSS”的四方绑定关系。最终的结果是,HSS中关于李雷的“短信收件地址”,从传统的MSC/SGSN,被动态地更新为了IP-SM-GW的地址**。


2. 6.3 MO-SMS:李雷发短信给韩梅梅 (始发流程)

Figure 6.3: Successful encapsulated Short Message origination procedure

李雷想给韩梅梅发一条祝福短信。

2.1 核心流程拆解

步骤 1-5: IMS域内的“封装”与投递

  1. IMS registration: 李雷的手机已完成IMS注册。
  2. UE submits encapsulated SM: 李雷的手机,将要发送的短信(SMS-SUBMIT PDU),连同短信中心地址(SC Address),一起“封装”在一个**SIP MESSAGE请求中,发往S-CSCF**。
  3. S-CSCF forwards…to IP-SM-GW: S-CSCF根据iFC,将这个SIP消息转发给IP-SM-GW
  4. IP-SM-GW (AS) acknowledges: IP-SM-GW在SIP层面确认收到消息。
  5. S-CSCF forwards acknowledge: S-CSCF将确认消息传回给UE。

步骤 6-9: IP-SM-GW的“解包”与跨域转发

  1. IP-SM-GW performs service authorization: IP-SM-GW首先检查李雷的签约数据(如ODB),确认他有权发送短信。
  2. IP-SM-GW … forwards it towards the SMS-SC: 鉴权通过后,IP-SM-GW从SIP消息中“解包”出原始的SMS-SUBMIT PDU。它扮演一个MSC/SGSN的角色,通过标准的MAP/Diameter接口,将这个SMS-SUBMIT通过SMS-IWMSC(互通网关)转发给SMS-SC(短信中心)。
  3. SMS-SC sends a Submit report: 短信中心成功接收后,会返回一个**Submit report**给SMS-IWMSC。
  4. SMS-IWMSC sends the Submit report to IP-SM-GW: 报告最终到达IP-SM-GW。

步骤 10-13: 状态报告的“回封装”

  1. IP-SM-GW (AS) sends the Submit report to S-CSCF: IP-SM-GW将收到的传统Submit report,“重新封装”进一个SIP MESSAGE中。
  2. S-CSCF sends the Submit report to the UE: 最终,李雷的手机收到了一个SIP消息,其内容就是“短信已成功提交到短信中心”的状态报告。

3. 6.4 MT-SMS:韩梅梅回短信给李雷 (终止流程)

Figure 6.4: Successful encapsulated Short Message termination procedure from SMS-GMSC

韩梅梅收到了祝福,回复了一条“谢谢”。

3.1 核心流程拆解

步骤 1-4: 传统短信世界的“寻路”

  1. IMS Registration: 李雷的手机已在IMS注册,并且IP-SM-GW已在HSS“备案”。
  2. SMS-SC forwards the Short Message to the SMS-GMSC: 韩梅梅的短信到达了李雷归属网络的SMS-GMSC
  3. SMS-GMSC interrogates the HSS: GMSC向HSS发起SRI-for-SM(查询短信路由)请求。
  4. HSS forwards the request to the … IP-SM-GW: HSS查询李雷的档案,发现他的短信“收件地址”是IP-SM-GW!于是,HSS将这个查询请求转发给了IP-SM-GW(步骤3a-3c)。IP-SM-GW回复自己的地址给GMSC。
  5. SMS-GMSC delivers the Short Message to IP-SM-GW: GMSC拿到了IP-SM-GW的地址,于是将短信(SMS-DELIVER PDU)转发给IP-SM-GW

步骤 5-9: IP-SM-GW的“封装”与IMS域投递

  1. IP-SM-GW performs domain selection: IP-SM-GW收到短信后,再次进行业务鉴权和域选择。它确认李雷当前在IMS域注册,应通过IP方式投递。
  2. IP-SM-GW (AS) uses the TEL-URI … to send the Short Message … encapsulated in the appropriate SIP method towards the S-CSCF: IP-SM-GW将SMS-DELIVER PDU“封装”进一个SIP MESSAGE中,目标地址是李雷的SIP URI,然后将这个消息发往S-CSCF
  3. S-CSCF forwards…to the UE: S-CSCF将SIP消息最终投递给李雷的手机。
  4. UE acknowledges: 李雷的手机成功接收后,在SIP层面回复200 OK
  5. S-CSCF forwards the acknowledgement: OK消息一路传回IP-SM-GW。

4. 6.2 De-registration procedure (去注册流程)

Figure 6.2: UE initiated de-registration procedure

当李雷关机或手动关闭IMS时,需要进行“销户”操作,以确保后续的短信不会丢失。

  • UE initiated (用户发起):
    1. 李雷的手机向S-CSCF发送SIP REGISTER (Expires=0)请求,注销IMS。
    2. S-CSCF通知IP-SM-GW:“李雷下线了”。
    3. IP-SM-GW向HSS发送一个De-register Req,请求清除之前备案的IP-SM-GW地址。
    4. HSS将李雷的短信路由地址,恢复为默认的CS/PS域地址(MSC/SGSN),并清除IP-SM-GW的记录。
  • Network initiated (网络发起): 如果是IMS网络侧(如HSS)发起的强制注销,流程类似,最终也会触发IP-SM-GW在HSS的记录被清除。

去注册的意义: 这个流程确保了,当李雷的手机无法通过IP方式接收短信时,他的短信服务能够**无缝地回落(fallback)**到传统的CS/PS域。下一条发给他的短信,HSS就会将其路由到MSC/SGSN,手机将以传统方式接收,从而避免了消息丢失。


FAQ环节

Q1:在注册流程中,为什么需要S-CSCF通知IP-SM-GW,而不是UE直接向IP-SM-GW注册? A1:这是为了遵循IMS的业务触发模型和安全原则

  • 统一入口: S-CSCF是所有IMS业务的唯一入口和总控制器。所有业务请求都必须先经过S-CSCF的鉴权和iFC处理。如果允许UE绕过S-CSCF直接与AS(IP-SM-GW)通信,将破坏整个IMS的控制和安全模型。
  • 简化UE: UE只需要关心如何与IMS核心网(P-CSCF/S-CSCF)进行注册,而无需知道背后有哪些复杂的应用服务器。具体的业务路由,由核心网根据iFC来动态决定。

Q2:MO-SMS(始发)和MT-SMS(终止)流程看起来很复杂,为什么不让IP-SM-GW直接与对方的IP-SM-GW通信? A2:因为SMS over IP的核心设计原则是最大化地复用和兼容全球现存的、庞大的传统SMS生态系统。这个生态的核心枢纽就是SMS-SC(短信中心)SMS-GMSC(短信网关)

  • 兼容性: 韩梅梅的2G手机只认识传统的SMS-SC。李雷的短信必须经过他归属的SMS-SC,才能被正确地路由和计费,并最终送达韩梅梅。
  • 功能复用: SMS-SC承担了大量的复杂功能,如存储转发、计费、合法拦截、号码转换等。让IP-SM-GW直接与另一个IP-SM-GW通信,意味着需要重新实现所有这些功能,这将是一个巨大的工程。 因此,最经济、最可靠的方案,是让IP-SM-GW扮演一个“翻译+网关”的角色,将IMS域的短信业务,接入到现有的、成熟的全球SMS路由和交换网络中。

Q3:在MT-SMS流程的步骤4,为什么是HSS把查询请求“转发”给IP-SM-GW,而不是直接返回IP-SM-GW的地址? A3:这是一个被称为**“SRI Forwarding”的巧妙机制,目的是简化GMSC的逻辑并增强灵活性**。

  • 传统方式: HSS返回IP-SM-GW的地址,GMSC再向这个地址发送短信。这要求GMSC需要同时支持向MSC/SGSN和向IP-SM-GW两种不同实体的路由逻辑。
  • 转发方式: HSS不返回地址,而是作为“代理”,直接将SRI-for-SM请求在内部转发给IP-SM-GW。IP-SM-GW处理后,将自己的地址作为“路由信息”返回给HSS,HSS再将其返回给GMSC。对于GMSC来说,它感觉就像是在和一个普通的MSC/SGSN对话,它收到的永远是一个可路由的地址。这种方式对GMSC是透明的,降低了GMSC的改造复杂度。

Q4:如果IP-SM-GW在向HSS注册(步骤6)时失败了会怎样? A4:如果注册失败,意味着HSS中没有成功记录下IP-SM-GW的地址。那么,后续所有发给该用户的MT-SMS,HSS都会按照默认的CS/PS流程,将其路由到MSC/SGSN。用户的SMS over IP功能将只发不收(MO正常,MT失败或回落到CS/PS)。IP-SM-GW在注册失败后,通常会进行重试,或者向S-CSCF返回一个错误,最终可能导致IMS注册的失败或部分业务受限。

Q5:去注册流程至关重要,如果UE异常掉电,来不及去注册,会发生什么? A5:IMS系统有超时机制来处理这种情况。

  • UE在IMS注册时,会协商一个注册有效期(如1小时)。UE需要在这个有效期到达前,进行“刷新注册(re-REGISTER)”。
  • 如果UE异常掉电,它将无法刷新注册。当注册在S-CSCF处超时后,S-CSCF会认为该用户已下线,并触发网络侧的去注册流程(Network initiated de-registration)
  • 这个流程同样会通知到IP-SM-GW,并最终清除HSS中的记录。这确保了即使在异常情况下,用户的短信路由信息也能最终被修正,保证了后续短信能够回落到CS/PS域,并通过SMSC的存储转发机制,在用户下次上线时送达。