從OMA MMS封裝協(xié)議中對(duì)MMS Notification的定義可以知道,,MMS Notification實(shí)際上是通過(guò)WAP PUSH來(lái)實(shí)現(xiàn)的。WAP PUSH是可以通過(guò)兩種方法來(lái)實(shí)現(xiàn)的,,一種是通過(guò)GPRS的方式,,另一種就是通過(guò)SMS的方式。但前一種方式由于開(kāi)發(fā)時(shí)間長(zhǎng),,調(diào)測(cè)復(fù)雜等原因在中國(guó)并沒(méi)有被推廣,,而被中國(guó)移動(dòng)所采納的是第二種方式。同樣在我們實(shí)驗(yàn)室里面的MMSC也是采用的第二種方式,。
下面是MMS Notification的傳輸流程
1.當(dāng)MMS被發(fā)送出去后,,彩信中心會(huì)向接收方發(fā)送M-Notification.ind消息,M-Notification.ind消息實(shí)際上是一個(gè)二進(jìn)制編碼,,并且在發(fā)送時(shí)直接被封裝在一個(gè)包的實(shí)體中,。內(nèi)容實(shí)體的頭部信息指明終端處理該消息所對(duì)應(yīng)的應(yīng)用程序(由于手機(jī)終端可以接收到各種PUSH消息,每一類的PUSH消息對(duì)應(yīng)有相應(yīng)的應(yīng)用程序來(lái)處理,,每個(gè)應(yīng)用程序都對(duì)應(yīng)有一個(gè)標(biāo)識(shí),,即X-Wap-Application-Id,PUSH消息應(yīng)指明處理自己的應(yīng)用程序的標(biāo)識(shí)),,MMS業(yè)務(wù)對(duì)應(yīng)的應(yīng)用程序標(biāo)識(shí)(application/vnd.wap.mms-message),。
信息元素名稱 |
存在性說(shuō)明 |
說(shuō)明 |
X-Mms-Message-Type |
必選 |
說(shuō)明消息的類型,本例為M-Notification.ind |
X-Mms-Transaction-ID |
必選 |
交易標(biāo)識(shí),,用以識(shí)別一對(duì)M-Notification.ind及后續(xù)的M-NotifyResp.ind消息 |
X-Mms-MMS-Version |
必選 |
MMS版本號(hào),,目前為1.0 |
From |
可選 |
發(fā)送方地址。如果支持隱藏發(fā)送方地址,多媒體消息中心將不會(huì)將此域加入消息頭部 |
Subject |
可選 |
消息標(biāo)題 |
X-Mms-Message-Class |
可選 |
消息類別 |
X-Mms-Message-Size |
必選 |
以字節(jié)表示的消息大??;該域的值是一個(gè)近似的估算值,所以不應(yīng)該作為拒絕多媒體消息的原因 |
X-Mms-Expiry |
必選 |
消息的有效期,,該域只有一個(gè)格式,,即相對(duì)時(shí)間格式 |
X-Mms-Content-Location |
必選 |
終端取消息時(shí)應(yīng)使用的URI地址 |
2. Notification在MMSC中被壓縮為二進(jìn)制代碼,由于MMSC與SMSC之間沒(méi)有相對(duì)應(yīng)的接口協(xié)議,,所以Notification如果想到達(dá)SMSC的話中間是通過(guò)WAP PPG來(lái)實(shí)現(xiàn),。
3. 然后通過(guò)支持“推送”業(yè)務(wù)的SMPPV3.4協(xié)議與WAP PPG網(wǎng)關(guān)相連,同時(shí)還通過(guò)7號(hào)信令與移動(dòng)通信網(wǎng)相連,,以實(shí)現(xiàn)向移動(dòng)終端用戶發(fā)送由多媒體信息中心“推送”的多媒體信息的通知提示,。當(dāng)然,它也可以實(shí)現(xiàn)多媒體信息用戶與非多媒體信息用戶之間的信息傳送,。
4.在Notification到達(dá)接收手機(jī)時(shí),,接收手機(jī)首先將對(duì)Notification進(jìn)行判斷和解析,就像一個(gè)WAP PUSH一樣,,會(huì)判斷是否手機(jī)支持WAP功能一樣,。如果手機(jī)無(wú)法解析Notification,那么手機(jī)也是接不到MMS的,。
綜上所述,,我們可以把MMS Notification理解成一個(gè)特殊SMS,雖然它的壓縮方式與傳輸方法與SMS有著區(qū)別,,但是最終都是通過(guò)SMPP協(xié)議將其發(fā)出,。對(duì)于我們的實(shí)驗(yàn)室環(huán)境NowSMS來(lái)說(shuō),MMS Notification是在Gateway時(shí)產(chǎn)生的log文件,,即SMSOUT.log,。然后由于Notification和SMS的單條大小的問(wèn)題,一般情況下,,Notification是被分成2個(gè)或更多的SMS,,其相關(guān)的信息如端口號(hào),URI地址均被encode在短信的UDH(user data header)里,,然后通過(guò)SMS將其發(fā)出,。所以我個(gè)人認(rèn)為當(dāng)我們查詢SMSOUT.log判斷是否Notification已經(jīng)發(fā)出時(shí),由于在隨后傳送中還有一系列的Process,,都有丟失的可能性,,log文件進(jìn)只能作為一個(gè)參考,并不完全像我們所想象的那樣,,有了log,,Notification就一定被發(fā)出,。
MMS notification實(shí)例分析:
0891683108200105F 06409A109200209F20004709070714062238B0605040B8423F0C506246170706C69636174696F6E2F766E642E7761702E6D6D732D6D65737361676500B487AF848C8298485247314A545365592B5343008D9083687474703A2F2F3231312E3133362E3131322E38342F485247314A545365592B534300880481020DFB891A802B383631353830303438333434372F545950453D504C4D4E008A808E01DB
這是一條短信息。所有的8位都是16進(jìn)制編碼,,除了服務(wù)中心號(hào)碼,,發(fā)送號(hào)碼和時(shí)間戳(它們都是十進(jìn)制的半8位編碼)
0891683108200105F0
Octet(s) |
Description |
08 |
Length of the SMSC,是指跟在后面的短消息服務(wù)中心地址占用的字節(jié)數(shù) |
91 |
SMSC Num Format (international format),,是TON/NPI1,。TON/NPI遵守International/E.164標(biāo)準(zhǔn),指在號(hào)碼前需加'+'號(hào),;此外還可有其他數(shù)值(如A1),,但91 最常用到 |
683108200105F0 |
SMSC Num (+8613800210500) |
6409A109200209F20004709070714062238B
Octet(s) |
Description |
64 |
First octet of SMS-DELIVER message |
09 |
Length Of the Sender Num,發(fā)送方地址的長(zhǎng)度,。以半字節(jié)為單位,且不包括其后的地址格式 |
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 |
|