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字節協議頭一樣。
MessageCoding= 8 ;
Tp_Udhi = 1;
MessageContent前三個字節爲:0x05, 0x00, 0x03
第四個字節爲批號;
第五個字節爲這批短信的總條數;
第六個字節這條短信在長短信中的序號,從1開始。
3、MessageContent在第6字節後加上要發送的短信內容的UCS2編碼

電信SMGP3:

  1. 設置tlv字段TP_udhi爲0x01,表示消息內容裏面包含消息頭(也就是說含長短信頭)
  2. 內容前面需要增加6個字段

    • 字節一:包頭長度,固定填寫0x05;
    • 字節二:包頭類型標識,固定填寫0x00,表示長短信;
    • 字節三:子包長度,固定填寫0x03,表示後面三個字節的長度;
    • 字節四到字節六:包內容:
    • 字節四:長消息參考號,每個SP給每個用戶發送的每條參考號都應該不同,可以從0開始,每次加1,最大255,便於同一個終端對同一個SP的消息的不同的長短信進行識別;
    • 字節五:本條長消息的的總消息數,從1到255,一般取值應該大於2;
    • 字節六:本條消息在長消息中的位置或序號,從1到255,第一條爲1,第二條爲2,最後一條等於第四字節的值。
  3. 例子:
    05 00 03 00 02 01
    05 00 03 00 02 02

  4. 你還需要設置PkTotal和PkNumber
    這個字段如果不設置並不影響用戶手機對短信的拼裝,但是會影響ismp的健權和計費,一組pktotal pknumber裏面的數據ismp是當一條短信健權和計費。

發佈了63 篇原創文章 · 獲贊 134 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章