短信的发送信令流程

发送短信的信令流程(引用自论坛牛人的回复)html

一样也是以前搞不懂为何信令中MS会发cp-data和rp-data两条信令,一条不就够了么,看这哥们的回复才知道是不一样层的打印,可是对发送的打印仍是稍微有点奇怪的,回复的话须要两个ack,这个也能对分层更深的理解,cp层根本就不知道rp层的数据,而rp层中才有短信接收方的地址,因此收到cp层的ack根本不能说明短信是否发送成功了。另外rp-ack是嵌套在网络回复的cp-data中的,这点也值得注意。下面就是牛人的解释了:网络

 首先RRC层会检查是否存在RRC链接,若是已经存在,则直接使用,若是没有,则首先发起一个RRC链接创建过程。
- RRC链接创建完成后,高层经过CM SERVICE 过程创建MM链接,接收到网络侧发送的CM SERVICE ACCEPT后,就能够开始短消息数据的发送过程了。
- 短消息的协议实体包括三层,因此响应有几个步骤:首先UE发出的CP-DATA包括RP-DATA和协议头,RP-DATA也是包括RP头(主要是Originator Address和Destination Address)和用户数据部分,它的用户数据部分是TP-DATA,TP-DATA的用户部分就是实际的短消息内容了,TP-DATA的数据头部分就包括一些编码方式等信息。
- 网络侧收到此消息后,首先CP层回应CP-ACK,接着RP层也须要响应,RP-ACK消息嵌套在CP-DATA的用户数据部分发送,UE须要收到这两个ACK后才能确认网络侧正确收到了发送的短消息,而后再响应CP-ACK,至此,整个发送短消息过程结束,若是后续没有其它过程,网络侧就能够释放RRC链接了。

精简后单条短信的提交流程以下:
MS                                                 MSC
|SMSTP:SMS Submit type(MS -> SC)CalledNumber:xxxx;   |1.这是UE发出的CP-DATA(包括协议头和RP-DATA)
|—————————————————————————->|其中RP-DATA又包括RP头源目的地址和TP-DATA用户数据
|                                                    |TP-DATA又包括数据头编码方式和短信内容
|                                                    |
|                                       SMSCP: CP-ACK|2.网络侧首先CP层回CP-ACK,这个由MSC回给UE
|<-—————————————————————————|
|                    SMSTP:SMS Deliver type(SC -> MS)|3.接着RP层也要回RP-ACK,它嵌套在CP-DATA的用户数据
|<-—————————————————————————|部分发送。SMSTP:SMS Deliver Type实际是一条CP-DATA
|                                                    |消息,这是MSC将短信转到SMSC后,SMSC回的消息。所以不一样
|                               MM:CM service accept;|层都要回消息。
|<-—————————————————————————|
|SMSCP: CP-ACK                                       |4. UE须要收到这两个ACK(CP-ACK,RP-ACK)后才能确认网
|—————————————————————————->|络侧正确收到了发送的短信,再响应CP-ACK,整个发送过程
                                                      结束
实例分析:编码

AT部分能够参考一篇博客:http://blog.sina.com.cn/s/blog_5c52ae1b0100qrk8.htmlhtm

AT> AT+CMGS=22, "000100068166790600080c5f0053e39c7c6c6454af6211"blog

rp-data:         00 46 00 08 91 68 31 08 70 96 05 f0 // 16 01 46 06 81 //66 79 06 //00 08 //0c//     5f 00 53 e3 9c 7c 6c 64 54 af 62 11
                                                                                   RP-USER-DATA         address           TP-User-Data-Lengthget

cp-data:39 01 23 00 46 00 08 91 68 31 08 70 96 05 f0 16 01 46 06 81 66 79 06 00 08 0c 5f 00 53 e3 9c 7c 6c 64 54 af 62 11博客

相关文章
相关标签/搜索