PDU编码的短信,内容需要好好的分析,因为这不是一句二句就能够把一条短信的内容全部说清楚的。
下面以这条短信为例详细解读PDU编码的短信内容以及相关信息。
0891683108200705F0040BA13178512534F4000850103101934220106CA14E8B002C0020660E5929518D8BF4
我们逐步分析这么长一串的数据
08 表示短信息中心地址长度,就是08指91683108200705F0的字节数的长度/2
91 短信息中心号码类型,91 是TON/NPI。TON/NPI 遵守International/E.164 标准,指在号码前需加‘+’号;此外还可有其他数值,但91 最常用。
683108200705F0 这个是短信中心号码每2个一组,顺序颠倒了。我们解析的时候应该是这样的:8613800270500,F是指这个中心号码的长度不足偶数为,最后用F来补位,然后2个一组颠倒。
04 这个叫做the SMS-DELIVER PDU的第一个8位。
Bit no 7 6 5 4 3 2 1 0
Name TP-RP TP-UDHI TP-SRI (unused) (unused) TP-MMS TP-MTI TP-MTI
TP_RP 应答路径(TP-Reply-Path):0—无应答路径; 1—有应答路径
TP-IDHI 用户数据头标识(TP-User-Data-Header-Indicator):0—不含任何头信息; 1—含头信息
TP-SRI 状态报告标识(TP-Status report indication.):1—需要报告; 0—不需要报告
TP-MMS 发送多条短信(More messages to send.) 为0表示还有短信发送(一条短信长了拆分的情况)
TP-MTI 短信类型标识(Message type indicator.)2个都为0,表示消息类型为SMS_DELIVER,即移动台MS接收到短消息
0B 被叫号码长度 11位(手机一般都是11位的)
A1 发送号码的地址类型
3178512534F4 发送方手机号码,即13871552434,和前面短信中心号码一样,不足偶数个以F结尾,然后2个一组颠倒
00 PID协议标志,是短消息传输层作为高层协议参考,或者是远程设备协同工作的标志。需要服务商支持。但是00是所有服务商都支持的。建议采用00H即可。
08 DCS数据编码方法, 表示数据编码方法和消息类别。一般为00H默认7位编码,等级号0。UCS2编码0等级为08H,可以传输中文。
50103101934220 时间戳 也是2位一颠倒的,其实时间应该为:05年01月13日10点39分24秒,20表示时区为02时区
10表示数据长度(16进制表示的)
6CA14E8B002C0020660E5929518D8BF4这就是短信内容,中文的PDU编码
好了,短信的pdu就分析到这里了!
用户1464810 2009-8-20 18:36
用户154657 2008-8-12 10:49
用户152087 2008-8-12 10:33
用户152087 2008-8-12 10:32