打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
GSM短消息的解析
PDU消息应用范围很广,如果需要,用户完全可以收发自定义格式的数据,如将TP-DCS设置为4,就可以收发二进制的数据。笔者主要描述与移动终端间的接口协议的短消息分编码方式,其它协议中的短消息的编解码方式与其基本相同。摘要:首先简要说明短消息及其接口协议,然后重点描述如何接收和发送短消息,并用实例进行说明。
1、引言
GSM系统是目前基于时分多址技术的移动通信体制中最成熟、最完善、应用最广的一种系统。GSM的短消息业务,由于其方便、快捷、廉价等特点而受到用户的青睐,它作为GSM网络的一种基本业务,已得到越来越多的系统运营商和系统开发商的重视。目前,很多网络公司就是靠短消息业务生存和发展。随着短消息业务的不断发展,它在移动终端上的应用也越来越广,最典型的就是车载监控系统。
这里用实例说明如何对短消息进行编码(发送)和解码(接收),并主要论述PDU模式。
2、 短消息概述
所谓短消息就是通过GSM网络传输的有限长度的文本数字或文字)信息。而短消息业务是GSM系统提供给手机用户的一种特殊服务。短消息也称作短信。通过GSM网,并设有短消息业务中心(SMSC),便可实现短消息业务。短消息业务按其实现的方式可以分为点到点短消息业务和小区广播短消息业务。目前主要应用的是点到点短消息业务。
点到点短消息业务包括两种情况:一种是移动台终止(接收)点对点短消息(SMS-MT/PP);另一种是移动台发起(发送)点对点的短消息业务(SMS-MO/PP)。点到点短消息业务即通过MO和MT将一条短消息从一个实体发送到指定目的地址的业务。被发送的信息经过编码后消息长度为140个字节,也就是一条短消息可以包含160个英文字母或70个中文汉字。
3、短消息的控制接口协议
目前,对SMS的控制主要有文本模式和PDU(protocol description unit)模式,文本模式只是PDU的一种简化形式。因此这里主要论述PDU模式,以及相关的接口命令。
PDU是发送或接收手机SMS消息的一种方法。消息正文经过十六进制编码后进行传送。PDU串可看作由短信中心地址+TPDU串组成。
点对点短消息通信中,信息传输虽然会经过很多中间设备,但最终表现在两个对等短消息实体间进行。短消息传输层的协议数据单元称作TPDU,它包含6种PDU数据,具体参见文献[2]。下面主要对SMS-DELIVER分发消息的解码和SMS-SUBMIT提交消息的编码进行说明。
4、解码短消息
如表1所示,点对点短消息通信中,移动台接收短消息(SMS_DELIVER)的TPDU帧包括头标记、协议标识、时间戳、用户数据等基本元素。
1)指示该数据项是否必须:M(Mandatory)必备项,O(Optional)可选项
2)指示该数据项所占空间尺寸:Integer(1),bit(b),2bit(2b),Octer(O),7 octets(7o).2-12 octets(2-12o)
3)依赖TP-DCS的编码方案
其中,头标记(fo)占用一个Octet,按位表示不同的含义。在MT中,头标记从高到低的排列顺序如下:
表2 MT消息头标记
位bit
7
6
5
4
3
2
1
0
域名称缩写
TP-RP
TP-UDHI
TP-SRI
No Used
TP-MMS
TP_MTI
下面结合具体实例进行说明。
4.1 接收到一中文短消息
例:0891683108705505F0240D91683128787708F6000810300212206500064E2D56FD0041
这个八位串包含了三个部分:第一个8位表示SMSC信息的长度("08",SMSC的信息("91683108705505F0"),和SMS_DELIVER的TPDU部分。所有的8位都是16进制编码,除了服务中心号码,发送号码和时间戳,它们都是十进制的半R位编码。
十进制的半8位只需要将高位和低位交换就可以得到实际的数值。例如:"68 31 08 70 55 05 F0”到"86 13 80 07 5550 OF"。因为电话号码是一个奇数,没有办法组成8位编码,所以使用F来补齐。
于是笔者知道这条SMS消息的前两部分是:
0891683108705505F0
08是指跟在后面的短消息服务中心地址占用的字节数。
91是TON/NPI1。TON/NPI遵守International/E.164标准,指在号码前需加'+'号;此外还可有其他数值(如A1),但91 最常用到。
683108705505F0是所使用的服务中心地址,由于位置上略有处理,实际号码应为:8613800755500F(字母F 意指长度减1),这就是服务中心的准确地址(号码)。
下一单元24是信息头字节,排列如表2所示。
TP_MTI为0,表示消息类型为SMS_DELIVER,即移动台MS接收到短消息。
TP-MMS为1,表示SMSC再无新消息发送给该移动台。如果为0表示还有消息存放在SMSC。
TP-SRI为1,表示发送者请求状态报告。
TP-UDHI为0,表示没有用户数据头。
TP-RP为0,表示无回复路径;如果为1,表示存在回复路径,移动台可循发送SMS消息的短消息中心进行回复(但并非所有SMSC都会这样没置)。
所以,信息头字节最常见到的值为20或24。
下一单元是:0D91683128787708F6
这是发送方的地址信息(包括长度0D hex=13 Hex),经分析可知与服务中心地址类似),对方号码为+8613828777806。
下一单元是:00
协议标识,一般为00。也有其它值,但很少用。如有兴趣,请参看GSM 03.40。
下一单元是:08
TP-DCS编码方案。16-bit格式的数据UCS2,在这里表示中文编码。
下一单元是:10300212206500
SMSC时间戳。在解析时间戳的时候("10 30 02 12 20 65 00"),前6位代表日期,后6位代表时间,最后2位是时区(SMT+0.00小时)。该项表示格林威治标准时间2001年03月20日21时02分56秒。
下一单元是:06
TP-UDL,用户数据长度,信息的长度。TP-DCS域表明是16-bit格式的数据。因此长度6表示3个16-bit UCS2字符。
最后一单元是:4E2D56FD0041
TP-UD,用户数据,它们代表"中国A"的Unicode码。因此本条短信表示接收到+8613828777806在2001年03月20日21时02分56秒发送的"中国A"的信息。
4.2接收到一英文短消息
由于中文只能发送70个字符,英文能发送160个字符,所以在控制系统中经常用英文发送信息。例:
0891683108705505F0240D91683128787708F60000103002122065000AE8329BFD4697D9EC37
除编码和数据外,其他与4.1节相同。
TP-DCS编码方案域为0,表示7-bit格式的数据。
信息长度0A表示有10个7-bits字符,实际长度占9Octets。
用户数据E8329BFD4697D9EC37代表hellohello。
"hellohello"包含了10个字符,它们必须一个个用7-bits来代表。如表3所示。
表3 7位GSM码
h
e
l
l
o
h
e
l
l
o
1101000
1100101
1101100
1101100
1101111
1101000
1100101
1101100
1101100
1101111
首先将字符转换为7位的二进制,然后,将后面字符的位调到前面,补齐前面的差别。例如:h 翻译成1101000,e翻译成1100101,显然h的二进制编码不足八位,那么就将e的最后一位补足到C 的前面。那么就成了11101000(E8)。剩余的编码见表4。
表4 8位Octet码
11101000
00110010
10011011
11111101
01000110
10010111
11011001
11101100
110111
E8
32
9B
FD
46
97
D9
EC
37
这样就变成9个八进制数:E8 32 9B FD 46 97 D9 EC 37.
5、编码短消息
如表5所示,点对点短消息通信中,移动台发送短消息SMS-SUBMIT)的TPDU帧包括头标记、消息参考号、目的地址、协议标识、有效时间、用户数据等基本元素。
其中,头标记(fo)在MO中,从高到低的排列顺序如下:
表6 MO消息头标记
位bit
7
6
5
4
3
2
1
0
域名称缩写
TP-RP
TP-UDHI
TP-SRR
TP-VPF
TP-RD
TP-MTI
TP_MTI域必须为1,表示消息类型为SMS_SUBMIT,即移动台MS发送短消息。
有效期格式域(TP-VPF)是有效期域的格式。参见文献[2]
有效期域(TP-Validity-Period/TP-VP)是指短信在SC中的有效时间。参见文献[2]
数据编码方式与解码相同。
下面结合具体实例进行说明。
5.1发送中文短消息
发送消息"中1"到+8613602529516,有效期为空。
编码后的PDU数据为:0021050BA13106529215F60008044E2D0031。
最前面的00表示短信中心为空,即采用SIM卡中中预先设定的SMSC。
5.2 发送英文短消息
发送消息"ABC"到+8613828777806,有效期5分钟。
编码后的PDU数据为:0011030D91683128787708F60000000341E110。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
手机短信的PDU编码和解码
wap push pdu深入分析(转)
GSM MODEM/GSM终端编程开发PDU码/短信格式短信规则解析
用串口连接GSM手机发送和接收短消息
PDU模式分析
通过串口收发短消息(下) - VC知识库文章
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服