MMS协议解析
如有侵权请联系网站删除,仅供学习交流
仅供学习交流
MMS协议解析
MMS(MultimediaMessagingService)就是我们俗称的彩信,它能提供比
SMS(短信)更加丰富的信息,能提供包括图片、视频、声音、各种格式的文
字等内容。
目前的应用主要有以下几个方面:
▪便利性实用性娱乐性互动性个人化
▪端到端通信
自拍照片自编贺卡/图片
带有图片照片和语音片断等表达感情内容的增强型聊天
电子邮件附件在移动终端上的增强型应用
▪娱乐
手机铃声/屏保下载
节日贺卡明星贺卡
多媒体交友利用手机察看自己心仪的对象并通过信息向她表达心意
原创基地:利用多媒体短信传播自己的原创动漫和音乐
▪新闻/金融服务
体育比赛集锦和得分镜头视频剪辑
通过移动终端获取多媒体新闻和金融信息分析等
▪其他
定位业务
移动广告
一、数据流程
如有侵权请联系网站删除,仅供学习交流
仅供学习交流
MMS系统大致网络拓扑图如下:
先介绍一下网络中的节点设备:
MMSClient:MMS客户端,就是平常用的手机等移动设备;
MMSProxyRelay:MMS代理中继,用于转发MMS;
MMSServer:MMS服务器,用于存储MMS,一般与MMS代理集成在一
台设备上;
LegacyWirelessMessagingSystems:传统的无线消息系统,比如SMS系
统;
EmailServer:邮件服务器,Ineternet上的邮件服务器,比如139邮件服务
器;
OtherMMSSystems:其他地方或其他运营商的MMS系统;
如有侵权请联系网站删除,仅供学习交流
仅供学习交流
MMS承载于WAP之上,在WAP1.x系统里采用WSP协议,在WAP2.0系
统里采用HTTP协议,如下图所示:
详细网络图如下:
如有侵权请联系网站删除,仅供学习交流
仅供学习交流
MMS的发送接收实体包括如下几种方式:
1、终端<——>同一系统内终端
2、终端<——>不同系统内终端
3、终端<——>Emailrver
4、终端<——>SP
我们以第一种情况进行MMS收发流程说明,大致有以下几步:
1、发送终端发送MMS到MMS代理;
2、MMS代理发送通知到接收终端;
3、接收终端发送提取MMS命令到MMS代理;
4、MMS代理返回MMS到接收终端;
5、MMS代理发送回执给发送终端,表示对方已收到MMS;
SGSN
GGSN
MSC
ISMG
SMSG
WAPGW
MMS终端1
MMS终端2
SP
E-mailServer
MMSC
MMSC
BS
BS
核心网
IP网
Internet
如有侵权请联系网站删除,仅供学习交流
仅供学习交流
其中第2步的通知是通过WAPPUSH实现的,目前中国移动实现的方式是
通过SMS(短信)通知对方。
二、消息解析
前面提到MMS可以通过wsp和http两种方式传输,无论哪种方式,其
Content-Type都必须为application/-message(0x3E)。
MMS可以分为4类:发送、通知、提取、回执。每一类消息都包含消息
头,有的还包含正文。如下:
如有侵权请联系网站删除,仅供学习交流
仅供学习交流
1.1发送
发送是指发送者发送MMS到MMS中心,包括两条消息:MMS发送请
求、MMS发送确认。
1.1.1MMS发送请求
MMS发送请求消息由发送者到MMS中心,包含消息头和正文,正文紧跟
消息头。消息头包含内容如下:
NameContentComments
X-Mms-Message-TypeMessage-type-value=
m-nd-req
Mandatory.
Specifiesthetransactiontype.
X-Mms-Transaction-IDTransaction-id-valueMandatory.
ansactionID
thecorrespondingreply
only.
X-Mms-MMS-VersionMMS-version-valueMandatory.
ingtothis
specification,theversionis1.0
DateDate-valueOptional.
Proxy-Relaywillgeneratethisfieldwhennotsuppliedby
terminal.
FromFrom-valueMandatory.
eldMUSTbe
ndingclientMUSTndeitheritsaddressorinrt-an-
oftoken,theMMSProxy-Relay
MUSTinrtthecorrectaddressofthender.
ToTo-valueOptional1.
Addressoftherecipient.
CcCc-value
Optional1.
BccBcc-value
Optional1.
SubjectSubject-value
Optional.
如有侵权请联系网站删除,仅供学习交流
仅供学习交流
X-Mms-Message-ClassMessage-class-value
Optional.
X-Mms-ExpiryExpiry-value
Optional,default:maximum.
X-Mms-Delivery-TimeDelivery-time-value
Optional:default:immediate.
X-Mms-PriorityPriority-value
t:Normal.
X-Mms-Sender-
Visibility
Sender-visibility-value
t:showaddress/phonenumberofthe
ndertotherecipientunlessthenderhasacret
number/address.
Hide=don'=showevencret
address.
X-Mms-Delivery-
Report
Delivery-report-value
tdeterminedwhenrviceisordered.
Specifieswhethertheurwantsadeliveryreportfrom
ssage-ClassisAuto,thefield
SHALLalwaysbeprentandthevalueSHALLbeNo.
X-Mms-Read-ReplyRead-reply-value
Optional.
Specifieswhethertheurwantsareadreportfromeach
ssage-ClassisAuto,
thefieldSHALLalwaysbeprentandthevalueSHALL
beNo.
Content-TypeContent-type-value
Mandatory.
Thecontenttypeofthemessage.
以上字段除了开头的Message-Type、Transaction-ID、MMS-Version和末尾
的Content-Type之外,其他字段没有顺序要求,以下消息也是一样。
1.1.2MMS发送确认
MMS发送确认由MMS中心到发送者,只包含消息头,没有正文。消息头
格式如下:
NameContentComments
X-Mms-Message-TypeMessage-type-value=m-
nd-conf
Mandatory.
Identifiesthemessagetype.
如有侵权请联系网站删除,仅供学习交流
仅供学习交流
X-Mms-Transaction-IDTransaction-id-valueMandatory.
dthe
correspondingrequestonly.
X-Mms-MMS-VersionMMS-version-valueMandatory.
ingtothis
specification,theversionis1.0
X-Mms-Respon-StatusRespon-status-valueMandatory.
MMSspecificstatus.
X-Mms-Respon-TextRespon-text-valueOptional.
Descriptionwhichqualifiestheresponstatusvalue.
Message-IDMessage-ID-valueOptional.
SHALLalwaysbeprentwhentheMMSProxy-
Relayacceptedthemessage.
TheIDenablesaclienttomatchdeliveryreportswith
previouslyntmessages.
1.2通知
通知是指MMS中心发送通知到接收者,包括两条消息:请求和响应。目
前是通过SMS进行通知,Gb接口上不存在该类数据包,所以在这里不做分
析。
1.3提取
提取是指MMS接收者从MMS中心提取MMS的过程,包括三个步骤:提
取请求、提取响应、响应确认。
1.3.1MMS提取请求
MMS提取请求消息是由接收者到MMS中心,没有真正的消息头和正文,
完全由WSP或HTTP的请求头实现,也就是WSP或HTTP一个普通的GET请
求,其uri是通知消息里指定的地址。
如有侵权请联系网站删除,仅供学习交流
仅供学习交流
1.3.2MMS提取响应
MMS提取响应消息是由MMS中心到接收者,包括消息头和正文,消息头
包含内容如下:
NameContentComments
X-Mms-Message-TypeMessage-type-value=
m-retrieve-conf
Mandatory.
Specifiesthemessagetype.
X-Mms-Transaction-IDTransaction-id-valueOptional.
Identifieitherthetransactionthathasbeenstartedby
M-NotificationwithoutM-NotifRespornewtransaction
transactionIDisoptional.
X-Mms-MMS-VersionMMS-version-valueMandatory.
ingtothis
specification,theversionis1.0.
Message-IDMessage-ID-valueOptional.
SHALLalwaysbeprentwhentheoriginatorclient
requestedareadreply.
TheIDenablesaclienttomatchreadreportswith
previouslyntmessages.
DateDate-valueMandatory.
Sendingdateandtime.
FromFrom-valueOptional.
ngtheaddressofthender
fromtherecipientissupported,theMMSProxy-Relaywill
notaddthisfieldtoamessageheader.
如有侵权请联系网站删除,仅供学习交流
仅供学习交流
ToTo-valueOptional.
Addressoftherecipient.
Anynumberofaddressfieldsallowed.
CcCc-valueOptional.
Addressoftherecipient.
Anynumberofaddressfieldsallowed.
SubjectSubject-valueOptional.
Messagesubject
X-Mms-Message-ClassMessage-class-valueOptional.
disnotprent,thereceiverinteprets
themessageaspersonal.
t:Normal
Priorityofthemessage.
X-Mms-Delivery-
Report
t:No.
Specifieswhethertheurwantsadeliveryreportfromeach
recipient.
t:No.
Specifieswhethertheurwantsareadreportfromeach
recipientasanewmessage.
Content-TypeContent-type-valueMandatory.
Thecontenttypeofthemessage.
1.3.3MMS提取响应确认
如有侵权请联系网站删除,仅供学习交流
仅供学习交流
MMS提取响应确认消息由接收者到MMS中心,包括消息头,不包含正
文,消息头包含内容如下:
NameContentComments
X-Mms-Message-TypeMessage-type-value=m-
acknowledge-ind
Mandatory.
Identifiesthetransactiontype.
X-Mms-Transaction-IDTransaction-id-valueMandatory.
Thisisthetransactionnumberthatoriginatesfrom
immediatelypreviousM-Retrieveoperation.
X-Mms-MMS-VersionMMS-version-valueMandatory.
ingtothis
specification,theversionis1.0
t:Yes.
Sendingofdeliveryreportallowedtotheur.
1.4回执
包括两种回执:提取回执和阅读回执,是可选的。
1.4.1MMS提取回执
当接收者从MMS中心取得MMS后,MMS中心会向发送者发送提取回
执。MMS提取回执消息只有消息头,没有正文。消息头格式如下:
NameContentComments
X-Mms-Message-TypeMessage-type-value=m-
delivery-ind
Mandatory.
IdentifiesthePDUtype.
X-Mms-MMS-VersionMMS-version-valueMandatory.
ingtothis
specification,theversionis1.0
如有侵权请联系网站删除,仅供学习交流
仅供学习交流
Message-IDMessage-ID-valueMandatory.
ndrequest,connects
deliveryreporttontmessageinMS.
ToTo-valueMandatory.
Neededforreportingincaofpoint-to-multipoint
message.
DateDate-valueMandatory.
Dateandtimethemessagewashandled(fetched,
expired,etc.)bytherecipientorMMSProxy-Relay.
X-Mms-StatusStatus-valueMandatory.
Thestatusofthemessage.
1.4.2MMS阅读回执
当接收者阅读完MMS后,MMS中心会向发送者发送提取回执。该回执是
在发送者发送MMS时要求有阅读回执时才会产生,该消息格式不清楚,我们
暂不做分析。
1.5字段说明
以上消息头每一个字段都是KV结构,前面是字段名称,后面是字段值。
字段名称是一个字节,对应编码如下:
NameAssigned
Number
Value
Bcc0x01
用户地址,是以0结尾的字符串
Cc0x02
用户地址,是以0结尾的字符串
Content-Location0x03
Uri地址,是以0结尾的字符串
Content-Type0x04
与WSP的Content-Type一样
Date0x05
4字节的长整形值,自1970-01-01,
00:00:00GMT到现在的秒数
Delivery-Report0x06
Yes:0x80,No:0x81
如有侵权请联系网站删除,仅供学习交流
仅供学习交流
Delivery-Time0x07
5字节,第一个字节代表时间类型,
后4个字节是时间值,时间类型:
绝对时间——0x80,相对时间——
0x81
Expiry0x08
5字节,第一个字节代表时间类型,
后4个字节是时间值,时间类型:
绝对时间——0x80,相对时间——
0x81
From0x09
第一个字节代表地址类型,后面字
符串代表地址,地址以0结尾,地
址类型:Address-prent-token——
0x80,Inrt-address–token——0x81
Message-Class0x0A
Personal——0x80
Advertiment——0x81
Informational——0x82
Auto——0x83
Message-ID0x0B
以0结尾的字符串
Message-Type0x0C
m-nd-req——0x80
m-nd-conf——0x81
m-notification-ind——0x82
m-notifyresp-ind——0x83
m-retrieve-conf——0x84
m-acknowledge-ind——0x85
m-delivery–ind——0x86
MMS-Version0x0D
2字节的短整形
Message-Size0x0E
4字节的长整形
Priority0x0F
Low——0x80
Normal——0x81
High——0x82
Read-Reply0x10
Yes:0x80,No:0x81
Report-Allowed0x11
Yes:0x80,No:0x81
Respon-Status0x12
Ok——0x80
Error-unspecified——0x81
Error-rvice-denied——0x82
Error-message-format-corrupt——
0x83
Error-nding-address-unresolved——
0x84
Error-message-not-found——0x85
Error-network-problem——0x86
Error-content-not-accepted——0x87
Respon-Text0x13
以0结尾的字符串
Sender-Visibility0x14
Hide:0x80,Show:0x81
如有侵权请联系网站删除,仅供学习交流
仅供学习交流
Status0x15
Expired——0x80
Retrieved——0x81
Rejected——0x82
Deferred——0x83
Unrecognid——0x84
Subject0x16
以0结尾的字符串
To0x17
用户地址,是以0结尾的字符串
Transaction-Id0x18
以0结尾的字符串
实际数据包中字段名的最高位都被置1了。
本文发布于:2022-11-23 10:21:52,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/5194.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |