短信貓發送GSM 和 CDMA PDU長短信

原文鏈接:https://blog.csdn.net/zhaoxj_2017/article/details/94450749

GSM和CDMA網絡制式下發送PDU長短信實例
短信內容:

【這是一封長短信,支持中文。長短信在發送的過程中,需要被拆分成多條短短信發送,而每一條短短信的長度最多僅有67箇中文字符。這些被拆分的短短信將會在目標終端上合併爲一條短信展示。】

電話號碼:15521071000

GSM PDU 字符串及AT指令:

發送GSM短信初始化指令(若後面都發送GSM短信,只需設置一次):

>AT+CNMP=19

發送第1條PDU短短信:

>AT+CMGF=0  // 設置0 爲發送PDU 短信,1爲文本短信

>AT+CMGS=155

>0051000D91685125011700F00008008C0500030002018FD9662F4E005C01957F77ED4FE1FF0C652F63014E2D65873002957F77ED4FE1572853D1900176848FC77A0B4E2DFF0C9700898188AB62C652066210591A676177ED77ED4FE153D19001FF0C800C6BCF4E00676177ED77ED4FE17684957F5EA66700591A4EC56709003600374E2A4E2D65875B577B2630028FD94E9B88AB62C65206768477ED

發送第2條PDU短短信:

>AT+CMGF=0  // 設置0 爲發送PDU 短信,1爲文本短信

>AT+CMGS=61

>0051000D91685125011700F00008002E05000300020277ED4FE15C064F1A572876EE68077EC87AEF4E0A54085E764E3A4E00676177ED4FE15C55793A3002

GSM PDU短信發送完成。

 

CDMA PDU 字符串及AT指令:

發送CDMA短信初始化指令:

>AT+CNMP=22

發送第1條PDU短短信:

>AT+CMGF=0  // 設置0 爲發送PDU 短信,1爲文本短信

>AT+CMGS=176

>0000021002040702C554841C400008A10003200008018E223028001800100C7ECB317A7002E00CABFBBF6A7F0FF863297B180A716B2C398014ABFBBF6A7F0AB9429E8C800BB4247E3BD05A716FF864B8044C0C455B163290331082C8D33B0BBF6BBF6A7F0A9E8C800FF86400635E7A70033B0BBF6BBF6A7F0BB424ABFAF5333802C8D2762B384801B001BA7152716B2C3ADABBD93180147ECA74DC455B16329033B423BF680801000901000A01000D0106

發送第2條PDU短短信:

>AT+CMGF=0  // 設置0 爲發送PDU 短信,1爲文本短信

>AT+CMGS=82

>0000021002040702C554841C400008430003200008013020B8280018001013BF6A7F0AE03278D2B943B773403BF643D77A7052A042F3B271D270033B0BBF6A7F0AE2ABC9D180100801000901000A01000D0106

 

拆解GSM 的PDU長短信協議
0051000D91685125011700F00008008C0500030002018FD9662F4E005C01957F77ED4FE1FF0C652F63014E2D65873002957F77ED4FE1572853D1900176848FC77A0B4E2DFF0C9700898188AB62C652066210591A676177ED77ED4FE153D19001FF0C800C6BCF4E00676177ED77ED4FE17684957F5EA66700591A4EC56709003600374E2A4E2D65875B577B2630028FD94E9B88AB62C65206768477ED

00   中心號碼地址,00爲使用SIM默認的中心號碼地址。

51   文件頭字節,11表示發送短短信,51表示發送長短信。

00   信息參考號

0D   被叫號碼長度,十六進制表示

91   SMSC的地址類型(91指國際手機號碼格式)

685125011700F0   手機號碼(8615521071000),手機號碼位數爲奇數,在號碼後補‘F’,然後再奇偶位對換。

00   協議標識(TP-PID) 00點到點方式

08   數據編碼TP-DCS,00 -> 7bit編碼; 08 -> UCS2編碼

00   有效期(TP-VP) 5分鐘

8C   用戶數據長度,UDL (User data length),以下部分字符長度除2。

