專利名稱:一種基于分布式cscf拓撲的通信方法
技術領域:
本發明屬于計算機網絡與移動 互聯網領域,具體涉及一種基于分布式CSCF拓撲的通信方法。
背景技術:
IP多媒體子系統(IP Multimedia Subsystem,簡稱IMS)作為下一代網絡(NextGeneration Network,簡稱NGN)與業務融合的核心,實現IP多媒體業務的建立、維護及管理等功能的核心網絡體系結構,建立與接入無關、能被移動網絡與固定網絡共用的融合核心網。呼叫會話控制功能(Call Session Control Function,簡稱CSCF)是IMS系統中最核心的實體服務器,它主要完成MS會話的建立、維護和拆除等各種會話控制功能。在IMS中有三種CSCF服務器,它們分別是代理CSCF服務器(Proxy-CSCF,簡稱P-CSCF)、服務CSCF 服務器(Server-CSCF,簡稱 S-CSCF)和詢問 CSCF 服務器(Interrogating-CSCF,簡稱I-CSCF)o在標準的MS中,具備核心控制功能的CSCF服務器之間的路由查找是通過集中式的方式獲取,比如P-CSCF服務器發現I-CSCF服務器過程通過DNS (Domain Name System,簡稱DNS)域名解析,I-CSCF服務器為用戶分配服務的S-CSCF服務器的時候是通過向HSS(Home Subscriber Server,簡稱HSS)請求S-CSCF服務器的地址,然后在進行適配選擇合適的S-CSC服務器分配給用戶,而為呼叫發起者提供服務的S-CSCF服務器查找為被呼叫者服務的S-CSCF服務器也是通過向集中式數據庫HSS請求被呼叫者的信息,最終定位到為被呼叫者服務的S-CSCF服務器,由此可以見,在標準的IMS中,不能功能服務器之間的發現過程采用的是集中式的方式獲得,因而存在著“單點失效”和“性能瓶頸”的問題;同時在IMS網絡中加入、移除或者更換一個CSCF服務器配置復雜;此外,業務路由過程繁瑣、效率低下、擴展能力差。
發明內容
針對現有技術的缺陷,本發明的目的在于提供一種基于分布式CSCF拓撲的通信方法,該方法實現了對標準IMS架構中的會話控制功能服務器進行分布式改造,消除“單點失效”和“性能瓶頸”,同時提高系統的擴展性和路由查找性能。為實現上述目的,本發明提供了一種基于分布式CSCF拓撲的通信方法,應用到一種分布式CSCF服務器中,該分布式CSCF服務器包括P-CSCF模塊、I-CSCF模塊和S-CSCF模塊,所述方法包括以下步驟(I)接收來自網絡操作員的服務器部署請求;(2)判斷服務器部署請求的類型是刪除分布式CSCF服務器請求還是增加分布式CSCF服務器請求,若服務器部署請求是刪除分布式CSCF服務器請求,則轉到步驟(3),若服務器部署請求是增加分布式CSCF服務器請求,則轉到步驟(4);
(3)向注冊在該待刪除分布式CSCF服務器的用戶發送注銷請求,該待刪除分布式CSCF服務器根據Chord算法離開網絡,完成此次部署過程,然后過程結束;(4)網絡操作員根據服務器部署請求來配置啟動節點,同時將P-CSCF模塊、I-CSCF模塊和S-CSCF模塊進行功能合并成為分布式CSCF服務器;(5)讀取網絡操作員配置的啟動節 點,并按照啟動節點將待加入的分布式CSCF服務器加入分布式CSCF拓撲;(6)分布式CSCF服務器接收來自用戶的請求,并判斷該請求是否是注冊和注銷請求,還是通話請求;若為注冊和注銷請求,則轉入步驟(7),否則轉入步驟(8);(7)該用戶在分布式CSCF服務器上執行注冊和注銷過程,然后過程結束;(8)該用戶在分布式CSCF服務器執行通話過程。步驟(7)包括以下子步驟(7-1) P-CSCF模塊接收用戶發送過來的注冊和注銷請求,并將該注冊和注銷請求轉發給I-CSCF模塊;(7-2) I-CSCF模塊判斷注冊和注銷請求中的超時時間是否設置為0,若設置為0,則轉到步驟(7-3),若不為0,則轉到步驟(7-6);(7-3)分布式CSCF服務器將該注銷請求轉發給S-CSCF模塊;(7-4) S-CSCF模塊執行用戶的注銷過程,并以注冊和注銷請求中會話建立協議的統一資源標識作為鍵,刪除在分布式CSCF拓撲中存儲的該URI對應的鍵值對;(7-5)S-CSCF模塊將注銷成功通過I-CSCF模塊和P-CSCF模塊返回給用戶,完成注冊和注銷過程; (7-6) I-CSCF模塊將注冊請求轉發給S-CSCF模塊;(7-7)S-CSCF模塊向HSS發起鑒權請求,并判斷鑒權請求是否失敗,若失敗則轉到步驟(7-8),否則轉到步驟(7-9);(7-8)S_CSCF模塊將鑒權失敗的結果通過I-CSCF模塊和P-CSCF模塊轉發給用戶,完成注冊和注銷過程;(7-9)S-CSCF模塊執行注冊過程,在本地記錄下用戶的信息,并在分布式CSCF拓撲中查找作為鍵值的該用戶的統一資源標識,并刪除該鍵值對應的鍵值對;(7-10)在分布式CSCF拓撲中以該用戶的統一資源標識作為鍵,以S-CSCF模塊的統一資源標識作為值,并將該鍵值對發布存儲在分布式CSCF拓撲中;(7-11) S-CSCF模塊將注冊成功的響應通過I-CSCF模塊和P-CSCF模塊返回給用戶,完成注冊和注銷過程。步驟(8)包括以下子步驟(8-1) P-CSCF模塊收到用戶的通話請求,并將該通話請求轉發給S-CSCF模塊;(8-2)S_CSCF模塊對該通話請求的用戶進行鑒權,并判斷鑒權是否通過,若沒有通過,則轉到步驟(8-3),否則轉到步驟(8-4);(8-3) S-CSCF模塊將鑒權失敗的結果通過P-CSCF模塊轉發給用戶,過程結束;
(8-4) S-CSCF模塊以該通話請求中被呼叫者的統一資源標識作為鍵在分布式CSCF拓撲中進行查找,若沒有查找到結果,說明被呼叫者還沒有注冊,然后進入步驟(8-5),否則轉到步驟(8-6);
(8-5) S-CSCF模塊將未找到被叫的結果通過P-CSCF模塊轉發給用戶,過程結束;(8-6)S_CSCF模塊將通話請求轉發給查找得到的統一資源標識對應的被呼叫者的S-CSCF 模塊;(8-7)被呼叫者的S-CSCF模塊對被呼叫者進 行鑒權,若被呼叫者的鑒權通過,則通話請求失敗,并轉到步驟(8-8),否則,則轉到步驟(8-9);(8-8)被呼叫者的S-CSCF模塊將鑒權未通過的結果通過呼叫者的S-CSCF模塊和P-CSCF模塊轉發給用戶,過程結束;(8-9 )被呼叫者的S-CSCF模塊將通話請求通過被呼叫者的P-CSCF模塊,轉發給被呼叫者,并建立呼叫者和被呼叫者之間的通信;(8-10)呼叫者或者被呼叫者接收到來自對方的Bye指令,通話過程結束。通過本發明所構思的以上技術方案,與現有技術相比,本發明具有以下的有益效果(I)消除“單點失效”和“性能瓶頸”一種分布式CSCF拓撲構建方法,通過將集中式的CSCF服務器變成分布式集群CSCF服務器群,使得原本集中式的CSCF服務器的服務能力可以由多臺分布式的CSCF服務器均攤,消除了 “單點失效”和“性能瓶頸”。(2)高可擴展性當集中式CSCF服務器變成分布式CSCF服務器的同時,也帶來了分布式的優勢,可以隨時增加和減少分布式的某臺或者某幾臺CSCF服務器,同時由于是基于DHT來進行構建的,增加的分布式CSCF服務器不需要進行額外的任何配置,就可以增加進來,為系統提供服務能力。(3)優化路由查找性能在進行路由查找的時候,CSCF服務器間的路由總是在P-CSCF服務器、I-CSCF服務器和S-CSCF服務器間進行反復的路由。當對CSCF服務器進行分布式改造之后,用戶的注冊將只發生在一臺分布式CSCF服務器上,而不需要在多臺CSCF服務器間進行路由。同時在進行會話建立的時候的路由將不需要去查詢HSS進行確認,而是可以通過進行DHT的查找,找到所要查找的分布式CSCF服務器進行服務。從而可以大大的提供系統的路由效率。
圖I是本發明基于分布式CSCF拓撲的通信方法的流程圖。圖2是本發明分布式CSCF拓撲圖。圖3是本發明方法中步驟(7)的細化流程圖。圖4是本發明方法中步驟(8)的細化流程圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。如圖I所示,本發明基于分布式CSCF拓撲的通信方法是應用到一種分布式CSCF服務器中,該分布式CSCF服務器包括P-CSCF模塊、I-CSCF模塊和S-CSCF模塊,本方法包括以下步驟 (I)接收來自網絡操作員的服務器部署請求;(2)判斷服務器部署請求的類型是刪除分布式CSCF服 務器請求還是增加分布式CSCF服務器請求,若服務器部署請求是刪除分布式CSCF服務器請求,則轉到步驟(3),若服務器部署請求是增加分布式CSCF服務器請求,則轉到步驟(4);(3)向注冊在該待刪除分布式CSCF服務器的用戶發送注銷請求,該待刪除分布式CSCF服務器根據Chord算法離開網絡,完成此次部署過程,然后過程結束;(4)網絡操作員根據服務器部署請求來配置啟動(英文名Bootstrap)節點,同時將P-CSCF模塊、I-CSCF模塊和S-CSCF模塊進行功能合并成為分布式CSCF服務器,具體而言,所有到P-CSCF的請求都將直接路由到本地的I-CSCF或者S-CSCF進行處理;(5)讀取網絡操作員配置的啟動節點,并按照啟動節點將待加入的分布式CSCF服務器加入分布式CSCF拓撲;加入節點后的分布式CSCF拓撲如圖2所示,可見由多個分布式CSCF服務器構成一個環形分布式CSCF拓撲結構;(6)分布式CSCF服務器接收來自用戶的請求,并判斷該請求是否是注冊和注銷(英文為Register)請求,還是通話請求;若為注冊和注銷請求,則轉入步驟(7),否則轉入步驟(8);(7)該用戶在分布式CSCF服務器上執行注冊和注銷過程,然后過程結束;(8)該用戶在分布式CSCF服務器執行通話過程。如圖3所示,上述步驟(7)具體包括以下子步驟(7-1) P-CSCF模塊接收用戶發送過來的注冊和注銷請求,并將該注冊和注銷請求轉發給I-CSCF模塊;(7-2) I-CSCF模塊判斷注冊和注銷請求中的超時時間是否設置為0,若設置為0,則轉到步驟(7-3),若不為0,則轉到步驟(7-6);具體而言,注冊和注銷請求中的超時時間被設置為0,表示該注冊和注銷請求為注銷請求,不為0,則表示該注冊和注銷請求為注冊請求。(7-3)分布式CSCF服務器將該注銷請求轉發給S-CSCF模塊;(7-4) S-CSCF模塊執行用戶的注銷過程,并以注冊和注銷請求中會話建立協議(Session Initiation Protocol,簡稱 SIP)的統一資源標識(Uniform resourceidentifier,簡稱URI)作為鍵,刪除在分布式CSCF拓撲中存儲的該URI對應的鍵值對;(7-5)S-CSCF模塊將注銷成功通過I-CSCF模塊和P-CSCF模塊返回給用戶,完成注冊和注銷過程;(7-6 ) I-CSCF模塊將注冊請求轉發給S-CSCF模塊;(7-7)S-CSCF模塊向HSS發起鑒權請求,并判斷鑒權請求是否失敗,若失敗則轉到步驟(7-8),否則轉到步驟(7-9);(7-8)S_CSCF模塊將鑒權失敗的結果通過I-CSCF模塊和P-CSCF模塊轉發給用戶,完成注冊和注銷過程;(7-9)S-CSCF模塊執行注冊過程,在本地記錄下用戶的信息,并在分布式CSCF拓撲中查找作為鍵值的該用戶的URI,并刪除該鍵值對應的鍵值對;
(7-10)在分布式CSCF拓撲中以該用戶的URI作為鍵,以S-CSCF模塊的URI作為值,并將該鍵值對發布存儲在分布式CSCF拓撲中;(7-11) S-CSCF模塊將注冊成功的響應通過I-CSCF模 塊和P-CSCF模塊返回給用戶,完成注冊和注銷過程。如圖4所示,上述步驟(8)具體包括以下子步驟(S-I)P-CSCF模塊收到用戶的通話(英文為Invite)請求;并將該通話請求轉發給S-CSCF 模塊;(8-2)S_CSCF模塊對該通話請求的用戶進行鑒權,并判斷鑒權是否通過,若沒有通過,則轉到步驟(8-3),否則轉到步驟(8-4);(8-3) S-CSCF模塊將鑒權失敗的結果通過P-CSCF模塊轉發給用戶,過程結束;(8-4) S-CSCF模塊以該通話請求中被呼叫者的URI作為鍵在分布式CSCF拓撲中進行查找,若沒有查找到結果,說明被呼叫者還沒有注冊,然后進入步驟(8-5),否則轉到步驟(8-6);(8-5) S-CSCF模塊將未找到被叫的結果通過P-CSCF模塊轉發給用戶,過程結束;(8-6) S-CSCF模塊將通話請求轉發給查找得到的URI對應的被呼叫者的S-CSCF模塊;(8-7)被呼叫者的S-CSCF模塊對被呼叫者進行鑒權,若被呼叫者的鑒權通過,則通話請求失敗,并轉到步驟(8-8),否則,則轉到步驟(8-9);(8-8)被呼叫者的S-CSCF模塊將鑒權未通過的結果通過呼叫者的S-CSCF模塊和P-CSCF模塊轉發給用戶,過程結束;(8-9 )被呼叫者的S-CSCF模塊將通話請求通過被呼叫者的P-CSCF模塊,轉發給被呼叫者,并建立呼叫者和被呼叫者之間的通信;(8-10)呼叫者或者被呼叫者接收到來自對方的Bye指令,通話過程結束。應用實例為了驗證本發明方法的可行性和有效性,在真實的環境下驗證本發明方法。試驗環境包括安裝CentOS release5. 6操作系統、開源HSS系統實現FHoSS、整合開源MS實現系統Open IMS Core中P-CSCF服務器、I-CSCF服務器和S-CSCF服務器為分布式CSCF服務器,以及標準IMS客戶端Boghe。時延環境配置如表I所示.表I
權利要求
1.一種基于分布式CSCF拓撲的通信方法,應用到一種分布式CSCF服務器中,該分布式CSCF服務器包括P-CSCF模塊、I-CSCF模塊和S-CSCF模塊,其特征在于,所述方法包括以下步驟 (1)接收來自網絡操作員的服務器部署請求; (2)判斷服務器部署請求的類型是刪除分布式CSCF服務器請求還是增加分布式CSCF服務器請求,若服務器部署請求是刪除分布式CSCF服務器請求,則轉到步驟(3),若服務器部署請求是增加分布式CSCF服務器請求,則轉到步驟(4); (3)向注冊在該待刪除分布式CSCF服務器的用戶發送注銷請求,該待刪除分布式CSCF服務器根據Chord算法離開網絡,完成此次部署過程,然后過程結束; (4)網絡操作員根據服務器部署請求來配置啟動節點,同時將P-CSCF模塊、I-CSCF模塊和S-CSCF模塊進行功能合并成為分布式CSCF服務器; (5)讀取網絡操作員配置的啟動節點,并按照啟動節點將待加入的分布式CSCF服務器加入分布式CSCF拓撲; (6)分布式CSCF服務器接收來自用戶的請求,并判斷該請求是否是注冊和注銷請求,還是通話請求;若為注冊和注銷請求,則轉入步驟(7),否則轉入步驟(8); (7)該用戶在分布式CSCF服務器上執行注冊和注銷過程,然后過程結束; (8)該用戶在分布式CSCF服務器執行通話過程。
2.根據權利要求I所述的通信方法,其特征在于,步驟(7)包括以下子步驟 (7-1) P-CSCF模塊接收用戶發送過來的注冊和注銷請求,并將該注冊和注銷請求轉發給I-CSCF模塊; (7-2) I-CSCF模塊判斷注冊和注銷請求中的超時時間是否設置為0,若設置為0,則轉到步驟(7-3),若不為0,則轉到步驟(7-6); (7-3)分布式CSCF服務器將該注銷請求轉發給S-CSCF模塊; (7-4) S-CSCF模塊執行用戶的注銷過程,并以注冊和注銷請求中會話建立協議的統一資源標識作為鍵,刪除在分布式CSCF拓撲中存儲的該URI對應的鍵值對; (7-5)S-CSCF模塊將注銷成功通過I-CSCF模塊和P-CSCF模塊返回給用戶,完成注冊和注銷過程; (7-6) I-CSCF模塊將注冊請求轉發給S-CSCF模塊; (7-7)S-CSCF模塊向HSS發起鑒權請求,并判斷鑒權請求是否失敗,若失敗則轉到步驟(7-8),否則轉到步驟(7-9); (7-8) S-CSCF模塊將鑒權失敗的結果通過I-CSCF模塊和P-CSCF模塊轉發給用戶,完成注冊和注銷過程; (7-9)S-CSCF模塊執行注冊過程,在本地記錄下用戶的信息,并在分布式CSCF拓撲中查找作為鍵值的該用戶的統一資源標識,并刪除該鍵值對應的鍵值對; (7-10)在分布式CSCF拓撲中以該用戶的統一資源標識作為鍵,以S-CSCF模塊的統一資源標識作為值,并將該鍵值對發布存儲在分布式CSCF拓撲中; (7-ll)S-CSCF模塊將注冊成功的響應通過I-CSCF模塊和P-CSCF模塊返回給用戶,完成注冊和注銷過程。
3.根據權利要求I所述的通信方法,其特征在于,步驟(8)包括以下子步驟(8-1) P-CSCF模塊收到用戶的通話請求,并將該通話請求轉發給S-CSCF模塊; (8-2) S-CSCF模塊對該通話請求的用戶進行鑒權,并判斷鑒權是否通過,若沒有通過,則轉到步驟(8-3),否則轉到步驟(8-4); (8-3) S-CSCF模塊將鑒權失敗的結果通過P-CSCF模塊轉發給用戶,過程結束; (8-4) S-CSCF模塊以該通話請求中被呼叫者的統一資源標識作為鍵在分布式CSCF拓撲中進行查找,若沒有查找到結果,說明被呼叫者還沒有注冊,然后進入步驟(8-5),否則轉到步驟(8-6); (8-5) S-CSCF模塊將未找到被叫的結果通過P-CSCF模塊轉發給用戶,過程結束;(8-6) S-CSCF模塊將通話請求轉發給查找得到的統一資源標識對應的被呼叫者的S-CSCF 模塊; (8-7)被呼叫者的S-CSCF模塊對被呼叫者進行鑒權,若被呼叫者的鑒權通過,則通話請求失敗,并轉到步驟(8-8),否則,則轉到步驟(8-9); (8-8)被呼叫者的S-CSCF模塊將鑒權未通過的結果通過呼叫者的S-CSCF模塊和P-CSCF模塊轉發給用戶,過程結束; (8-9)被呼叫者的S-CSCF模塊將通話請求通過被呼叫者的P-CSCF模塊,轉發給被呼叫者,并建立呼叫者和被呼叫者之間的通信; (8-10)呼叫者或者被呼叫者接收到來自對方的Bye指令,通話過程結束。
全文摘要
本發明公開了一種基于分布式CSCF拓撲的通信方法,包括步驟接收來自網絡操作員的服務器部署請求,判斷服務器部署請求的類型是刪除分布式CSCF服務器請求還是增加分布式CSCF服務器請求,若服務器部署請求是增加分布式CSCF服務器請求,則網絡操作員根據服務器部署請求來配置啟動節點,同時將P-CSCF模塊、I-CSCF模塊和S-CSCF模塊進行功能合并成為分布式CSCF服務器,讀取網絡操作員配置的啟動節點,并按照啟動節點將待加入的分布式CSCF服務器加入分布式CSCF拓撲,分布式CSCF服務器接收來自用戶的請求,若請求為注冊和注銷請求,則該用戶在分布式CSCF服務器上執行注冊和注銷過程。本發明消除“單點失效”和“性能瓶頸”,同時提高系統的擴展性和路由查找性能。
文檔編號H04L29/06GK102769614SQ20121022746
公開日2012年11月7日 申請日期2012年7月3日 優先權日2012年7月3日
發明者廖小飛, 彭揚威, 金海 , 陸楓 申請人:華中科技大學