手机开发实战52——SMS介绍2

来源:互联网 发布:淘宝日用品代理 编辑:程序博客网 时间:2024/05/17 01:56

工作流程

(1)移动台发送短消息 
 当一个移动用户想发出短消息时,要预先正确设置好短消息业务中心SMSC的电话号码,即+861380M1M2M3500(M1M2M3为地区码),然后通过移动台或与移动台相连接的PC机编辑短消息,输入被叫用户电话号码,才能将短消息发出。 
 短消息的传输要求在移动台和MSC之间建立信令连接,如果没有这一信令连接,其完成方法同其他通信一样建立路径。消息本身的传递要求在无线路径上建立专用的链路层连接,即SAPI3连接,并要求采用专用的消息传递协议,即SM-TP短消息传递协议,它让用户做的是设置一个短消息的有效期。过期后,服务中心不再试图发送此消息���而是销毁它。

移动台发送短消息的过程首先是MS在无线信令链路上将SMSC的电话号码,被叫用户号码,短消息的内容等信息送到拜访的MSC/VLR内。

MSC/VLR根据VLR内存储的用户数据检查用户是否具有短消息业务功能。若有,再根据SMSC的电话号码,将短消息路由到SMS关口站,
    
再由SMS关口站送到SMSC内,由SMSC暂时贮存起来。SMSC收到短消息后会向MS回送短消息已发送成功的确认信息。

 (2)移动台接收短消息SMSC接收到各种用户发来的短消息后,要选定适当的路由将短消息发给被叫用户。
  当SMSC要向GSM用户发短消息时,它先要建立一条包含各种有利于接收者的信息(SM-TPSMS-DELIVER)。这条信息中包含短消息内容、原发者的识别符号及SMSC收到该短消息的时间。与移动台发送短消息相似SM-TPSMS-DELIVER消息将在各种接口上传送。

SMSC把这条消息传给与中心相连的关口站,关口站根据被叫用户的MSISDN号向相关的HLR查询(HLR-ENQ),查询是通过用于短消息的MAP/CSENDROUTINGINFO消息报文来实现的。

HLR将查询结果送给关口站,查询结果消息中包含了被叫用户正拜访的MSC/VLR7号信令地址的MAP/CSENDROUTINGINFOFORSHORTMESSAGERESULT消息报文(亦可包含用户此时不可及采用的拒绝消息报文)

关口站用该地址消息向用户拜访的MSC/VLR传递消息,再由MSC建立必要的信令连接后将短消息传递给MS移动台。
移动台不可及的情况可以分成三种:

(1)当被SMS网关查询时,移动台不在服务区域、未获得服务授权、或有未成功发送报文正等待告警,HLR就会立即知道不能发送。

(2)HLR本身不知道,要到该MS拜访的MSC/VLR才知道。MSC/VLR已收到报文但不能传送的情况。此时,它先向SMS网关发送一故障指示,作为MAP/H FORWARD SHORT MESSAGE报文的应答;然后,网关一方面会向SMSC发送否定报告,另一方面向HLR发送MAP/C SET MESSAGE WAITING DATA报文,在收到报文确认后进行表格更新。该事件会储存在VLRHLR内的用户记录中。

(3)一直要等到MSCMS发送短消息失败后才发现该MS为不可及,即MSC/VLR向用户发送有效报文后发现不可送达。

HLR中为每个用户保存着一张表格用来记录一组短消息业务中心的地址,这些短消息中心都保留着向该用户传送失败的短消息。当MSC收到了短消息但MS为不可及使消息无法发送时,MSC要向SMS关口站送出传送失败的消息(error reporting),作为对MAP/H FORWARD SHORT MESSAGE 消息的应答;

然后SMS关口站收到以后,一方面向SMSC发送传送失败的报告,另一方面向HLR发送MAP/C Set Message Waiting Data消息要求HLR更新其为每个用户保存的投递失败的表格,HLR回送MAP/C Set Message Waiting Data Acknowledge消息给SMS关口站作为确认。同时,该用户拜访的MSC/VLR会将VLR内的用户数据加入\"Message Waiting\"的标志,表示该用户有短消息等候。 
 最后,当MS恢复了与网络的联系后(如移动台发起呼叫尝试),该用户拜访的MSC/VLR知道了该用户的位置,由于存贮有消息发送故障的指示,当这类事件发生时,它就能用MAP/D Note Ms Present消息通知HLR,移动台亦可能移动到另一个MSC业务区内再次出现,在此情况下,通过GSM/DCS1800移动性管理规程, HLR可直接了解到这种状态。

在任何情况下,HLR收到该消息后,会通过向每个短消息服务中心的合适的SMS关口站发送MAP/C Alert Service Center消息,通知该移动用户的变化情况。然后,SMSC就可以尝试向该用户发送短消息了。
0 0