即時(shí)通信軟件的互通研究_第1頁
即時(shí)通信軟件的互通研究_第2頁
即時(shí)通信軟件的互通研究_第3頁
即時(shí)通信軟件的互通研究_第4頁
即時(shí)通信軟件的互通研究_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

即時(shí)通信軟件的互通研究

0個(gè)人電話系統(tǒng)隨著信息技術(shù)的快速發(fā)展,實(shí)時(shí)通信軟件(im)已經(jīng)建立,并立即在世界范圍內(nèi)銷售。現(xiàn)在我國流行的IM軟件產(chǎn)品種類繁多,主要有國內(nèi)騰訊公司的QQ,國外的MSN、Skype、ICQ、AIM、X-lite、YahooMessenger等。MSN是微軟推出的即時(shí)通信產(chǎn)品,它最大的特點(diǎn)就是將個(gè)人郵箱與即時(shí)通信功能完善結(jié)合。目前最新中文版本是MSN6.0版。YahooMessenger中文名字叫雅虎通,由世界著名搜索引擎Yahoo推出,它的最新簡體中文版本是5.5版。Skype是一個(gè)風(fēng)靡全球的網(wǎng)絡(luò)軟件,它占據(jù)了美國長話業(yè)務(wù)中約60%的話務(wù)量。但這些主流即時(shí)通信軟件所用協(xié)議的不統(tǒng)一性和不公開性,嚴(yán)重束縛著即時(shí)通信軟件的快速發(fā)展,因此研究它們之間的互通具有現(xiàn)實(shí)意義。1消息發(fā)送格式(1)AIM與ICQ同是AOL公司的產(chǎn)品,因此協(xié)議格式基本相同。有兩點(diǎn)不同之處:一是AIM支持聊天室消息發(fā)送和接收服務(wù),分別如表1所示的SNAC(0x0e,0x05)和SNAC(0x0e,0x06)服務(wù);二是AIM采用HTML格式組織消息體數(shù)據(jù)。(2)MSN文本消息傳輸協(xié)議格式簡單,應(yīng)用層數(shù)據(jù)以命令為首標(biāo),采用命令行的方式組織數(shù)據(jù),命令使用ASCII碼表示,統(tǒng)一采用三個(gè)字母組成,如“MSG”為消息傳送命令,后面跟隨零個(gè)或者更多個(gè)參數(shù),參數(shù)之間被一個(gè)或者多個(gè)空格字符分開,命令結(jié)束通過回車換行符(CRLF)表示。例如MSN客戶端給消息服務(wù)器發(fā)送一個(gè)即時(shí)文本消息的應(yīng)用層協(xié)議格式為:MSGTrIDNLength

Message。該消息中MSG是一個(gè)發(fā)送消息命令,命令之后是用空格隔開三個(gè)數(shù);TrID是客戶端與服務(wù)器交互的標(biāo)志,N是服務(wù)器響應(yīng)的特征碼,表示只要求服務(wù)器不能轉(zhuǎn)發(fā)消息給接收客戶端時(shí)才響應(yīng);Length是消息長度;

