博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MMS调试-PDU分析
阅读量:4968 次
发布时间:2019-06-12

本文共 3154 字,大约阅读时间需要 10 分钟。

彩信的接收,总是先收到一个以短信形式下发的push消息,然后去下载的。下面来看看push消息里面都含有哪些内容。相关协议OMA-MMS-ENC-V1_2-20050301-A.pdf

 

本文主要介绍notification部分。

首先通过modem上报的是一个二进制内容转换过来的字符串,比如本文接收的push消息是8c829861714e344930347047394130008d9089178031383235343230353737362f545950453d504c4d4e008a808e04000050008805810303f48083687474703a2f2f3132302e3139322e3133372e3133353a3138332f635a4e35483100

 

下面打开协议Multimedia Message Notification,开表3

Field                                Name  Field Value                                                      Description  

X-Mms-Message-Type       Message-type-value = m-notification-ind  Mandatory. Specifies the PDU type.  
X-Mms-Transaction-ID     Transaction-id-value  Mandatory. This transaction ID identifies the M-Notification.ind and the corresponding M-NotifyResp.ind  
X-Mms-MMS-Version  MMS-version-value  Mandatory. The MMS version number. According to this specification, the version is 1.2  
From  From-value  Optional. Address of the last MMS Client that handled the MM, i.e. that sent or forwarded the MM. If hiding the address of the sender from the recipient is requested by the originating MMS Client and supported and accepted by the MMS Proxy-Relay, the MMS Proxy-Relay MUST NOT add this field to the M-Notification.ind PDU. The insert-address-token MUST NOT be used as the value of the field.  

第一个字段是8C,这个是字段标识,请参考Header Field Names and Assigned Numbers中的定义。

Name  Assigned Number 
Bcc  0x01 
Cc  0x02 
X-Mms-Content-Location  0x03 
Content-Type  0x04 
Date  0x05 
X-Mms-Delivery-Report  0x06 
X-Mms-Delivery-Time  0x07 
X-Mms-Expiry  0x08 
From  0x09 
X-Mms-Message-Class  0x0A 
Message-ID  0x0B 
X-Mms-Message-Type  0x0C 
X-Mms-MMS-Version  0x0D 
X-Mms-Message-Size  0x0E 
X-Mms-Priority  0x0F 
X-Mms-Read-Report  0x10 
X-Mms-Report-Allowed  0x11 
X-Mms-Response-Status  0x12 
X-Mms-Response-Text  0x13 
X-Mms-Sender-Visibility  0x14 
X-Mms-Status  0x15 
Subject  0x16 
To  0x17 
X-Mms-Transaction-Id  0x18 
X-Mms-Retrieve-Status  0x19 
X-Mms-Retrieve-Text  0x1A 
X-Mms-Read-Status  0x1B 
X-Mms-Reply-Charging  0x1C 
X-Mms-Reply-Charging-Deadline  0x1D 
X-Mms-Reply-Charging-ID  0x1E 
X-Mms-Reply-Charging-Size  0x1F 
X-Mms-Previously-Sent-By  0x20 
X-Mms-Previously-Sent-Date  0x21 
X-Mms-Store  0x22 
X-Mms-MM-State  0x23 
X-Mms-MM-Flags  0x24 
X-Mms-Store-Status  0x25 
X-Mms-Store-Status-Text  0x26 
X-Mms-Stored  0x27 
X-Mms-Attributes  0x28 
X-Mms-Totals  0x29 
X-Mms-Mbox-Totals  0x2A 
X-Mms-Quotas  0x2B 
X-Mms-Mbox-Quotas  0x2C 
X-Mms-Message-Count  0x2D 
Content  0x2E 
X-Mms-Start  0x2F 
Additional-headers  0x30 
X-Mms-Distribution-Indicator  0x31 
X-Mms-Element-Descriptor  0x32 
X-Mms-Limit  0x33 

从上可以看出这个字段是X-Mms-Message-Type ,然后我们在看看value表示什么含义,请看7.2.23. X-Mms-Message-Type field。

m-send-req = <Octet 128>

m-send-conf = <Octet 129>
m-notification-ind = <Octet 130>

从上可以看出是个notification。

 

继续往下分析

9861714e34493034704739413000 // 98表示X-Mms-Transaction-ID ,这是个Text-string。值是aqN4I04pG9A0

8d90 //X-Mms-MMS-Version 类型Short-integer value是90,解析方法是高四位中的最后三位表示主版本号,第四位为次版本号,所以版本号为1.0

89 17 80 3138323534323035373736 //89表示From, value是18254205776

2f545950453d504c4d4e00 // /TYPE=PLMN 表示收件人类型是device-address

8a80 //class

8e 04 00005000 //信息大小:size 20k,有时候下载前和下载后大小不一样,就是这个值不对。
88 05 81 03 03f480 //有效期:259200
83 687474703a2f2f3132302e3139322e3133372e3133353a3138332f635a4e35483100 //X-Mms-Content-Location

转载于:https://www.cnblogs.com/hisense/p/3643134.html

你可能感兴趣的文章
C博客作业01--分支、顺序结构
查看>>
递归求任意数字之间的和
查看>>
FCC 16个初级算法解
查看>>
盒子的水平垂直居中几种方法
查看>>
团队项目简易聊天室开发NABCD分析
查看>>
[USACO4.1]麦香牛块Beef McNuggets 题解报告
查看>>
frame.origin.x 的意思和作用?
查看>>
提示系统启动关于误更改/var下诺干的权限问题,导致系统启动提示The System is running in low-graphics mode问题解决 By ACReaper...
查看>>
添加设置Android编程心得-为TextView添加各种样式
查看>>
[Oracle] Data Pump 详细使用教程(1)- 总览
查看>>
Install windows server 2008 on ESXi 5.1, add to domain and config for remote desktop
查看>>
nullnullupdate linux user or root password
查看>>
安装文件Win7 配置 Nutch 1.2
查看>>
绑定域名到JavaWeb项目,由域名直接访问到网站首页
查看>>
移动端重构实战系列3——各种等分
查看>>
产品应该努力提高用户使用的方便性
查看>>
React 附件动画API ReactCSSTransitionGroup
查看>>
Graph cut使用方法
查看>>
C#中静态与非静态方法比较(转)
查看>>
排序算法(四)选择排序
查看>>