超長簡訊的處理辦法

2021-06-09 06:31:12 字數 1230 閱讀 2827

gsm 03.40規範(tp-06 1999-12-15 7.4.0)中規定了sme對於超長簡訊的合併處理。規範制定至今,已經超過6年,絕大多數正在使用的手機,都支援這一功能。

cmpp協議中,cmpp_submit_message中有兩個欄位pk_total和pk_numer,恰看起來,這就是傳送超長簡訊的設定引數,其實不然,這兩個引數的設定,應該是沒有用處。

傳送超長簡訊,需要做兩件事情:設定tp_udhi的值設定為1,在訊息正文中增加協議頭。協議後可以兩種格式,分別是長度為6和長度為7的協議頭。格式如下:

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 03 39 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, 這個值表示剩下簡訊標識的長度

byte 4-5 : xx xx,這批簡訊的唯一標誌,事實上,sme(手機或者sp)把訊息合併完之後,就重新記錄,所以這個標誌是否唯一並不是很重要。

byte 6 : mm, 這批簡訊的數量。如果乙個超長簡訊總共5條,這裡的值就是5。

byte 7 : nn, 這批簡訊的數量。如果當前簡訊是這批簡訊中的第一條的值是1,第二條的值是2。

例如:06 08 04 00 39 02 01 

7位協議頭和6位協議頭的區別是,6位協議頭簡訊的標識欄位是1個byte,而7位協議頭簡訊的標誌欄位為2個byte。大多手機採用6位的協議頭,也就是05 00 03 xx mm nn。

傳送的簡訊這麼處理,接受簡訊反過來就可以了。上述內容,在cmpp協議以及多款手機上經過測試驗證。

設定傳送超長簡訊

cmpp協議中,cmpp submit message中有兩個欄位pk total和pk numer,恰看起來,這就是傳送超長簡訊的設定引數,其實不然,這兩個引數的設定,應該是沒有用處。傳送超長簡訊,需要做兩件事情 設定tp udhi的值設定為1,在訊息正文中增加協議頭。協議後可以兩種格式,分別是長...

設定傳送超長簡訊

cmpp協議中,cmpp submit message中有兩個欄位pk total和pk numer,恰看起來,這就是傳送超長簡訊的設定引數,其實不然,這兩個引數的設定,應該是沒有用處。傳送超長簡訊,需要做兩件事情 設定tp udhi的值設定為1,在訊息正文中增加協議頭。協議後可以兩種格式,分別是長...

C CMPP3 0 超長簡訊

1 長短資訊 是指超過70個漢字,140個位元組的資訊內容。最近在做乙個某地市公司運營商的gprs導引專案的時候,運營商要求將對使用者的提示簡訊息 超過140個位元組 傳送到使用者手機,在使用者的手機上一次全顯示。上網搜尋了一些相關的資料,現在將實現總結如下 1.1.1.1cmpp submit訊息...