天天看點

[Android][N/A][SMS]PDU解析——利用AT指令發送CLASS分類短信

AT+CMGF=0                    

AT+CMGS=25                

>08 91683110401505F0 11000D91685152909593F60008000A5DE54F5C61095FEBFF01
           

這是利用AT指令發送短信的格式。短信的種類設定就隐藏在pdu編碼中,首先了解PDU。

将上述pdu編碼分成數段,

“0891683110401505F0”+“11”+“00”+“0D91685152909593F6”+“00”+“08”+“00”+“0A”+“5DE54F5C61095FEBFF01”

pdu各段含義如下:

元素 名稱 長度 描述
SCA Service Center Address 1-12 短消息服務中心号碼
PDU-Type Protocol Data Unit 1 協定資料單元類型
MR Message Reference 1 所有成功的短信發送參考數目(0..255)
OA/DA

Originator Address

/Destination Address

2-12

發送方位址(手機号碼)

/接收方位址(手機号碼)

PID Protocol Identifer 1 消息中心以何種方式處理消息内容(比如FAX,Voice)
DCS Data Coding Scheme 1 使用者資料編碼方案
SCTS/VP

Service Center Time Stamp

/Validity Period

7

消息中心收到消息時的時間戳

/參數顯示消息有效期

UDL User Data Lenghth 1 使用者資料長度
UD User Data 0-140 使用者資料

1.SCA:短消息服務中心号碼-“0891683110401505F0”

Length Type Address
08 91 683110401505F0

Length是Type+Address長度除以2

Type是短信中心号碼類型:81指國内的号碼 ,91指國際的号碼

Address是短信中心号碼8613010451500,做了F補位+奇偶位對換

2.PDU-Type:協定資料單元類型-“11”

11h=00010001b

Bit No. 7 6 5 4 3 2 1
RP UDHI SRR SRI VPF RD MMS MTI
1 1

RP:應答路徑:0-未設定 ,1-設定

UDHI:使用者資料頭辨別(User Data Header Indicator):0-使用者資料(UD)部分不包含頭資訊 ,1-使用者資料(UD)開始部分包含使用者頭資訊

SRR:請求狀态報告(Status Report Request):0-不需要報告,1-需要報告

SRI:狀态報告訓示(Status Report Indication),此值僅被短消息服務中心設定。0-狀态報告将不會傳回給短消息實體(SME),1-狀态報告将傳回給短消息實體(SME)

VPF:有效期格式(Validity Period Format):00-VP段沒有提供(長度為0),01-保留,10-VP段以整型形式提供(相對的),11-VP段以8位位組的一半形式提供(絕對的)

RD:拒絕複本(Reject Duplicate):0-通知短消息服務中心(SMSC)接受一個消息(SMS-SUBMIT),即該消息是先前已送出過的,并還存在與SMSC中未發送出去。MS重複的條件是:消息參考(MR)、接收方位址(DA)及發送方位址(OA)相同。1-通知SMSC拒絕一個重複的SMS

MMS:有更多的消息需要發送(More Message to Send),此值僅被SMSC設定。0-在SMSC中有更多的資訊等待MS,1-在SMSC中沒有更多的資訊等待MS

MTI:資訊類型訓示(Message Type Indicator)

3.MR:所有成功的短信發送參考數目-“00”

4.DA/OA:接收方與發送方手機号碼-“0D91685152909593F6”

同短信中心号碼的處理

5.PID:協定辨別(Protocol Identifier)-“00”

6.DCS:資料編碼方案(DataCoding Scheme)-“08”

Bit No. 7 6 5 4 3 2 1 描述
1 08h USC2(16bit)雙位元組字元集

Bit No.7與Bit No.6:一般設定為00

Bit No.5:0-文本未壓縮,1-文本用GSM标準壓縮算法壓縮

Bit No.4:0-訓示Bit No.1 Bit No.0為保留位,不含資訊類型資訊,1-訓示Bit No.1 Bit No.0含資訊類型資訊

Bit No.3與Bit No.2:00-預設的字元集,每字元占7bit,此時最大可發送160字元,01-8bit,此時最大可發送140字元,10-USC2(16bit),發送雙位元組字元集,11-預留

Bit N0.1與Bit No.0:

00-Class 0:Immediate Display,短信内容自動顯示在螢幕上,看完自動消失

01-Class 1:Mobile Equipment-specific,會存儲在裝置上的短信

10-Class 2:SIM specific Message,會存儲在SIM卡的短信

11-Class 3:Terminate Equipment-specific,直接到終端裝置上的短信

7.SCTS/VP:服務中心時間戳/資訊有效期-“00”

SCTS/VP 相應的時間
00-8F (SCTS/VP+1)*5分鐘 從5分鐘間隔到12小時
90-A7 12小時+(SCTS/VP-143)*30分鐘
A8-C4 (SCTS/VP-166)*1天
C5-FF (SCTS/VP-192)*1周

8.UDL:使用者資料長度-“0A”

    後面使用者資料段的長度除以2,保留2位16進制數

9.UD:使用者資料

是以,如果要選擇發送短信的類型,需要修改pdu編碼中的DCS字段。

Bit No. 7 6 5 4 3 2 1 描述
1 08h USC2(16bit)雙位元組字元集,無短信種類資訊
1 1 18h USC2(16bit)雙位元組字元集,短信種類:CLASS0
1 1 1 19h USC2(16bit)雙位元組字元集,短信種類:CLASS1
1 1 1 1Ah USC2(16bit)雙位元組字元集,短信種類:CLASS2
1 1 1 1 1Bh USC2(16bit)雙位元組字元集,短信種類:CLASS3