短信业务流程分析*短信业务介绍SMS(ShortMessagingService,短消息服务)是一种使得移动设备可以发送和接收文本信息的技术SMS采用存储转发模式—短消息被发送出去之后,不是直接发送给接收方,而是先存储在SMSC(短消息中心),然后再由SMSC将短消息转发给接收方如果接收方当时关机或不在服务区内,SMSC就会自动保存该短消息,等到接收方在服务区出现的时候再发送给他Date短信的PDU格式(1/3)发送点对点(Point-to-Point)短信常用两种模式,PDU(ProtocolDataUnit,协议数据单元)模式和文本(Text)模式使用Text模式发送短信代码简单,实现容易,但是最大缺点是不能收发中文短信PDU模式不仅支持中文短信,也能发送英文短信PDU模式收发短信可以使用三种编码方式:7-bit、8-bit和UCS2编码Date短信的PDU格式(2/3)短信的PDU格式是基于AT指令实现的,与短信相关的AT指令如下表所示:AT指令功能AT+mand(发出一条短消息命令)AT+CMGDDeleteSMSmessage(删除SIM卡内存的短消息)AT+CMGFSelectSMSmessageformat(选择短消息信息格式:0-PDU;1-文本)AT+CMGLListSMSmessagefrompreferredstore(列出SIM卡中的短消息信息格式PDU/text:0/"RECUNREAD"为未读,1/“RECREAD”为已读,2/“STOUNSENT”为待发,3/“STOSENT”为已发,4/“ALL”为全部的)AT+CMGRReadSMSmessage(读短消息)AT+CMGSSendSMSmessage(发送短消息)AT+CMGWWriteSMSmessagetomemory(向SIM内存中写入待发的短消息)AT+CMGSSendSMSmessagefromstorage(从SIM内存中发送短消息)MINewSMSmessageindication(显示新收到的短消息)AT+CPMSPreferredSMSmessagestorage(选择短消息内存)AT+CSCASMSservicecenteraddress(短消息中心地址)AT+CSCBSelectcellbroadcastmessagemessages(选择蜂窝广播消息)AT+CSMPSetSMStextmodeparameters(设置短消息文本模式参数)AT+CSMPSelectMessageService(选择短消息服务)Date短信的PDU格式(3/3)一般PDU的编码由A~M13项组成:,2位十六进制数(1字节),,B+,,,,2位十六进制数,,,,,,,长度由L决定Date短信的PDU编码举例(1/4)假如我要发送下面的短信:接收号码:+86**********短信内容:工作愉快!短信中心号码:+86**********短信中心号码处理:用字符串addr表示1、将短信息中心号码去掉+号,看看长度是否为偶数,如果不是,最后添加F即addr="+86**********"=>addr="86**********F“2、将奇数位和偶数位交换。=>addr=“683108200005F0”—经过移位处理的短信中心号码3、将短信息中心号码前面加上字符91,91是国际化的意思=>addr=“91683108200005F0”—91为短信中心号码类型4、算出addr长度,结果除2,格式化成2位的16进制字符串,16/2=8=>"08"=>addr="0891683108200005F0"—08为短信中心号码长度Date短信的PDU编码举例(2/4)手机号码处理:用字符串phone1、将手机号码去掉+号,看看长度是否为偶数,如果不是,最后添加F即phone="+86**********"=>phone="86**********F“2、将手机号码奇数位和偶数位交换。=>phone="683106423346F9"—经过移位处理的接收方号码短信息部分处理:用字符串msg表示1、将字符串转换为Unicode代码,例如“工作愉快!”的unicode代码为5DE54F5C61095FEBFF01,(转换函数见最后附录)2、将msg长度除2,保留两位16进制数,即5DE54F5C610
短信业务流程分析 来自淘豆网www.taodocs.com转载请标明出处.