MMS Notification 简介

从OMA MMS封装协议中对MMS Notification的定义可以知道,MMS Notification实际上是通过WAP PUSH来实现的。WAP PUSH是可以通过两种方法来实现的,一种是通过GPRS的方式,另一种就是通过SMS的方式。但前一种方式由于开发时间长,调测复杂等原因在中国并没有被推广,而被中国移动所采纳的是第二种方式。同样在我们实验室里面的MMSC也是采用的第二种方式。

下面是MMS Notification的传输流程

1.当MMS被发送出去后,彩信中心会向接收方发送M-Notification.ind消息,M-Notification.ind消息实际上是一个二进制编码,并且在发送时直接被封装在一个包的实体中。内容实体的头部信息指明终端处理该消息所对应的应用程序(由于手机终端可以接收到各种PUSH消息,每一类的PUSH消息对应有相应的应用程序来处理,每个应用程序都对应有一个标识,即X-Wap-Application-Id,PUSH消息应指明处理自己的应用程序的标识),MMS业务对应的应用程序标识(application/vnd.wap.mms-message)。

 

信息元素名称

存在性说明

说明

X-Mms-Message-Type

必选

说明消息的类型,本例为M-Notification.ind

X-Mms-Transaction-ID

必选

交易标识,用以识别一对M-Notification.ind及后续的M-NotifyResp.ind消息

X-Mms-MMS-Version

必选

MMS版本号,目前为1.0

From

可选

发送方地址。如果支持隐藏发送方地址,多媒体消息中心将不会将此域加入消息头部

Subject

可选

消息标题

X-Mms-Message-Class

可选

消息类别

X-Mms-Message-Size

必选

以字节表示的消息大小;该域的值是一个近似的估算值,所以不应该作为拒绝多媒体消息的原因

X-Mms-Expiry

必选

消息的有效期,该域只有一个格式,即相对时间格式

X-Mms-Content-Location

必选

终端取消息时应使用的URI地址

 

2. Notification在MMSC中被压缩为二进制代码,由于MMSC与SMSC之间没有相对应的接口协议,所以Notification如果想到达SMSC的话中间是通过WAP PPG来实现。

3. 然后通过支持“推送”业务的SMPPV3.4协议与WAP PPG网关相连,同时还通过7号信令与移动通信网相连,以实现向移动终端用户发送由多媒体信息中心“推送”的多媒体信息的通知提示。当然,它也可以实现多媒体信息用户与非多媒体信息用户之间的信息传送。

4.在Notification到达接收手机时,接收手机首先将对Notification进行判断和解析,就像一个WAP PUSH一样,会判断是否手机支持WAP功能一样。如果手机无法解析Notification,那么手机也是接不到MMS的。

综上所述,我们可以把MMS Notification理解成一个特殊SMS,虽然它的压缩方式与传输方法与SMS有着区别,但是最终都是通过SMPP协议将其发出。对于我们的实验室环境NowSMS来说,MMS Notification是在Gateway时产生的log文件,即SMSOUT.log。然后由于Notification和SMS的单条大小的问题,一般情况下,Notification是被分成2个或更多的SMS,其相关的信息如端口号,URI地址均被encode在短信的UDH(user data header)里,然后通过SMS将其发出。所以我个人认为当我们查询SMSOUT.log判断是否Notification已经发出时,由于在随后传送中还有一系列的Process,都有丢失的可能性,log文件进只能作为一个参考,并不完全像我们所想象的那样,有了log,Notification就一定被发出。

MMS notification实例分析:

0891683108200105F 06409A109200209F20004709070714062238B0605040B8423F0C506246170706C69636174696F6E2F766E642E7761702E6D6D732D6D65737361676500B487AF848C8298485247314A545365592B5343008D9083687474703A2F2F3231312E3133362E3131322E38342F485247314A545365592B534300880481020DFB891A802B383631353830303438333434372F545950453D504C4D4E008A808E01DB

这是一条短信息。所有的8位都是16进制编码,除了服务中心号码,发送号码和时间戳(它们都是十进制的半8位编码)

0891683108200105F0

 

Octet(s)

Description

08

Length of the SMSC,是指跟在后面的短消息服务中心地址占用的字节数

91

SMSC Num Format (international format),是TON/NPI1。TON/NPI遵守International/E.164标准,指在号码前需加'+'号;此外还可有其他数值(如A1),但91 最常用到

683108200105F0

SMSC Num  (+8613800210500)

6409A109200209F20004709070714062238B 

Octet(s)

Description

64

First octet of SMS-DELIVER message

09

Length Of the Sender Num,发送方地址的长度。以半字节为单位,且不包括其后的地址格式

A1

Sender Num Format  (National format)

09200209F2

Sender number  (900220902)

00

TP-PID

04

TP-DCS ( 8 bit data)

70907071406223

Time Stamp: Fri Sep 7 17:04:26 CST 2007

8B

TP-UDL

 

下面是TP-UD部分:

0605040B8423F0

 

Octet(s)

Description

06

UDHL (user data header length)

05

Information Element identifier: Application port addressing 16 bit.

04

Information element length

0B84

Destination port

23F0

Originating port

 

C506246170706C69636174696F6E2F766E642E7761702E6D6D732D6D65737361676500B487AF84 

 

Octet(s)

Description

C5

Transaction ID

06

PDU Type: Push

24

Length of Content type + Header(36)

6170706C69636174696F6E2F766
E642E7761702E6D6D732D6D65737361676500

Content type: (8 bit encoding of)
application/vnd.wap.mms-message

B4 87

Push Flag: 87

AF84

X-Wap-Application-Id: 84

 

8C8298485247314A545365592B5343008D9083687474703A 2F2F3231312E3133362E3131322E38342F485247314A545365592B534300880481020DFB891A802B383631353830303438333434372F545950453D504C4D4E008A808E01DB

 

Octet(s)

Description

8C 82

X-Mms-Message-Type: m-notification-ind

8D 90

MMS-Version: 1.0

83687474703A2F2F3231312E3133362E3131322E38342F485247314A545365592B534300

Content-Location:http://211.136.112.84/HRG1JTSeY+SC

88 04  81 020DFB

Expiry + Length + Relative-token + Delta-secs

89 1A  80 2B38363135383030343833

From + Length + Address-Present-token: +8615800483447/TYPE=PLMN

8A 80

Msg-Class: Personal (此处有误,待查)

8E01DB

Msg-Size: 475

你可能感兴趣的:(notification)