基于短信網關WAP推送的實現

    時間:2024-09-05 03:54:46 通信工程畢業論文 我要投稿
    • 相關推薦

    基于短信網關WAP推送的實現

    摘要  WAP PUSH既有信息發送主動、及時的特點,又有可隨時隨地接收信息的優勢,因而具有良好的應用前景。該文簡單介紹了WAP PUSH系統框架、推送協議和推送方式,重點介紹了通過短信網關實現WAP推送的實現方法
     
    關鍵詞 無線應用協議,WAP推送,短信網關,PDU 模式
     
    1  WAP推送技術簡介
    1.1  什么是WAP推送
      WAP推送(PUSH)技術是一種建立在客戶服務器上的機制,就是由服務器主動將信息發往客戶端的技術。同傳統的拉(PULL)技術相比,最主要的區別在于推送(PUSH)技術是由服務器主動向客戶機發送信息,而拉(PULL)技術則是由客戶機主動請求信息。PUSH
    技術的優勢在于信息的主動性和及時性。
      PUSH技術在Internet中沒能取得大的成功,原因是多方面的。主要原因在于固定網中計算機等固定設備為用戶提供了足夠的資源和能力去查找信息所以用戶通常將它作為一個瀏覽信息的窗口,而不是被動的信息接收者。同時固定網用戶對于信息準確性的要求遠甚于對其及時性的要求,因此PUSH技術未能得到廣泛的應用。
     
       而在移動網中,由于存在著網絡帶寬、移動終端能力以及自費標準高昂等諸多限制,使得用戶查找信息受到了一定的限制,如果將重要的信息主動及時地推送到用戶的移動設備上無疑會大大方便用戶。移動通信的優點是移動設備能夠隨時隨地接收信息因此PUSH技術在移動網中可以大展拳腳,WAP PUSH正是PUSH技術和移動通信兩者揚長避短相結合的產物。WAP PUSH是在移動網絡中應用的PUSH技術,它結合了一般PUSH技術和移動網絡的特點。它的系統框架、使用協議和服務方式與固定網上的PUSH技術有很大不同。


    1.2  WAP PUSH系統框架
      WAP PUSH框架主要包括推送發起者(PI:PUSH Initiator)、推送代理網關(PPG:PUSH  ProxyGateway)和推送客戶(PC:PUSH Client) 三個功能部分。PI位于Internet中,而PC在WAP領域,PI和WAP客戶端所使用的協議是不同的,需要在中間建立一個協議轉換網
    關即PPG。PPG通過推送訪問協議(PAP:PUSH  AccessProtocol)與PI通信,通過推送空間傳輸協議(PUSH OTA:PUSH  over-the-Air)完成向客戶推送信息的數據傳輸任務。
      PPG完成推送體系結構中的大部分工作,包括從Internet到移動網的訪問接入,以及與其有關的認證、安全、客戶端控制等所有工作。PG所提供的主要服務包括:1)PI的標識、鑒權和訪問控制;2)對推送內容進行語法分析,并依據數據類型定義(DTD)檢錯糾錯;3)客戶尋址與信息傳輸;4)PAP與PUSH OTA間的協議轉換;5)為提高無線信道中的傳輸效率,對信息進行壓縮、編譯等處理。
      另外,PPG還可以通過別名機制實現組播和廣播,即將某些特定的地址別名映射到組播或廣播的操作中,具體方案可以由系統實現者決定。不同的客戶端,其能力是不同的,PPG還要負責響應PI的客戶能力查詢請求,以便于PI針對不同的客戶端構造合適的內容格
    式。
    1.3 推送協議
      PAP是PI與PPG間的通信協議,它使用可擴展標記語言(XML)作為消息的描述語言,通過簡單的請求響應機制完成數據的傳輸。PAP可以在多種通信協議(包括超文本傳輸協議(HTTP)、簡單郵件傳輸協議(SMTP)等)之上實現。
      而PUSH OTA是運行于無線會話協議(WSP)之上的一個較為簡單的協議層,負責從PPG到客戶代理的數據傳輸。PUSH OTA可使用面向連接的會話和無連接會話兩種WSP層服務,對于使用連接會話的推送,需要在PPG和客戶端間預先有一個激活的會話上下文;對于無連接的推送,則通過預留的端口來完成通信。
     
    1.4 推送服務方式
      WAP的推送協議中定義了服務指示(SI:Service  Indication)和服務加載(SL:Service  Load)兩項服務,以給用戶和網絡運營者更多的選擇。服務指示是將新信息的指示和相關的通用資源標識符(URI)推送給用戶,由用戶選擇是立即處理信息還是以后處理。服務加
    載是將一項服務的URI推送給用戶,然后客戶端自動地使用PULL技術根據該URI啟動服務。兩種服務的區別在于用戶是否介入推送信息的處理過程。SL對推送信息的處理對用戶來說是透明的,而SI則在指示用戶的同時,請用戶對隨后的處理做出選擇。
    PUSH 可以將某一站點或某一業務的鏈接通過短信發送到支持WAP PUSH功能的手機上,這樣用戶只需要閱讀這條短信,打開短信中的鏈接,就可以直接訪問業務了。因此,WAP PUSH實現了短信和WAP業務的結合,節省了用戶尋找業務的時間,方便用戶直接找到并使用自己喜歡的業務。
     
    2  短消息網關簡介
    短消息網關(ISMG)是處于短消息中心(SMSC)和業務提供商(SP)之間的設備,它為這兩個實體的數據交換提供安全、快捷的通道。網關與短消息中心之間使用SMPP協議(Short Message Peer to Peer,短消息點對點協議), 與SP之間使用CMPP協議(China Mobile Peer to Peer,中國移動點對點協議),因此短消息網關需要完成協議的轉換、計費、路由、安全和網絡管理等功能。具體說來, SMPP通信代理系統主要實現網關和GSM網中短消息中心(SMSC)的連接,確保準確接收和發送數據,實現高效、可靠的數據傳輸。為了達到規范要求的不超過0.001%的數據丟包率,SMPP通信代理需要支持流量控制。CMPP通信代理系統主要是實現和SP服務提供商的連接,與SMPP通信代理系統不同的是,由于協議的影響,CMPP通信代理是服務器端,需等待SP的連接,而 SMPP通信代理是客戶端,需要主動連接SMSC。短消息網關處理系統是網關中最復雜的處理進程,它完成的任務包括:向GNS(匯接網關) 查詢路由,維護路由表,進行協議轉換和數據分發。防火墻系統主要為網關系統提供安全保障,它包括IP包過濾和身份驗證。短信網關計費系統主要形成各種計費話單,為計費提供依據。業務管理系統主要完成對業務進行統計報告,生成報表,為運營者對用戶數據的添加、修改、刪除以及對網關系統的監控、查詢、操作和維護提供接口和界面。
     
    3  基于短信網關發送WAP PUSH
    WAP PUSH的發送有兩種途徑,一個是通過PPG網關,另外一個是通過SMPP協議。其中SMPP是一個基本協議,在中國主要有三個由其派生的協議:中國移動的CMPP協議,中國聯通的SGIP(在CDMA上是ETIP),以及小靈通的SMGP。通過中國移動的PPG網關發送WAP PUSH有著開發周期長,調測流程較復雜等不足,而使用CMPP協議即基于短信網關來進行WAP PUSH發送靈活性比較高,相對比較簡單。
    3.1  WAP PUSH發送的實現模式
    可通過計算機串口上連接GSM MODEM,用它向手機發送WAP PUSH。這種方法發WAP PUSH又分三種模式:BLOCK 模式、TEXT 模式和PDU 模式。BLOCK 模式現在用的很少了, TEXT 模式則只能發送ASCII 碼,它不能發送中文的UNICODE碼,而PDU 模式開發起來則較為復雜,它需要編寫專門的函數來將文本轉換為PDU 格式,但PDU 模式被所有手機支持,可以使用任何字符集,它也是手機默認的編碼方式,所以選用PDU模式發送WAP PUSH.
    3.2  PDU 模式
    用PDU 模式發送 WAP PUSH可以使用三種編碼: 7-bit 編碼、8-bit 編碼和

    UCS2 編碼。7-bit編碼用于發送普通的ASCII 字符,8-bit 編碼通常用于發送數據消息,UCS2 編碼用于發送Unicode 字符。由于要實現中文WAP PUSH的發送,所以選擇用UCS2 編碼,即中文Unicode
    碼。
    ⑴ UCS2 編碼原理 所謂UCS2 編碼,是將單個的字符(1-2 個字節)按ISO/IEC10646 的規定,轉變為16 位 的Unicode 寬字符。即將單個的字符轉換為由四位的‘0’-‘9’、‘A’-‘F’的數字和字 母組成的字符串。待發送的消息以UCS2 碼的形式進行發送。
    ⑵ 通過UCS2 編碼我們得到中文Unicode 碼,接著就可以進行發送PDU 串的編制了。從表面上看,PDU 串是ASCII 碼串,同樣由‘0’-‘9’、‘A’-‘F’這些數字和字母組成。它們是8 位字節的十六進制數,或者BCD 碼十進制數。PDU 串除了包含所發送的消息本身外,還包含很多其它參數信息,如服務中心號碼、目標號碼和編碼方式等
    例如
    0051000BA13108086406F600F5A7850B05040B8423F0000303010129060603AE81EA8DCA02
    056A0045C6080C033231312e3133362e3135332e33302f776170707573682f70757368496e64657
    82e6a73703f7075736849643d3035303531313134313630353231000103E8AFB7E782B9E587BB
    E4BBA5E4B88BE993BEE68EA5E88EB7E58F96E5BDA9E4BFA1E58685E5AEB9000101
    為一串可以成功發送的WAP PUSH,其中包括了漢字描述和WAP頁面地址。具體分析如下
    00     SMSC 地址信息的長度 00表示用手機上設置短信中心號碼,PDU 串的“SMSC
    址格式”段和“SMSC 地址”段將省去
    51     基本參數(TP-MTI/VFP) 不要求發送回復
    00     消息基準值(TP-MR)
    0B     對方電話的長度
    A1     目標地址格式 A1表示為國內格式
    3108086406F6  目標地址,補‘F’湊成偶數位后奇偶位互換
    00      協議標識(TP-PID) 是普通GSM 類型,點到點方式
    F5      用戶信息編碼方式 (TP-DCS)
    A7      有效期(TP-VP)
    85      用戶信息長度(TP-UDL)
    0B      WAP PUSH頭部的總長度
    05040B8423F0表示接下來是一個WAP PUSH
    00      表示是Concatenated Short Messages
    03      長度
    03      reference number
    01  表示分成1個短信發送
    01  當前包的序號
    29060603AE81EA8DCA   WSP
    02   標記位
    05   -//WAPFORUM//DTD SI 1.0//EN
    6A   UTF-8
    00   標記開始
    45   <si>
    C6   <indication
    08   <action=signal-high>
    0C   href="http://
    03   字符串開始
    3231312e3133362e3135332e33302f776170707573682f70757368496e6465782e6a73703f707573
    6849643d3035303531313134313630353231  URL
     
    00  URL 字符串結束
    01  >
    03  內容描述字符串開始
    E8AFB7E782B9E587BBE4BBA5E4B88BE993BEE68EA5E88EB7E58F96E5BDA9E4BFA1E5
    8685E5AEB9  內容描述字符串
    00   內容描述字符串結束
    01   </si>
    01  </indication>
     
    由以上分析可以看出,WAP PUSH可以被當作一種特殊的短信來發送,WAP PUSH包發送的內容實際上跟通過PPG網關發送的XML原理相同,但是經過了壓縮。壓縮之后的格式稱為WBXML,這種格式將一些標記用代碼來表示。然而WBXML的縮略標記分為兩部分,一部分是所有類型的XML都通用的,另一部分是不同類型的XML有著不同的解釋。
     
    用戶接收到此類信息時,在客戶端手機支持WAP的情況下,可以直接訪問到信息中加載的WAP網站地址,這樣服務器也達到了推廣業務方便用戶使用的目的。由于在UCS2 編碼方式下,可發送短消息的最大字符數是140字節,即WAP PUSH中的推送URL與描述文字的
    總字符數為140,因此描述文字的字數限制與推送的URL長度有關。
     
    4  結束語
    WAP PUSH技術結合了PUSH技術的優勢和移動通信服務的特性,具有良好的應用前景。但是WAP PUSH技術仍然存在著一些亟待解決的問題,如信息的鑒權與認證、信息的準確性、如何避免垃圾信息等。如何解決好這些問題將是WAP PUSH技術成功的關鍵。另外,隨著GPRS技術和3G無線通信技術的發展,無線信道的帶寬將逐步增大,WAP PUSH也將能進一步推送多媒體信息,有著更寬廣的應用前景。
     
    參考文獻
    1 鄧麗華,黃華,張靖宇².《短消息網關通信模塊的設計與實現》. 2002年
    2《GSM MODEM/GSM終端編程開發PDU碼/短信格式短信規則解析》.北京:經緯星航科技
    發展有限公司, 2003年
    3《中國移動通信信息資源站實體與互聯網短消息網關接口協議》.中國移動通信集團公司

    【基于短信網關WAP推送的實現】相關文章:

    基于Web服務的短信網關設計03-26

    短信網關開發設計03-26

    基于圖像的OMR技術的實現03-07

    基于ParlayX的業務接入網關系統設計03-07

    基于XMLSchema的元數據方案實現03-21

    基于LabVIEW的GMSK調制與解調實現03-07

    基于FPGA的HDLC通信模塊的實現05-14

    基于Perl的DoS工具設計與實現03-10

    基于PQRM的PACS系統設計與實現03-07

    基于MapObjects控件的鷹眼圖實現方法03-07

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      午夜亚洲在在线观看 | 日韩亚洲欧洲美三区中文字幕 | 亚洲成AV人影院在线观看网 | 天天欧美日韩在线一区 | 一级国产加日韩加欧美 | 日韩中文字幕久久 |