国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種VoIP系統(tǒng)中信令的傳輸方法

      文檔序號:7759497閱讀:243來源:國知局
      專利名稱:一種VoIP系統(tǒng)中信令的傳輸方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于計算機網(wǎng)絡(luò)傳輸領(lǐng)域,具體涉及是一種VoIP系統(tǒng)中信令的傳輸方法。
      背景技術(shù)
      VoIP (Voice over Internet Protocol)即網(wǎng)絡(luò)電話,通俗來說也就是互聯(lián)網(wǎng)電話 或IP電話。其基本原理就是通過語音壓縮設(shè)備對我們的語音進行壓縮編碼處理,然后再把 這些語音數(shù)據(jù)根據(jù)相關(guān)的協(xié)議進行打包,經(jīng)過IP網(wǎng)絡(luò)把數(shù)據(jù)包傳送到目的地后,再把這些 語音數(shù)據(jù)包串起來,經(jīng)過解壓解碼處理后,恢復(fù)成原來的信號,從而達到由IP網(wǎng)絡(luò)發(fā)送語 音的目的。簡而言之,VOIP網(wǎng)絡(luò)電話就是通過互聯(lián)網(wǎng)打電話,將網(wǎng)絡(luò)電話機直接接上諸如 非對稱數(shù)字用戶環(huán)路(ADSL,Asymmetric Digital Subscriber Line)、有線寬帶、局域網(wǎng)等 任何寬帶接口,簡單設(shè)置所申請的地址號碼后,即可像打普通電話一樣隨意撥打想通話的 號碼了。網(wǎng)絡(luò)電話自從1995年首次面世以來已經(jīng)成為世界上使用最廣泛的電話產(chǎn)品。將 打電話通過互聯(lián)網(wǎng)傳輸?shù)腣oIP技術(shù)也是目前世界上最經(jīng)濟的電話技術(shù)之一。VoIP技術(shù)發(fā) 展到今天,已經(jīng)比較成熟,傳統(tǒng)網(wǎng)絡(luò)電話中都是建立在客戶/服務(wù)器系統(tǒng)模式下,服務(wù)器必 須負責(zé)所有用戶在通話過程中的數(shù)據(jù)包的轉(zhuǎn)發(fā),當(dāng)通話用戶不斷增加的時候,服務(wù)器端的 壓力會越來越大,直到達到服務(wù)能力上限。這種解決方案通常是以增加服務(wù)器的數(shù)量和提 高帶寬的大小來增強系統(tǒng)的服務(wù)能力。因此,這種辦法有一定的局限性,其一是隨著用戶的 增加,廣播包的數(shù)量會以指數(shù)增加,其二是隨著用戶的不斷遞增,服務(wù)器的服務(wù)能力難以達 到要求。對等網(wǎng)絡(luò)技術(shù)(P2P,Peer-to-Peer)是一項新的利用終端個人計算機(PC, Personal Computer)計算能力以及終端網(wǎng)絡(luò)帶寬在用戶之間進行文件共享的技術(shù)。它具有 可擴展性,負載均衡,靈活等優(yōu)點。近幾年來,基于這種技術(shù)的文件共享已基本成熟,基于這 種技術(shù)的流媒體技術(shù)也日趨廣泛,這也為VOIP的發(fā)展提供了一個更有創(chuàng)造性的思路。VoIP 與P2P融合,P2P技術(shù)綜合利用分散的網(wǎng)絡(luò)資源,使得語音呼叫的接通率、語音質(zhì)量在很大 程度上甚至超過傳統(tǒng)的電話網(wǎng)絡(luò)。P2P技術(shù)是一種用于不同PC用戶之間,不經(jīng)過中繼設(shè)備 直接交換數(shù)據(jù)或服務(wù)的技術(shù)。P2P技術(shù)主要指由硬件形成連接后的信息控制技術(shù),其代表形 式是軟件。它打破了傳統(tǒng)的客戶機/服務(wù)器(C/S,Client/Server)模式,在對等網(wǎng)絡(luò)中,每 個節(jié)點的地位都是相同的,同時具備客戶端和服務(wù)器雙重特性,既享用服務(wù)也提供服務(wù)。VoIP充分利用了 P2P技術(shù)的特點。非集中式P2P網(wǎng)絡(luò)可以無限的擴展,并且不會 因為擴展而導(dǎo)致搜索時間的延長和費用的增加——利用終端用戶機器的處理能力和網(wǎng)絡(luò) 帶寬,每增加一個節(jié)點,P2P網(wǎng)絡(luò)的處理能力和帶寬都相應(yīng)增加;P2P技術(shù)在穿透防火墻和 網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT,NetworkAddressTranslation)方面也具有優(yōu)勢。傳統(tǒng)的集中式網(wǎng)絡(luò)也 可以穿透防火墻和NAT,但通常會因此增加非常昂貴的費用,用戶越多費用越高。使用P2P 技術(shù)的典型VoIP產(chǎn)品是Skype,Skype實現(xiàn)了將網(wǎng)絡(luò)資源分散(即不是利用集中式的服務(wù) 器資源,而是利用各節(jié)點的網(wǎng)絡(luò)資源),使得語音呼叫接通率、語音質(zhì)量在很大程度上甚至超過傳統(tǒng)電話。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于提供一種基于P2P的SIP VoIP系統(tǒng)中信令的傳輸方法,該方法 保證了會話發(fā)起協(xié)議(SIP,Session Initiation Protocol)信令能夠在進行通話的用戶客 戶端之間可靠的傳輸,避免了由于某些網(wǎng)絡(luò)狀況而導(dǎo)致SIP信令丟失的無法正常建立通話 的情況。實現(xiàn)本發(fā)明目的所采用的具體技術(shù)方案如下一種VoIP系統(tǒng)中信令的傳輸方法,基于P2P技術(shù)實現(xiàn)SIP信令的可靠傳輸,具體 包括如下步驟(1)首先終端節(jié)點向引導(dǎo)節(jié)點發(fā)送注冊消息,并從引導(dǎo)節(jié)點提供的服務(wù)器節(jié)點中 選擇兩個服務(wù)器節(jié)點,將該終端節(jié)點注冊到所述兩個服務(wù)器節(jié)點上;其中,所述引導(dǎo)節(jié)點指覆蓋網(wǎng)的啟動節(jié)點,其指導(dǎo)服務(wù)器節(jié)點加入覆蓋網(wǎng),并響應(yīng) 終端節(jié)點的消息,返回服務(wù)器節(jié)點給終端節(jié)點;所述服務(wù)器節(jié)點響應(yīng)終端節(jié)點的各種SIP 信令消息;(2)注冊成功之后的終端節(jié)點之間即可建立通話過程,具體建立過程如下(2. 1)任意終端節(jié)點UEl作為通話發(fā)起方將邀請(INVITE)消息分別發(fā)給其注冊的 服務(wù)器節(jié)點SN-Cl和SN-C2,并通過SN-Cl和SN-C2將INVITE消息發(fā)送給作為通話接受方 的終端節(jié)點UE2 ;(2. 2)UE2通過其所注冊的兩個服務(wù)器節(jié)點SN-C3和SN-C4收到UEl的INVITE消 息;(2. 3)UE2收到INVITE消息后,將180消息后分別發(fā)給SN-C3和SN-C4,并通過 SN-C3和SN-C4將180消息發(fā)給UEl ;(2. 4) UEl收到180消息,等待UE2接聽;(2. 5)若UE2確認接聽,UE2會將OK消息發(fā)給SN-C3和SN-C4,并通過SN-C3和 SN-C4將OK消息發(fā)給UEl ;(2. 6)UEl接收到OK消息后,將確認字符(ACK)消息分別發(fā)到SN-Cl和SN-C2,并 通過SN-Cl和SN-C2發(fā)給UE2 ;(2. 7)UE2收到ACK消息后,兩個客戶端間通話建立;(3)通話建立后,在通話過程中用戶終端定期向服務(wù)器節(jié)點發(fā)送注冊消息,進行注 冊更新;(4)通話完成后,一個用戶終端會向另一方發(fā)送掛機消息來釋放呼叫,該過程包含 以下步驟(4. 1)當(dāng)UEl要結(jié)束通話時,UEl將BYE消息分別轉(zhuǎn)發(fā)到SN-Cl和SN-C2 ;(4. 2) UE2接收到BYE消息后,結(jié)束通話,將發(fā)送OK消息給SN-C3和SN-C4,通過他 們發(fā)給UEl ;(4. 4)UEl收到OK消息后,呼叫釋放完成,本次通話結(jié)束。作為本發(fā)明的進一步改進,所述的步驟(1)的具體注冊過程為(1. 1)終端節(jié)點向引導(dǎo)節(jié)點發(fā)送注冊消息;
      (1. 2)引導(dǎo)節(jié)點通過負載均衡算法選擇服務(wù)器節(jié)點,并將服務(wù)器節(jié)點列表轉(zhuǎn)發(fā)給 終端節(jié)點;(1. 3)終端節(jié)點從服務(wù)器節(jié)點列表中任選2個服務(wù)器節(jié)點,并將用戶標識(UID)和 這2個服務(wù)器節(jié)點的IP保存在本地列表中;(1. 4)終端節(jié)點分別向上述兩個服務(wù)器節(jié)點發(fā)送注冊消息;(1. 5)終端節(jié)點收到來自上述兩個服務(wù)器節(jié)點的Ok消息,則表示注冊成功。作為本發(fā)明的進一步改進,在步驟(1)或步驟(3)的注冊過程中由于網(wǎng)絡(luò)問題出 現(xiàn)服務(wù)器節(jié)點失效的情況時,為保證信令的可靠傳輸,進行如下處理(A)在注冊過程中,若終端節(jié)點檢測到所注冊的兩個服務(wù)器節(jié)點中有服務(wù)器節(jié)點 失效時,終端節(jié)點再向引導(dǎo)節(jié)點發(fā)送注冊消息;(B)引導(dǎo)節(jié)點根據(jù)IP鄰近原則返回服務(wù)器節(jié)點的IP列表給終端節(jié)點;(C)終端節(jié)點再次從中選擇新的服務(wù)器節(jié)點,重新向其發(fā)送注冊消息;(D)當(dāng)該再次選擇的服務(wù)器節(jié)點返回OK消息后,終端節(jié)點更新本地列表,該再次 選擇的服務(wù)器節(jié)點成為終端節(jié)點的服務(wù)器節(jié)點。本發(fā)明根據(jù)VOIP系統(tǒng)的需求,采用可靠信令傳輸方法來傳輸系統(tǒng)SIP信令,保證 了系統(tǒng)通話的可靠性。具體而言,本發(fā)明具有以下特征(1)可靠性在本系統(tǒng)中一直有兩個SN-C節(jié)點服務(wù)器用戶UE,系統(tǒng)的SIP信令流必須分別向兩 個服務(wù)器節(jié)點發(fā)送,當(dāng)出現(xiàn)由于網(wǎng)絡(luò)原因?qū)е碌膯畏?wù)器節(jié)點(其中一個SN-C)失效時,剩 下的服務(wù)器節(jié)點能夠完成SIP信令的繼續(xù)傳送,保證了通話的正常進行。(2)穩(wěn)定性從系統(tǒng)的整體架構(gòu)圖可以看出在構(gòu)成的分布式哈希表(DHT,Distributed Hash Table)網(wǎng)絡(luò)中有許多SN-C超級節(jié)點,它們是系統(tǒng)部署在網(wǎng)絡(luò)環(huán)境中的,具有較好的性能, 能夠保證用戶節(jié)點之間的通話要求。由于是固定部署的節(jié)點,也就不存在這些節(jié)點進入和 退出對系統(tǒng)造成的影響,而各用戶節(jié)點的隨意進入和退出也不會對系統(tǒng)造成影響。(3)自適應(yīng)性用戶節(jié)點在進入系統(tǒng)中以后,一直都保持著動態(tài)的調(diào)整,在不影響系統(tǒng)性能的前 提下,與自己的每個SN-C服務(wù)器節(jié)點保持一定頻率的心跳(具體表現(xiàn)為定期向服務(wù)器節(jié)點 發(fā)送register信息)。當(dāng)出現(xiàn)單個服務(wù)器節(jié)點失效的時候,用戶節(jié)點回向SN-T節(jié)點發(fā)送注 冊消息,SN-T會向用戶節(jié)點返回新的可用的SN-C節(jié)點,從而避免了服務(wù)器節(jié)點失效造成的影響。(4)較強的可擴展性由于系統(tǒng)是采用P2P模式的,所以相對于C/S模式,有較強的可擴展性,服務(wù)器的 壓力和網(wǎng)絡(luò)承受的帶寬并不會因為節(jié)點的增加,而呈線性增長,因此對服務(wù)器和帶寬的要 求并不高。同時,也不會產(chǎn)生其他P2P結(jié)構(gòu)所會引起的單一服務(wù)器節(jié)點失效和消息冗余等 問題。并且本系統(tǒng)基于SIP的V0IP,而SIP協(xié)議本身遵循因特網(wǎng)基本原則,協(xié)議很容易進 行擴展,便于增加新的業(yè)務(wù),具有較強的互操作性,所以本系統(tǒng)也比較容易進行新業(yè)務(wù)的擴 展。(5)負載均衡
      用戶要進行通話前回向SN-T發(fā)送register消息,而SN-T節(jié)點會通過載均衡算法 選擇合適(當(dāng)前負載較小)SN-C節(jié)點,并將SN-C列表轉(zhuǎn)發(fā)給用戶UE,這樣就能保證系統(tǒng)在 任何時候各SN-C節(jié)點負載均衡。


      圖1為整個系統(tǒng)通話過程的流程圖;圖2為正常情況下注冊的SIP信令流程示意圖;圖3為正常情況下呼叫發(fā)起的SIP信令流程示意圖;圖4為正常情況下呼叫釋放的SIP信令流程圖;圖5為非正常情況下通話過程中(注冊)的SIP信令流程圖;圖6為非正常情況下呼叫發(fā)起的SIP信令流程圖;圖7為非正常情況下呼叫結(jié)束的SIP信令流程圖;圖8為利用實驗室的設(shè)備部署的本發(fā)明的一個實例。
      具體實施例方式本發(fā)明根據(jù)VOIP系統(tǒng)保證通話的正常進行的需要而設(shè)計的SIP信令的可靠傳輸 方法,下面結(jié)合附圖和具體實施對本發(fā)明作詳細的說明。本發(fā)明中涉及的三種節(jié)點類型的說明終端節(jié)點(UE,User Edge)指運行標準SIP協(xié)議或流媒體協(xié)議的終端節(jié)點。引導(dǎo)節(jié)點(SN-T,Server Node-Track)覆蓋網(wǎng)的啟動節(jié)點,指導(dǎo)SN-C加入覆蓋 網(wǎng),并響應(yīng)UE的消息,返回SN-C給UE。服務(wù)器節(jié)點(SN-C,Server Node-Core)服務(wù)器節(jié)點SN-C通過SN-T加入到覆蓋 網(wǎng)中,SN-C響應(yīng)UE的各種SIP信令消息。一種VoIP系統(tǒng)中信令的傳輸方法,基于P2P技術(shù)實現(xiàn)SIP信令的可靠傳輸,具體 包括如下步驟(1)首先UE向SN-T發(fā)送注冊消息,得到兩個SN-C,并注冊到所述兩個SN-C上。該 過程(如圖2所示)包含以下步驟(1. DUE 向 SN-T 發(fā)送 register (注冊)消息。用戶要使用本系統(tǒng)與其它用戶進行通話,必須首先注冊到網(wǎng)絡(luò)中,通過向SN-T發(fā) 送Register消息實現(xiàn),用于向SIP網(wǎng)絡(luò)服務(wù)器登記用戶位置和賬號信息,只有注冊成功后 才能通過該用戶名進行通話。(1. 2) SN-T通過負載均衡算法選擇SN-C節(jié)點,并將SN-C列表轉(zhuǎn)發(fā)給UE。SN-T管理著域內(nèi)所有的SN-C節(jié)點,為了保證所有的SN-C均衡負載,SN-T通常選 擇負載最小的SN-C,負載均衡保證了所有的SN-C能夠共同分擔(dān)任務(wù),不會出現(xiàn)某些SN-C負 載過大而其它SN-C空閑的狀態(tài),提高了系統(tǒng)的可用性。(1. 3) UE選擇2個SN-C,并將用戶標識(UID)和這2個SN-C的IP保存在本地列 表中。(1. 4) UE分別向兩個SN-C發(fā)送register消息。在發(fā)送給兩個SN-C的register消息中,會附加上相同的時間戳,并附加不同的編號來區(qū)分。在消息中附加時間戳主要是為了方便消息的接收者能夠根據(jù)時間先后順序,用 當(dāng)前最新的消息替代相同的舊信息,以保證實時的反映系統(tǒng)的最新網(wǎng)絡(luò)狀況。(1.5) UE收到來自兩個SN-C的Ok消息,則表示注冊成功。SN-C收到UE的register消息后,會分別返回OK消息并附加上時間戳。UE接收 到第一個OK后,并緩存OK消息。此后,UE收到0K,將其時間戳與緩存的OK消息時間戳進 行比較。如果時間戳相同,則忽略該消息;如果時間戳不同,則接受該消息,并將其替換原緩 存的消息。在注冊過程中很可能由于網(wǎng)絡(luò)問題出現(xiàn)服務(wù)器節(jié)點失效的情況,如圖5所示則會 包含以下過程(A)在注冊過程中,若UE檢測到其中一個服務(wù)器節(jié)點失效時,UE再向SN-T發(fā)送注 冊消息。(B) SN-T根據(jù)IP鄰近原則返回部分SN-C節(jié)點IP列表給用戶UE。(C)UE從中再次選擇一個節(jié)點,重新向其發(fā)送注冊消息。(D)當(dāng)該再次選擇的節(jié)點返回OK消息后,UE更新本地的對應(yīng)表,該再次選擇的節(jié) 點成為UE的服務(wù)器節(jié)點。(2)注冊成功之后兩個終端節(jié)點UEl和UE2之間如果想通話,假定由一方UEl發(fā)起 呼叫,整個呼叫發(fā)起建立過程(如圖3)包含以下步驟,其中包括了在單服務(wù)器節(jié)點失效的 情況下如何完成通話建立的SIP信令流程(如圖6)(2. DUEl將INVITE (邀請)消息分別發(fā)給其注冊的服務(wù)器節(jié)點SN-C1和SN-C2, 通過這兩個服務(wù)器節(jié)點將INVITE消息發(fā)送給UE2,具體包含以下過程(2. 1. DUEl將INVITE消息加上時間戳和序列號后分別發(fā)到SN-C1和SN-C2。(2. 1. 2) SN-Cl解析INVITE消息,通過分布式哈希表(DHT)網(wǎng)絡(luò)找到UE2注冊的服 務(wù)器節(jié)點SN-C3和SN-C4,并將INVITE消息發(fā)送到SN-C3和SN-C4。(2. 1. 3) SN-C3和SN-C4接收到INVITE消息后,都將INVITE消息發(fā)送給UE2。(2. 2)UE2 通過 SN-C3 和 SN-C4 收到 UEl 的 INVITE 消息。UE2接受第一個INVITE消息,并緩存INVITE消息,以后UE2收到INVITE后,將其 時間戳與緩存的INVITE消息時間戳進行比較。如果時間戳相同,則忽略該消息;如果時間 戳不同,則接受該消息,并將其替換原緩存的消息。所有SN-C在收到INVITE消息后都向發(fā)送方返回一個100消息。服務(wù)器節(jié)點發(fā)送 的100信息,表示對收到主叫的INVITE消息應(yīng)答,并開始處理INVITE消息。(2. 3)UE2收到INVITE消息后,將180消息后分別發(fā)給SN-C3和SN-C4,并通過 SN-C3和SN-C4將180消息發(fā)給UEl。當(dāng)UE2收到INVITE消息后,開始振鈴,并發(fā)送180信息給其注冊的服務(wù)器節(jié)點,表 示被叫正在振鈴。UE2會在180消息中加上時間戳和序列號后分別發(fā)給SN-C3和SN-C4, SN-C3和SN-C4都將其收到的消息分別發(fā)給SN-Cl和SN-C2,SN-Cl和SN-C2都將該消息發(fā) 給 UE1。由于網(wǎng)絡(luò)的不穩(wěn)定性在通話建立過程的各個階段都可能發(fā)生服務(wù)器節(jié)點失效的 情況,最普遍的情況就是單服務(wù)器節(jié)點失效。在通話建立的任何時候都可能發(fā)生但服務(wù)器 節(jié)點失效的情況,下面我們僅結(jié)合圖6對這種情況進行說明。如圖6所示(紅色消息表示在正常流程中SN-Cl發(fā)出的消息)在通話過程中SN-Cl失效,SN-Cl無法再接收或傳送SIP信 令,只有SN-C2可以正常傳輸SIP信令。UE2振鈴后,UE2將180消息加上時間戳和序列號 后分別發(fā)給SN-C3和SN-C4,SN-C3和SN-C4都將其收到的消息分別發(fā)給SN-Cl和SN-C2,由 于SN-Cl失效,最終只有SN-C2收到來自SN-C3和SN-C4的180信息并將該信息發(fā)給UEl。(2. 4) UEl 收到來自 SN-Cl 和 SN-C2 的 180 消息。UEl將接受第一個180消息,并緩存180消息,以后UEl收到180消息后,將其時間 戳與緩存的180消息時間戳進行比較。如果時間戳相同,則忽略該消息;如果時間戳不同, 則接受該消息,并將其替換原緩存的消息。若在非正常情況下如圖6所示SN-Cl失效,只有SN-C2發(fā)送180消息給UEl,UEl 最終只收到SN-C2的180消息,但是通過該消息UEl足以知道UE2已經(jīng)收到INVITE消息并 開始振鈴。(2. 5)若UE2確認接聽,UE2會將OK消息發(fā)給SN-C3和SN-C4,通過SN-C3和SN-C4 將該消息發(fā)給UEl。UEl收到200 (OK)消息表明UE2接受了 UEl的INVITE消息,即UE2用戶接起了電 話。UE2會在發(fā)送的OK消息加上時間戳和序列號后發(fā)給SN-C3和SN-C4,SN-C3和SN-C4都 將該消息分別發(fā)給SN-Cl和SN-C2,SN-Cl和SN-C2都將該消息發(fā)給UEl。若在非正常情況下如圖6所示SN-Cl失效,UE2接聽后,UE2將OK消息發(fā)給SN-C3 和SN-C4,SN-C3和SN-C4都將該消息分別發(fā)給SN-Cl和SN-C2,只有SN-C2收到OK信息, 并將消息發(fā)給UEl。(2. 6)UEl接收到OK消息后,將確認字符(ACK)消息分別發(fā)到SN-C1和SN-C2,通 過它們發(fā)給UE2,具體包含以下過程(2. 6. DUEl會在ACK消息中加上時間戳和編號后分別轉(zhuǎn)發(fā)到SN-C1和SN-C2,并 緩存OK消息,以后UEl收到OK消息后,將其時間戳與緩存的OK消息時間戳進行比較。如 果時間戳相同,則忽略該消息;如果時間戳不同,則接受該消息,并將其替換原緩存的消息。若在非正常情況下如圖6所示SN-Cl失效,UEl只收到了來自SN-C2的OK消息, 但是已經(jīng)足以讓UEl知道被叫UE2已經(jīng)接聽了電話,所以UEl會發(fā)送ACK消息給服務(wù)器節(jié) 點SN-Cl和SN-C2,雖然只有SN-C2能收到消息。(2. 6. 2) SN-Cl 和 SN-C2 都將 ACK 消息分別發(fā)送給 SN-C3 和 SN-C4。若在非正常情況下如圖6所示SN-Cl失效,只有SN-C2將ACK消息發(fā)送給SN-C3 和 SN-C4。(2. 6. 3) SN-C3和SN-C4接收到ACK消息后,都將ACK消息發(fā)送給UE2。(2. 7)UE2收到其服務(wù)器節(jié)點發(fā)來的ACK消息后,兩個客戶端間通話建立。UE2接受第一個ACK消息,并緩存ACK消息,以后UE2收到ACK消息后,將其時間戳 與緩存的ACK消息時間戳進行比較。如果時間戳相同,則忽略該消息;如果時間戳不同,則 接受該消息,并將其替換原緩存的消息。若在非正常情況下如圖6所示SN-Cl失效,但是由于另一個服務(wù)器節(jié)點SN-C2仍 能夠正常傳輸消息,所以在單服務(wù)器節(jié)點失效的情況下,另一個服務(wù)器節(jié)點還是完成整個 呼叫建立過程中的SIP信令傳輸,整個呼叫建立過程依然可以順利完成,并且對用戶而言 保持透明(紅色消息表示在正常流程中SN-Cl發(fā)出的消息)。對于其它SN-C,在呼叫建立過程中的任意時刻失效,整個呼叫發(fā)起流程可以順利進行,正常建立通話(只考慮一個客 戶端的兩個服務(wù)器節(jié)點中一個失效的這一普遍情況下出現(xiàn)的問題)。(3)通話建立后,用戶終端之間可以一直通話,在通話過程中用戶終端還要定期向 服務(wù)器節(jié)點發(fā)送注冊消息(相當(dāng)于心跳包),在服務(wù)器節(jié)點上重新注冊。UE在Register消息中附加上相同的時間戳,并附加上不同的編號,UE根據(jù)本地列 表中服務(wù)器節(jié)點的信息,分別發(fā)送給2個SN-C節(jié)點,建立注冊,具體如步驟(1. 4)-(1· 5)。在注冊過程中很可能由于網(wǎng)絡(luò)問題出現(xiàn)服務(wù)器節(jié)點失效的情況,則執(zhí)行步驟 (1.6)建立注冊。(4)通話完成后,一個用戶終端會向另一方發(fā)送掛機消息來釋放呼叫,該過程(如 圖4所示)包含以下步驟(4. 1)當(dāng)UEl要結(jié)束通話時,UEl將BYE消息分別轉(zhuǎn)發(fā)到SN-Cl和SN-C2,通過 SN-Cl和SN-C2發(fā)送給UE2,具體包含以下過程(4. 1. 1)當(dāng)UEl要結(jié)束通話時,UEl在BYE消息加上時間戳和編號后分別轉(zhuǎn)發(fā)到 SN-Cl 禾口 SN-C2。(4. 1. 2) SN-Cl 和 SN-C2 都將 BYE 消息分別發(fā)送給 SN-C3 和 SN-C4。(4. 1. 3) SN-C3和SN-C4接收到BYE消息后,都將BYE消息發(fā)送給UE2。(4. 2) UE2 通過 SN-C3 和 SN-C4 收到 BYE 消息發(fā)。UE2接收第一個BYE消息,并緩存BYE消息,以后UE2收到BYE消息后,將其時間戳 與緩存的BYE消息時間戳進行比較。如果時間戳相同,則忽略該消息;如果時間戳不同,則 接受該消息,并將其替換原緩存的消息。(4. 3)UE2接收到BYE消息后,結(jié)束通話,將發(fā)送OK消息給SN-C3和SN-C4,通過 SN-C3 和 SN-C4 發(fā)給 UEl。UE2將該消息加上時間戳和序列號后發(fā)給SN-C3和SN-C4,SN-C3和SN-C4都將該 消息分別發(fā)給SN-Cl和SN-C2,SN-Cl和SN-C2都將該消息發(fā)給UEl。由于網(wǎng)絡(luò)的不穩(wěn)定性在結(jié)束通話過程的各階段都可能發(fā)生服務(wù)器節(jié)點失效的情 況,最普遍的情況就是單服務(wù)器節(jié)點失效。在結(jié)束通話釋放呼叫的任何時候都可能發(fā)生單 服務(wù)器節(jié)點失效的情況,下面我們僅結(jié)合圖7對這種情況進行說明。如圖7所示(紅色消 息表示在正常流程中SN-Cl發(fā)出的消息)在釋放呼叫過程中SN-Cl失效,SN-Cl無法再接 收或傳送SIP信令,只有SN-C2可以正常傳輸SIP信令。UE2接收到BYE消息后,結(jié)束通話, 將發(fā)送OK消息,UE2將該消息加上時間戳和序列號后發(fā)給SN-C3和SN-C4,SN-C3和SN-C4 都將該消息分別發(fā)給SN-Cl和SN-C2,由于SN-Cl失效,只有SN-C2收到OK消息并將將該消 息發(fā)給UEl。(4. 4) UEl通過其注冊的服務(wù)器節(jié)點SN-Cl和SN-C2收到OK消息后,本次通話完全結(jié)束。UEl將接受第一個OK消息,并緩存OK消息,以后UEl收到OK消息后,將其時間戳 與緩存的OK消息時間戳進行比較。如果時間戳相同,則忽略該消息;如果時間戳不同,則接 受該消息,并將其替換原緩存的消息。若在非正常情況下如圖7所示在釋放呼叫過程中SN-Cl失效,UEl只收到來自 SN-C2的OK消息,但是已經(jīng)足以讓UEl知道被叫端同意正常掛機結(jié)束通話。由于另一個服務(wù)器節(jié)點SN-C2仍能夠正常傳輸消息,所以在單服務(wù)器節(jié)點失效的情況下,另一個節(jié)點還 是完成整個呼叫釋放過程中的SIP信令傳輸,整個呼叫釋放過程依然可以順利完成,并且 對用戶而言保持透明(紅色消息表示在正常流程中SN-Cl發(fā)出的消息)。對于其它SN-C 節(jié)點,在呼叫釋放過程中的任意時刻失效,整個呼叫釋放流程可以順利進行,正常結(jié)束通話 (只考慮一個客戶端的兩個服務(wù)器節(jié)點中一個失效的這一普遍問題)。(5)呼叫釋放完成,用戶終端正常結(jié)束通話。至此,基于P2P的SIP VoIP系統(tǒng)中可靠信令傳輸方法完成了 VOIP系統(tǒng)中需要的 各種SIP信令傳輸。實例利用本發(fā)明所闡述基于P2P的SIP VoIP系統(tǒng)中可靠信令傳輸方法,實驗室提供了 10個超級節(jié)點以及2臺普通PC機。PC機的硬件配置如下
      機器名CPU內(nèi)存硬盤網(wǎng)絡(luò)帶寬超級節(jié)點PIIII2. OG2G40GIOOM終端節(jié)點PCPIIII1. 7G256M40GIOM如圖8利用實驗室的設(shè)備部署的本系統(tǒng),本系統(tǒng)主要有超級節(jié)點和終端節(jié)點組 成。超級節(jié)點分為核心超級節(jié)點SN-C和資源索引超級節(jié)點SN-T。核心超級節(jié)點SN-C的功 能有會話控制和業(yè)務(wù)處理,分布式數(shù)據(jù)存儲與定位(Reload),周期地報告自身狀態(tài)給資 源索引超級節(jié)點SN-T。索引超級節(jié)點SN-T的功能有指導(dǎo)SN-C加入業(yè)務(wù)網(wǎng)絡(luò),指導(dǎo)UE找 到管理節(jié)點SN-C,周期性統(tǒng)計核心超級節(jié)點SN-C的狀態(tài)。終端節(jié)點UE是指運行標準SIP 協(xié)議或流媒體協(xié)議的終端節(jié)點,這類終端既可以是PC等設(shè)備也可以是可移動的手持設(shè)備。 標準的終端節(jié)點通過標準的SIP協(xié)議或流媒體協(xié)議接入到業(yè)務(wù)網(wǎng)絡(luò)。在搭建好的實驗環(huán)境下,用戶終端UE1、UE2首先向SN-T節(jié)點發(fā)送注冊消息,SN-T 節(jié)點根據(jù)負載均衡原則分別向UE1、UE2返回SN-C列表,用戶終端挑選SN-C1、SN-C2作為服 務(wù)器節(jié)點,為了驗證在單服務(wù)器節(jié)點失效的情況下SIP信令流程,我們?nèi)藶榈脑谧赃^程 中是SN-C2失效,注冊完成后我們查看UEl的UID-IP對應(yīng)表,我們發(fā)現(xiàn)表中沒有SN-C2,取 而代之的是SN-3節(jié)點作為服務(wù)器節(jié)點。接著,開始模擬通話建立的過程,UEl有服務(wù)器節(jié) 點SN-Cl和SN-C3,我們在任意時刻SN-C3失效斷開網(wǎng)絡(luò),UE2均能順利收到了 UEl的呼叫 消息,UE2接通后可以與UEl進行通話,通過全過程的抓包,我們發(fā)現(xiàn)是SIP信令流程符合 我們的分析的。最后,我們完成通話,UE2掛機,人為的使UEl的一個服務(wù)器節(jié)點失效,UEl 能夠收到UE2的BYE消息,UEl確認后,兩邊終端正常完成呼叫的釋放,通過抓包分析,呼叫 釋放過程中SIP信令流程是按我們上述預(yù)期進行的。經(jīng)多次測試,采用本發(fā)明所論述的可靠SIP信令傳輸方法,在任意時刻使用戶終 端的一個服務(wù)器節(jié)點失效,終端用戶都能完成注冊、呼叫建立、呼叫釋放的SIP信令流程, 整個系統(tǒng)能夠穩(wěn)定地工作。本領(lǐng)域一般技術(shù)人員根據(jù)本發(fā)明公開的內(nèi)容,能夠采用其它具體實施方式
      實現(xiàn)本 發(fā)明創(chuàng)造。
      權(quán)利要求
      一種VoIP系統(tǒng)中信令的傳輸方法,基于P2P技術(shù)實現(xiàn)SIP信令的可靠傳輸,該方法具體包括如下步驟(1)首先終端節(jié)點向引導(dǎo)節(jié)點發(fā)送注冊消息,并從引導(dǎo)節(jié)點提供的服務(wù)器節(jié)點中選擇兩個服務(wù)器節(jié)點,將該終端節(jié)點注冊到所述兩個服務(wù)器節(jié)點上;其中,所述引導(dǎo)節(jié)點指覆蓋網(wǎng)的啟動節(jié)點,其指導(dǎo)服務(wù)器節(jié)點加入覆蓋網(wǎng),并響應(yīng)終端節(jié)點的消息,返回服務(wù)器節(jié)點給終端節(jié)點;所述服務(wù)器節(jié)點響應(yīng)終端節(jié)點的各種SIP信令消息;(2)注冊成功之后的終端節(jié)點之間即可建立通話過程,具體建立過程如下(2.1)任意終端節(jié)點UE1作為通話發(fā)起方將邀請(INVITE)消息分別發(fā)給其注冊的服務(wù)器節(jié)點SN C1和SN C2,并通過SN C1和SN C2將INVITE消息發(fā)送給作為通話接受方的終端節(jié)點UE2;(2.2)UE2通過其所注冊的兩個服務(wù)器節(jié)點SN C3和SN C4收到UE1的INVITE消息;(2.3)UE2收到INVITE消息后,將180消息后分別發(fā)給SN C3和SN C4,并通過SN C3和SN C4將180消息發(fā)給UE1;(2.4)UE1收到180消息,等待UE2接聽;(2.5)若UE2確認接聽,UE2會將OK消息發(fā)給SN C3和SN C4,并通過SN C3和SN C4將OK消息發(fā)給UE1;(2.6)UE1接收到OK消息后,將確認字符(ACK)消息分別發(fā)到SN C1和SN C2,并通過SN C1和SN C2發(fā)給UE2;(2.7)UE2收到ACK消息后,兩個客戶端間通話建立;(3)通話建立后,在通話過程中用戶終端定期向服務(wù)器節(jié)點發(fā)送注冊消息,進行注冊更新;(4)通話完成后,一個用戶終端會向另一方發(fā)送掛機消息來釋放呼叫,該過程包含以下步驟(4.1)當(dāng)UE1要結(jié)束通話時,UE1將BYE消息分別轉(zhuǎn)發(fā)到SN C1和SN C2;(4.2)UE2接收到BYE消息后,結(jié)束通話,將發(fā)送OK消息給SN C3和SN C4,通過他們發(fā)給UE1;(4.4)UE1收到OK消息后,呼叫釋放完成,本次通話結(jié)束。
      2.根據(jù)權(quán)利要求1所述的傳輸方法,其特征在于,所述的步驟(1)的具體注冊過程為(1. 1)終端節(jié)點向引導(dǎo)節(jié)點發(fā)送注冊消息;(1. 2)引導(dǎo)節(jié)點通過負載均衡算法選擇服務(wù)器節(jié)點,并將服務(wù)器節(jié)點列表轉(zhuǎn)發(fā)給終端 節(jié)占.I— /、、、 (1.3)終端節(jié)點從服務(wù)器節(jié)點列表中任選2個服務(wù)器節(jié)點,并將用戶標識(UID)和這2 個服務(wù)器節(jié)點的IP保存在本地列表中;(1.4)終端節(jié)點分別向上述兩個服務(wù)器節(jié)點發(fā)送注冊消息;(1. 5)終端節(jié)點收到來自上述兩個服務(wù)器節(jié)點的Ok消息,則表示注冊成功。
      3.根據(jù)權(quán)利要求1或2所述的傳輸方法,其特征在于,在步驟(1)或步驟(3)的注冊 過程中由于網(wǎng)絡(luò)問題出現(xiàn)服務(wù)器節(jié)點失效的情況時,為保證信令的可靠傳輸,進行如下處 理(A)在注冊過程中,若終端節(jié)點檢測到所注冊的兩個服務(wù)器節(jié)點中有服務(wù)器節(jié)點失效 時,終端節(jié)點再向引導(dǎo)節(jié)點發(fā)送注冊消息;(B)引導(dǎo)節(jié)點根據(jù)IP鄰近原則返回服務(wù)器節(jié)點的IP列表給終端節(jié)點;(C)終端節(jié)點再次從中選 擇新的服務(wù)器節(jié)點,重新向其發(fā)送注冊消息;(D)當(dāng)該再次選擇的服務(wù)器節(jié)點返回OK消息后,終端節(jié)點更新本地列表,該再次選擇 的服務(wù)器節(jié)點成為終端節(jié)點的服務(wù)器節(jié)點。
      全文摘要
      本發(fā)明公開了一種基于P2P的SIP VoIP系統(tǒng)中可靠信令傳輸方法,各用戶終端執(zhí)行以下步驟①用戶終端向服務(wù)器發(fā)送注冊消息,得到兩個服務(wù)器節(jié)點;②用戶終端之間通過SIP信令建立呼叫;③呼叫建立后,用戶終端之間可以通話了;在通話過程中,用戶終端還會定期向服務(wù)器節(jié)點發(fā)送注冊消息,告訴服務(wù)器節(jié)點當(dāng)前自己的狀態(tài);④通話完成后,一方向另一方發(fā)送掛機消息;⑤用戶終端之間通過SIP信令釋放呼叫,正常結(jié)束通話。本發(fā)明保證了系統(tǒng)的可靠性和動態(tài)性,避免了網(wǎng)絡(luò)狀況造成的節(jié)點失效導(dǎo)致無法正常通話的情況,并提高了系統(tǒng)的可用性。
      文檔編號H04L29/08GK101938521SQ20101027821
      公開日2011年1月5日 申請日期2010年9月10日 優(yōu)先權(quán)日2010年9月10日
      發(fā)明者廖小飛, 徐飛, 舒暢, 蔣洪磊, 邱飛, 郭峰江, 金海 , 錢力 申請人:華中科技大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1