短信发送pdu格式

来源:互联网 发布:猪八戒的网络推广 编辑:程序博客网 时间:2024/05/25 16:38
短信发送有两种格式:PDU格式、文本(text)格式

PDU模式收发短信可以使用3种编码:7-bit、8-bit和UCS2编码。
一般的PDU编码由A B C D E F G H I J K L M十三项组成。
A:短信息中心地址长度,2位十六进制数(1字节)。
B:短信息中心号码类型,2位十六进制数。
C:短信息中心号码,B+C的长度将由A中的数据决定。
D:文件头字节,2位十六进制数。
E:信息类型,2位十六进制数。
F:被叫号码长度,2位十六进制数。
G:被叫号码类型,2位十六进制数,取值同B。
H:被叫号码,长度由F中的数据决定。
I:协议标识,2位十六进制数。
J:数据编码方案,2位十六进制数。
K:有效期,2位十六进制数。
L:用户数据长度,2位十六进制数。
M:用户数据,其长度由L中的数据决定。J中设定采用UCS2编码,这里是中英文的Unicode字符。

栗子:
08 91 68 31 08 20 05 05 F0 11 00 0D 91 68 31 96 03 29 30 F0 00 00 00 06 C8 32 9B FD 0E 01  
对照规范,具体分析:
分段 含义 说明
08 SMSC地址信息的长度 共8个八位字节(包括91)
91 SMSC地址格式(TON/NPI) 用国际格式号码(在前面加‘+’)
68 31 08 20 05 05 F0 SMSC地址 8613800250500,补‘F’凑成偶数个
11 基本参数(TP-MTI/VFP) 发送,TP-VP用相对格式
00 消息基准值(TP-MR) 0
0D 目标地址数字个数 共13个十进制数(不包括91和‘F’)
91 目标地址格式(TON/NPI) 用国际格式号码(在前面加‘+’)
68 31 96 03 29 30 F0 目标地址(TP-DA) 8613693092030,补‘F’凑成偶数个
00 协议标识(TP-PID) 是普通GSM类型,点到点方式
00 用户信息编码方式(TP-DCS) 7-bit编码
00 有效期(TP-VP) 5分钟
06 用户信息长度(TP-UDL) 实际长度6个字节
C8 32 9B FD 0E 01 用户信息(TP-UD) “Hello!”
SMSC号码是+8613800250500,对方号码是13693092030,消息内容是“Hello!”
PUD中的数据都是经过把base64位编码过的,对照表如下:

    // Populating the character arrays
    static {
        for (int i = 0; i < BASELENGTH; i++) {
            base64Alphabet[i] = (byte) -1;
        }
        for (int i = 'Z'; i >= 'A'; i--) {
            base64Alphabet[i] = (byte) (i - 'A');
        }
        for (int i = 'z'; i >= 'a'; i--) {
            base64Alphabet[i] = (byte) (i - 'a' + 26);
        }
        for (int i = '9'; i >= '0'; i--) {
            base64Alphabet[i] = (byte) (i - '0' + 52);
        }

        base64Alphabet['+'] = 62;
        base64Alphabet['/'] = 63;
    }
有一个外国网站:http://www.smartposition.nl/resources/sms_pdu.html
AT 即Attention,modem,是一种设备,将数字信号转换为电路信号以及反转。
其中定义一些格式,用来之间进行交互,这些格式就是AT指令。

====================================================================
"mobile station" (MS)
"user equipment" (UE)
Gateway MSC For Short Message Service (SMS GMSC):
Interworking MSC For Short Message Service (SMS IWMSC):
Loop Prevention (LP):
Mobile Management Entity (MME):
Short Message Entity (SME): entity which may send or receive Short Messages

专业名称缩写
SM MO    Short Message Mobile Originated
SM MT    Short Message Mobile Terminated
SM‑AL    Short Message Application Layer
SM‑LL    Short Message Lower Layers
SM‑RL    Short Message Relay Layer
SM‑RP    Short Message Relay Layer Protocol
SM‑RS    Short Message Relay Service
SM‑TL    Short Message Transfer Layer
SM‑TP    Short Message Transfer Layer Protocol
SM‑TS    Short Message Transfer Service
SSN    Sub‑System Number
TPDU    Transfer protocol data unit
短信字符数目
短信用户数据总字节数是140,这部分还包括字符长度6字节。
所以8位编码时,能够发送最大字符数140-6=134   
7位编码:140*8/7-7=153
统一字符集编码:67=(140-6)/2
短信服务中心接受的未压缩的字符数是:N*255,即在上面每个的基础上乘以255
短信拼接
字节1,是引用号(reference number)用来区分短信服务中心发送过来的不同长短信。
字节2,长短信最大子短信数目,范围0~255
字节3,当前短信的拼接序号。表示它是第几条子短信。
短信移动终端


    SME:Short Messaging Entity,短消息实体。它可以接收或改善短消息,位于固话系统、移动基站或其他服务中心内;

      SMSC:Short Message Service Center,短消息服务中心,负责在基站和SME间中继、储存或转发短消息;移动台(ME)到SMSC的协议能传输来自移动台或朝向移动台的短消息,协议名为SMTP(Short
 Message Transmission Protocol);

      SMCGWMS或SMCGMSC:SMS-Gateway MSC,SMS网关。接收由SMSC发送的短消息,向HLR查询路由信息,并将短消息传送给接收者所在基站的交换中心;

      HLR:Home Location Register,归属位置寄存器。用于永久储存管理用户和服务记录的数据库,由SMSC产生。SMS网关与HLR之间的协议使前者可以要求HLR搜索可找到的用户地址。
它与MSC与HLR之间的协议一起,能在移动台因超出覆盖区而丢失报文、随后又可找到时加以提示。

      MSC:Mobile Switching Center,移动交换中心。负责系统切换管理并控制来自或发向其他电话或数据系统的拔叫。

      VLR:Visitor Location Register:,访问位置寄存器。含有用户临时信息的数据库。交换中心服务访问用户时需要这些信息。s
Mobile-services Switching Centre (MSC): exchange which performs switching functions for mobile stations located in a geographical area designated as the MSC area

Service Centre (SC): function responsible for the relaying and store and forwarding of a short message between an SME and an MS
PLMN(Public Land Mobile Network,公共陆地移动网络),由政府或它所批准的经营者,为公众提供陆地移动通信业务目的而建立和经营的网络。

SGSN(Serving GPRS Support Node)服务GPRS支持节点
原创粉丝点击