1. 程式人生 > >簡訊傳送pdu格式

簡訊傳送pdu格式

簡訊傳送有兩種格式:PDU格式、文字(text)格式

PDU模式收發簡訊可以使用3種編碼:7-bit、8-bit和UCS2編碼。
一般的PDU編碼由A B C D E F G H I J K L M十三項組成。
A:簡訊息中心地址長度,2位十六進位制數(1位元組)。
B:簡訊息中心號碼型別,2位十六進位制數。
C:簡訊息中心號碼,B+C的長度將由A中的資料決定。
D:檔案頭位元組,2位十六進位制數。
E:資訊型別,2位十六進位制數。
F:被叫號碼長度,2位十六進位制數。
G:被叫號碼型別,2位十六進位制數,取值同B。
H:被叫號碼,長度由F中的資料決定。
I:協議標識,2位十六進位制數。
J:資料編碼方案,2位十六進位制數。
K:有效期,2位十六進位制數。
L:使用者資料長度,2位十六進位制數。
M:使用者資料,其長度由L中的資料決定。J中設定採用UCS2編碼,這裡是中英文的Unicode字元。

栗子:
08 91 68 31 08 20 05 05 F0 11 00 0D 91 68 31 96 03 29 30 F0 00 00 00 06 C8 32 9B FD 0E 01  
對照規範,具體分析:
分段 含義 說明
08 SMSC地址資訊的長度 共8個八位位元組(包括91)
91 SMSC地址格式(TON/NPI) 用國際格式號碼(在前面加‘+’)
68 31 08 20 05 05 F0 SMSC地址 8613800250500,補‘F’湊成偶數個
11 基本引數(TP-MTI/VFP) 傳送,TP-VP用相對格式
00 訊息基準值(TP-MR) 0
0D 目標地址數字個數 共13個十進位制數(不包括91和‘F’)
91 目標地址格式(TON/NPI) 用國際格式號碼(在前面加‘+’)
68 31 96 03 29 30 F0 目標地址(TP-DA) 8613693092030,補‘F’湊成偶數個
00 協議標識(TP-PID) 是普通GSM型別,點到點方式
00 使用者資訊編碼方式(TP-DCS) 7-bit編碼
00 有效期(TP-VP) 5分鐘
06 使用者資訊長度(TP-UDL) 實際長度6個位元組
C8 32 9B FD 0E 01 使用者資訊(TP-UD) “Hello!”
SMSC號碼是+8613800250500,對方號碼是13693092030,訊息內容是“Hello!”
PUD中的資料都是經過把base64位編碼過的,對照表如下:

    // Populating the character arrays
    static {
        for (int i = 0; i < BASELENGTH; i++) {
            base64Alphabet[i] = (byte) -1;
        }
        for (int i = 'Z'; i >= 'A'; i--) {
            base64Alphabet[i] = (byte) (i - 'A');
        }
        for (int i = 'z'; i >= 'a'; i--) {
            base64Alphabet[i] = (byte) (i - 'a' + 26);
        }
        for (int i = '9'; i >= '0'; i--) {
            base64Alphabet[i] = (byte) (i - '0' + 52);
        }

        base64Alphabet['+'] = 62;
        base64Alphabet['/'] = 63;
    }
有一個外國網站:http://www.smartposition.nl/resources/sms_pdu.html
AT 即Attention,modem,是一種裝置,將數字訊號轉換為電路訊號以及反轉。
其中定義一些格式,用來之間進行互動,這些格式就是AT指令。

====================================================================
"mobile station" (MS)
"user equipment" (UE)
Gateway MSC For Short Message Service (SMS GMSC):
Interworking MSC For Short Message Service (SMS IWMSC):
Loop Prevention (LP):
Mobile Management Entity (MME):
Short Message Entity (SME): entity which may send or receive Short Messages

專業名稱縮寫
SM MO    Short Message Mobile Originated
SM MT    Short Message Mobile Terminated
SM‑AL    Short Message Application Layer
SM‑LL    Short Message Lower Layers
SM‑RL    Short Message Relay Layer
SM‑RP    Short Message Relay Layer Protocol
SM‑RS    Short Message Relay Service
SM‑TL    Short Message Transfer Layer
SM‑TP    Short Message Transfer Layer Protocol
SM‑TS    Short Message Transfer Service
SSN    Sub‑System Number
TPDU    Transfer protocol data unit
簡訊字元數目
簡訊使用者資料總位元組數是140,這部分還包括字元長度6位元組。
所以8位編碼時,能夠傳送最大字元數140-6=134   
7位編碼:140*8/7-7=153
統一字符集編碼:67=(140-6)/2
簡訊服務中心接受的未壓縮的字元數是:N*255,即在上面每個的基礎上乘以255
簡訊拼接
位元組1,是引用號(reference number)用來區分簡訊服務中心傳送過來的不同長簡訊。
位元組2,長簡訊最大子簡訊數目,範圍0~255
位元組3,當前簡訊的拼接序號。表示它是第幾條子簡訊。
簡訊移動終端


    SME:Short Messaging Entity,短訊息實體。它可以接收或改善短訊息,位於固話系統、移動基站或其他服務中心內;

      SMSC:Short Message Service Center,短訊息服務中心,負責在基站和SME間中繼、儲存或轉發短訊息;移動臺(ME)到SMSC的協議能傳輸來自移動臺或朝向移動臺的短訊息,協議名為SMTP(Short
 Message Transmission Protocol);

      SMCGWMS或SMCGMSC:SMS-Gateway MSC,SMS閘道器。接收由SMSC傳送的短訊息,向HLR查詢路由資訊,並將短訊息傳送給接收者所在基站的交換中心;

      HLR:Home Location Register,歸屬位置暫存器。用於永久儲存管理使用者和服務記錄的資料庫,由SMSC產生。SMS閘道器與HLR之間的協議使前者可以要求HLR搜尋可找到的使用者地址。
它與MSC與HLR之間的協議一起,能在移動臺因超出覆蓋區而丟失報文、隨後又可找到時加以提示。

      MSC:Mobile Switching Center,移動交換中心。負責系統切換管理並控制來自或發向其他電話或資料系統的拔叫。

      VLR:Visitor Location Register:,訪問位置暫存器。含有使用者臨時資訊的資料庫。交換中心服務訪問使用者時需要這些資訊。s
Mobile-services Switching Centre (MSC): exchange which performs switching functions for mobile stations located in a geographical area designated as the MSC area

Service Centre (SC): function responsible for the relaying and store and forwarding of a short message between an SME and an MS
PLMN(Public Land Mobile Network,公共陸地行動網路),由政府或它所批准的經營者,為公眾提供陸地行動通訊業務目的而建立和經營的網路。

SGSN(Serving GPRS Support Node)服務GPRS支援節點