短消息流程及其信令抓图大全

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一:短消息的MO流程

1.手机发起业务请求,后续的从1-5都是一个业务请求的流程,其中2和3是一个class mark 的流程,4和5是一个加密的流程,都没有什么好讲的,这个消息跟踪中缺少了CM_Service_accept的消息。

2.消息6,A口受到手机上报的CP_DA TA,CP_DA TA包含什么内容呢?见下图

3.

4.短消息信令分了多层:最外面的两层是CM层(Connection Management Layer)与RL 层(Short Message Relay Layer)。

其中CM层定义3条消息:CP-DA TA, CP-ACK and CP-ERROR;RL层定义4条消息:RP-DA TA, RP-SMMA, RP-ACK 、RP-ERROR。比如说在用户内存可用的流程,A口上报的也是CP_DATA,MO流程也是上报的CP_DATA,而用户内存可用过程与MO过程的区别在于RL层的消息,前者是RP-SMMA、后者是RP-DA TA,

5.手机上报的CP_DATA中含有很多内容的,其中最重要的莫过于destination address,在CM层中的destination address是短消息中心的号码,在SMS层中的destination address 就是被叫的MSISDN.

6.A接口收到CP_DA TA之后,会上报DTAP消息RR_DA TA_IND(3),该原语中有协议指示类型(PD)Short Message Service Messages(0x09),该消息通过MM模块、SMS模块透传到MAP模块;

MAP模块先要判定MAP功能配置表中是否配置支持SMS_MO功能选项,若配置为NO 则给手机下发错误消息,消息原因值为“网络不支持”;

1) 若配置为YES,则MAP向VLR请求用户数据;

2) VLR返回用户数据后,MAP根据用户数据判断用户是否签约短消息基本业务,若没有签约,则给手机下发错误消息,消息原因值为“用户没有申请短消息业务”;

3) 若用户签约,再判定该用户是否有ODB限呼,若有限呼,则下发错误消息,消息原因值为“网络提供者禁止此项服务”;若用户登记有CALL BAR补充业务,则下发错误消息,消息原因值为“SMS有CALL BAR SERVICE”;

4) 若用户没有登记限呼业务,即上述的检查点全部通过,也就是下面的这几条消息

7.先看MAP_OPEN_REQ消息,这里解释一下MTI的含义,MTI是我们交换机内部的一个处理模块,它是处理MAP层和TCAP层之间的对话的。下面的TC_INVOKE_REQ 是MTI模块向TCAP发起的请求。其实一个短消息来说是包含对话部分和成分部分的,下面可以介绍一下MAP_OPEN的功能,在G3和G9中有这样的软参。MAP_OPEN功能其实就是把对话部分成分部分分别发送

8.下面是MAP_FORWARD_SMS_REQ消息中的内容

9.MAP_OPEN_RSP是MAP_OPEN的响应

10.在MAP_FORWARD_SMS_RSP中,如果发送成功,消息如下,如果发送不成功,在响应消息里面会带有PROVIDE error.

11.消息发送成功之后,MAP模块会给SMS模块发送一个SMS_RP_ACK,如果发送失败的话,这里也应该会有一个SMS_RP_ERROR

12.后续的流程应该是SMS模块会通知MM模块,MM模块会通知AIM模块,然后AIM模块应该会通知AIR,消息也是CP_DA TA,这条消息是用来通知手机说短消息已经被发送到短消息中心了,然后手机收到这条消息之后会有一个确认,就是CP_ACK.

二.短消息中心向HLR取路由信息的流程

1.至此短消息已经被传送到短消息中心了,短消息中心会进行后续的处理,首先当然就是短消息解码,把里面的被叫号码找出来,然后去SEND_FOR_ROUTING_INFO_FOR_SM,

为短信请求路由信息,

2.先开始一个MAP对话,然后一个业务请求,一个对话确认,一个业务响应,一个关闭业务对话。

MAP_OPEN的内容比较奇怪,不知道是不是信令解析工具的原因

3.MAP业务请求的内容

HLR收到MAP_SEND_ROUTING_INFO_FOR_SM消息后,要做检查,如果消息缺少必备信元、消息存在不正确的信元、HLR不识别该用户、该用户没签约短消息业务、短消息业务闭锁、该用户拜访的VLR不支持移动终结短消息业务,则HLR向短消息中心返回失败,并返回对应的失败原因值。否则,进行下一步处理;

再继续进行检查,对于优先级高的短消息(用户的优先级在MAP_SEND_ROUTING_INFO_FOR_SM中有标志),如果用户没有对应的MSC号、用户位置区限制、被purge(即用户不可及),则把该用户的不可及标志(MNRF)置为真,同时把该用户的MSISDN、对应的短消息中心号码保存在HLR中(目的是将来该用户被激活后,在短消息提醒处理过程中,HLR能够找到短消息中心。然后HLR向短消息中心发送缺席用户失败消息。

对于优先级低的短消息,除了要做高优先级短消息的检查外,还要判断MNRF标志,若MNRF为真,则把该用户的MSISDN、对应的短消息中心号码保存在HLR中,并向短消息中心发送缺席用户失败消息。如果上述检查通过,HLR会给短消息中心返回短消息路由信息。

4.业务请求响应的内容

5.MWD(Message waiting) 队列是HLR中存储SC地址的一个队列,当一个短消息中心来请求路由信息的时候,MWD就是将这个短消息中心的地址填到MWD队列中。

对HLR的情况,一个用户最多可以存储3个短消息中心地址,从HLR的B035版本开始,一个用户最多可以存储16个短消息中心地址,果用户存储队列已经存储了16个短消息中心地址,再有其他短消息中心发过来的消息,且短消息发送失败,则该短消息中心地址将不会被保存HLR中,后面短消息提醒流程就无法正常启动,导致该短消息丢失。

6.在短消息取路由响应消息(成功或失败响应)后,可能跟随着MAP_INFORM_SERVICE_CENTRE消息。若存在下列条件之一:HLR中该用户的MCEF (内存溢出标志)为真、MNRF(用户不可及标志)为真、短消息取路由失败、短消息取路由中携带的MSISDN号码与HLR中存储的MSISDN号码不一致(改号时存在这种情况)时,则HLR会向短消息中心发送MAP_INFORM_SERVICE_CENTRE消息,该消息携带MSISDN、MNRF、MCEF、短消息中心地址是否保存在HLR中。。。等等IE。

发送MAP_INFORM_SERVICE_CENTRE消息的目的是让短消息中心知道HLR中该用户的状态,一旦短消息发送成功或失败,短消息中心会向HLR发送MAP_REPORT_SM_DELIVERY_STA TUS消息,

通知HLR更改该用户的这些状态。(这里是因为高优先级别的用户,HLR中即使MNRF标志为真,仍然会返回路由信息的,然后短消息中心也会强制下发的)。

7.如果说这个短消息没有被发送成功的话,SC会通知HLR置位,如果发送成功,SC 会通知HLR清位。

1)如果用户内存已满,设置MCEF;

2)如果用户为缺席用户或未定义用户,设置MNRF

8.去路由信息的常见错误

参考图1,根据GSM09.02协议,网关发送路由请求后HLR可能返回的错误原因包括:

表1 取路由回应过程中出错信息

相关文档
最新文档