通信人家园
标题: 请问gsm短消息串接机制的问题 [查看完整版帖子] [打印本页]
时间: 2004-5-23 00:11
作者: youtiao
标题: 请问gsm短消息串接机制的问题
下面是我的论文,但是对于串接机制的内容我是从英文材料中翻译过来的,我对英文不太感冒,基本上是有猜的性质,请各位指导。不能上传word文档,如果阅读带来不便请谅解
问题:短消息串接发送以后,在接收方,消息是不是自动串接的,格式如何?如果不是自动串接,那么我们通过什么参数判断发送来的消息是短消息还是串接短消息,格式如何?谢谢
(1)PDU数据格式分析:
假设:短消息中心号码是‘+8613800731500’,对方号码是13908473375,消息内容是“Hi”。从手机发出的PDU串可以是‘08 91 68 310870 1305F0 11 00 0D 91 3109483773F5 00 00 00 02 C834’对照Pdu编码规则,具体分析如下:
08——短信息中心地址长度。指(91)+(683108701305F0)的长度。
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-留作扩展;
683108701305F0——短信息中心号码。由于位置上略有处理,实际号码应为:8613800731500(字母F是指长度减1)。这需要根据不同的地域作相应的修改。以上三条通称短消息中心地址(Address of the SMSC)。
11——文件头字节。11&h=00010001&b
BIT No. 7 6 5 4 3 2 1 0
Name TP-RP TP-UDHI TP-SPR TP-VFP TP-RD TP-MTI
Value 0 0 0 1 0 0 0 1
其中应答路径——TP-RP(TP Reply Path):0-不设置, 1-设置;用户数据头标识——TP-UDHL(TP User Data Header Indicator):0-不含任何头信息; 1-含头信息(注意:课题中我们使用增强型短消息,此处要设为1);状态报告要求——TP-SPR(TP-Status-Report-Request):0-需要报告; 1-不需要报告;有效期格式——TP-VPF(TP Validity Period Format):00-不提供(Not present),10-整型(标准),01—预留,11-提供8位字节的一半(Semi Octet Represented);拒绝复制——TP-RD(TP Reject Duplicates):0-接受复制, 1-拒绝复制;信息类型提示——TP-MTI(TP Message Type Indicator):00-读出(Deliver), 01-提交(Submit)。
00——信息类型(TP Message Reference)。
0B——被叫号码长度。
91——被叫号码类型(同第二点)。
3109483773F5——被叫号码,经过了位移处理,实际号码为“13908473375”。以上三点通称目的地址(TP Destination Address)。
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。
00——数据编码方案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。
00——有效期TP-VP(TP Valid Period)。
VP value(&h) 相应的有效期
00 to 8F (VP+1)*5 分钟
90 to A7 12小时+(VP-143)*30分钟
A8 to C4 (VP-166)*1天
C5 to FF (VP-192)*1 周
02——用户数据长度TP-UDL(TP User Data Length)。
C834——用户数据TP-UD(TP User Data)“Hi”。
这是短消息的Pdu模式,那么增强型消息是怎样的形式呢?我们注意在Pdu模式的文件头的TP-UDHL位,当我们采用增强型消息时我们把他取1,然后在对用户用户数据长度(例中的02)和数据部分(例中的C834)进行一些改动,格式如表5-4
表5-4
数据+头的长度 头的长度 标识
取00 UD的长度 串接机制00 SMS的最大数目 当前顺序号 CH/CF
取00 编码数据
说明:标识:指在协议GSM03.40中对于串接型PDU对应的应取00;
CH:Compressed Header CF:Compressed Footer
对于第一条和最后一条短消息需要CH/CF其它的短消息不需要
同上假设:短消息中心号码是‘+8613800731500’,对方号码是13908473375,消息内容是8条“Hi”。从手机发出的第一个增强型PDU串可以是‘08 91 68 310870 1305F0 51 00 0D 91 3109483773F5 00 00 00 09 07 00 02 00 08 01 00 C834’。第二个增强型PDU串可以是‘08 91 68 310870 1305F0 51 00 0D 91 3109483773F5 00 00 00 08 07 00 02 00 08 02 C834’。
要想把接收到的字符串中的相关信息,比如发送者手机号、发送日期和时间以及短消息内容从Pdu字符串中“分解”出来,计算机必须编写一段解码算法,才能实现此目的。因此,解决这个问题,首先必须了解接收到的Pdu字符串结构和相关意义,然后按不同信息段分解Pdu字符串,最后还原短消息。
假设:SMSC号码是+8613800731500,对方号码是13908473375,消息内容是“Hi”。手机接收到的PDU串可以是‘08 91 68 31 08 70 13 05 F0 84 0D 91 68 31 09 48 37 73 F5 00 00 30 30 21 80 63 54 80 02 C834’ 对照规范具体分析,接收到的短消息Pdu字符串的结构如下:
分 段 含 义 说 明
08 地址信息的长度 共八位字节(包括91)
91 SMSC地址格式(TON/NPI) 用国际格式号码(在前面加‘+’)
68 31 08 70 13 05 F0 SMSC地址 13800731500 补‘F’凑成偶数个
84 基本参数(TP-MTI/MMS/RP) 接收,无更多消息,有回复地址
0D 回复地址数字个数 共13个十进制数(不包括91和‘F’)
91 回复地址格式(TON/NPI) 用国际格式号码(在前面加‘+’)
68 31 09 48 37 73 F5 回复地址(TP-RA) 13908473375 补‘F’凑成偶数个
00 协议标识(TP-PID) 普通GSM类型,点到点方式
00 用户信息编码方式(TP-DCS) 7-bit编码
30 30 21 80 63 54 80 时间戳(TP-SCTS) 2003-3-12 08:36:45 +8时区
02 用户信息长度(TP-UDL) 实际长度6个字节
C834 用户信息(TP-UD) 短消息内容为“你好!”
同样当采用增强型短消息时对于用户信息长度部分和用户信息部分的解码同样服从表5-4的格式。
如果对方是以增强型短消息的形式发送的数据我们将会收到如下Pdu串:
‘08 91 68 31 08 70 13 05 F0 84 0D 91 68 31 09 48 37 73 F5 00 00 30 30 21 80 63 54 80 09 07 00 02 00 08 01 00 C834’
时间: 2004-5-23 01:23
作者: DaPanDa
自动串接 拼装在移动台完成
TP-UDH作用就是让2进制可以放在在信息文本前传送
串接区段就是根据2进制判断得~~~
你的翻译已经讲的很明白了啊 Bit 6设1
[此贴子已经被作者于2004-5-23 1:23:28编辑过]
时间: 2004-5-23 11:02
作者: youtiao
在收到的信息中,对于用户数据段是按照短消息的格式解码还是按照串接消息发送时的数据段编码方式解码,例如收到的信息部分还包不包括顺序号,最大串接数等信息
时间: 2004-5-23 23:00
作者: master13
sms偶记得是gsm0338
在终端把c-sms串接起来是终端应用层做的工作,终端不会自动串接.
来sms终端只是把sms保存到sim,以后的操作都是应用层完成.
是不是c-sms有tpdu的一个位判断,其实问题在于如何判断两个c-sms是同一个sms
时间: 2004-5-24 12:56
作者: DaPanDa
接收端应该是生成一个类似CSS( Cascading style Sheets 串接样式表)的东东
收到一条超长短信时把他分成若干条(按CMCC要求 70个汉字一条)
然后打上标地 X/Y X是第几条 Y是总数
IF PDU mode CMGF=0 (选择短信息格式) and command successful
+CMGR 收短信息
楼上说位判断很重要
时间: 2004-5-24 20:06
作者: youtiao
好象还是不太懂,谢谢
通信人家园 (https://www.txrjy.com/) |
Powered by C114 |