GSM短信编码与协议分析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GSM短信编码与协议分析

GSM短信编码与协议分析 1 短信基本原理 ? 由ESTI制订的SMS规范中,一共有三种方式来发送和接收SMS信息:Block Mode, Text Mode和PDU Mode。Block Mode已很少使用。Text Mode是纯文本方式,可使用不同的字符集,从技术上说也可用于发送中文短消息,但国内手机基本上不支持,主要用于欧美地区。PDU Mode被所有手机支持,可以使用任何字符集,这也是手机默认的编码方式。 PDU串表面上是一串ASCII码,由‘ 0’-‘9’、 ‘A’-‘F’这些数字和字母组成。它们是8位字节的十六进制数,或者BCD码十进制数。PDU串不仅包含可显示的消息本身,还包含很多其它信息,如SMS服务中心号码、目标号码、回复号码、编码方式和服务时间等。在PDU Mode中,可以采用三种编码方式来对发送的内容进行编码,它们是7-bit、8-bit和UCS2编码。7-bit编码用于发送普通的ASCII字符,它将一串7-bit的字符(最高位为0)编码成8-bit的数据,每8个字符可“压缩”成7个。我们通常在短信中所说的ASCII编码方式,实际上是指7-bit编码,而7-bit编码方式不仅能表示普通的ASCII字符,还可以表示一些特殊字符,因此7-bit编码和ASCII编码实际上是两个完全不同的概念,它们仅仅在一些普通的ASCII字符上编码相同;8-bit编码通常用于发送数据消息,比如图片和铃声等;而UCS2编码用于发送Unicode字符。PDU串的用户信息(TP-UD)段最大容量是140字节,所以在这三种编码方式下,可以发送的短消息的最大字符数分别是160、140和70。这里,将一个英文字母、一个汉字和一个数据字节都视为一个字符。 ? 2 短信协议栈 ? GSM定义的短信基本架构如下图: 短信协议栈如下图: SM-AL: Short Message Application Layer SM-TL: Short Message Transfer Layer SM-RL: Short Message Relay Layer 其它术语请参考《GSM 03.40》相关文档 3、短信PDU格式 ? 参考上图,我们着重讨论在SM-TL层的PDU结构。在SM-TL层,定义了以下六种PDU类型: SMS-DELIVER:从SC到MS传递短信 SMS-DELIVER-REPORT SMS-SUBMIT:从MS到SC传递短信 SMS-SUBMIT-REPORT SMS-STATUS-REPORT SMS-COMMAND 不同的PDU类型,定义了不同的字段要求,比如SMS-DELIVER定义了TP-MTI, TP-MMS, TP-RP, TP-UDHI, TP-OA, TP-PID, TP-DCS, TP-SCTS, TP-UDL, TP-UD,这些字段有些只占用一个位,有些占用多个位或一个字节或多个字节。图示布局如下: 4、长短信分析 随着手机终端的飞速发展,对长短信的支持越来越灵活,长短信应用也越来越广泛。比如现在很多手机已经支持自动拆分长短信为多条短信发送。在此我们详细研究长短信的编码方式。 在以上章节举例的PDU字段中,需要特别留意几个字段:TP-UDHI, TP-UDL,TP-UD,对于一般非超长的普通短信,TP-UDHI字段是可选的,除非特殊的WAP Push等应用。但是对于超长短信,这个字段必须要设置为1,才能构造成功的超长短信让手机自动合并。 TP-UDHI(TP?User?Data?Header?Indicator)字段在第一个字节的第7 bit位(bit 6),占用一个bit,用来标识该短信是否拥有一个头信息,当TP-UDHI=0时,表示在TP?UD中没有头信息,当TP-UDHI=1时,表示在TP?UD中含有头信息。长短信必须要在TP-UD中构造特殊的头部信息。 短信消息体中的头部信息的结构可参考如下: FIELD????????????????????????????????????????????????????? LENGTH Length of User Data Header?????????????????????????????????????? 1 octet Information?Element?Identifier A牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 1 octet Length of Information?Element A牋牋牋 牋牋牋牋牋牋牋牋牋?1 octet Information?Element A Data牋牋牋牋牋牋牋牋牋牋牋牋牋牋?0 to n octets Information?Element?Identifier B牋牋牋牋牋牋牋牋牋牋牋牋牋牋

您可能关注的文档

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档