短信收发方面主要有三个标准:GSM 03.38、GSM 03.40、GSM 07.05,前两个标准描述SMS(Short Message Service )技术实现,包含编码方案,后者描述了SMS的DTE-DCE(DTE英文全称Data Terminal Equipment,数字终端设备,指一般的终端或是计算机。可能是大、中、小型计算机,也可能是一台只接收数据的打印机。DCE英文全称Data Circuit-terminating Equipment,数字通信设备,通常指调制解调器,多路复用器或数字设备。)接口标准(AT命令集),
短消息的模式有:MT 、MO、 CB、 Text 和 PDU(Protocol Data Unit,协议数据单元),Text为纯文本方式,但是国内的手机基本上不支持,主要用于欧美地区,PDU方式所有手机都支持,也是手机默认的编码方式,
PDU模式收发短信可以使用3种编码:7-bit、8-bit和UCS2编码。7-bit编码用于发送普通的ASCII字符,8-bit编码通常用于发送数据消息,UCS2编码用于发送Unicode字符。
PDU编码由两部分组成,短信息中心地址(SMSC)和传输协议数据单元(transfer protocol data unit)。
参考:http://wenku.baidu.com/view/2b2a943467ec102de2bd897d.html
例如:短信中心号码:,目标地址:,短信内容:中国移动。短信编码为:
0891683108506405F011500B813168934922F60008FF084E2D56FD79FBF2A8,其中下划线部分为SMSC,剩余部分为TDPU,红色部分为编码后短信中心号码,青色部分为编码后目标号码,蓝色部分为短信内容。
地址长度表示地址类型和地址值所占字节数,用一个字节的空间。
地址类型
号码类型(TON)
位编号 6 5 4
0 0 0 Unknown 号码前没有其它信息,如同正常拨号
0 0 1 国际格式,中国号码前为+86xxxxxxxxxx
0 1 0 国际格式中的普通格式 如xxxxxxxxxx
1 1 1 保留
编码标识(NPI TON= 000,001,010时有效)
位编号 3 2 1 0
0 0 0 0 Unknown
0 0 0 1 ISBN或电话编码方式
1 1 1 1 保留
常用地址类型值为 0x91
如果地址长度设置为0,那么SMSC地址使用 +CSCA设置。 此时,SMSC的地址类型字节就不应再出现在PDU中。也就是说TPDU紧跟地址长度字节。
例子中 SMSC 0891683108506405F0 ,其中08 表示地址类型和地址值共占8个字节。 91表示地址类型采用国际电话号码格式,属于的七个字节是地址值,
数据中心的683108506405F0 等价于8613800546500
TPDU格式
First-Octet 部分,详细信息参考GSM 03.40 9.2.3节
各个部分参数详解