http://www.paper.edu.cn
- 1 -
短消息 PDU 字段分析与实现
赵 波,王振凯
北京邮电大学电信工程学院,北京(100876)
E-mail:zbockham@163.com
摘 要:本文介绍了短消息编解码的原理,论述了短消息服务收发流程,并着重分析 PDU 的
字段含义,为使用 GSM 模块进行短消息应用的开发者提供了详细的协议分析过程,并提出
了编解码流程和 C 语言实现代码。
关键词:短消息;GSM 模块;协议数据单元
1. 引言
短消息服务(SMS),是一种固定电话(如家家易)、移动电话(如小灵通、手机)之
间,使用电信网络、CDMA网络、GSM网络,进行文本信息收发的电信增值服务。在中国,
手机短消息业务大幅增长始于2000年,此后便成几何倍数增长早已成为手机用户不可缺少的
服务。据国家信息产业部发布数据显示,2006年全年移动短信业务量为4296.7亿条
[1]
。
由于移动蜂窝网络的覆盖范围广,短消息业务具备永远在线、不需拨号、价格便宜等优
势,信息发布平台、远程测控、无人值守设备等嵌入式设备利用短消息方式发布信息、传输
数据,具有操作性强、适用范围广、实用性强等特点,可以有效的降低人力成本和线路成本,
因此越来越多的受到运营商和系统开发商的重视
[2]
,生产了不同功能与用途的 GSM/GPRS
模块,如:Siemens 公司的 TC35、TC39i,Motorola 公司的 G20,Benq 公司的 M22、M32
等等。
现有的相关文献,一般重点讨论 GSM 模块的硬件接口电路以及 AT 命令的应用
[3]
,而
较少提及收发流程、PDU 字段含义等基本原理,本文将弥补这一缺陷,在论述 SMS 收发流
程的基础上,重点分析 PDU 的字段含义。
2. PDU简介
DTE 与 DCE 之间 SMS 接口协议共有三种:Block 模式、Text 模式和 PDU(Protocol Data
Unit)模式。PDU 是默认的 DTE-DCE 接口方式,基于 AT 命令,把消息内容看作是一个协
议数据单元进行透明传输。利用 PDU 模式发送的短消息内容可以是任何字符集,并被所有
手机支持,中文短消息,就是在该模式下实现的。
需要强调一下的是,PDU 是基于字符的,由 0~9、A~F 这 16 个数字和字母组成,从表
面上看是一串 ASCII 码,如 0011000D91683118325476F8000800044F60597D,实际上是用两
个字节的字符表示一个字节的数据,如发送字符串 5A 代表一个十六进制数 0x5A。
PDU 不仅包含文本消息本身,还包含很多其它信息,如 SMS 服务中心号码、目标号码、
回复号码、编码方式、服务时间等,并且发送、接收的 PDU 的结构不完全相同的,我们将
在后文中分别进行论述。在此之前,我们有必要了解短消息的发送流程。
3. 短消息收发流程
SMS 是一种存储转发服务,发送者将文本信息编码成为 PDU 后发送到短消息中心
(SMC),短消息中心首先对发送 PDU 进行处理,再将重新编码后的 PDU 转发给接收者。
ETSI 将基于 GSM 网络的 SMS 划分为四层协议
[4]
,由高到低依次是:应用层(SM-AL)、
传输层(SM-TL)、中继层(SM-RL)、低层(SM-LL)。对于应用 GSM 模块的情况,可
评论0