欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

基于RxTx的短信发送-长短信pdu

程序员文章站 2022-05-16 16:54:05
...

    众所周知,可能有些人未必知道,pdu发送短信是有字数限制的,信息体长度不超过140字节,如果采用uni编码一个字需要两个字节算的话正好70个字,这就是为什么以前的手机每条短信只能发送差不多70个字,那为什么现在就可以发送很长的短信呢?原因是现在设备都支持长短信(pdu分包)的协议,即像http包一样拆分发送到达以后组装成一个完整的请求返回。好了废话不多说了下面介绍拆分pdu的协议,知道了协议编写长短信发送的代码就是小case。

    

    发送协议介绍

SCA(Service Center Address) PDU-Type MR(Message Reference) DA(Dest Address) PID DCS(Data Config Schema) VP(Validity Period) UDL(User Data Length) UD(User Data)
1 byte 1byte 2byte 8byte 1byte 1byte 1byte 1byte ...

 

 

 

 

 

   

 

   SCA:短信中心号,如果设置00表示使用SIM卡中的默认短信中心号,还可以设置其他短信中心号这种情况不至1byte

   MR: 一般为00

   DA:发送的目标号

   DCS:数据编码方式,08ucs2用于汉字(汉子不是妹子),00是7bit编码英文编码,04是8bit编码用于图片

   VP:有效期一般FF

   UDL:指UD的字节数

   Pdu-Type:51有报头的短信,11普通短信   

 

   PDU-Type 类型说明

bit 发送 接收 说明
7 RP RP

0:不带恢复地址

1:带恢复地址

6 UDHI UDHI

0:UD只是短信内容

1:UD开头是用户报头

5 SRR SRI

0:不反馈报告

1:需要反馈

4,3 VPF VPF 设置VP格式一般为10表示相对格式VP占1byte
2 RD MMS

0:普通短信

1:长短信

1,0 MTI MYI 01:发送,00:接收

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   

UD中除了短信内容还有UDHeader

    UDHeader说明

1 UDHL 05:协议头长度
2 information element identifier 00:用一个字节进行编号的长短信
3 length of sub-header 03:信息单元头长
4 reference number 参考号  区别不同短信的唯一标示
5 number of short msg  拆分后总条数
6  sequence number of ther current   拆分后第几条

 

相关标签: sms rxtx pdu