短信业务流程分析_第1页
短信业务流程分析_第2页
短信业务流程分析_第3页
短信业务流程分析_第4页
短信业务流程分析_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 短信业务流程分析2022/9/7短信业务介绍SMS(Short Messaging Service,短消息服务)是一种使得移动设备可以发送和接收文本信息的技术 SMS采用存储转发模式短消息被发送出去之后,不是直接发送给接收方,而是先存储在SMSC(短消息中心),然后再由SMSC将短消息转发给接收方 如果接收方当时关机或不在服务区内,SMSC就会自动保存该短消息,等到接收方在服务区出现的时候再发送给他 2022/9/7短信的PDU格式(1/3)发送点对点(Point-to-Point)短信常用两种模式,PDU(Protocol Data Unit,协议数据单元)模式和文本(Text)模式 使用

2、Text模式发送短信代码简单,实现容易,但是最大缺点是不能收发中文短信PDU模式不仅支持中文短信,也能发送英文短信 PDU模式收发短信可以使用三种编码方式:7-bit、8-bit和UCS2编码 2022/9/7短信的PDU格式(2/3)短信的PDU格式是基于AT指令实现的,与短信相关的AT指令如下表所示:AT指令 功 能 AT+CMGC Send an SMS command(发出一条短消息命令) AT+CMGD Delete SMS message(删除SIM卡内存的短消息) AT+CMGF Select SMS message format(选择短消息信息格式:0-PDU;1-文本) AT

3、+CMGL List SMS message from preferred store(列出SIM卡中的短消息信息格式PDU/text:0/REC UNREAD为未读,1/“REC READ”为已读,2/“STOU NSENT”为待发,3/“STO SENT”为已发,4/“ALL”为全部的) AT+CMGR Read SMS message(读短消息) AT+CMGS Send SMS message(发送短消息) AT+CMGW Write SMS message to memory(向SIM内存中写入待发的短消息) AT+CMGS Send SMS message from storage

4、(从SIM内存中发送短消息) AT+CNMI New SMS message indication(显示新收到的短消息) AT+CPMS Preferred SMS message storage(选择短消息内存) AT+CSCA SMS service center address(短消息中心地址) AT+CSCB Select cell broadcast message messages(选择蜂窝广播消息) AT+CSMP Set SMS text mode parameters(设置短消息文本模式参数) AT+CSMP Select Message Service(选择短消息服务) 2

5、022/9/7短信的PDU格式(3/3)一般PDU的编码由AM13项组成:A短信中心地址长度,2位十六进制数(1字节)B短信中心号码类型,2位十六进制数C短信中心号码,B+C的长度由A决定D文件头字节,2位十六进制数E信息类型,2位十六进制数F被叫号码长度,2位十六进制数G被叫号码类型,2位十六进制数,取值同BH被叫号码,长度由F决定I协议标识,2位十六进制数J数据编码方案,2位十六进制数K短信息有效期,2位十六进制数L用户数据长度,2位十六进制数M用户数据,长度由L决定2022/9/7短信的PDU编码举例(1/4)假如我要发送下面的短信:接收号码:8613602433649短信内容:工作愉快

6、!短信中心号码:8613800200500 短信中心号码处理:用字符串 addr 表示 1、将短信息中心号码去掉+号,看看长度是否为偶数,如果不是,最后添加F即 addr = +8613800200500= addr = 8613800200500F“2、将奇数位和偶数位交换。= addr = “683108200005F0” 经过移位处理的短信中心号码3、将短信息中心号码前面加上字符91,91是国际化的意思= addr = “91683108200005F0” 91为短信中心号码类型4、算出 addr 长度,结果除2,格式化成2位的16进制字符串,16 / 2 = 8 = 08= addr

7、= 0891683108200005F0 08为短信中心号码长度 2022/9/7短信的PDU编码举例(2/4)手机号码处理:用字符串 phone 1、将手机号码去掉+号,看看长度是否为偶数,如果不是,最后添加F即 phone = +8613602433649= phone = 8613602433649F“2、将手机号码奇数位和偶数位交换。= phone = 683106423346F9 经过移位处理的接收方号码 短信息部分处理:用字符串 msg 表示 1、将字符串转换为Unicode代码,例如“工作愉快!”的unicode代码为 5DE54F5C61095FEBFF01,(转换函数见最后附

8、录)2、将 msg 长度除2,保留两位16进制数,即 5DE54F5C61095FEBFF01 = 20 / 2 = 0A,再加上 msg= msg = 0A5DE54F5C61095FEBFF01 2022/9/7短信的PDU编码举例(3/4)组合 1、手机号码前加上字符串 11000D91(1100:固定,0D:手机号码的长度,不算号,十六进制表示,91:发送到手机为91,发送到小灵通为81),即 phone = “11000D91” + phone= 11000D91683106423346F9 0D为接收方号码长度2、手机号码后加上 000800 和刚才的短信息内容即 phone =

9、phone + 000800 + msg即 11000D91683106423346F9 + 000800 + 0A5DE54F5C61095FEBFF01= phone = 11000D91683106423346F90008000A5DE54F5C61095FEBFF013、phone 长度除以2,格式化成2位的十进制数即 11000D91683106423346F90008000A5DE54F5C61095FEBFF01 = 50位 / 2 = 250D 接收方号码长度91 接收方号码类型683106423346F9 经过移位处理的接收方号码000800 用户数据编码方案,为位编码,为位

