發送超長短信的協議格式

CMPP協議中,CMPP_SUBMIT_MESSAGE中有兩個字段pk_total和pk_numer,恰看起來,這就是發送超長短信的設置參數,其實否則,這兩個參數的設置,應該是沒有用處。測試

 

發送超長短信,須要作兩件事情:設置TP_udhi的值設置爲1,在消息正文中增長協議頭。協議後能夠兩種格式,分別是長度爲6和長度爲7的協議頭。格式以下:spa

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 0339 02 01

 

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, 這個值表示剩下短信標識的長度

byte4-5 : XX XX,這批短信的惟一標誌,事實上,SME(手機或者SP)把消息合併完以後,就從新記錄,因此這個標誌是否惟一併非很重要。

byte 6: MM, 這批短信的數量。若是一個超長短信總共5條,這裏的值就是5。

byte 7: NN, 這批短信的數量。若是當前短信是這批短信中的第一條的值是1,第二條的值是2。

例如:06 08 0400 39 02 01

 

7位協議頭和6位協議頭的區別是,6位協議頭短信的標識字段是1個byte,而7位協議頭短信的標誌字段爲2個byte。大多手機採用6位的協議頭,也就是05 00 03 XX MM NN。

 

發送的短信這麼處理,接受短信反過來就能夠了。上述內容,在CMPP協議以及多款手機上通過測試驗證。

轉自bbs.sendsms.cn

相關文章
相關標籤/搜索