050003000201   用戶數據頭,UDH,050003固定格式,00短信的唯一標誌(0-255,十六進制),02短信條數,表示總共2條短短信,01序號,表示2條短信中的第一條。

8FD9 ... 77ED   用戶數據,UD,UCS2編碼,然後轉16進制。

拆解CDMA的PDU長短信協議
0000021002040702C554841C400008A10003200008018E223028001800100C7ECB317A7002E00CABFBBF6A7F0FF863297B180A716B2C398014ABFBBF6A7F0AB9429E8C800BB4247E3BD05A716FF864B8044C0C455B163290331082C8D33B0BBF6BBF6A7F0A9E8C800FF86400635E7A70033B0BBF6BBF6A7F0BB424ABFAF5333802C8D2762B384801B001BA7152716B2C3ADABBD93180147ECA74DC455B16329033B423BF680801000901000A01000D0106

00   MST(消息類型):00 表示點對點短信 01 表示小區廣播短信 02 表示短信確認

00021002   00 參數長度 1 個字節:02 表示後面的 Teleservice Identifier 佔 2 個字節 Teleservice Identifier:1002(十進制爲 4098 表示 CDMA Cellular Messaging Teleservice)

04   04 表示目的地址(接收方號碼) 02 表示發起方地址(發送方號碼)

07   表示後面電話號碼的數據佔 7 個字節

02C554841C4000   (15521071000)00 0000(填充) 1011(號碼11位)0001 0101 0101 0010 0001 0000 0111 0001 0000 0000 0000(手機號的二進制)00(填充);整理後的數據爲:0000 0010 1100 0101 0101 0100 1000 0100 0001 1100 0100 0000 0000 0000。 然後每4位轉爲十六進制。 

08   參數ID號,固定值

A1   表示後面的PDU數據佔0xA1字節,A1是16進制

0003200008   表示短信爲發送長短信,信息 ID 爲 0

01   參數ID號,固定值

8E   表示User data 佔0x8E個字節,8E是16進制

2230 ... BF68   User data, 源數據UCS2編碼後,轉爲二進制,然後加上UDH及指定數據,最後整理二進制後每4位轉爲十六進制。下面是倒過來的轉化過程。

223028001800100C7ECB317A7002E

(1)還原爲整理後的二進制:0010 0010 0011 0000 0010 1000 0000 0000 0001 1000 0000 0000 0001 0000 0000 1100 0111 1110 ...(注意整理前,如果位數不爲4的整數倍,則後面補0,使整理後的數據的長度爲4的整數倍)

(2)還原爲整理前:00100(固定值) 01000110(未編碼的源數據長度 + UDHL/2,UDH的長度/2 等於3,固定值) 【00000101(後面數據佔5位,固定值) 00000000 (包頭類型標識,固定填寫0,表示長短信)00000011(後面數據佔3位,固定值) 00000000(長消息參考號,取值0-255,同一條長短信的短短信的值唯一,不同長短信間建議設置爲不同值) 00000010(本條長消息的的總消息數,從1到255) 00000001(本條消息在長消息中的位置或序號,從1到255)】(中文括號內爲UDH) 1000 1111 110 ...(本部分數據爲UCS2編碼後的源數據,轉爲的二進制)

080100   短信優先級字段,爲固定長度。08參數ID號1個字節,01參數長度爲1個字節,00表示正常

090100   09 固定值,01 表示後面數據佔1個字節, 00表示不受限制,01限制,10表示保密,11表示祕密

0A0100   參數ID號,固定值。0A爲固定值,01表示後面數據佔1個字節,00不要求手動確認和網絡發送確認

0D0106   06中文,00末指明,01英語, 02法語,03 西班牙語,04日語,05韓語

 

相關文章
《GSM協議PDU編碼長短信方法》

《CDMA PDU 編解碼補充解析》

《SMS PDU mode》

《pdu長短信接收及發送》
————————————————
版權聲明:本文爲CSDN博主「飛出四季做的繭」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章