SMS短信PDU编码详细解析

原创 2017年01月03日 17:38:11

以一个例子来详细解析:
01 08 91 683110300405F1 60 05 A1 0110F0 00 08 31808061349523 04 4F60597D

(1)01-短信状态;

 [01:已读短信;03:未读短信;05:已发短信(不要求状态报告);0D:已发短信(要求状态报告但未收到);15:已发短信(要求状态报告,并收到了,但未保存到EF_SMSR);1D:已发短信(要求状态报告,并收到了,也保存到EF_SMSR);:07:未发送短信];

(2)08-短信息中心地址长度;

指(91)+(683110300405F1)的长度。 

(3)91-短信息中心号码类型;

91是TON/NPI遵守International/E.164标准,指在号码前需加‘+’号;此外还有其它数值,但91最常用。

91—10010001
BIT No.  7  6  5  4  3  2  1  0 
Name  1  数值类型  号码鉴别 

数值类型(Type of Number):000—未知,001—国际,010—国内,111—留作扩展;
号码鉴别(Numbering plan identification):0000—未知,0001—ISDN/电话号码(E.164/E.163),1111—留作扩展;

(4)683110300405F1-短信息中心号码。

由于位置上略有处理,实际号码应为:8613010340501(字母F是指长度减1)。这需要根据不同的地域作相应的修改。

(5)60-文件头字节

60&h=01100000&bBIT 

接收时(本短信是接收)
No.     7       6        5     4  3      2      1  0 
Name  TP-RP  TP-UDHI  TP-SPI   -  -    TP-MMS  TP-MTI 
Value   0       1        1     0  0      0      0  0   

发送时
No.     7       6        5     4  3      2      1  0 
Name  TP-RP  TP-UDHI  TP-SRR  TP-VPF   TP-RD   TP-MTI  

应答路径—TP-RP(TP-Reply-Path):0—不设置; 1—设置
用户数据头标识—TP-UDHL(TP-User-Data-Header-Indicator):0—不含任何头信息; 1—含头信息
状态报告要求—TP-SRR(TP-Status-Report-Request):0—需要报告; 1—不需要报告
状态报告标示-TP-SRI:0-不需要状态返回到移动设备。1-需要。默认为0。
有效期格式—TP-VPF(TP-Validity-Period-Format):00—不提供(Not present); 10—整型(标准);01—预留; 11—提供8位字节的一半(Semi-Octet Represented)
拒绝复制—TP-RD(TP-Reject-Duplicates):0—接受复制; 1—拒绝复制
短消息服务中心短消息等待移动台-TP-MMS :1-有,0-无 
信息类型提示—TP-MTI(TP-Message-Type-Indicator):00—读出(Deliver); 01—提交(Submit)

(6)05-被呼叫号码长度;

(7)A1-被呼叫号码类型(同3);

A1—10100001
BIT No.  7     6  5  4     3  2  1  0 
Name     1     数值类型       号码鉴别 
数值类型(Type of Number):000—未知,001—国际,010—国内,111—留作扩展;
号码鉴别(Numbering plan identification):0000—未知,0001—ISDN/电话号码(E.164/E.163),1111—留作扩展;

(8)0110F0-被呼叫号码(10010)

    ⑹、⑺、⑻通称目的地址(TP-Destination-Address)。

(9)00—协议标识TP-PID(TP-Protocol-Identifier)

BIT No.  7  6  5  4  3  2  1  0 

Bit No.7与Bit No.6:
 00—如下面定义的分配Bit No.0—Bit No.5;
 01—参见GSM03.40协议标识完全定义; 
 10—预留; 
 11—为服务中心(SC)特殊用途分配Bit No.0—Bit No.5。
一般将这两位置为00。

Bit No.5:
0—不使用远程网络,只是短消息设备之间的协议; 
1—使用远程网络。

Bit No.0—Bits No.4: 
00000—隐含; 
00001—电传; 
00010—group 3 telefax; 
00100—语音; 
00101—欧洲无线信息系统(ERMES); 
00110—国内系统; 
10001—任何基于X.400的公用信息处理系统; 
10010—Email。

(10)08—数据编码方案TP-DCS(TP-Data-Coding-Scheme)

BIT No.  7  6  5  4  3  2  1  0 

Bit No.7与Bit No.6 :一般设置为00;

