联系我们

河南土工布专供

河南省新乡市原阳县产业集聚区

赵经理

15838056980

15838056980

867578800@qq.com

短信SMS开发基础,SMSPDU,SubmitPDU,DeliverPDU组成结构说明

发布者:admin发布时间:2022-02-28访问量:331

免费的无纺布手提袋在线报价,输入规格参数,全程10秒钟出价格,方便快捷,欢迎使用!

绿化布土工布15838056980目录内容目录内容 20. 修改记录 31. 短信概念 42. 短信分类 52.1. TEXT短信 52.2. PDU短信 53. 短信应用 63.1. 发送短信 63.1.1. TEXT短信方式 63.1.2. PDU短信方式 63.2. 编写短信 73.2.1. TEXT短信方式 73.2.2. PDU短信方式 73.3. 转发短信 83.4. 读取短信 93.4.1. TEXT短信方式 93.4.2. PDU短信方式 93.5. 删除短信 103.5.1. TEXT短信方式 103.5.2. PDU短信方式 114. PDU串绿化布土工布15838056980分类及结构 124.1. SUBMIT-PDU 124.1.1. 结构 124.1.2. 说明 124.1.3. 举例分析 154.2. DELIVER-PDU 164.2.1. 结构 174.2.2. 说明 174.2.3. 举例分析 195. 短信工作过程 225.1. 设备之间的交互过程 225.2. 平台的消息处理过程 235.2.1. 发送短信 235.2.2. 接收短信 230. 修改记录版本日期作者修改内容记录1.02012-08-10Vicent.Gao初始版本,讲述了短信的基本操作,及PDU串的结构2.02012-08-17Vicent.Gao加入新的一章:第5章 “短信工作过程”1. 短信概念短消息,即SMS,英文全称short message service,是一种使用手机发送和接收有限长度文本信息的通讯服务;更加详细的介绍,请查看链接: 短信分类在用户使用的角度看,短信共分为2类,分别是TEXT短信、PDU短信。在写短信、发送短信时,可以选择使用TEXT短信方式,也可以选择使用PDU短信方式;在读取短信时,可以选择使用TEXT短信方式,绿化布土工布15838056980也可以使用PDU短信方式;编写的短信、接收的短信,实际是以PDU短信方式存储在ME或SM中;在发送短信时,实际是以PDU短信方式发往SCA,再由SCA转发至对方手机;2.1 TEXT短信以可读的方式,编写、发送、读取短信。在编写短信、发送短信时,需要内部转换成PDU模式,才能进行存储、发送。如:AT+CMGR=1+CMGR: "REC UNREAD","+25","","2012/08/10 10:56:08+32"OK2.2 PDU短信根据指定的PDU格式,填充必要的域,如<SCA>, <FO>,<DCS>等,不需要内部进行转换,可以直接进行存储或发送。也可以使用PDU短信方式,读取编写和接收的短信。如:AT+CMGR=1+CMGR: 1,,F0040D323FAB0986C46ABD96EB81COK3. 短信应用客户在使用短信功能时,可以完成发送短信、编写短信、转发短信、读取短信、删除短信的操作。3.1 发送短信3.1.1 TEXT短信方式AT+CMGF=1 //设置使用TEXT短信方式OKAT+CSCS="GSM" //设置编辑短信时,使用的字符集OKAT+CMGS="" //使用CMGS发送短信给自身,此处需要填写DA,即目标地址>//按<CTRL+Z>开始发送短信+CMGS: 28 //短信已发送,MR=28,其中MR为Messge Reference,用来唯一标识一条短信OK //短信发送成功+CMTI: "SM",1 //接收到的短信,存储在SM中,索引号为1的位置上参考的QCOM Script,绿化布土工布15838056980绿化布土工布15838056980请见压缩包路径:QCOM_Script\CMGS\CMGS_TEXT.ini3.1.2 PDU短信方式AT+CMGF=0 //设置使用PDU短信方式OKAT+CMGS=24 //使用CMGS发送短信给自身,此处需要填写TPDU串的长度,即PDU串中除去SCA域之后的数据长度,以Byte为单位> 01505FD323FA0AB0986C46ABD96EB81C //按<CTRL+Z>开始发送短信+CMGS: 29 //短信已发送,MR=29,其中MR为Messge Reference,用来唯一标识一条短信OK //短信发送成功+CMTI: "SM",2 //接收到的短信,存储在SM中,索引号为2的位置上参考的QCOM Script,请见压缩包路径:QCOM_Script\CMGS\CMGS_PDU.ini3.2 编写短信3.2.1 TEXT短信方式AT+CMGF=1 //设置使用TEXT短信方式OKAT+CSCS="GSM" //设置编辑短信时,使用的字符集OKAT+CMGW //使用CMGW编写短信,没有指明DA,即目标地址,也可以在命令中指明>//按<CTRL+Z>开始存储短信+CMGW: 5 //编写的短信,存储在索引号为5的位置上OK //编写短信成功参考的QCOM Script,请见压缩包路径:QCOM_Script\CMGW\CMGW_TEXT.ini3.2.2 PDU短信方式AT+CMGF=0 //设置使用PDU短信方式OKAT+CMGW=17 //使用CMGW编写短信,此处需要填写TPDU串的长度,即PDU串中除去SCA域之后的数据长度,以Byte为单位> 0011FFAB0986C46ABD96EB81C //按<CTRL+Z>开始存储短信+CMGW: 7 //编写的短信,存储在索引号为7的位置上OK //编写短信成功参考的QCOM Script,请见压缩包路径:QCOM_Script\CMGW\CMGW_PDU.ini3.3 转发短信需要绿化布土工布15838056980指明短信存储时使用的索引号,才能完成转发操作。由于短信在存储时,都是以PDU短信方式来进行存储的,所以此命令与使用的短信方式(TEXT或PDU)无关。AT+CMGF=0 //设置使用TEXT短信方式OKAT+CSCS="GSM" //设置编辑短信时,使用的字符集OKAT+CMSS=7,"" //使用CMSS转发短信给自身,此绿化布土工布15838056980短信存储在索引号为7的位置上,此处指明了DA,即目标地址+CMSS: 30 //短信已发送,MR=29,其中MR为Messge Reference,用来唯一标识一条短信OK //短信发送成功+CMTI: "SM",9 //接收到的短信,存储在SM中,索引号为9的位置上AT+CMGF=1 //设置使用PDU短信方式OKAT+CSCS="GSM" //设置编辑短信时,使用的字符集OKAT+CMSS=7,"" //使用CMSS转发短信给自身,此短信存储在索引号为7的位置上,此处指明了DA,即目标地址+CMSS: 31 //短信已发送,MR=29,其中MR为Messge Reference,用来唯一标识一条短信OK //短信发送成功+CMTI: "SM",10 //接收到的短信,存储在SM中,索引号为10的位置上注:在TEXT短信方式、PDU短信方式下,转发同一条短信,都可以成功发送,则说明CMSS转发短信与具体采用的短信方式(使用CMGF命令设置)无关。参考的QCOM Script,请见压缩包路径:QCOM_Script\CMSS\CMSS.ini3.4 读取短信使用CMGD读取单条短信,使用CMGL读取某一类别的短信。3.4.1 TEXT短信方式AT+CMGF=1 //设置使用TEXT短信方式OKAT+CMGR=1 //使用CMGR命令,读取索引号1位置上的短信+CMGR: "REC UNREAD","+25","","2012/08/10 10:56:08+32" //在TEXT短信方式下,列出的短信内容OKAT+CMGL=? //使用CMGL读取指定类别的短信,在TEXT短信方式下,查询CMGL命令的用法+CMGL: ("REC UNREAD","REC READ","STO UNSENT","STO SENT","ALL") //在TEXT短信方式下,使用String方式来指明要读取短信的类别OKAT+CMGL="STO UNSENT" //显示所有未发送的短信+CMGL: 3,"STO UNSENT","","", //第1条未发送短信,存储在索引号3位置上+CMGL: 4,"STO UNSENT","","", //第2条未发送短信,存储在索引号4位置上+CMGL: 5,"STO UNSENT","","", //第3条未发送短信,存储在索引号5位置上+CMGL: 6,"STO UNSENT","","", //第4条未发送短信,存储在索引号6位置上OK参考的QCOM Script,请见压缩包路径:QCOM_Script\CMGR+CMGL\CMGR+CMGL_TEXT.ini3.4.2 PDU短信方式AT+CMGF=0 //设置使用PDU短信方式OKAT+CMGR=1 //使用CMGR命令,读取索引号1位置上的短信+CMGR: 1,,F0040D323FAB0986C46ABD96EB81C //在PDU短信方式下,列出的短信内容OKAT+CMGL=? //使用CMGL读取指定类别的短信,在PDU短信方式下,查询CMGL命令的用法+CMGL: (0-4) //在PDU短信方式下,使用Integer方式来指明要读取短信的类别OKAT+CMGL=2 //显示所有未发送的短信+CMGL: 3,2,,17 //第1条未发送短信,存储在索引号3位置上0011FFAB0986C46ABD96EB81C+CMGL: 4,2,,23 //第2条未发送短信,存储在索引号4位置上0011FF0B3FAB0986C46ABD96EB81C+CMGL: 5,2,,17 //第3条未发送短信,存储在索引号5位置上0011FFAB0986C46ABD96EB81C+CMGL: 6,2,,17 //第4条未发送短信,存储在索引号6位置上0011FFAB0986C46ABD96EB81COK参考的QCOM Script,请见压缩包路径:QCOM_Script\CMGR+CMGL\CMGR+CMGL_PDU.ini3.5 删除短信在删除短信时,建议使用CMGD删除单条命令,使用QMGDA删除指定类别的短信。当然,使用CMGD命令的<delflag>参数,也可以删除指定类别的短信。3.5.1 TEXT短信方式AT+CMGF=1 //设置使用TEXT短信方式OKAT+CMGD=1 //使用CMGD删除索引号1位置上的短信OKAT+QMGDA=? //使用QMGDA删除某一类别的短信,在TEXT短信方式下,查询QMGDA命令的用法+QMGDA:("DEL READ","DEL UNREAD","DEL SENT","DEL UNSENT","DEL INBOX","DEL ALL") //在TEXT短信方式下,使用String方式来指明要删除短信的类别OKAT+QMGDA="DEL READ" //删除所有已读短信OK参考的QCOM Script,请见压缩包路径:QCOM_Script\CMGD+QMGDA\CMGD+QMGDA_TEXT.ini3.5.2 PDU短信方式AT+CMGF=0 //设置使用PDU短信方式OKAT+CMGD=1 //使用CMGD删除索引号1位置上的短信OKAT+QMGDA=? //使用QMGDA删除某一类别的短信,在PDU短信方式下,查询QMGDA命令的用法+QMGDA:(1-6) //在PDU短信方式下,使用Integer方式来指明要删除短信的类别OKAT+QMGDA=1 //删除所有已读短信OK参考的QCOM Script,请见压缩包路径:QCOM_Script\CMGD+QMGDA\CMGD+QMGDA_PDU.ini4. PDU串分类及结构在使用PDU短信方式,进行短信的发送、编写、读取时,对于PDU串结构的了解是很有必要的。PDU串共有2类,分别是SUBMIT-PDU,DELIVER-PDU,各有不同的结构。4.1 SUBMIT-PDUSUBMIT-PDU,是发送短信时采用的PDU串。SUBMIT-PDUSCATPDUDALenTypeAddrFOMRLenTypeAddrPIDDCSVPUDLUDP1P2P3P4P5P6P7P8P9P10P11P12P1310~10~~~1401 ~ 122~124.1.1 结构注:表中的第1行为 表头部分,说明表所要表达的内容;表中的第2行为 PDU串结构中,包含有2大部分;表中的第3行为 PDU串结构中,TPDU部分中再划分的结构;表中的第4行为 PDU串结构中,细分的每个部分;表中的第5行为 对PDU串结构中,细分的每个部分,进行重新编码,方便后续的描述;表中的第6行为 PDU串结构中,细分的每个部分,编码时占用的字节数范围;表中的第7行为 PDU串结构中,包含的地址区域,编码时占用的字节数范围;4.1.2 说明P1P1区域属于SCA绿化布土工布15838056980绿化布土工布15838056980域的一部分,固定占有1个字节,表示SCA域的长度,实际上表示的是P2区域和P3区域共同占有的字节数。当P1=0x00时,表示SCA域不存在,此时平台会从CSCA命令中,读取需要的短信服务中心号码。P2P2区域属于SCA域的一部分,当P1=0x00时,P2区域将不存在;当P1!=0x00时,P2 区域存在,并固定占有1字节大小;P2区域,绿化布土工布15838056980用于表示短信服务中心号码的类型,可能取得值有:0x91(国际型),0x81(未知类型),0xA1(国内型)。P3P3区域属于SCA域的一部分,当P1=0x00时,P3区域将不存在;当P1!=0x00时,P3 区域存在,其占有的字节数为:P1 – 1。P3区域,用于存储短信服务中心的号码,此号码采用BCD编码。P4P4区域固定占有1个字节,为TPDU域的第1个字节,即First Octet。P4区域用于设置PDU串的类型,及其他重要参数。其结构如下表:SUBMIT-PDU FO (First Octet)RPUDHISRRVPFVPFRDMTIMTI说明如下:MTI 2bit消息类型00收01发RD 1bit重复信元丢弃0通知服务中心碰到同源同目的地同样的MR短消息序号的短消息接受1抛弃此时将在短消息提交报告中返回一个适当的FCS值VPF 2bit有效期限格式00 VP不存在10 VP区存在用一个字节表示是相对值01 保留11 存在半个字节表示绝对值SRR 1bit状态报告要求.UDHI 1bit用户数据头标示0用户数据没有头信息1有一般为0RP 1bit是否有回复路径的标示1有0没有一般为0[Vicent.Gao]:绿化布土工布15838056980后续会对此段内容,针对平台中的代码,进行更加详细的描述。P5P5区域固定占有1个字节,为Message Reference,用于唯一标识一条短信。P6P6区域属于DA域的一部分,固定占有1个字节,表示DA域的长度,实际上表示的是P8区域含有的BCD码字符的个数。P7P7区域属于DA域的一部分,固定占有1个字节,表示目标地址的类型,可能取得值有:0x91(国际型),0x81(未知类型),0xA1(国内型)。P8P8区域属于DA域的一部分,当P6=0x00时,P8区域将不存在;当P6!=0x00时,P8区域存在,其占有的字节数为:P6 / 2。P8区域用于存储目的地址号码。P9P9区域固定占有1个字节,为Protocol Identifier,用于标识一条短信的种类,为文本短信,还是为其他的短信,如Voice Telephone, E-Mail SMS,一般设置为0x00即可。P10P10区域固定占有1个字节,为Data Coding Scheme,表示短信内容采用的编码,及短信的类别(Message Class)。其结构如下表:DCS (Data Coding Scheme)--Bit5Bit4Bit3Bit2Bit1Bit0说明如下:Bit7 Bit6一般设置为00Bit5文本是否压缩,0表示未压缩,1表示采用GSM标准压缩。Bit4是否指定短消息类别,0表示没有指定,1表示已指定。Bit3 Bit2指定短信内容采用的编码,00绿化布土工布15838056980表示默认字母表,01表示8bit数据,10表示UCS编码,11表示保留。Bit1 Bit0指定短消息类别,00表示Class 0,01表示Class 1,10表示Class 2,11表示Class 3。其中:Class 0,直接显示到用户终端;Class 1,短消息存储在SIM卡上;Class 2,短消息必须存储在SIM卡上禁止直接传输到终端;Class 3,短消息存贮在用户设备上;平台解码方法:smsal_decode_dcsP11P11区域,固定占有1个字节,即Validiy Period,用于表示短信服务中心在收到短信后,最长可以暂存的时间,过了有效时间之后,如果这条短信仍然没有被短信服务中心转发出去,那么将会被短信服务中心丢弃。有效时间,分为2种格式,相对格式和绝对格式,一般都采用相对格式。相对格式的有效时间计算方法如表:VP计算方法00 – 8F(VP+1)*5 分钟 从 5 分钟间隔到 12 个小时90 – A712 小时 + (VP – 143)*30 分钟A8 – C4(VP – 166) * 1 天C5 – FF(VP – 192) * 1 周P12P12区域,固定占有1个字节,即User Data Length,表示用户数据长度。当短信内容采用GSM-7bit编码时,其表示P13区域含有的有效字符的个数;当短信内容采用其他编码时,如UCS2,其表示P13区域含有的字节数;P13当P12=0x00时,P13绿化布土工布15838056980区域不存在;当P12!=0x00时,P13区域存在,用于存储用户实际发送的短信内容。P13区域最大只有140字节的空间可供利用,当短信内容采用GSM-7bit编码时,其最大可以存储140 + 140 / 7 = 160个字符;当短信内容采用UCS2编码时,其最大可以存储140 / 2 = 70个字符,如汉字字符。4.1.3 举例分析SUBMIT-PDU串如下:01505FD323FA0AB0986C46ABD96EB81C拆分如下:08 91 5F0 11 00 0D 91 3F5 00 00 0A 0A B0986C46ABD96EB81C08 91 5F0 11 00 0D 91 3F5 00 00 AA 0A B0986C46ABD96EB81C如表:P1/SCA LenP2/SCA TypeP3/SCA AddrP4/FOP5/MR01505F01100P6/DA LenP7/DA TypeP8/DA AddrP9/PIDP10/DCS0D323F50000P11/VPP12/UDLP13/UD0A0AB0986C46ABD96EB81C分析结果:P1内容:08解析:SCA域长度为8个字节,即P2区域和P3区域总共的区域有8个字节,其中P2区域固定占用1个字节,P3区域占用7个字节。P2内容:91解析:短信服务中心号码为国际型。P3内容:5F0解析:短信服务中心号码为:00P4内容:11解析:此PDU类型为SUBMIT-PDU,采用相对有效期格式。P5内容:00解析:Messge Reference,即短消息发送参考号,采用默认值00。P6内容:0D解析:DA域长度为0D/02=7个字节,含有0D=14个BCD码字符,即P8区域占有7个字节,含有14个BCD码字符。P7内容:91解析:目的地址号码类型为国际型。P8内容:3F5解析:目的地址号码为:25P9内容:00解析:Protocol Identifier,采用默认值00,即普通文本短消息。P10内容:00解析:Data Coding Scheme,采用默认值00,即GSM-7bit编码,Class 1类型。P11内容:0A解析:绿化布土工布15838056980短消息在短信服务中心存储的有效时间为:(0A + 1) * 5 = 55分钟。P12内容:0A解析:由于采用GSM-7bit编码,所以此处表示P13区域内含有10个字符。P13内容:B0986C46ABD96EB81C解析:通过对GSM-7bit编码内容进行解码,得知短信内容为:4.2 DELIVER-PDUDELIVER-PDU,是接收到的短信采用的PDU串。4.2.1 结构DELIVER-PDUSCATPDUOALenTypeAddrFOLenTypeAddrPIDDCSSCSTUDLUDP1P2P3P4P5P6P7P8P9P10P11P12116~~~1408~ 128~12注:表中的第1行为 表头部分,说明表所要表达的内容;表中的第2行为 PDU串结构中,包含有2大部分;表中的第3行为 PDU串结构中,TPDU部分中再划分的结构;表中的第4行为 PDU串结构中,细分的每个部分;表中的第5行为 对PDU串结构中,细分的每个部分,进行重新编码,方便后续的描述;表中的第6行为 PDU串结构中,细分的每个部分,编码时占用的字节数范围;表中的第7行为 PDU串结构中,包含的地址区域,编码时占用的字节数范围;4.2.2 说明P1P1区域属于SCA域的一部分,固定占有1个字节,表示SCA域的长度,实际上表示的是P2区域和P3区域共同占有的字节数。P2P2区域属于SCA域的一部分,固定占有1个字节,用于表示短信服务中心号码的类型,可能取得值有:0x91(国际型),0x81(未知类型),0xA1(国内型)。P3P3区域属于SCA域的一部分,其占有的字节数为:P1 – 1,用于存储短信服务中心的号码,此号码采用BCD编码。P4P4区域固定占有1个字节,为TPDU域的第1个字节,即First Octet。P4区域用于设置PDU串的类型,及其他重要参数。其结构如下表:DELIVER-PDU FO (First Octet)RPUDHISRI--MMSMTIMTI说明如下:MTI 2bit消息类型00收01发MMS 1bit短消息服务中心是否有更多短消息等待移动台1有0无默认为1SRI 1bit状态报告标示0不需要状态返回到移动设备1需要默认为0UDHI 1bit用户数据头标示0用户数据没有头信息1有一般为0RP 1bit是否有回复路径的标示1有0没有一般为0[Vicent.Gao]:后续会对此段内容,针对平台中的代码,进行更加详细的描述。P5P5区域属于OA域的一部分,固定占有1个字节,表示DA域的长度,实际上表示的是P7区域含有的BCD码字符的个数。P6P6区域属于DA域的一部分,固定占有1个字节,表示目标地址的类型,可能取得值有:0x91(国际型),0x81(未知类型),0xA1(国内型)。P7P7区域属于DA域的一部分,其占有的字节数为:P5 / 2,用于存储发送方的号码。P8P8区域固定占有1个字节,为Protocol Identifier,用于标识一条短信的种类,为文本短信,还是为其他的短信,如Voice Telephone, E-Mail SMS,一般都为0x00,即普通文本短信。P9P9区域固定占有1个字节,为Data Coding Scheme,表示短信内容采用的编码,及短信的类别(Message Class)。其结构如下表:DCS (Data Coding Scheme)--Bit5Bit4Bit3Bit2Bit1Bit0说明如下:Bit7 Bit6一般设置为00Bit5文本是否压缩,0表示未压缩,1表示采用GSM标准压缩。Bit4是否指定短消息类别,0表示没有指定,1表示已指定。Bit3 Bit2指定短信内容采用的编码,00表示默认字母表,01表示8bit数据,10表示UCS编码,11表示保留。Bit1 Bit0指定短消息类别,00表示Class 0,01表示Class 1,10表示Class 2,11表示Class 3。其中:Class 0,直接显示到用户终端;Class 1,短消息存储在SIM卡上;Class 2,短消息必须存储在SIM卡上禁止直接传输到终端;Class 3,短消息存贮在用户设备上;平台解码方法:smsal_decode_dcsP10P10区域固定占有7个字节,即Serive Center Time Stamp,用于存储SCA转发该条短信的时间戳。其结构如下表:SCTS年月日时绿化布土工布15838056980分秒时区说明如下:假设P10区域为:023,再拆分成:21 80 01 01 65 80 23,则表示SCTS为:12年 08月 10日 10时 56分 08秒 32时区P11P11区域,固定占有1个字节,即User Data Length,表示用户数据长度。当短信内容采用GSM-7bit编码时,其表示P12区域含有的有效字符的个数;当短信内容采用其他编码时,如UCS2,其表示P12区域含有的字节数;P12当P11=0x00时,P12区域不存在;当P11!=0x00时,P12区域存在,用于存储用户实际发送的短信内容。P12区域最大只有140字节的空间可供利用,当短信内容采用GSM-7bit编码时,其最大可以存储140 + 140 / 7 = 160个字符;当短信内容采用UCS2编码时,其最大可以存储140 / 2 = 70个字符,如汉字字符。4.2.3 举例分析DELIVER-PDU串如下:01505F0040D323FAB0986C46ABD96EB81C拆分如下:08 91 5F0 04 0D 91 3F5 00 00 023 0A B0986C46ABD96EB81C如表:P1/SCA LenP2/SCA TypeP3/SCA AddrP4/FOP5/OA Len01505F0040DP6/OA TypeP7/OA AddrP8/PIDP9/DCSP10/SCTS323F50000023P11/UDLP12/UD0AB0986C46ABD96EB81C分析结果:P1内容:08解析:SCA域长度为8个字节,即P2区域和P3区域总共的区域有8个字节,其中P2区域固定占用1个字节,P3区域占用7个字节。P2内容:91解析:短信服务中心号码为国际型。P3内容:5F0解析:短信服务中心号码为:00P4内容:04解析:此PDU类型为DELIVER-PDU。P5内容:0D解析:OA域长度为0D/02=7个字节,含有0D=14个BCD码字符,即P7区域占有7个字节,含有14个BCD码字符。P6内容:91解析:发送方号码类型为国际型。P7内容:3F5解析:发送方号码为:25P8内容:00解析:Protocol Identifier,采用默认值00,即普通文本短消息。P9内容:00解析:Data Coding Scheme,采用默认值00,即GSM-7bit编码,Class 1类型。P10内容:023解析:短消息服务中心在转发此条短信的时间戳为:2012年08月10日10时56分08秒。P11内容:0A解析:由于采用GSM-7bit编码,所以此处表示P12区域内含有10个字符。P12内容:B0986C46ABD96EB81C解析:通过对GSM-7bit编码内容进行解码,得知短信内容为:5. 短信工作过程5.1 设备之间的交互过程5.2 平台的消息处理过程5.2.1 发送短信5.2.2 接收短信

微信号:15838056980
添加微信好友, 获取更多信息
复制微信号

客服微信:wfbmfd点击复制并跳转微信