论文部分内容阅读
摘要:本文介绍了常用短信的格式,并对7位编码、UCS2编码的短信发送、接收的报文进行了分析。
关键词:短信;GSM;PDU
短信是日常通讯的主要手段,在GSM 03.38、GSM 03.40中定义了其技术实现。短信的收发共有三钟方式,BLOCK方式,TEXT方式和PDU方式。PDU方式被所有的手机和短信通讯设备所支持。本文以具体的短信PDU编码,介绍短信收发的实现。
短信PDU编码,表面上是一串ASCII码,由“0”-“9”、“A”-“F”这些数据和字母组成。它们其实是表示的是16进制数。PDU由短信中心地址(SMSC)和传输协议数据单元(Transfer Protocol Data Unit)组成。PDU可采用三种编码:7位编码、8位编码、UCS2(16位)编码。
在以PDU模式发送短信之前,需要设置短信发送模式为PDU方式:发送AT+CMGF=0(注:表示回车)。
1.短信格式
短信中心号码长度:为S2-S7的字节数。
短信中心号码类型:常用值91,表示采用国际格式电话编码。TON:占3位。001表示国际格式;010表示国内格式。NPI:占4位。0001表示电话编码。
短信中心号码:若为奇数,在最后面补个F。
短信格式。常用设置:发送单条短信时,设置为11;发送长短信时,设置为51。
TP-RP:应答路径。0表示不设置;1表示设置。
TP-UDHL:短信数据头标识。0表示没有信息头;1表示包含信息头。
TP-SRR:状态报告要求。0表示不需要报告,1表示需要报告。
TP-VPF:短信有效期格式。00表示不提供有效期参数;10表示采用相对格式;01表示采用增强格式;11表示采用绝对格式。
TP-RD:设置短信中心可以处理相同短信标识的短信。0表示允许;1表示拒绝。
TP-MTI:短信类型标识。00表示读取短信;01表示发送短信;10表示短信状态报告。
短信标识(TP-MR),常用设置00。
接收方的号码长度,是电话号码的数字长度,不是转换后的字节数。
接收方电话编码类型,与短信中心号码类型相同。
接收方号码,若为奇数,在最后面补个F。
短信类型(TP-PID),常用设置为00,点对点短信。类型定义-Bit7 Bit6:等于00时,表示参照bit0-bit5的参数定义。传输类型-Bit5:等于0时,表示点对点传输;等于1时表示网络传输。信息类型-Bit4-Bit0:等于00000时,表示短信;等于00001时,表示电报……。
数据编码方式(TP-DCS),常用设置00(7位编码)、04(8位编码)、08(UCS2编码)。文本压缩-Bit5:等于0时,禁用文本压缩;等于1时,启用文本壓缩。包含信息类别-Bit4:等于0时,表示不启用 Bit1-Bit0设置的信息类别;等于1时为启用。编码类型-Bit3 Bit2:等于00时表示7位编码;等于01时表示8位编码;等于10时表示UCS2编码。信息类别-Bit1 Bit0:00表示短信直接发送;01表示短信先存储到SIM卡或模块,再发送;10先判断模块和SIM卡有没有空闲空间,如果有空闲空间,先保存,再发送;11表示将短信存储到另一个存储设备上。
短信有效期(TP-VP),常用设置为00。 根据【字节编码T1】中TP-VPF参数设置。TP-VPF:00表示采用不提供有效期参数,需要省略此字节;10表示采用相对时间格式,共1个字节,字节范围00-FF,00表示5分钟; 01表示采用增强格式,共7个字节;11表示采用绝对格式,共7个字节。
短信内容长度(TP-UDL)。当编码格式为7位编码时,此值为编码前对应的字节数。当编码格式为8位或UCS2时,此值为D2-DN的字节数。
2.短信发送流程
1)首先发送AT+CMGS=XXX。XXX为传输协议数据单元T1 – DN的字节数。
2)收到“>”符号后,发送PDU串,最后再发送16进制数<1A>。
3)等待接收到返回信息+CMGS:OK,表示短信发送成功。
3.短信PDU编码分析
3.1.发送短信(7位编码)
发送内容:8个 “1”。
PDU串:0891683108504705F011000B913177277712F500000008B1582C168BC562
编码分析:
08短信中心号码长度:8字节
91国际格式电话编码
683108504705F0短信中心号码:8613800574500
11发送短信
00短信标识
0B短信接收方电话号码长度:11个数字,不包括电话编码格式
91国际格式电话编码
3177277712F5接收方手机号:13777277215
00点对点短信
007位编码
00短信有效期,5分钟
08短信内容长度,编码前为8个字节
B1582C168BC562 7位编码的短信内容:11111111
7位编码原理:
3.2.接收短信(7位编码)
接收内容:8个 “1”。
PDU串:0891683108504705F0040D91683177277712F500007190822290432308B1582C168BC562
编码分析:
08短信中心号码长度:8字节
91国际格式电话编码
683108504705F0短信中心号码:8613800574500
04接收短信
0D短信接收方电话号码长度:13个数字,不包括电话编码格式
91国际格式电话编码
683177277712F5接收方手机号:8613777277215
00点对点短信
007位编码
71908222904323短信时间戳:17年09月28日22时09分34秒
08短信内容长度,编码前为8个字节
B1582C168BC562 7位编码的短信内容:11111111
总结:
本文分析了普通短信的7位编码PDU数据包,8位编码和UCS2编码的PDU数据包类似。开发人员可以使用此内容实现短信模块发送、接收短信。
参考文献:
[1]GSM 03.38 Version 5.3.0[S] , ETSI TC-SMG
[2]GSM 03.40 V7.3.0[S], ETSI TC-SMG
关键词:短信;GSM;PDU
短信是日常通讯的主要手段,在GSM 03.38、GSM 03.40中定义了其技术实现。短信的收发共有三钟方式,BLOCK方式,TEXT方式和PDU方式。PDU方式被所有的手机和短信通讯设备所支持。本文以具体的短信PDU编码,介绍短信收发的实现。
短信PDU编码,表面上是一串ASCII码,由“0”-“9”、“A”-“F”这些数据和字母组成。它们其实是表示的是16进制数。PDU由短信中心地址(SMSC)和传输协议数据单元(Transfer Protocol Data Unit)组成。PDU可采用三种编码:7位编码、8位编码、UCS2(16位)编码。
在以PDU模式发送短信之前,需要设置短信发送模式为PDU方式:发送AT+CMGF=0
1.短信格式
短信中心号码长度:为S2-S7的字节数。
短信中心号码类型:常用值91,表示采用国际格式电话编码。TON:占3位。001表示国际格式;010表示国内格式。NPI:占4位。0001表示电话编码。
短信中心号码:若为奇数,在最后面补个F。
短信格式。常用设置:发送单条短信时,设置为11;发送长短信时,设置为51。
TP-RP:应答路径。0表示不设置;1表示设置。
TP-UDHL:短信数据头标识。0表示没有信息头;1表示包含信息头。
TP-SRR:状态报告要求。0表示不需要报告,1表示需要报告。
TP-VPF:短信有效期格式。00表示不提供有效期参数;10表示采用相对格式;01表示采用增强格式;11表示采用绝对格式。
TP-RD:设置短信中心可以处理相同短信标识的短信。0表示允许;1表示拒绝。
TP-MTI:短信类型标识。00表示读取短信;01表示发送短信;10表示短信状态报告。
短信标识(TP-MR),常用设置00。
接收方的号码长度,是电话号码的数字长度,不是转换后的字节数。
接收方电话编码类型,与短信中心号码类型相同。
接收方号码,若为奇数,在最后面补个F。
短信类型(TP-PID),常用设置为00,点对点短信。类型定义-Bit7 Bit6:等于00时,表示参照bit0-bit5的参数定义。传输类型-Bit5:等于0时,表示点对点传输;等于1时表示网络传输。信息类型-Bit4-Bit0:等于00000时,表示短信;等于00001时,表示电报……。
数据编码方式(TP-DCS),常用设置00(7位编码)、04(8位编码)、08(UCS2编码)。文本压缩-Bit5:等于0时,禁用文本压缩;等于1时,启用文本壓缩。包含信息类别-Bit4:等于0时,表示不启用 Bit1-Bit0设置的信息类别;等于1时为启用。编码类型-Bit3 Bit2:等于00时表示7位编码;等于01时表示8位编码;等于10时表示UCS2编码。信息类别-Bit1 Bit0:00表示短信直接发送;01表示短信先存储到SIM卡或模块,再发送;10先判断模块和SIM卡有没有空闲空间,如果有空闲空间,先保存,再发送;11表示将短信存储到另一个存储设备上。
短信有效期(TP-VP),常用设置为00。 根据【字节编码T1】中TP-VPF参数设置。TP-VPF:00表示采用不提供有效期参数,需要省略此字节;10表示采用相对时间格式,共1个字节,字节范围00-FF,00表示5分钟; 01表示采用增强格式,共7个字节;11表示采用绝对格式,共7个字节。
短信内容长度(TP-UDL)。当编码格式为7位编码时,此值为编码前对应的字节数。当编码格式为8位或UCS2时,此值为D2-DN的字节数。
2.短信发送流程
1)首先发送AT+CMGS=XXX
2)收到“>”符号后,发送PDU串,最后再发送16进制数<1A>。
3)等待接收到返回信息+CMGS:OK,表示短信发送成功。
3.短信PDU编码分析
3.1.发送短信(7位编码)
发送内容:8个 “1”。
PDU串:0891683108504705F011000B913177277712F500000008B1582C168BC562
编码分析:
08短信中心号码长度:8字节
91国际格式电话编码
683108504705F0短信中心号码:8613800574500
11发送短信
00短信标识
0B短信接收方电话号码长度:11个数字,不包括电话编码格式
91国际格式电话编码
3177277712F5接收方手机号:13777277215
00点对点短信
007位编码
00短信有效期,5分钟
08短信内容长度,编码前为8个字节
B1582C168BC562 7位编码的短信内容:11111111
7位编码原理:
3.2.接收短信(7位编码)
接收内容:8个 “1”。
PDU串:0891683108504705F0040D91683177277712F500007190822290432308B1582C168BC562
编码分析:
08短信中心号码长度:8字节
91国际格式电话编码
683108504705F0短信中心号码:8613800574500
04接收短信
0D短信接收方电话号码长度:13个数字,不包括电话编码格式
91国际格式电话编码
683177277712F5接收方手机号:8613777277215
00点对点短信
007位编码
71908222904323短信时间戳:17年09月28日22时09分34秒
08短信内容长度,编码前为8个字节
B1582C168BC562 7位编码的短信内容:11111111
总结:
本文分析了普通短信的7位编码PDU数据包,8位编码和UCS2编码的PDU数据包类似。开发人员可以使用此内容实现短信模块发送、接收短信。
参考文献:
[1]GSM 03.38 Version 5.3.0[S] , ETSI TC-SMG
[2]GSM 03.40 V7.3.0[S], ETSI TC-SMG