免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > 各类编程 > GSM SMS移植到Android平台

GSM SMS移植到Android平台

时间:2012-06-05 18:02来源:未知 整理:寂涯网络 点击:

GSM是全球移动通信系统(Global System of
Mobile Communication)的简称。它是由欧洲电信标
准组织ETSI制订的一个数字移动通信标准。GSM的
短消息业务,由于其方便、快捷、廉价等特点而备受用
户的青睐,它作为GSM网络的一种基本业务,已得到
越来越多的系统运营商和开发商的重视。目前,很多网
络公司就是依靠短消息业务生存和发展。随着短消息
业务的不断发展,它在移动终端上的应用也越来越广。
Android是Google于2007年11月发布的基于
Linux内核的开源操作系统,主要用于智能手持终
端,如手机、平板电脑等。Android的无线接口层
(RIL)位于应用程序框架和内核之间,提供了无线通
讯模块与Android电话服务的抽象层[2],主要负责
AT命令的发送、SMS的发送和上报以及response的
解析。Android framework层在电话服务功能上分成
了两个分支:GSMPhone和CDMAPhone,而在RIL
层上,则提供了基于GSM网络的支持。为使Android
平台能够正常发送和接收短信,笔者在分析GSM
SMS PDU协议的基础上,将GSM SMS移植到该平
台以支持此功能。
1 SMS概述
SMS(Short Message Service)即通常所说的短消
息业务。所谓短消息就是通过GSM网络传输的有限
长度的文本(数字或文字)信息。而SMS是GSM系统
提供给移动终端用户的一种特殊服务。通过GSM网
络,并设有短消息业务中心(SMSC),便可实现SMS。
短消息业务按其实现方式可分为点到点短消息业务和
小区广播短消息业务,目前主要应用的是点到点短消
息业务。
点到点短消息业务包括两种情况[3]:一种是移动
台终止(接收)点对点短消息(SMS—MT/PP);另一种
是移动台发起(发送)点对点的短消息业务(SMS—
MO/PP)。点到点短消息业务即通过M0和MT将一
条短消息从一个实体发送到指定目的地址的另一实体
的业务。被发送的信息经过编码后消息长度为140个
字节,也就是一条短消息可以包含160个英文字母(7
bit编码)或70个汉字(16 bit编码)。
在GSM SMS PDU Mode[43中,可以采用2种编
码方式来对发送的内容进行编码,它们是7-bit和
Ucs2编码。7-bit编码用于发送普通的ASCII字符,
它将一串7-bit的字符(最高位为O)编码成8-bit的数
据,每8个字符可“压缩”成7个;UCS2编码用于发送
Unieode字符。PDU串的用户信息(TP—UD)段最大容
量是140 B,所以在这两种编码方式下,可以发送的短
消息的最大字符数分别是160和70。这里,将一个英
文字母和一个汉字都视为一个字符。SMS PDU编码
方案在源代码中定义如下:
typedef enum{
SMS—CODING—SCHEME—UNKNOWN=0,
SMS—CODING—SCHEME—GSM7·//GSM 7-bit编

SMS—CODING—SCHEME—UCS2//UCSZ编码
}SmsCodingScheme
2 GSM SMS PDU字段分析
ETSI的GSM03.40标准Is]详细论述了PDU的
协议字段,现将发送PDU(Submit—PDU)和接收PDU
(Deliver—PDU)的字段含义总结如下.
2.1 Submit—PDU字段含义
Submit—PDU字段协议如表1所示。
表1 Submit—PDU字段协议
表1 Submit—PDU字段协议
例如PDU字符串:o001000b818169329646fl000
b044160597d,将其字段进行分解,如表2所示。
Submit—PDU示例
由于SMSC已经包含在UIM卡中,因此不必指
明,设置为Ox00即可。
MTI设置为0x01,表示这是一个SUBMIT类型
的PDU。MR用于对Submit—PDU进行标识,一般设
置为0x00。
DA字段,目标手机号码为18962369641,长度
11,用十六进制表示为OxOb。目标手机号码的长度为
11,需要补一个f将其凑成偶数,然后再将每两个字节
进行颠倒,就是我们看到的8169329646fl。
PID为0x00,表示为普通GSM类型,点对点模
式。
D(葛为OxOb,表示用户使用的编码方式为UCS2
编码。当DCS为0x00时,使用的是GSM 7 bit编码。
UDL为0x04,表明用户数据长度为4个字节。
UD为用户数据,UNlCODE值0x4160代表
“你”,0x597d代表“好”。
2.2 Deliver—PDU宇段含义
Deliver—PDU字段协议如表3所示。
表3 Deliver—PDU协议字段
表3 Deliver—PDU协议字段

本页地址 http://www.jybase.net/biancheng/20120605940.html

百度搜索更多

谷歌搜索更多

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com