10、编码,为位编码0A 短消息长度5DE54F5C61095FEBFF01 短消息内容2022/9/7短信的PDU编码举例(4/4)要发送的内容为 AT+CMGF=0 OKAT+CMGS=25 addr+phone Photosi-ModeWAPTonesTextVideoIVRGamesWi-FiPaymenteMailWebLocationVoice2022/9/7短信的编码方式短信有三种编码方式:7-bit、8-bit、UCS2 7-bit编码用于发送普通的ASCII字符,它可以发送最多160个非中文字符 8-bit编码通常用于发送数据消息,比如图片和铃声等,使用8-bit编码最多可以发送1

11、40个字符,通常无法直接通过手机显示 UCS2编码用于发送Unicode字符(中文汉字),使用UCS2编码时,无论英文还是中文,最多发送70个字符,可以被大多数的手机所显示 2022/9/7超长短信的处理超长短信就是将超过70字的短信分成几条进行发送,如:要发送200字的短信,在手机里会将其分成3条短信来发,支持超长短信的手机在接收该条短信时会将3条短信合成为一条,而不支持超长短信的手机则接收3条。手机最多可以合并多少条短信要根据手机短信支持的最大字节数。发送超长短信,需要做两件事情:设置TP_udhi的值设置为1,在消息正文中增加协议头。协议头可以两种格式,分别是长度为6和长度为7的协议头

12、2022/9/7超长短信的处理 6位协议头格式byte 1 : 05, 表示剩余协议头的长度byte 2 : 00, 这个值在GSM 03.40规范9.2.3.24.1中规定,表示随后的这批超长短信的标识位长度为1(格式中的XX值)。byte 3 : 03, 这个值表示剩下短信标识的长度byte 4 : XX,这批短信的唯一标志,事实上,SME(手机或者SP)把消息合并完之后,就重新记录,所以这个标志是否唯一并不是很重要。byte 5 : MM, 这批短信的数量。如果一个超长短信总共5条,这里的值就是5。byte 6 : NN, 这批短信的数量。如果当前短信是这批短信中的第一条的值是1,第二条

13、的值是2。例如:05 00 03 39 02 01 2022/9/7超长短信的处理 7位协议头格式byte 1 : 06, 表示剩余协议头的长度byte 2 : 08, 这个值在GSM 03.40规范9.2.3.24.1中规定,表示随后的这批超长短信的标识位长度为2(格式中的XX值)。byte 3 : 04, 这个值表示剩下短信标识的长度byte 4-5 : XX XX,这批短信的唯一标志,事实上,SME(手机或者SP)把消息合并完之后,就重新记录,所以这个标志是否唯一并不是很重要。byte 6 : MM, 这批短信的数量。如果一个超长短信总共5条,这里的值就是5。byte 7 : NN, 这

14、批短信的数量。如果当前短信是这批短信中的第一条的值是1,第二条的值是2。例如:06 08 04 00 39 02 01 2022/9/7短信业务流程2022/9/7短信业务流程 手机终端发送短消息在无线信令链路上将SMSC的电话号码,被叫用户号码,短消息的内容等信息通过移动基站(BTS)发送到拜访的MSC/VLR内 MSC/VLR根据VLR内存储的用户数据检查用户是否具有短消息业务功能 再根据SMSC的电话号码,将短消息路由到SMS关口站(SMS-GMSC/SMS-IWMSC) 由SMS关口站送到SMSC内,由SMSC暂时贮存起来 SMSC收到短消息后会向MT回送短消息已发送成功的确认信息。

15、2022/9/7短信业务流程 手机终端接收短消息SMSC把包含短消息内容、原发者的识别符号等信息的消息传给与中心相连的关口站,关口站根据被叫用户的MSISDN号向相关的HLR查询(HLR-ENQ) HLR将查询结果送给关口站,查询结果消息中包含了被叫用户正拜访的MSC/VLR的7号信令地址的MAP/CSENDROUTINGINFOFORSHORTMESSAGERESULT消息报文 关口站用该地址消息向被叫用户拜访的MSC/VLR传递消息,再由MSC建立必要的信令连接后将短消息传递给MT 传送的消息如没有确认,SMSC在一段时间内可以将其保存,一旦用户恢复与网络的联系,短消息可由SMSC立即传送

16、给用户。 2022/9/7 问题总结用户手机设置错误导致发送失败,例如:设置了错误的短信中心号码、SIM卡不具有短消息功能等 无线传输问题导致的发送时延过大或发送失败,例如信道拥塞 MSC/VLR到SMS-GMSC/SMS-IWMSC、SMS-GMSC/SMS-IWMSC到SMSC这两段时延,可能导致发送时延过大 在HRL中查找不到接收方手机的信息,接收方出于不可及的状态,导致信息暂时无法被接收,暂时保存在SMSC中 接收SMS过程中,SMS-GMSC/SMS-IWMSC到MSC/VLR、MSC/VLR到这两段时延,可能导致发送时延过大 2022/9/7The Argogroup logo, Quality of eXPerience, “Test in Anger, Deploy in Peace.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论