【SMS】SMS协议介绍之SMS-GMSC

来源:互联网 发布:淘宝申请小二介入 编辑:程序博客网 时间:2024/05/20 03:39

今天主要介绍SMS协议中的功能实体SMS-GMSC。


SMS-GMSC

图:SMS-GMSC



SMS-GMSC的主要作用就是从SC接收TPDU,接着查询HLR/HSS中的路由信息,根据路由信息中的记录将

TPDU发送到指定的MSC或者SGSN。

当SMS-GMSC接收到TPDU时,其会首先检查TPDU参数是否正确,如果参数不正确,则返回错误报告给

SC;如果参数正确,则查询存储在HLR/HSS中的路由信息。

如果HLR/HSS返回错误,则SMS-GMSC同样需要返回错误报告给SC;如果无错误,则SMS-GMSC按照查询

结果(forwardShortMessage)将TPDU发送到指定的MSC或者SGSN。在某些条件下查询的返回结果可能

同时包含MSC和SGSN的地址,SMS-GSMC选择哪一个需要看运营商的策略,通常情况下通过SGSN比MSC

更节省资源。

如果HLR/HSS返回一个MSC或者SGSN的地址,则当SMS-GMSC收到MSC或者SGSN返回的报告时:

(1)如果返回的报告表明当前操作成功,则SMS-GMSC需要通知HLR/HSS,HLR/HSS会通知以前发送

SMS到该UE失败的SC该UE已经可以发送了,这些SC的地址保存在HLR/HSS的MWD中。SMS-GMSC同时

需要返回结果给SC表明当前操作成功。

(2)如果返回的报告表明操作失败,且失败的原因为“ absent subscriber”,则SMS-GMSC应该通知

HLR/HSS当前通过MSC或者SGSN操作失败,失败原因为用户absent,同时请求将该SC的地址插入到MWD

中,然后发送错误报告给SC,表明当前发送失败,失败原因为“absent subscriber”。

(3)如果返回的报告表明操作事变,失败原因为“ MS memory capacity exceeded ”,则SMS-GMSC应

该通知HLR/HSS当前通过MSC或者SGSN操作失败,失败原因为“MS memory capacity exceeded”,并

请求将SC的地址插入到MWD中,然后发送报告给SC表明当前操作失败。

如果查询时HLR/HSS返回两个结果(MSC和SGSN),则SMS-GMSC:

(1)当收到MSC或者SGSN发回的第一个报告时,如果当前报告表明当前操作成功,则通知HLR/HSS当前

UE的发送操作成功,HLR/HSS会通知存储在MWD中的SC当前UE可以重新发送了,然后SMS-GMSC会通知

SC当前操作成功。

如果第一个报告表明失败,且失败原因为下列原因:

  • Unidentified subscriber
  • Facility not supported
  • Absent subscriber with indication: GPRS or IMSI Detach
  • System failure
  • Unexpected data value
  • Data missing
  • GPRS connection suspended

则SMS-GMSC应该通过另一途径(MSC或SGSN)再次尝试,如果第二个报告成功,则通知HLR/HSS通过

MSC或SGSN发送成功,HLR/HSS会通知存储在MWD中的SC当前目的地址已经可以发送了,同时表明第一

次失败的路径,原因为“absent subscriber”,最后通知SC当前操作成功。

如果第二次返回的报告仍然表明操作失败,则仅当失败原因为“Absent Subscriber”或者“Memory

Capacity Exceeded”时,同时HLR/HSS当前通过MSC、SGSN操作失败以及原因,同时请求将SC的地址插

入到MWD中,最后通知SC当前操作失败。





参考文档

1. 3GPP TS 03.40 Technical realization of the Short Message Service (SMS) Point-to-Point (PP)

2. 3GPP TS 23.040 Technical realization of the Short Message Service (SMS)

原创粉丝点击