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>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章