banner

中国移动CMPP长短信实现方案

所谓长短信,是指超过70个汉字的短信,发送到网关时候需要按规则拆分成多条,然后手机接收到的时候合并为一条。

在cmpp协议里,CMPP-_SUBMIT消息定义中有相应的参数配置:   

TP_udhi :0代表内容体里不含有协议头信息 1代表内容含有协议头信息(长短信,push短信等都是在内容体上含有头内容的,也就是说把基本参数(TP-MTI/VFP)值设置成0X51)当设置内容体包含协议头,需要根据协议写入相应的信息,长短信协议头有两种:

               6位协议头格式:05 00 03 XX MM NN

                     byte 1 : 05, 表示剩余协议头的长度

                     byte 2 : 00, 这个值在GSM 03.40规范9.2.3.24.1中规定,表示随后的这批超长短信的标识位长度为1(格式中的XX值)。

                     byte 3 : 03, 这个值表示剩下短信标识的长度

                     byte 4 : XX,这批短信的唯一标志(被拆分的多条短信,此值必需一致),事实上,SME(手机或者SP)把消息合并完之后,就重新记录,所以这个标志是否唯 一并不是很 重要。

                     byte 5 : MM, 这批短信的数量。如果一个超长短信总共5条,这里的值就是5。

                     byte 6 : NN, 当前短信的序号。如果当前短信是这批短信中的第一条的值是1,第二条的值是2。

                     例如:05 00 03 39 02 01

包头一共6个字节,如下: 

1、字节一:包头长度,固定填写0x05;

2、字节二:包头类型标识,固定填写0x00,表示长短信;

3、字节三:子包长度,固定填写0x03,表示后面三个字节的长度;

4、字节四到字节六:包内容:

  1)字节四:长消息参考号,每个SP给每个用户发送的每条参考号都应该不同,可以从0开始,每次加1,最大255,便于同一个终端对同一个SP的消息的不同的长短信进行识别;

  2)字节五:本条长消息的的总消息数,从1到255,一般取值应该大于2;

  3)字节六:本条消息在长消息中的位置或序号,从1到255,第一条为1,第二条为2,最后一条等于第四字节的值。

               7位的协议头格式:06 08 04 XX XX MM NN

                     byte 1 : 06, 表示剩余协议头的长度

                     byte 2 : 08, 这个值在GSM 03.40规范9.2.3.24.1中规定,表示随后的这批超长短信的标识位长度为2(格式中的XX值)。

                     byte 3 : 04, 这个值表示剩下短信标识的长度

                     byte 4-5 : XX XX,这批短信的唯一标志,事实上,SME(手机或者SP)把消息合并完之后,就重新记录,所以这个标志是否唯一并不是很重要。

                     byte 6 : MM, 这批短信的数量。如果一个超长短信总共5条,这里的值就是5。

                     byte 7 : NN, 当前短信的序号。如果当前短信是这批短信中的第一条的值是1,第二条的值是2。

                     例如:06 08 04 00 39 02 01        

            到此,长短信的发送设置基本完成,但是有一点要注意:Src_Id 协议里这个字段在一条长短信中必须要一样,不然手机会解析成三条,并且三条都是错误短信。  

对于Cmpp长短信,简单说,就是cmpp字段的pk_total和 pk_number需要设置,另外udhi需要设置为1,如果采用6字节的udhi,则把短信内容按134字节来分割,在头部添加6字节udhi,刚好 140字节。另外需要注意的是:UDHI头的后面三个字节,第一是顺序号,确保不重复就行,其他两个字节,和pk_total/pk_number一致;此外,这几条短信的seq_num也要一致。我用华为P9接收正常,手机会自动拼接成1条长短信。

此外Pk_total也最好设置为MM的值,Pk_number设置为NN的值。

实际开发中,一般是采用6位协议头格式,因为每条短信内容就有67个字。

阅读: 1644
本文由中文短信网原创,转载请保留链接!
中文短信网
https://www.zhsms.com/smstech/8.html

相关阅读

留言评论

暂无留言