PDU格式详解
来源:互联网 发布:carp算法 编辑:程序博客网 时间:2024/06/05 06:27
A.收到PDU SMS-DELIVER(Mobile Terminated)
收到DELIVER-PDU格式
SCA
PDU TYPE
OA
PID
DCS
SCTS
UDL
UD
服务中心号码
原地址
协议表示
编码标准
服务中心时间戳
用户数据长度
用户数据
手机显示的内容为
(0751后共有35个汉字字符,这些字需要72个字节的UD)
0751
浙江联通欢迎您来到杭州。客户服务热线1001。地址:杭州市延安路501号
SIM卡中存储的PDU编码为
0891683110300605F02404815017000810805031648523486D596D5F8054901A6B228FCE60A867655230676D5DDE30025BA26237670D52A170ED7EBF0031003000300031300257305740FF1A676D5DDE5E025EF65B898DEF00350030003153F7
具体分析如下
0891683110300605F02404815017000810805031648523486D596D5F8054901A6B228FCE60A867655230676D5DDE30025BA26237670D52A170ED7EBF0031003000300031300257305740FF1A676D5DDE5E025EF65B898DEF00350030003153F7
1. SCA服务中心号 : 08 91 683110300605F0
08
91
683110300605F0
Length (长度)
Tosca(服务中心类型)
Address(地址)
SCA(服务中心号码)
长度:
08即SCA区去除08外后面的字节数,单位是字节。如上91683110300605F0,共
8字节。但是,当长度值为00时,后面SCA区将只有00,后面的号码类型和地址
都不存在,发送短消息时从SIM卡读出SCA号码,此号码要用at+csca=×××
设定。
Tosca:
服务中心号发类型。91为国际形,80为国内形号码。
Address:
地址每个字节先用底位4bit,后用4-7bit。
如果号码个数为奇数个,最后一个字节的4-7bit全部设置为1,
即FxH。如号码1234567,变化好以后就是“21 43 65 F7”。
2.PDU type:24
BIT
7
6
5
4
3
2
1
0
参数
RP
UDHI
SRI
-
-
MMS
MTI
MTI
3. OA短消息原发手机地址
04
81
5017
Length (长度)
Tosca(地址类型)
Address(地址)
DA(目标地址)
2――12字节
Length:为地址数字个数。
Toda:地址类型。91为国际型,81为国内型。
Address:地址编码方法与SCA相同。一个字节先用低4bit。奇数个号码最后一位高四位设为F。
4. PID协议标志:00
是短消息传输层作为高层协议参考,或者是远程设备协同工作的标志。需要服务商支持。但是00是所有服务商都支持的。建议采用00H即可。
5. DCS数据编码方法:08
表示数据编码方法和消息类别。一般为00H默认7位编码,等级号0。UCS2编码0等级为08H,可以传输中文。
7
6
5
4
3
2
1
0
编码组
保留
X
X
X
具体如下
编码组bit7-4
Bit3-0
00xx
Bit5:0文本未压缩;1用GSM标准压缩
Bit4:0表示bit1、0是保留,没有消息列别;1表示有。
Bit1 Bit0 消息类别
0 0 Class0
0 1 Class1
1 0 Class2
1 1 Class3
Bit3 Bit2 字母表
0 0 默认字母表
0 1 8bit数据
1 0 UCS2编码
1 1 保留
其余情况,暂不讨论。
Class0 :短消息直接显示到用户终端
Class1 :短消息存储在SIM卡上
Class2 :短消息必须存储在SIM卡上,禁止直接传输到终端
Class3 :短消息存储在用户设备上。
6. SCTS服务中心时间戳: 10805031648523
告诉目标用户短消息到达时间。为7个字节表示。
Year
Month
Day
Hour
Minute
Second
Time Zone
10
40
32
21
94
83
23
表示:01年4月23号12点49分38秒,时区表示本地时间和格林尼治标准时间差。
7. UDL用户数据长度:48(即长度为71个字节的UD)
1)如果用户默认7位编码。
A)如果没有用户数据头,此数字表示7bit的字符个数。
B)如果有用户数据头,此数字表示包括用户数据头在内的7bit数据
2)如果用8位编码表示用户数据区的字节数。有数据头信息,包括在内。
如果为UCS2编码,则是用户数据区的字节数。
8.用户数据(72个字节)
6D596D5F8054901A6B22
8FCE60A867655230676D
5DDE30025BA26237670D
52A170ED7EBF00310030
00300031300257305740
FF1A676D5DDE5E025EF6
5B898DEF003500300031
53F7
浙江联通欢迎您来到杭州。客户服务热线1001。地址:杭州市延安路501号
596D浙 5F6C江 ……..
B.发送PDU SMS-SUBMIT(Mobile Originated)
发送SUBMIT-PDU格式
SCA
PDU-type
MR
DA
PID
DCS
VP
UDL
UD
服务中心号码
1字节
1
2-12
1
1
服务中心时间戳
用户数据长度
用户数据
PDU编码
0891683110300605F011000B813100923933F80000A802414243
具体分析如下
0891683110300605F011000B813100923933F80000A802414243
―――――――――――――――――――――
08:Length
91:Tosca
683110300605F0:Address
―――――――以上为服务中心号码――――― 2-12字节
11:F0(PDU第一字节) 1字节
--------------------------------------------------------------
0B:Length
81:Toda
3119169083F8:Address
---------------DA目标地址-------------------------------- 2-12字节
00:PID ――――――――协议表示
00:DSC――――――――数据编码标准
A8:VP――――――――允许时间
06:UDL――――――――用户数据长度 ----以上4项均为1字节
――――――――――――――――――――――――――――――――
C9363C3CA603 : UD 用户数据 0-140字节
1. CSA服务中心号码:0891683110300605F0
*见收到PDU格式中服务中心号码
2. PDU type:11
发送的PDU,典型为11H:
BIT
7
6
5
4
3
2
1
0
参数
RP
UDHI
SRR
VPF
VPF
RD
MTI
MTI
MTI 2bit:
消息类型。00收01发。其余值参考SMS with the M20文档P.22。
MMS 1bit:
短消息服务中心是否有更多短消息等待移动台。1有,0无。默认为1
SRI 1bit:
状态报告表示。0用户数据没有头信息,1有。一般为0。
RP 1bit:
是否有恢复路径的表示。1有,0没有。一般为0。
VPF 2bit
重复信元丢弃。0通知服务中心碰到同源、同目的地、同样的MR的短消息接受。
1抛弃,此时将在短消息提交报告中返回一个适当的FCS值。
SRR 2bit:
状态报告要求。
3. MR短消息参考:00
1个字节。表示移动台向短消息服务中心提交的短消息序号,从0到255。
一般移动模块会自动改动,所以默认为00。
4. DA目的手机地址:0B813100923933F8
短消息目的地址,参考OA
5. PID协议标志:00
是短消息传输层作为高层协议参考,或者是远程设备协同工作的标志。需要服务商支持。但是00是所有服务商都支持的。建议采用00H即可。
6. DCS数据编码方法:00
表示数据编码方法和消息类别。一般为00H默认7位编码,等级号0。UCS2编码0等级为08H,可以传输中文。
7
6
5
4
3
2
1
0
编码组
保留
X
X
X
具体如下
编码组bit7-4
Bit3-0
00xx
Bit5:0文本未压缩;1用GSM标准压缩
Bit4:0表示bit1、0是保留,没有消息列别;1表示有。
Bit1 Bit0 消息类别
0 0 Class0
0 1 Class1
1 0 Class2
1 1 Class3
Bit3 Bit2 字母表
0 0 默认字母表
0 1 8bit数据
1 0 UCS2编码
1 1 保留
其余情况,暂不讨论。
Class0 :短消息直接显示到用户终端
Class1 :短消息存储在SIM卡上
Class2 :短消息必须存储在SIM卡上,禁止直接传输到终端
Class3 :短消息存储在用户设备上。
7. VP合法时间:A8
表示短消息服务中心在接到短消息后,在没有发到目标机前可以保证短消息存在的时间。其格式在F0中的VPF中设定,一般是相对值10B。
VP值
相对合法时间
00----8F
(VP+1)*5分
90----A7
12小时+(VP-143)*30分
A8----C4
(VP-166)*1天
C5----FF
(VP-192)*1周
如果是绝对时间,即VPF=11B,则VP区和SCTS相同。
8. UDL用户数据长度:02
参考发送PDU格式中UDL。
9. UD用户数据长度:414243
参考发送PDU格式中UD
举例:
发送:发送内容为<Impct> 的短消息到科汇西安办事处的FAE的手机上,手机号为13002993338,该手机的电信营运商为中国联通。则应发送如下内容
0891683110801505F011000B813100923933F80000A806C9363C3CA603
具体解释如下:
0891683110801505F0 :CSA
11 :PDU
00 :MR
0B813100923933F8 :DA
00
00 :DCS
A8 :VP
06 :UDL
C9363C3CA603 :UD
PDU长度为20(at+cmgs的参数length)
AT+CMGS=20
> 0891683110801505F011000B813100923933F80000A806C9363C3CA603->
+CMGS:67
OK
注:在输入完短消息内容后“->”为输入一个Ctrl+Z,作为操作的结束符。
*以上操作举例在超级终端完成。
------------------------------------------------------------------------------------------------------------------------------------
发送方PDU 格式SMS-SUBMIT-PDU (Mobile Originated)
开始时怀疑是手机号码类型问题,尝试了没有成功。然后怀疑是字符编码格式问题,尝试了也没有成功。直至将PDU的发送方格式仔仔细细的看了好几遍,最后怀疑是短信中心号码处理问题,处理后终于发送成功,倍感欣慰。此章主要仔细介绍发送方PDU格式,下章解决发送10086短信失败问题。
示例:0011000D91685170873576F40008A7044E2D56FD
号码:15077853674
内容:中国
下面来逐段分析:
1、SCA:00
同接收方SCA格式,可见我另外一篇文章 SMS-DELIVER-PDU (Mobile Terminated)中的 SCA 格式。
当SCA中的Len 被设置为0x00,并不提供后面的部分,那么终端设备将读取SIM 中设置的SCA 填充到SMS-PUD中,通过“AT+CSCA=xxxxx”指令可以设置SIM 卡中存储的SCA 值。此处的Len为0,所以不用设置短信中心号码。
2、PDU Type:11
有效期格式以整型形式提供(相对的),SMS-SUBMIT
3、MR:00
设为 00 即可
4、DA 接收方地址 :0D91685170873576F4
DA的格式与OA的格式是一样的,同样可见我的文章: SMS-DELIVER-PDU (Mobile Terminated) 中 OA 的格式
5、PID协议标识 (Protocol-Identifier):00
对于标准情况下的下 MS-to-SC 短消息传送,只需设置 PID 为 00
6、DCS 数据编码方案:08
同样可见我的文章: SMS-DELIVER-PDU (Mobile Terminated) 中 DCS 的格式
7、VP 信息有效期:A7
此处时间为24小时,具体计算方法请看最后的附件文档。
8、UDL 用 户 数 据 长 度:04
此处显示为4个字节,且采用的为USC2(16bit), 传送双字节字符集格式:
9、UD 用 户 数 据 :4E2D56FD
由于采用的为USC2(16bit),所以实际Unicode编码为:0x4E,0x2D.0x56,0xFD
对应的文字为: 中国
此处即为平时我们默认的发送短信格式,显然很多部分我们都是写死的,而且没有添加短信中心号码,由模块采用自身的短信中心号码。正常发短信是没有问题,但是给10086发送花费查询的短信时,却永远也不会成功。将在下一篇文中给出此问题的解决方法。
附:SIM900资料和短信操作的文档下载地址:http://code.google.com/p/yourenpa/downloads/detail?name=SIM900%E8%B5%84%E6%96%99%E5%92%8C%E7%9F%AD%E4%BF%A1%E6%93%8D%E4%BD%9C.rar&can=2&q=#makechanges
- PDU格式详解
- PDU格式详解
- PDU格式详解
- PDU格式
- PDU格式
- PDU格式
- PDU格式
- PDU格式
- PDU简介及其格式
- PDU简介及其格式
- PDU简介及其格式
- PDU简介及其格式
- PDU格式介绍
- PDU简介及其格式
- SNMP PDU 格式
- pdu的编码格式
- sms的pdu格式
- PDU格式参考手册
- C#_构造器、属性、索引器
- ListView异步加载远端图片
- Java内存管理
- 嵌入式系统 Boot Loader 技术内幕
- java EXception
- PDU格式详解
- java 集合
- [VB]UserControl中的主要事件
- C#的XML文件的读取与写入
- 【NPC】10、无向汉密尔顿回路规约到有向汉密尔顿回路
- 关于Fedora16、Fedora17安装gnome-tweak-tool显示桌面提示有一个进程在运行的问题
- 最近在折腾scintilla,无法调试,自定义的语法高亮很ao tou
- tw9912 寄存器配置
- OpenCV under Mac OS with XCode