欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

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

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

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


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