EDN首页   博客首页

日志档案

发表于 2008-8-8 2:35:03

8

标签: stm32  pdu编码  短信  解析  

基于stm32的GSM抄表系统之三--pdu编码短信的深入分析

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位编码,等级号0UCS2编码0等级为08H,可以传输中文。

50103101934220  时间戳 也是2位一颠倒的,其实时间应该为:05年01月13日10点39分24秒,20表示时区为02时区

10表示数据长度(16进制表示的)

6CA14E8B002C0020660E5929518D8BF4这就是短信内容,中文的PDU编码

好了,短信的pdu就分析到这里了!

系统分类: 单片机   |   用户分类: STM32学习   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(2332)    回复(3)  

投一票您将和博主都有获奖机会!

  • abiao210

    2008-8-12 10:32:43

    沙发啊,这好的东西冒的人顶!!

  • abiao210

    2008-8-12 10:33:09

    再顶一个,能埋没了!

  • kidult

    2008-8-12 10:49:06

    恩,识货的人比较少哈!