Bit No.5: 
0—文本未压缩, 
1—文本用GSM标准压缩算法压缩; 

Bit No.4: 
0—表示Bit No.1、Bit No.0为保留位,不含信息类型信息, 
1—表示Bit No.1、Bit No.0含有信息类型信息; 

Bit No.3与Bit No.2: 
00—默认的字母表, 
01—8bit, 
10—USC2(16bit), 
11—预留; 

Bit No.1与Bit No.0: 
00—Class 0, 
01—Class 1, 
10—Class 2(SIM卡特定信息), 
11—Class 3。

Class0:短消息直接显示到用户终端
Class1:短消息存储在SIM卡上
Class2:短消息必须存储在SIM卡上,禁止直接传输到中断。
Class3:短消息存贮在用户设备上。

(11)31808061349523-时间

31:13年
80:08月
80:08日
61:16时
34:43分
95:59秒
23:时区

(12)04-用户数据长度

(13)4F60597D-用户数据

短信PDU编码解析

短信PDU编码解析 一 概述   问题:接收飞信或者配合终端发送的长短信(两三百个字)或者接收运营商发送的话费信息,长短信总是接收不完整。其中会有某些段有丢失。 原因分析: 1...
  • canghai1129
  • canghai1129
  • 2014年11月17日 15:46
  • 1030

手机短信的PDU编码和解码 (转)

原文链接:http://www.cppblog.com/zhangyq/archive/2009/07/04/89245.html  共有三种方式来发送和接收SMS信息:Block Mode, Te...
  • humanbeng
  • humanbeng
  • 2012年02月13日 15:09
  • 5575

PDU编码(非常经典)

共有三种方式来发送和接收SMS信息:Block Mode, Text Mode和PDU Mode。其中PDU Mode被所有手机支持,可以使用任何字符集,这也是手机默认的编码方式。   发送短消息...
  • Linux_xiaomugua
  • Linux_xiaomugua
  • 2011年12月19日 19:41
  • 15566

长短信PDU编码说明

普通短信UD区长度为140字节,超过140字节就得拆分成多条短信,拆分后的短信经过短信网关、短信中心的存储转发后到达终端的顺序可能和原发送顺序不同,这就使得接收方对于信息内容的理解出现困扰,1996年...
  • CityBird
  • CityBird
  • 2015年02月11日 20:06
  • 1900

PDU短信编解码格式说明(找来找去个人认为这一篇还是比较靠谱的)

共有三种方式来发送和接收SMS信息:Block Mode, Text Mode和PDU Mode。其中PDU Mode被所有手机支持,可以使用任何字符集,这也是手机默认的编码方式。 发送短消息常...
  • alan00000
  • alan00000
  • 2013年11月28日 19:20
  • 9850

关于PDU模式发送短信,千万可别被误导

最近在做GSM短信发送模块的软件,走了不少弯路,准备分几次一点点地写出来,仅供参考。曾被网上的一些文章所误导,尤其是几篇非常流行点击率相当高的文章,可怜的我原来并不了解相关技术,后来才发现自己用GSM...
  • learnhard
  • learnhard
  • 2007年09月13日 15:36
  • 3884

WAP PUSH解析(1)——SMS PDU编码

田海立@CSDN2012-06-29 WAP PUSH是封装在SMS PDU中的,所以要解析WAP PUSH,首先要先看SMS PDU编码,这是SMS / MMS / WAP PUSH等业务的基础。W...
  • thl789
  • thl789
  • 2012年06月30日 02:16
  • 10786

SMS短信的PDU编码规则

目前,发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式。使用Text模式收发短信代码简单,实现起来十分容易,但最大的缺点是不能收发中文短信;而PDU模式不仅支持...
  • zx249388847
  • zx249388847
  • 2016年09月20日 17:18
  • 1484

SMS短信的PDU编码解码,附java解码源码

发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式。使用Text模式收发短信代码简单,实现起来十分容易,但最大的缺点是不能收发中文短信;而PDU模式不仅支持中文短...
  • xcg8818
  • xcg8818
  • 2017年07月18日 17:10
  • 408

pdu长短信接收及发送

  • 2014年09月10日 10:38
  • 126KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SMS短信PDU编码详细解析
举报原因:
原因补充:

(最多只允许输入30个字)