久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    請問 彩信push消息是一個怎么樣的信令流程呢

     紅黑單 2012-03-15


      本文記錄了彩信的發送流程的一些細節及其所需要使用到的參考規范。

    (1) 彩信的發送流程

    1)首先,當彩信中心需要向手機發送彩信時,會將彩信內容保存到自己的存儲器中,并且準備一個URI,通過這個URI,手機能夠讀取到存儲器中的彩信的內容;

    2)彩信中心會向手機發起一個m-notification-ind指示消息;

    3)手機收到這個指示消息后,便會向根據m-notification-ind指示消息中的URI(在Content-Location參數中指示),向彩信發服務器發起一個HTTP GET(或WSP GET,從跟蹤到的消息來看,就是HTTP GET的格式)請求,來獲取彩信的內容;

    4)彩信服務器會應答HTTP/WSP GET請求,返回內容,內容的格式是:application/vnd.wap.mms-message,X-Mms-Message-Type頭域的值是m-retrieve-conf,以通知手機,這是彩信的內容。

    (2) 消息的封裝與規范

    涉及到的規范可能有:

    ·   3GPP TS 23.140 Multimedia Messaging Service (MMS)
      --這個規范定義了收發彩信的流程,但對具體的消息格式則沒有定義;

    ·   3GPP TS 23.040 Technical realization of the Short Message Service (SMS)
      --這個規范定義了短消息協議的詳細的編碼格式。

    ·   WAP Wireless Session Protocol Specification
    WAP-230-WSP-20010705-a, Approved Version 5 July 2001)

    ·   WAP Wireless Datagram Protocol
    WAP-259-WDP-20010614-a, Version 14-Jun-2001)
       
    (--這個文檔還介紹了WDP協議是如何封裝在各消息中傳輸的,包括:GSM SMS, CDMA SMS,ANSI-136等)

    ·   WAP MMS Encapsulation Protocol
    WAP-209-MMSEncapsulation-20020105-a, Version 05-Jan-2002)

    各協議間的關系是: 

    ·   WDP是WAP的數據報協議(就是TCP/IP中的UDP協議)--通過GSM SMS只能承載WDP消息;

    ·   WTP是WAP的事務傳服協議(是有連接的,類似于TCP/IP中的TCP協議)(WTP協議在彩信收發的過程中沒有使用,所以這個筆記就沒有記錄了);

    ·   WSP是WAP的應用基礎,定義了WAP的一些基本操作,這些操作是建立在WDP和WTP之上的。如:WSP的S-Unit-Push消息映射到WDP中,其實就是一條單向的WDP消息--T-DUnitdata.req。
    當這條WDP承載于GSM短信中,就是一條GSM短信;

    ·   WAP MMS Encapsulation Protocol則定義了,MMS如何通過WAP消息來進行收發。如,之前提到的m-notification-ind就是WAP MMS Encapsulation規范中定義的消息類型。


    信令流程各階段的相關規范的詳細描述:

    a) 彩信中心向手機發起的通知指示消息(m-notification-ind),通常是通過短信下發的(也即:WAP over SMS方式)。也就是說,下發的短信,不是普通的文字短信,而是一個WAP消息,具體的說是一條S-Unit-Push消息(在WSP規范中定義)。

    b)這條m-notification-ind短信是一條怎樣的短信呢?

    ·   首先,短信類型是SMS_Deliver;

    ·   TP-UDHI為1,即:數據區前面有一個Header;

    ·   TP-DCS應該為0x04,即8-bit編碼,這樣數據區就是140個字節,通常Header是6個字節,所以可用的數據區是134個字節。這134個字節就可以保存WDP的內容。

    ·   因為TP-UDHI為1,所以數據區(TP-UD)的前段有一個Header,所以TP-UDL字段指示的長度是Header + TP-UD長度之和。而Header的格式在3GPP TS 23.040規范中有描述,即:
    由Header的長度,外加若干個
    IEI(信息標識)+IEIDL(信息內容的長度)+ IED(信息數據內容)組成。

    ·   對于WDP消息,必須包含IEI=0x05的信息。根據3GPP TS 23.040,IEI為0x05是指Application port addressing scheme, 16 bit address,即:信息要指示兩個端口號--源端口號和目標端口號。
    源端口和目標端口號將告訴手機,這條短消息應該發給哪個協議棧來處理。

    ·   對于m-notification-ind消息,源端口號必須為:9200(0x23F0) -- WAP connectionless session service, 目標端口號則必須是:2948 (0x0B84) -- WAP PUSH。這樣的端口信息向手機指示了:這是一條WAP無連接會話消息(即基于WDP的WSP消息),發給手機的WAP PUSH應用協議棧來處理。
    對于端口號的定義,可以參考iana的端口號分配表:http://www./assignments/port-numbers

    ·   如果一段數據區保存不了所有的WDP消息,則需要兩條(或更多)短信的數據區來存儲,這時就需要使用長短信分塊技術,這就需要用到IEI=0x00的信息數據了。但是這是普通的WAP PUSH才可能用到,彩信的notification一般不會有這么長的內容。 

    ·   好了,下面說說短信數據區(TP-UD)的內容。因為根據Header的端口指示,手機已經知道這是基于WDP的WSP消息了,所以數據區就直接按WSP的規范來解碼(WDP層的參數只有源地址和目標地址,而這在短信協議的Header區已經指示了,所以沒有需要編碼的字段了,所以數據區的一開始就是WSP的內容)。

    ·   根據WSP規范,WSP的內容每一個字節是TID。這是一個ID,在不同的消息中有不同的作用,在Push消息中,這表示Push-ID,標識一次Push請求);當然,某些消息可能沒有這個ID;
    第二個字節為PDU Type,用于告訴WSP協議棧,這個WSP消息是什么消息。在彩信通知消息,這個值應該是:
    0x06
    -- Push。也就是說,這個就告訴WSP協議棧,這是S-Unit-Push消息了(因為這是在WDP中封裝的,相當于是WDP層通過T-DUnitdata.ind發給WSP層的,所以WSP層知道,這是Unit消息);
    第三個字節是S-Unit-Push頭域的長度,后面就是S-Unit-Push消息的頭域的內容了,使用二進制或ASCII的方式保存了一些頭域的值,需要使用到的頭域包括:

    1) Content-Type -- 此值必須填application/vnd.wap.mms-message(代碼:0x3e,在http://www./wina/wsp-content-type.htm中有定義,而在WAP MMS Encapsulation Protocol中也指示這個值必須填Application/vnd.wap.mms-message)。當Content-Type填這個值時,這就表示S-Unit-Push的內容是彩信消息

    2) X-Wap-Application-Id -- 此值必須填編碼0x04(實際填的值是0x84,具體要參考WSP的變長數據值保存格式),表示
    mms.ua0x04表示mms.ua,這個值在http://www./wina/push-app-id.htmhttp://www./Tech/omna/omna-push-app-id.aspx中都有定義,而在WAP MMS Encapsulation Protocol中也指示,Application-Id必須填。)

    3) Push-Flag -- 這個頭域是可選的,不是必須填的,如果要填應該填(0x07,實際寫入0x87)。
    Push-Flag的值的定義在另一個規范(
    WAP Push OTA Protocol)中有相關的描述:
    6.4.1.3. Push Flag
    Push-Flag = "Push-Flag" ":" 1*7BIT
    ; bit mask flags to indicate the following:
    ; 1: initiator URI is authenticated.
    ; 10: content is trusted.
    ; 100: last push message.
    ; other: reserved for future use.


    ·   S-Unit-Push頭域的后面就是S-Unit-Push的內容了。而內容的格式(類型)是根據Content-Type來確定的。而前面已經說了,Content-Type的值是application/vnd.wap.mms-message,所以WSP的應用層知道這是彩信(MMS)消息,于是就根據規范WAP MMS Encapsulation Protocol的要求來進行解碼。

    ·   application/vnd.wap.mms-message數據的格式是:
    頭域 + 內容。(某些操作可能沒有
    內容,那就只有頭域了。至于有頭域和內容的消息,頭域何時結束、內容從哪里開媽, 目前還沒有詳細的去研究!)

    ·   對于彩信通知消息,頭域需要包含這些內容,詳見規范WAP MMS Encapsulation Protocol中的6.2. Multimedia Message Notification節)。下面說說這些頭域中,最重要的幾個:
    1) X-Mms-Message-Type: 其值必須是
    m-notification-ind0x82);
      -- 這表示這是彩信通知消息,手機收到此消息表示彩信中心有該手機的彩信,手機應該去獲取此彩信
    2) X-MMS-Content-Location:其值是一個URI地址,告訴手機應該到哪里去獲取彩信的內容;

    ·   彩信的m-notification-ind消息只有頭域沒有內容。

    ·   當手機收到m-notification-ind消息后,就可以通過HTTP GET向URI所指示的彩信中心服務器,請求獲取彩信內容。

    ·   而彩信中心服務器在返回HTTP GET的請求時,Content-Type也應該是application/vnd.wap.mms-message,并且內容中Message Type的值應該填m-retrieve-conf0x84)。

    (3)
    相關信息

    普通WAP Push的content type:

    0x2e -- application/vnd.wap.sic


    彩信通知的content type:

    0x3e -- application/vnd.wap.mms-message

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 又爽又黄又无遮掩的免费视频| 亚洲国产一区二区三区亚瑟| 最新中文乱码字字幕在线| 日日橹狠狠爱欧美视频| 亚洲精品国产精品国自产观看| 久久SE精品一区精品二区| 日韩av片无码一区二区不卡| 无码人妻斩一区二区三区 | 中文字幕精品亚洲二区| 国产成人精品午夜福利| 丁香五月亚洲综合在线国内自拍| 噜噜综合亚洲av中文无码| 2021AV在线无码最新| 亚洲AV无码成人精品区蜜桃| 国产高清在线男人的天堂| 国产男女性潮高清免费网站 | 亚洲人妻精品中文字幕| 无码人妻一区二区三区免费N鬼沢 午夜三级A三级三点在线观看 | 人妻系列无码专区免费| 色偷偷888欧美精品久久久| 亚洲精品综合网二三区| 护士张开腿被奷日出白浆| 免费无码无遮挡裸体视频在线观看| 国产精品VA尤物在线观看| 在线观看AV永久免费| 奇米影视7777狠狠狠狠色 | 55大东北熟女啪啪嗷嗷叫| 天堂V亚洲国产V第一次| 十八禁午夜福利免费网站| 无翼乌工口肉肉无遮挡无码18| 无码免费大香伊蕉在人线国产 | 国产亚洲欧美另类一区二区| 色偷偷www.8888在线观看| 亚洲国产精品一区二区第一页| 亚洲日韩欧洲无码AV夜夜摸 | 久久综合亚洲鲁鲁九月天| 国产精品中文字幕av| 一本久道久久综合狠狠爱| 欧美大屁股流白浆XXXX| 人妻丝袜AV中文系列先锋影音| 无码AV岛国片在线播放|