1、H:\精品资料\建筑精品网原稿ok(删除公文)\建筑精品网5未上传百度 手机 SMS PDU 格式参考手册 开发者指南 SMS with the SMS PDU-mode 翻译整理: 犬犬(心帆) E-Mail: 最后修定日期: -10-18 SMS with the SMS PDU-mode. 1 编者序... 3 版本变动历史... 4 1、 绪论... 5 2、 缩写词... 6 3、 设置指令... 7 3.1 服务中心号码 (+CSCA) 7 3.2 选择消息服务 (+CSMS) 7 3.3 选择消
2、息格式 (+CMGF) 8 4、 SMS文本模式... 9 5、 SMS PDU模式... 9 5.1 发送方SMS-Submit (Mobile Originated) 9 5.1.1 向SIM卡存储区写入一条SMS (+CMGW) 9 5.1.2 发送SIM卡存储区中的一条SMS (+CMSS) 10 5.1.3 直接从终端设置发送SMS (+CMGS) 11 5.2 接收方 SMS-DELIVER (Mobile Terminated) 12 5.2.1 列取消息 (+CMGL) 12 5.2.2 读取消息 (+CMGR) 12 5.2
3、3 删除消息 (+CMGD) 13 6、 SMS PDU 基本组成元素... 13 6.1 发送方PDU格式SMS-SUBMIT-PDU (Mobile Originated) 14 6.2 接受方PDU格式 SMS-DELIVER-PDU (Mobile Terminated) 14 6.3 SCA 短消息服务中心地址格式... 15 6.4 PDU Type( 第一个八位位组) ... 16 6.5 MR 信息参考 (Message Reference) 17 6.6 DA/OA 接收方地址与发送方地址... 17 6.7 PID 协议标识 (Protocol-Ide
4、ntifier) 18 6.8 DCS 数据编码方案 (DataCoding-Scheme) 18 6.9 VP 信息有效期( Validity Period) ... 19 6.10 SCTS 服务中心时间戳( Service Center TimeStamp) ... 19 6.11 UDL 用户数据长度 (User-Data-Length (Amount of Characters)) 19 7、 常见 AT 指令... 20 8、 PDU操作实例... 20 8.1 准备工作... 20 8.2 连接手机... 21 8.3 发送PDU SMS. 21 9、 SMS
5、 编码方案与编程实现... 24 附... 26 Message service error 26 error codes: 26 默认的字符表... 28 编者序 前些天QQ上 Delphi群里的有人做手机SMS相关的项目, 我就把本本中的所有资料都传给了她, 可她还是有好些不明白的地方, 可能是我的文档不是太清晰, 以致误人子弟了吧! 狂汗中! -_-||| 这个文章是出于 -08, 那时我正在山东做项目, 也是有关手机SMS通信方面的, 因为手上只有英文资料, 而组中的成员需要中文资料, 因而有了它了。 再次打开这个文档, 手触键盘时不禁感慨万千! -07-08,
6、我由南京去山东, 正值学生放暑假, 这一天竟只买到了一张站票去河南的商丘! 1566次沪开郑, 16车, 22: 30时, 这一天, 这一时, 上天将我推到了一个女孩身边。当第一眼遇着她那眼睛时, 我凝滞了, 就如很久未见的好友, 突然间的相逢, 感觉是那么得亲切而没有隔阂, 那时我从心底的最深处笑了。:”) 这一夜我站到了清晨, 终是斗胆地与她要了E-Mail, 好怕怕, 因为如果不这样子的话, 我知我是一定会后悔的。其它已不敢再多问什么, 至少我已知道了她是从苏州上车, 应该是在苏州上学的了。:-) 到了山东后, 给她去了好些Mail, 可一封都没有回复, 一切都消失了。上天既然将我推
7、到她面前, 为什么又如此快地收回呢? 好后悔当时为什么不再问她的姓名, 她的电话, 或是她的学校…… 8-20号, 项目文档整理完毕。 23号, 终于回到了南京, 辞去工作, 休息一天后, 我于25号到了苏州, 一个陌生的城市, 一丝丝的兴奋, 一丝丝的沉忧…… …… 十月六号这一天, 上天竟是如此地厚爱我, 竟让我找到了她…… …… 一年了, 我们相识了很多, 如今的我, 心情已平静, 她在努力着她的学业, 我奋斗着我的工作, 我们间会有真正地交集吗? 我不知道…… 随缘吧 随缘而来 随缘而去 多年后, 至少我们会说: 我不后悔, 因为我们曾经努力过, 也曾开心着……
8、犬犬 -10-19 0:56:40 于苏州 版本变动历史 -08-20 第一版 -10-18 修订第二版 修正6.6 DA/OA 接收方地址与发送方地址 协议格式翻译错误 增加AT指令介绍 增加8、 PDU操作实例 1、 绪论 SMS提供了在GSM移动站台(MS)与一个短消息实体(SME)之间经过服务中心(SC)传送短消息的方法。SC提供了在MS与SME之间消息传送的相互联系和转播的功能。 SMS采用存储转发模式, 短消息被发
9、送出去之后, 不是直接地发送给接收方, 而是先存储在SMS( 短消息服务中心) , 然后再由SMC将其转发给接收方。如果接收方当时关机或不在服务区内, SMC会自动保存该短消息, 排队并尝试再次发送给接收方。 点到点短消息服务包含两个基本服务: Þ SM MT( 点到点短消息移动接收) Þ SM MO( 点到点短消息移动发送) 经过 SM MT 或 SM MO 方法传送的文本消息包含 140 个八位位组( 最大 160 个拉丁字母字符、 70个双字节字符) 。 本文仅仅给出了简单地一些AT指令及SMS PDU模式的描述。更
10、多的详细资料, 请参看下列标准: GSM 03.04 GSM 03.38 GSM 03.41 GSM 07.05 GSM 07.07 2、 缩写词 缩写 全称 说明 MS Mobile-Station 移动站台 负责系统交换管理, 控制来自或发往其它电话或数据系统的通信 SME Short-Message-Entity 短消息实体 负责接收和发送短消息。能够位于固话系统、 移动基站或其它服务中心内 SMSC Short Message Service Center 短消息服务中心 负责在移动基站和SME之间中继、 存储或转发短消息 PDUs Pr
11、otocol Data Units 协议数据单元 PDU Type Protocol Data Unit Type 协议数据单元类型 MR Message Reference 消息参考 OA Originator Adress 发送方地址 DA Destination Adress 接收方地址 PID Protocol Identifier 协议标识 DCS Data Coding Scheme 数据编码方案 SCTS Service Center Time Stamp 服务中心的时间戳 VP Validity Period 消息有效期 UD
12、L User Data Length 用户数据长度 UD User Data 用户数据 RP Reply Path 应答路径 UDHI User Data Header Indicator 用户数据头标识 SRI Status Report Indication 状态报告指示 SRR Status Report Request 请示状态报告 VPF Validity Period Format 有效期格式 MMS More Messages to Send 有更多的信息需要发送 RD Reject Duplicate 拒绝复本 MTI M
13、essage Type Indicator 消息类型指示 ME Mobile Equipment 移动设备 TE Terminal Equipment 终端设备 SIM Subscriber Identity Modul SC Service-Center 服务中心 SCA Service Center Address 服务中心地址 SM MT Short Message Mobile Terminated Point-to-Point 点到点短消息移动接收 SM MO Short Message Mobile Originaed Point-to
14、Point
点到点短消息移动发送
3、 设置指令
3.1 服务中心号码 (+CSCA)
服务中心(SC)负责转播和存储转发SME和MS之间的短消息。如果MS支持SMS-MO( 短消息服务移动发送) , 为了使用SMS, 必须在MS中设置SMSC( 短消息服务中心, SCA) 。
使用指令 ”AT+CSCA?” 能够查看存储在SIM卡中的当前服务中心地址。
使用AT指令 ”AT+CSCA=
15、
响应
+CSCA: ”
16、息服务中心号码
Þ SC地址是SMS的一部分! 当任何一个SMS被存储到SIM卡上时, SC地址也同时该SMS中。
3.2 选择消息服务 (+CSMS)
这个指令用于选择消息服务。
句法:
输入
执行
注释
AT+CSMS?
17、息
18、的句法兼容 GSM Phase 2+
2...127
保留
128
厂商自定义
19、的)
1
Text模式
示例:
读取指令
输入
执行
注释
AT+CMGF?
20、Submit (Mobile Originated)
SMS-SUBMIT的意思就是GSM-Molbile传送一条SMS到服务中心。
5.1.1 向SIM卡存储区写入一条SMS (+CMGW)
执行指令”AT+CMGW”用于存储一条消息在SIM卡的存储区中。命令返回消息被存储的索引号。
句法:
输入
执行
注释
AT+CMGW= 21、GTH>
给定的TP层数据单元的八位位组代码数目(不包含服务中心地址的八位位组数目)
22、息( 仅适用于 +CMGL命令)
注:
*) 符号”>”是的移动终端设置返回而产生的
**) 23、为1, 而且网络支持时) , 同时返回服务中心时间戳 24、
这个指令用于从一个终端向网络中发送消息( SMS-SUBMIT) , 而不会在SIM卡中保存所发送的SMS消息。
如果消息传送成功, 消息参考值 25、存到SIM卡。
响应
+CMGS: 26、S消息。
5.2.1 列取消息 (+CMGL)
句法:
输入
执行
注释
AT+CMGL= 27、为”REC UNREAD”)
指示内存中消息的状态
定义的值:
0 ”REC UNREAD”
已接收未读的消息( 例如新消息)
1 ”REC READ”
已接收已读的消息
2 ”STO UNSENT”
已存储未发送的消息
3 ”STO SENT”
已存储已发送的消息
4 ”ALL”
所有类型的消息
5.2.2 读取消息 (+CMGR)
句法:
输入
执行
注释
AT+CMGR= 28、
参数:
参数
描述
29、位组)
30、rvice Center Adress
1-12
服务中心的电话号码
PDU-Type
Protocol Data Unit Type
1
协议数据单元类型
MR
Message Reference
1
所有成功的SMS-SUBMIT参考数目(0..255)
OA
Originator Adress
2-12
发送方SME的地址
DA
Destination Adress
2-12
接收方SME的地址
PID
Protocol Identifier
1
参数显示SMSC以何种方式处理SM (比如FAX,、 Voice等)
DCS
Data C 31、oding Scheme
1
参数表示用户数据(UD)采用什么编码方案
SCTS
Service Center Time Stamp
7
参数表示SMSC接收到消息时的时间戳
VP
Validity Period
0,1,7
参数表示消息在SMSC中不再有效的时长
UDL
User Data Length
1
用户数据段长度
UD
User Data
0-140
SM数据
6.1 发送方PDU格式SMS-SUBMIT-PDU (Mobile Originated)
SCA
PDUType
MR
DA
PID
DCS
VP
UDL
UD
32、
1-12
1
1
2-12
1
1
0,1,7
1
0-140
示例:
向发送一条SMS, 消息内容为: ”Test”
0031000D909F80000A704D4F29C0E
向发送一条SMS, 消息内容为: ”测试”
0031000B8F80008A7046D4B8BD5
SCA
PDUType
MR
DA
PID
DCS
VP
UDL
UD
1-12
1
1
2-12
1
1
0,1,7
1
0-140
00
31
00
0D909F8
00
00
A7
04
D4F29C0 33、E
00
31
00
0B8F8
00
18
A7
04
6D4B8BD5
6.2 接受方PDU格式 SMS-DELIVER-PDU (Mobile Terminated)
SCA
PDUType
OA
PID
DCS
SCTS
UDL
UD
1-12
1
2-12
1
1
7
1
0-140
示例:
从接收到一条SMS, 消息内容为: ”Test”
05F0240D909FD4F29C0E
从接收到一条SMS, 消息内容为: ”测试”
05F0240D909FD4B8BD5
SCA
PDUT 34、ype
OA
PID
DCS
SCTS
UDL
UD
1-12
1
2-12
1
1
7
1
0-140
08905F0
24
0D909F8
00
00
400
04
D4F29C0E
08905F0
24
0D909F8
00
08
400
04
6D4B8BD5
6.3 SCA 短消息服务中心地址格式
服务中心地址包含三个部分:
SCA组成: 1-12个八位位组
例: 05F0
1 Octet
0-1 Octet
0-10 Octets
Len
Type
Addr
SCA长度
SCA类型
SCA 35、地址
08
91
F0
Len: 短消息中心地址长度。指( 91) +( 68 31 08 20 05 05 F0) 的八位位组数目。如果Len被设置为00&h, 并不提供后面的部分, 那么终端设备将读取SIM中设置的SCA填充到SMS-PUD中, 经过”AT+CSCA=xxxxx”指令能够设置SIM卡中存储的SCA值。
Type: 短消息中心地址的类型, 是国际的号码还是国内的号码( 81&h表示国内, 91&h表示国际的) 。91&h是TON/NPI遵守International/E.164标准, 指在号码前需加‘+’号; 另外还有其它数值, 但91&h最常见。
36、 例: 91 &h = 1001 0001 &b
Bit No.
7
6
5
4
3
2
1
0
1
数据类型
号码鉴别
第7位永远置为1
数值类型( Type of Number) :
000—未知, 001—国际( 以 + 开始的地址) , 010—国内, 111—留作扩展;
号码鉴别( Numbering plan identification) :
0000—未知, 0001—ISDN/电话号码(E.164/E.163), 111 37、1—留作扩展;
Add: 依照ISDN编号方式的短消息中心地址。
示例:
服务中心号码
PDU格式编码
+86
08 91 86 31 08 20 05 05 F0
07 81 31 08 50 21 05 F0
123456
04 81 21 43 65
注:
指令AT+CMGW和AT+CMGS的参数 38、D4F29C0E 39、>OK 40、
1
接收方: SMS-DELIVER
例: 04&h = 0000 0100&b
Bit No.
7
6
5
4
3
2
1
0
RP
UDHI
SRI
MMS
MTI
0
0
0
0
0
1
0
0
RP: 应答路径( Reply Paht) ,
0 – 未设置;
1 – 设置
UDHI: 用户数据头标识( User Data Header Indicator) ,
0 – 用户数据( UD) 部分不包含头信息;
41、1 – 用户数据( UD) 开始部分包含用户头信息
SRR: 请求状态报告( Status Report Request) ,
0 – 不需要报告;
1 – 需要报告
SRI: 状态报告指示( Status Report Indication) , 此值仅被短消息服务中心( SMSC) 设置
0 – 状态报告将不会返回给短消息实体( SME)
1 – 状态报告将返回给短消息实体( SME)
VPF: 有效期格式( Vali 42、dity Period Format) ,
00 – VP 段没有提供( 长度为 0 ) ,
01 – 保留,
10 – VP 段以整型形式提供( 相正确) ,
11 – VP 段以8位组的一半(semi-octet)形式提供( 绝正确)
RD: 拒绝复本( Reject Duplicate) ,
0 – 通知 短消息服务中心( SMSC 43、) 接受一个SMS-SUBMIT, 即使该消息是先前已提交过的, 并还存在于SMSC中未发送出去。MS重复的条件是: 消息参考(MR)、 接收方地址(DA)及发送方地址(OA)相同
1 – 通知 SMSC 拒绝一个重复的 SMS
MMS: 有更多的信息需要发送( More Messages to Send) , 此值仅被 SMSC 设置
0 – 在 SMSC 中有更多的信息等待 MS
1 – 在 SMSC 中没有更多的信息等待 MS
44、 MTI: 信息类型指示( Message Type Indicator)
00 – SMS-DELIVER( SMSCèMS)
00 – SMS-DELIVER REPORT( MS è SMSC)
当手机接收到 SMS-DELIVER 时自动产生
01 – SMS-SUBMIT( MS è SMSC)
01 – SMS- SUBMIT REPORT( SMSC è MS)
45、 10 – SMS-STATUS REPORT ( SMSC è MS)
10 – SMS-COMMAND( MS è SMSC)
11 – 保留
注: ( 粗体代表手机支持的类型, 并不是所有的 PDU 类型均被服务中心支持)
注意:
PDUType是PDU的第一个八位位组, 而并不是服务中心号码后的第一个字节!
6.5 MR 信息参考 (Message Reference)
设为 00 即可
6.6 DA/OA 接收 46、方地址与发送方地址
OA与DA格式是一样的, 如下所示:
DA组成: 2-12个八位位组
例: 0D909F8
1 Octet
0-1 Octet
0-10 Octets
Len
Type
Addr
长度
类型
地址
0D
91
F8
Len: 地址长度。指86 的长度。这与SCA中的定义不一样!
Type: 短消息中心地址的类型, 是国际的号码还是国内的号码( 81&h表示国内, 91&h表示国际的) 。
Add: 依照ISDN编号方式的短消息中心地址。
示例:
电话号码
PDU格式编码
+86
0D 91 86 31 58 71 42 0 47、9 F8
0B 81 31 58 71 42 09 F8
345 *)
0F A1 01 06 15 62 88 21 43 F5
123456
06 81 21 43 65
*) 小灵通号码
6.7 PID 协议标识 (Protocol-Identifier)
对于标准情况下的下 MS-to-SC 短消息传送, 只需设置 PID 为 00
6.8 DCS 数据编码方案 (DataCoding-Scheme)
Bit No.
7
6
5
4
3
2
1
0
描述
示例:
0
0
0
0
0
0
0
0
48、 00&h 7 bit 数据编码 默认字符集
1
1
1
1
0
1
1
0
= F6&h 8 bit 数据编码 Class 1
0
0
0
0
1
0
0
0
= 08&h USC2(16bit)双字节字符集
Bit No.7与Bit No.6:
一般设置为 00;
Bit No.5:
0 – 文本未压缩, 1 – 文本用GSM标准压缩算法压缩;
Bit No.4:
0 – 表示 Bit No.1、 Bit No.0 为保留位, 不含信息类型信息,
49、 1 – 表示 Bit No.1、 Bit No.0 含有信息类型信息;
Bit No.3与Bit No.2:
00 – 默认的字母表, 每个字符占用 7 比特位, 此时最大能够传送 160 字符
01 – 8bit, 此时最大只能传送 140 个字符
10 – USC2( 16bit) , 传送双字节字符集
11 – 预留;
Bit No.1与Bit No.0:
00 – Class 0, 短消息直接显示在屏幕上
01 – Class 1,
10 – Class 2( SIM卡特定信息) ,
11 – Class 3。
50、 示例:
DSC
字符集
信息 Class
00
default (7-bit)
No Class
F0
default (7-bit)
Class 0 (immediate display)
F1
default (7-bit)
Class 1 (Mobile Equipment- specific)
F2
default (7-bit)
Class 2 (SIM specific message)
F3
default (7-bit)
Class 3 (Class3 Terminate Equipment- specific)
F4
8-






