博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PDU短信发送之二
阅读量:2042 次
发布时间:2019-04-28

本文共 2823 字,大约阅读时间需要 9 分钟。

GSM无线模块短消息PDU 格式说明

第一部分PDU 格式

0891683108200105F011000B813119169083F80000A806C9363C3CA603

以上是一个SUBMIT-PDU 发出例子分析内容如下

08

91

68 31 08

20 01 05

F0

11

00

0B

81

31 19 16

90 83 F8

00

00

A8

06

C9363C3CA603

Length

Tosca

Address

FO(PDU第一个字节)

MR(消息参考号码)

Length

Toda

address

PID

DSC

VP

UDL

UD

SCA(服务中心号码)

DA(目标地址)

协议标示

数据编码标准

允许时间

用户数据长度

用户数据

1-12个字节

1字节

1字节

2-12个字节

1字节

1字节

1字节

1字节

0-140字节

 

收到的DELIVERPDU

SCA

FO

OA

PID

DCS

SCTS

UDL

UD

服务中心号码

第一字节

原地址

协议表示

编码标准

服务中心时间戳

用户数据长度

用户数据

 

 

 

一、SCA服务中心号码

08

91

68 31 08 20 01 05 F0

Length(长度)

Tosca(服务中心号码类型)

Address(地址)

SCA服务中心号码

 

长度08SCA区去除08外后面的字节数单位是字节如上91683108200105F08字节但是当长度值为00时后面SCA区将只有00后面的号码类型和地址都不存在发送短消息时从SIM卡读出SCA号码此号码要用at+csca=xxxxx设定

Tosca服务中心号发类型91为国际型81为未知类型号码A1为国内型一般为国际型

Address地址每个字节先用低位4bit后用4-7bit如果号码个数为奇数个最后一个字节的4-7bit全部设置为1FxH如号码1234567,变化好以后就是21 43 65 F7

 

 

 

二、FO信息第一字节

收到的PDU,典型为04H

BIT

7

6

5

4

3

2

1

0

参数

RP

UDHI

SRI

MMS

MTI

MTI

 

发送的PDU,典型为11H

BIT

7

6

5

4

3

2

1

0

参数

RP

UDHI

SRR

VPF

VPF

RD

MTI

MTI

 

MTI 2bit消息类型0001发其余值参考SMS with the M20文档P.22

MMS 1bit短消息服务中心是否有更多短消息等待移动台10无默认为1

SRI 1bit状态报告标示0不需要状态返回到移动设备1需要默认为0

UDHI 1bit用户数据头标示0用户数据没有头信息1有一般为0

RP 1bit是否有回复路径的标示10没有一般为0

VPF 2bit有效期限格式00 VP不存在10 VP区存在用一个字节表示是相对值01 保留11 存在半个字节表示绝对值

RD 1bit重复信元丢弃0通知服务中心碰到同源同目的地同样的MR短消息序号的短消息接受1抛弃此时将在短消息提交报告中返回一个适当的FCS

SRR 1bit状态报告要求.

 

 

三、MR短消息参考

1个字节表示移动台向短消息服务中心提交的短消息序号从0255一般移动模块会自动改动所以默认为00

 

 

四、OA短消息原发手机地址

OB

81

31 19 16 90 83 F8

Length(长度)

Toda(地址类型)

Address(地址)

DA(目标地址)

2-12字节

Length为地址的数字个数

Toda地址类型91为国际型81为国内型

Address地址编码方法与SCA同一个字节先用低4bit奇数个号码最后一位高四位设为F.

 

 

五、DA目的手机地址

短消息目的地址参考OA

 

 

六、PID协议标志

是短消息传输层作为高层协议参考或者是远程设备协同工作的标示需要服务商支持但是00H是所有服务商都支持的建议采用00H即可

 

 

七、DCS数据编码方法

表示数据编码方法和消息类别一般为00H默认7位编码等级号0048位编码。

UCS2编码0等级为08H可以传输中文。

 

7

6

5

4

3

2

1

0

编码组

保留

X

X

X

具体如下:

编码组bit7-4

Bit3-0

OOXX

BIT5:0文本未压缩1GSM标准压缩

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短消息存贮在用户设备上

 

 

八、SCTS服务中心时间戳

告诉目标用户短消息到达时间为7个字节表示

Year

Month

Day

Hour

Minute

Second

Time Zone

10

40

32

21

94

83

00

表示01423124938秒时区表示本地时间和格林尼治标准时间差

 

 

九、VP 合法时间

标示短消息服务中心在接到短消息后在没有发到目标机前可以保证短消息存在的时间其格式在FO中的VPF中设定一般是相对值10B这时时间如下:

VP值,16进制

相对合法时间

008F

VP+1*5

90A7

12小时+(VP143*30分钟

A8C4

VP-166*1

C5FF

VP-192*1

如果是绝对时间即VPF=11BVP区和SCTS.

 

 

 

十、UDL用户数据长度

1 如果用户用默认7位编码

1>没有用户数据头此数字标示7bit的字符个数

2>有用户数据头此数字表示包括用户数据头包含补丁在内在内的7bit个数

2 如果用户用8位编码

表示用户数据区的字节数有数据头信息包括在内

3 如果为UCS2编码则是用户数据区的字节数

 

 

十一、UD用户数据

1 如果是7bit编码则从前向后每个字节从低到高位使用最后不足的一个字节的各位全部用0补全最多可以有160个字符例子如下

设一个字母为X,它的编码的7bit分别为X1~X7,那么8个字母ABCDEFGH的编码如下

B1

A7

A6

A5

A4

A3

A2

A1

C2

C1

B7

B6

B5

B4

B3

B2

D3

D2

D1

C7

C6

C5

C4

C3

E4

E3

E2

E1

D7

D6

D5

D4

F5

F4

F3

F2

F1

E7

E6

E5

G6

G5

G4

G3

G2

G1

F7

F6

H7

H6

H5

H4

H3

H2

H1

G7

 

2 如果是8bit编码很简单最多140个字符

3 如果是UCS2编码则最多是70个字符也比较简单

至于有用户数据头的情况在这里暂不讨论

 

转载地址:http://tmnof.baihongyu.com/

你可能感兴趣的文章
《redis设计与实现》 第二部分(第9-11章):单机数据库的实现
查看>>
算法工程师 面经2019年5月
查看>>
搜索架构师 一面面经2019年6月
查看>>
稻草人手记
查看>>
第一次kaggle比赛 回顾篇
查看>>
leetcode 50. Pow(x, n)
查看>>
leetcode 130. Surrounded Regions
查看>>
【托业】【全真题库】TEST2-语法题
查看>>
博客文格式优化
查看>>
【托业】【新托业全真模拟】疑难语法题知识点总结(01~05)
查看>>
【SQL】group by 和order by 的区别。
查看>>
【F12】谷歌浏览器--前台效果可以在不访问服务器的前提下直接改样式看效果是否是预期值。...
查看>>
【Python】详解Python多线程Selenium跨浏览器测试
查看>>
Jmeter之参数化
查看>>
Shell 和Python的区别。
查看>>
Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
查看>>
Loadrunner之https协议录制回放报错如何解决?(九)
查看>>
python中xrange和range的异同
查看>>
列表、元组、集合、字典
查看>>
【Python】easygui小甲鱼
查看>>