我是靠谱客的博主 完美白羊,最近开发中收集的这篇文章主要介绍短信猫发送GSM 和 CDMA PDU长短信,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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长短信接收及发送》

最后

以上就是完美白羊为你收集整理的短信猫发送GSM 和 CDMA PDU长短信的全部内容,希望文章能够帮你解决短信猫发送GSM 和 CDMA PDU长短信所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部