freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于sip協(xié)議的即時(shí)消息系統(tǒng)設(shè)計(jì)(編輯修改稿)

2025-06-19 18:22 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 Success 5xx(500~599) Server error 3xx(300~399) Redirection 6xx(600~699) Global failure SIP即時(shí)消息即時(shí)消息(IM)指的是近似實(shí)時(shí)的消息交互。即時(shí)消息通常很短,雖然并不要求這樣。IM通常用于會(huì)話模式,也就是說(shuō),消息的交互是一來(lái)一回的,并且很快,近似于交互式的會(huì)話。RFC 3428 提出了MESSAGE方法,擴(kuò)展了SIP協(xié)議以傳送IM消息。由于MSEEAGE是SIP消息,所以它繼承了SIP協(xié)議所有的路由和安全特性。 MESSAGE用MIME格式的body攜帶具體內(nèi)容。MESSAGE本身并不建立dialog;在多數(shù)應(yīng)用里,每條IM消息都是獨(dú)立的,頗似分頁(yè)消息。 MESSAGE也可以在dialog內(nèi)發(fā)送。 適用范圍用SIP傳遞即時(shí)消息,有兩種模式:pager模式,用信令傳遞IM,消息之間沒(méi)有明確的聯(lián)系,或者說(shuō)“會(huì)話”的概念僅存在于用戶的想象中。 session模式,用INVITE建立,用BYE結(jié)束的一個(gè)會(huì)話,IM是其中的媒體流。兩種模式都有存在的價(jià)值(設(shè)想一下騰訊公司的普通消息和UDP直連的對(duì)話模式)。本文只關(guān)心pager模式。MESSAGE消息之間不關(guān)聯(lián)。所有的消息不必在dialog中走,不必然走相同的路由,由于 IM消息的流量通常很大,這樣就不會(huì)引起擁塞問(wèn)題。一個(gè)MESSAGE走indialog的例子:voice會(huì)話的一個(gè)參與者想同其中的一人進(jìn)行IM交互(即想給正在通話的人發(fā)消息),這時(shí)把IM和該會(huì)話聯(lián)系在一起是比較合理的。但純粹是為了把幾個(gè)IM聯(lián)系在一起而讓MESSAGE都走indialog是不允許的。 SIP即時(shí)消息通信流程下面描述User1向處于一個(gè)Domain()中的User2,發(fā)送即時(shí)消息的過(guò)程,經(jīng)過(guò)一個(gè)簡(jiǎn)單代理Proxy。 即時(shí)消息接續(xù)流程1. UserMESSAGESIP:user2@SIP/Via:SIP/branch=z9hG4bK776sgdkseMaxForwards:70From:sip:user1@。tag=49583To:sip:user2@CallID:asd88asd77a@CSeq:1MESSAGEContentType:text/plainContentLength:18Methodtype為MESSAGE,使用TCP協(xié)議發(fā)送有擁塞控制,Body類型text/plain,body長(zhǎng)度18。2. 代理Proxy收到請(qǐng)求F1,到數(shù)據(jù)庫(kù)中查詢User2(注冊(cè)過(guò)程中生成數(shù)據(jù)庫(kù)),User2@@,生成信息F2。MESSAGESIP:user2@SIP/Via:SIP/branch=z9hG4bK123dsghdsVia:SIP/branch=z9hG4bK776sgdkse;received=MaxForwards:69From:sip:user1@。tag=49394To:sip:user2@CallID:asd88asd77a@CSeq:1MESSAGEContentType:text/plainContentLength:183. User2收到F2,顯示,向Proxy產(chǎn)生響應(yīng)消息F3SIP/200OKVia:SIP/branch=z9hG4bK123dsghds。received=Via:SIP/branch=z9hG4bK776sgdkse;received=From:sip:user1@。tag=49394To:sip:user2@。tag=ab8asdasd9CallID:asd88asd77a@CSeq:1MESSAGEContentLength:0直接回應(yīng)沒(méi)有Body(200OK不能帶body,,也不能攜帶Contact頭域)4. 服務(wù)器收到F3去掉最頂端的Via,向下一個(gè)Via標(biāo)識(shí)的地址(User1)發(fā)送F4。SIP/200OKVia:SIP/branch=z9hG4bK776sgdkse。received=From:sip:user1@。tag=49394To:sip:user2@。tag=ab8asdasd9CallID:asd88asd77a@CSeq:1MESSAGEContentLength:0 IM中INFO消息與MESSAGE的區(qū)別傳輸MESSAGE方法,也就是即時(shí)消息,和INFO方法相比,我認(rèn)為主要區(qū)別,是MESSAGE不用建立連接,直接傳輸信息,而INFO必須在建立INVITE的基礎(chǔ)上傳輸。 小結(jié)軟交換技術(shù)作為下一代網(wǎng)絡(luò)的一個(gè)前奏已經(jīng)在通信界奏響,包括中國(guó)在內(nèi)的多個(gè)國(guó)家運(yùn)營(yíng)商已經(jīng)就整個(gè)軟交換體系進(jìn)行試驗(yàn)[12]。國(guó)內(nèi)的中國(guó)電信、網(wǎng)通、鐵通已經(jīng)為在為軟交換網(wǎng)絡(luò)的演進(jìn)做實(shí)驗(yàn)方案。SIP在各個(gè)運(yùn)營(yíng)商、設(shè)備生產(chǎn)商的推動(dòng)下也在迅速地發(fā)展,目前像北電、愛(ài)立信、思科、中興、華為等大的電信制造商已經(jīng)在自己產(chǎn)品上支持SIP。由于SIP協(xié)議在制定時(shí)突出的是個(gè)性化服務(wù),因此就運(yùn)營(yíng)角度來(lái)講還存在很多方面需要完善。目前特別是Microsoft在其Windows XP版本中,已經(jīng)內(nèi)置SIP,作為其Windows Messanger的通信協(xié)議,迫于這種壓力,相信運(yùn)營(yíng)商、制造商將會(huì)加緊速度使得SIP標(biāo)準(zhǔn)化。在用戶需求多樣化的今天,運(yùn)營(yíng)商需要軟交換這樣的一個(gè)網(wǎng)絡(luò)體系架構(gòu)來(lái)部署自己的網(wǎng)絡(luò),同時(shí)也需要SIP這樣的一個(gè)協(xié)議來(lái)支持用戶個(gè)性化服務(wù)。相信隨著軟交換產(chǎn)品的不斷成熟SIP將會(huì)作為一個(gè)主流的通信協(xié)議。3 實(shí)踐部分 開(kāi)發(fā)庫(kù)介紹 常見(jiàn)開(kāi)發(fā)庫(kù)隨著VoIP和NGN技術(shù)的發(fā)展,,Openh323占統(tǒng)治地位。而然當(dāng)在SIP時(shí)代,則出現(xiàn)了群雄割據(jù)的狀況,靈活,于是各種協(xié)議棧層出不窮,最具有代表性的5個(gè)開(kāi)源項(xiàng)目是:OPAL、VOCAL、sipX、ReSIProcate、oSIP?! PAL是Open Phone Abstraction Library,是Openh323的下一個(gè)版本,它仍然使用了Openh323的體系結(jié)構(gòu),并在其基礎(chǔ)上進(jìn)行擴(kuò)展,同時(shí)實(shí)現(xiàn)了SIP,但在音頻和視頻的編碼和傳輸部分有較大改動(dòng)。OPAL初衷設(shè)計(jì)是包含任何電話通信協(xié)議,所以其底層進(jìn)行了高度的抽象化,所以也能夠很容易的支持MGCP,PSTN和將來(lái)會(huì)出現(xiàn)的協(xié)議?,F(xiàn)有的OPAL還非常不完善,BUG也非常多,不過(guò)相信以O(shè)penh323的開(kāi)發(fā)班底,一定能讓OPAL十分優(yōu)秀。,VOCAL應(yīng)該是目前功能最完善,還包括了h323與sip轉(zhuǎn)換網(wǎng)關(guān),不支持windows平臺(tái),而且自從vovida被CISCO收購(gòu)以后就停止了開(kāi)發(fā)。sipX是一個(gè)SIP系統(tǒng),由SIP Foundry開(kāi)發(fā)。sipX是從reSIProcate分離出來(lái)的,sipX除了包括SIP stack外,還包括了sipXphone,sipXproxy,sipXregistry等等,由它們構(gòu)成了完整的SIP系統(tǒng),而且sipx還支持嵌入式系統(tǒng),各個(gè)模塊可以按需取舍。不過(guò)可惜是幾乎沒(méi)有任何開(kāi)發(fā)文檔。ReSIProcate同樣也是由SIP Foundry開(kāi)發(fā),ReSIProcate最開(kāi)始起源于Vocal,由于Vocal開(kāi)始只支持rfc3254,為了支持最新的rfc3261,ReSIProcate誕生了,但現(xiàn)在,ReSIProcate已經(jīng)成為一個(gè)獨(dú)立SIP協(xié)議棧了,它十分穩(wěn)定,并且很多商業(yè)程序都在使用。oSIP的開(kāi)發(fā)開(kāi)始于2000年7月,第一個(gè)版本在2001年5月發(fā)布。它采用ANSI C編寫,而且結(jié)構(gòu)簡(jiǎn)單小巧,所以速度特別快,它并不提供高層的SIP會(huì)話控制API,它主要提供一些解析SIP/SDP消息的API和事務(wù)處理的狀態(tài)機(jī),oSIP的作者還開(kāi)發(fā)了基于oSIP的UA lib:exosip和proxy server lib:party sip?!【C合上述評(píng)測(cè),可以看出5種SIP協(xié)議棧各有千秋,OPAL有發(fā)展?jié)摿?,VOCAL比較完善,sipX兼容性好,ReSIProcate較穩(wěn)定,oSIP小巧而快速。所以要根據(jù)應(yīng)用的不同選擇恰當(dāng)?shù)膮f(xié)議棧進(jìn)行研究開(kāi)發(fā)。 本文中為了簡(jiǎn)單起見(jiàn),選用Microsoft的非開(kāi)源庫(kù)RTC Client API,下面簡(jiǎn)單介紹該庫(kù)。 RTC Client API介紹Windows Messenger 客戶端利用了 Windows XP RTC Client 組件。此客戶端可在單個(gè)應(yīng)用程序中提供所有 RTC 功能。RTC 基于 Internet 技術(shù)和協(xié)議標(biāo)準(zhǔn),可使其他使用這些技術(shù)的設(shè)備和應(yīng)用程序與 Windows Messenger 客戶端進(jìn)行通信。為了訪問(wèn) Windows Messenger 所使用的 RTC 客戶端功能,Windows XP 通過(guò) RTC Client API 提供了 RTC。此 API 使應(yīng)用程序能夠進(jìn)行 PC 到 PC、PC 到電話以及電話到電話的呼叫;可以在應(yīng)用程序中添加功能,創(chuàng)建通過(guò) Internet 或 Intranet 的 IM 會(huì)話;可以在用戶的 PC 之間建立語(yǔ)音和視頻呼叫;可以檢索并顯示一組聯(lián)系人的現(xiàn)場(chǎng)信息;還可以添加應(yīng)用程序和白板共享,以加強(qiáng)協(xié)作。內(nèi)部開(kāi)發(fā)組可使用這些 API,在其內(nèi)部工具中添加 RTC 功能;軟件供應(yīng)商可以使用 RTC API 將 RTC 與其應(yīng)用程序集成,或者建立專門的應(yīng)用程序進(jìn)行銷售活動(dòng)或滿足客戶需要;電話服務(wù)提供商也可以創(chuàng)建應(yīng)用程序,為居民或公司客戶提供電話服務(wù);打算銷售 RTC 服務(wù)的電信提供商可以使用這些 API 創(chuàng)建自己的客戶端應(yīng)用程序。可以使用 C++ 、Visual Basic和C 創(chuàng)建這些應(yīng)用程序。RTC 的基本代碼模型為 COM。RTC 中用于通信的對(duì)象包括 Client、Session 和 Participant 對(duì)象。 RTC Client API的對(duì)象模型Client 對(duì)象。Client 對(duì)象實(shí)現(xiàn) IRTCClient 接口,并為會(huì)話設(shè)置允許的會(huì)話類型和參數(shù),例如首選設(shè)備和媒體類型、比特率及其他媒體屬性(如音量和消除回音)。此接口還可用于創(chuàng)建 Session 對(duì)象。Session 對(duì)象。Session 對(duì)象通過(guò) IRTCClient::CreateSession 方法創(chuàng)建,用于管理會(huì)話。此對(duì)象實(shí)現(xiàn) IRTCSession 接口,該接口用于啟動(dòng)、應(yīng)答或終止會(huì)話、添加參與者以及進(jìn)行其他會(huì)話管理。此對(duì)象支持 IM 和所有其他會(huì)話類型。例如,Session 對(duì)象可用于創(chuàng)建與合作者的 IM 會(huì)話,或啟動(dòng)與 Web 站點(diǎn)客戶代表的音頻呼叫。Participant 對(duì)象。Participant 對(duì)象通過(guò) IRTCSession::AddParticipant 方法創(chuàng)建,包含所有與會(huì)話參與者有關(guān)的方法,包括參與者的姓名和當(dāng)前狀態(tài)。此對(duì)象實(shí)現(xiàn) IRTCParticipant 接口?,F(xiàn)場(chǎng)信息通過(guò) Buddy 和 Watcher 對(duì)象來(lái)管理。這些對(duì)象提供的接口可用于管理與聯(lián)系人和現(xiàn)場(chǎng)合作伙伴有關(guān)的檢索信息。Buddy 對(duì)象。Buddy 對(duì)象用于管理、設(shè)置和檢索有關(guān)聯(lián)系人的信息。Buddy 對(duì)象在通過(guò) IRTCClientPresence::AddBuddy 方法添加聯(lián)系人時(shí)創(chuàng)建(IRTCClientPresence 在 Client 對(duì)象中實(shí)現(xiàn))。通過(guò)此對(duì)象的 IRTCBuddy 接口,可以檢索聯(lián)系人的姓名和狀態(tài)等信息。Watcher 對(duì)象。Watcher 對(duì)象用于檢索有關(guān)觀察者(已將您添加為聯(lián)系人的人)狀態(tài)的信息。此對(duì)象也通過(guò) IRTCClientPresence 接口添加,但使用的是 AddWatcher 方法。使用此對(duì)象的 IRTCWatcher 接口中實(shí)現(xiàn)的方法,可以檢索觀察者的狀態(tài)和其他信息。++實(shí)現(xiàn)SIP IM客戶終端 本IM客戶終端可完成代理服務(wù)器登陸、終端存在狀態(tài)檢測(cè)、即時(shí)消息發(fā)送和接收、語(yǔ)音聊天、視頻顯示等功能。1. 初始化RTC下面的代碼片段描述RTC對(duì)象的創(chuàng)建和初始化HRESULT hr = S_OK。// RTC 初始化 ,因?yàn)镽TC應(yīng)用程序不是線程安全的,故使用Apartment線程模型::CoInitializeEx(NULL,COINIT_APARTMENTTHREADED)。// 創(chuàng)建RTC Client COM對(duì)象IRTCClient *pIRTCClient。hr = CoCreateInstance( CLSID_RTCClient,NULL, CLSCTX_INPROC_SERVER, IID_IRTCClient, reinterpret_castvoid ** (amp。pIRTCClient) )。//錯(cuò)誤處理 If (hr != S_OK), process the error here. // 初始化RTCClient接口hr = pIRTCClientInitialize()。// 錯(cuò)誤處理 If (hr != S_OK), process the error here.2.創(chuàng)建并使能一個(gè)策略配置文件IRTCClientProvisioning *pIRTCClientProvisioning = NULL。IRTCProfile *pIRTCProfile = NULL。BSTR bstrXMLProfile= // XML Blob referenced in different sectionhr = pIRTCClientQueryInterface(IID_IRTCClient
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1