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=\'#\'" //pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>