是回車換行符,表示命令結(jié)束;Message是指定長度的消息體。MSN的Message消息體消息是一個(gè)MIME格式編碼流,使用標(biāo)準(zhǔn)的MIME頭,可以參考RFC-1521和RFC-822來了解更多的關(guān)于MIME格式的信息。(3)雅虎通的協(xié)議格式如圖1所示。YMSG為應(yīng)用層首標(biāo),由ASCII表示;其后的四個(gè)字節(jié)為客戶端的協(xié)議版本號(hào);數(shù)據(jù)長度指出數(shù)據(jù)部分的字節(jié)長度;服務(wù)是兩字節(jié)的操作碼,指明客戶端發(fā)送的是哪一種服務(wù)請求或者說明服務(wù)器對哪一個(gè)服務(wù)的響應(yīng)。雅虎通至少提供了45種以上的服務(wù),發(fā)送一般消息的服務(wù)是0x0006,聊天室消息的服務(wù)是0x00a8;狀態(tài)在服務(wù)器響應(yīng)的情況下,表示對請求的響應(yīng)狀態(tài)(成功,失敗等)。會(huì)話ID是客戶端與服務(wù)器端通信的標(biāo)志,一旦服務(wù)器指定它們之間的一個(gè)會(huì)話ID以后,它們之間的所有數(shù)據(jù)包都使用這個(gè)ID進(jìn)行通信。2主流即時(shí)通信軟件通信平臺(tái)的架構(gòu)即時(shí)通信系統(tǒng)一般有兩種模式:客戶/服務(wù)器模式,即發(fā)信端用戶和收信端用戶必須通過服務(wù)器來交流;客戶/客戶模式,即服務(wù)器給每對客戶端建立一個(gè)TCP通道,他們的交流在這個(gè)TCP之上進(jìn)行,無須通過服務(wù)器。QQ、MSN、ICQ、AIM和YahooMessenger這些主流軟件使用的是客戶/服務(wù)器模式,文本消息必須通過服務(wù)器才能從一個(gè)客戶端傳到另一個(gè)客戶端。對于文本消息的傳送,除了通信架構(gòu)均是基于客戶/服務(wù)器模式之外,消息傳輸均是建立在TCP協(xié)議基礎(chǔ)之上的,而且服務(wù)器的端口一般都是固定端口。服務(wù)器通過提供固定的服務(wù)端口被動(dòng)式地與客戶端進(jìn)行通信,起到消息中轉(zhuǎn)的作用。需要特殊說明,雅虎通對同一個(gè)局域網(wǎng)內(nèi)的客戶端通信采用客戶/客戶的通信架構(gòu)。下面以MSN的通信機(jī)制為例進(jìn)行闡述:MSN是一個(gè)基于MSNP協(xié)議的IM通信系統(tǒng),它提供了包括登錄、認(rèn)證、授權(quán)、重定向在內(nèi)的全面服務(wù)框架。從網(wǎng)絡(luò)拓?fù)涞慕嵌葋碚f,MSNMessenger分為服務(wù)層、連接層和客戶層三層。客戶層的主要功能是接收用戶指令,如發(fā)出登錄請求、改變用戶名狀態(tài)、發(fā)送文本消息請求和發(fā)送文件請求等,并提交給相應(yīng)的服務(wù)器集群。連接層提供了一個(gè)客戶層到服務(wù)層的網(wǎng)絡(luò)通路。MSN使用TCP傳輸協(xié)議,除了文件傳輸和語音聊天是直接的點(diǎn)對點(diǎn)通信之外,其他所有的情形全部通過服務(wù)器進(jìn)行。服務(wù)層有三種類型的服務(wù)器:(1)派遣服務(wù)器(DS)。它是客戶與服務(wù)器建立連接的初始服務(wù)器。域名是,標(biāo)準(zhǔn)服務(wù)端口是1863。其主要功能是協(xié)商協(xié)議版本和向客戶發(fā)送可用的通知服務(wù)器IP及端口。在客戶收到NS的IP及端口并發(fā)回確認(rèn)后,DS切斷與用戶的連接。(2)通知服務(wù)器(NS)。在MSN會(huì)話期間,客戶需要一直保持與它的連接,很多任務(wù)要在這個(gè)會(huì)話內(nèi)完成,包括登錄、改變狀態(tài)、獲取用戶列表、修改用戶信息、發(fā)起聊天、郵件通知、退出等。服務(wù)端口通常也是1863。(3)中轉(zhuǎn)服務(wù)器(SS)。客戶之間聊天時(shí)負(fù)責(zé)內(nèi)容的中轉(zhuǎn)。每開一個(gè)聊天窗口,客戶與服務(wù)器就建立一個(gè)TCP會(huì)話。服務(wù)端口通常也是1863。當(dāng)客戶之間需要進(jìn)行文件傳輸或語音聊天時(shí),發(fā)送系統(tǒng)消息,建立點(diǎn)對點(diǎn)會(huì)話通道(可能轉(zhuǎn)為使用UDP)。點(diǎn)對點(diǎn)通信使用的端口由客戶端自動(dòng)協(xié)商決定,如文件傳輸通常使用6891端口。3關(guān)于層序的使用—即時(shí)通信軟件互通研究因?yàn)橹髁鞯募磿r(shí)通信工具,例如:QQ、MSN等等,各自使用各自定義的協(xié)議,對外界仍處于保密狀態(tài)。因此,本文要實(shí)現(xiàn)的不同即時(shí)通信工具之間的互通是建立在已知協(xié)議的基礎(chǔ)上的?;ネ▽?shí)驗(yàn)分為兩大類:一類是基于同一種協(xié)議的不同即時(shí)通信工具之間的互通;二類是基于不同協(xié)議的即時(shí)通信工具之間的互通。第一類:基于同一種協(xié)議的不同即時(shí)通信工具之間的互通。本文以H.323協(xié)議為例?;贖.323協(xié)議的即時(shí)通信工具有:OpenH323的ohphone和openphone,微軟的netmeeting和msn等,下面簡單對于ohphone和netmeeting使用方法進(jìn)行介紹。ohphoneOhphone是OpenH323協(xié)議棧已經(jīng)實(shí)現(xiàn)的開源程序,有用于linux和windows的兩個(gè)版本。Ohphone是命令行形式的,每次啟動(dòng)都要鍵入命令,linux系統(tǒng)下要進(jìn)入命令終端,windows系統(tǒng)要運(yùn)行cmd。運(yùn)行格式為Ohphone-ggatekeeper-uname-l#-g表示用ip地址注冊,gatekeeper是網(wǎng)守的ip地址,-u后跟的是注冊到網(wǎng)守的名稱,-l表示自動(dòng)監(jiān)聽。另外如果知道網(wǎng)守的名稱,可以用-G注冊。-a是表示自動(dòng)監(jiān)聽。如果輸入錯(cuò)誤,ohphone會(huì)在操作界面顯示出注冊時(shí)可用的每種命令。Ohphone打開后,在界面可以鍵入?,就會(huì)顯示出當(dāng)時(shí)可用的各種命令。netmeetingNetmeeting是windows自帶的程序,一般在菜單上找不到,可以進(jìn)入C盤的programfiles找到netmeeting的文件夾,雙擊conf執(zhí)行文件,第一次使用會(huì)要求注冊。一般必須要求填寫的項(xiàng)是姓,名和電子郵件的地址。這三項(xiàng)其實(shí)都可以隨意填寫。填寫完后,下一步的按鈕會(huì)由灰變亮,進(jìn)入下一步是設(shè)置登陸的服務(wù)器,因?yàn)槲覀兪褂米约洪_設(shè)的網(wǎng)守,所以這一項(xiàng)跳過,下一步是選擇網(wǎng)絡(luò),網(wǎng)絡(luò)選擇局域網(wǎng)。接下來的都可以一直按下一步,直到配置完成。Netmeeting啟動(dòng)后,我們還需要配置網(wǎng)關(guān)。點(diǎn)擊工具,進(jìn)入選項(xiàng),在常規(guī)項(xiàng)中選擇高級呼叫,在使用網(wǎng)關(guān)守衛(wèi)項(xiàng)前面打勾,然后輸入網(wǎng)守的ip地址,然后輸入帳戶名,帳戶名就是注冊到網(wǎng)守上的用戶名,電話號(hào)碼一項(xiàng)可以不寫,電話號(hào)碼在這里是E.164號(hào)碼。最后單擊確定,netmeeting會(huì)自動(dòng)向網(wǎng)守注冊。當(dāng)netmeeting注冊到網(wǎng)守后,會(huì)發(fā)現(xiàn)netmeeting右下腳的聯(lián)網(wǎng)標(biāo)志會(huì)變亮,說明已經(jīng)注冊到網(wǎng)守上。通話過程設(shè)置當(dāng)gnugk開通后,各種終端都可以注冊上來,而且可以是跨系統(tǒng)的,比如gnugk可以是在一個(gè)linux系統(tǒng)里開設(shè),然后windows下的兩個(gè)終端連接上去,然后通話。同時(shí)通話也可以是跨終端的,比如可以ohphone和netmeeting之間互連。最簡單的通話就是兩個(gè)電話終端都注冊上網(wǎng)守后,一方撥打另一方,然后對方接通,通話開始。另外,還可以進(jìn)行視頻通信。主要用到是netmeeting,只要機(jī)器上裝有攝像頭就能夠使用。打開netmeeting,依次選擇[工具]-[選項(xiàng)]-[視頻],選擇通話開始就自動(dòng)接收和傳送圖像即可。在這個(gè)過程需要注意的是,不要開QQ和MSN,因?yàn)樗鼈儠?huì)將攝像頭占用,netmeeting就看不見視頻了。第二類:基于不同協(xié)議的即時(shí)通信工具之間的互通。本文以實(shí)現(xiàn)基于H.323協(xié)議的軟電話THTF-Client2000和基于SIP協(xié)議的軟電話X-lite之間的互通為例。首先需要搭建一個(gè)軟件服務(wù)器,用于實(shí)現(xiàn)軟電話的注冊、H.323協(xié)議與SIP協(xié)議的轉(zhuǎn)換。該服務(wù)器采用Asterisk來構(gòu)建,Asterisk是一款實(shí)現(xiàn)用戶電話交換機(jī)(PBX)功能的自由軟件、開源軟件。Asterisk擁有多個(gè)版本,本文采用的是Trixbox2.0。由于Asterisk對H.323協(xié)議的支持不如SIP協(xié)議,需要先在Trixbox上對H.323模塊進(jìn)行重新配置。再分別注冊一個(gè)SIP電話(5200)和H323電話(1234)。SIP電話(5200)的注冊信息:H323電話(1234)的注冊信息:SIP軟電話撥打H.323軟電話時(shí),Asterisk管理平臺(tái)上顯示的內(nèi)容:H.323軟電話撥打SIP軟電話時(shí),Asterisk管理平臺(tái)上顯示的內(nèi)容和上面類似。4造成互聯(lián)互通今后國內(nèi)即時(shí)通信工具發(fā)展趨勢最大的一個(gè)特點(diǎn)是差異求生。在騰訊新推出的QQ2005中加入了全新的功能“群”,利用該功能可以同時(shí)給多位離線朋友發(fā)信息。這樣,QQ的“群”溝通功能成為相關(guān)網(wǎng)站服務(wù)的終結(jié)者,而即時(shí)通信軟件也將由純粹的P2P(PeerToPeer)變成G2G(GroupToGroup)。MSN采用郵件地址作為用戶名,使用電子郵件地址進(jìn)行注冊,借此建立MSN與Hotmail之間的連接,同時(shí)還可給用戶提供BLOG空間,借此吸引更多的博客加盟,形成以MSN為中心的整合服務(wù)。所以,只有差異才能在激烈的搏擊市場上求得生存。雖然各通信軟件融合是大勢所趨,但各公司出于商業(yè)考慮,很難與競爭對手互聯(lián)互通。尤其是處于領(lǐng)先地位的QQ和MSN等?;ヂ?lián)互通將有利于弱小的一方。面對互聯(lián)互通,MSN、雅虎通、POPO和MSN邁出了試探性的一步,而QQ等其他即時(shí)通信工具還在冷眼旁觀。只有在市場逐步變化為多家勢均力敵的情況下,才有可能達(dá)成最終的互聯(lián)互通,這是即時(shí)通信軟件有可能達(dá)到真正互聯(lián)互通的條件。所以差異與融合將在未來的一段時(shí)間里互相博弈,各通信軟件也將使出渾身解數(shù)留住用戶,給用戶提供更加精彩的服務(wù),使用戶獲得最大限度的實(shí)惠。RegisteredSIP‘5200’atport8384expires3600該句表示SIP軟電話5200在Asterisk上注冊。ExecutingDial(“SIP/5200-08eb3db8”,”O(jiān)OH323/1234/”)innewstack--Called1234/該句表示正在執(zhí)行撥號(hào)計(jì)劃,被叫號(hào)碼為1234。OOH323/-ca2disringing該句表示被叫電話的鈴聲響了。OOH323/-ca2dansweredSIP/5200-08cb3db8該句表示H323軟電話應(yīng)答了SIP軟電話。[5200]Type=friendSecret=5200Record_out=AdhocRecord_in=AdhocQualify=yesPort=5060Nat=yesMailbox=5200@deviceHost=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論