CMPP,SGIP,SMGP 长短信 消息头

CMPP,SGIP,SMGP 长短信 消息头

 

移动CMPP3:
1、Msg_Fmt = 8 ;
Tp_Udhi = 1;

2、可采用6字节协议头,也可采用7字节协议头,实测都通过。
6字节协议头:
MsgContent的前三个字节为:0x05, 0x00, 0x03(0x05表示后面还有5字节,0x03表示后面还有3字节)
第四个字节为批号,合成同条长短信的小短信填一样的值即可。(同时给同个号码发多条长短信的要分不同长短信填写);
第五个字节为Pk_total的值,即这批短信的总条数。
第六个字节为Pk_number的值,即这条短信在长短信中的序号,从1开始。。

7字节协议头:
MsgContent的前三个字节为:0x06, 0x08, 0x04(0x06表示后面还有6字节,0x04表示后面还有4字节)
第四、五个字节为批号,合成同条长短信的小短信填一样的值即可。(同时给同个号码发多条长短信的要分不同长短信填写);
第六个字节为Pk_total的值
第七个字节为Pk_number的值

3、MsgContent 在第6或7字节后加上要发送的短信内容,记得要UCS2编码的哦。

 

联通SGIP1.2
只测试了6字节协议头的,方法与以上移动使用的6字节协议头一样。
1、MessageCoding= 8 ;
Tp_Udhi = 1;
2、MessageContent前三个字节为:0x05, 0x00, 0x03
第四个字节为批号;
第五个字节为这批短信的总条数;
第六个字节这条短信在长短信中的序号,从1开始。
3、MessageContent在第6字节后加上要发送的短信内容的UCS2编码

 

电信SMGP3:
一、设置tlv字段TP_udhi为0x01,表示消息内容里面包含消息头(也就是说含长短信头)
二、内容前面需要增加6个字段
  1、 字节一:包头长度,固定填写0x05;
  2、 字节二:包头类型标识,固定填写0x00,表示长短信;
  3、 字节三:子包长度,固定填写0x03,表示后面三个字节的长度;
  4、 字节四到字节六:包内容:
  a) 字节四:长消息参考号,每个SP给每个用户发送的每条参考号都应该不同,可以从0开始,每次加1,最大255,便于同一个终端对同一个SP的消息的不同的长短信进行识别;
  b) 字节五:本条长消息的的总消息数,从1到255,一般取值应该大于2;
  c) 字节六:本条消息在长消息中的位置或序号,从1到255,第一条为1,第二条为2,最后一条等于第四字节的值。

例子:
05 00 03 00 02 01
05 00 03 00 02 02

三、你还需要设置PkTotal和PkNumber
这个字段如果不设置并不影响用户手机对短信的拼装,但是会影响ismp的健权和计费,一组pktotal pknumber里面的数据ismp是当一条短信健权和计费。

<script type="text/javascript"></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>

你可能感兴趣的:(SGIP,SMGP,CMPP)