亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種SIP消息的傳遞系統(tǒng)及方法與流程

文檔序號:12134820閱讀:212來源:國知局
一種SIP消息的傳遞系統(tǒng)及方法與流程

本發(fā)明屬于通信技術領域,尤其涉及一種SIP消息的傳遞系統(tǒng)及方法。



背景技術:

當前,SIP(Session Initiation Protocol,會話初始協(xié)議)消息的傳遞處理是將一個物理主機作為一個SIP服務器設備來使用,即SIP服務器與物理主機都是一對一的關系,用戶在向SIP服務器發(fā)送SIP消息時,物理主機會根據(jù)SIP消息的地址信息,將SIP消息發(fā)送給指定的SIP服務器?,F(xiàn)有技術中,每個SIP服務器上注冊的用戶數(shù)都是相對有限的,要增加SIP服務器的數(shù)量必須通過增加物理主機的數(shù)量來實現(xiàn)。



技術實現(xiàn)要素:

本發(fā)明提供一種SIP消息的傳遞系統(tǒng)及方法,在不增加物理主機的前提下,增加注冊用戶數(shù)。

為達到上述目的,本發(fā)明采用如下技術方案予以實現(xiàn)。

技術方案一:

一種SIP消息的傳遞系統(tǒng),所述系統(tǒng)基于一個物理主機,以及在所述一個物理主機上擴展出的多個虛擬主機,且每個虛擬主機作為一個SIP服務器;

所述物理主機上設置有存儲模塊、消息接收模塊、查詢模塊以及消息傳遞模塊;

所述存儲模塊,用于存儲SIP服務器選擇判定表;所述SIP服務器選擇判定表中至少記錄了從物理主機上擴展出的每個SIP服務器所對應的地址標識;

所述消息接收模塊,用于接收SIP消息;所述SIP消息中包含該SIP消息的源地址和目的地址;所述SIP消息的源地址為發(fā)送該SIP消息的用戶所注冊的SIP服務器的地址;所述SIP消息的目的地址為發(fā)送該SIP消息的用戶要求訪問的SIP服務器的地址;

所述查詢模塊,用于根據(jù)SIP消息的源地址,從所述SIP服務器選擇判定表中確定發(fā)送該SIP消息的用戶所注冊的SIP服務器;或者,用于根據(jù)SIP消息的目的地址,從所述SIP服務器選擇判定表確定發(fā)送該SIP消息的用戶要求訪問的SIP服務器;

所述消息傳遞模塊,用于根據(jù)SIP消息的源地址,將所述SIP消息轉發(fā)到發(fā)送該SIP消息的用戶所注冊的SIP服務器;或者,用于根據(jù)SIP消息的目的地址,將所述SIP消息轉發(fā)到發(fā)送該SIP消息的用戶要求訪問的SIP服務器。

技術方案二:

一種SIP消息的傳遞方法,所述傳遞方法應用于如技術方案以所述的傳遞系統(tǒng),所述方法包括如下步驟:

步驟1,在一個物理主機上擴展出多個虛擬主機,每個虛擬主機作為一個SIP服務器;

步驟2,所述物理主機接收SIP消息,所述SIP消息中包含該SIP消息的源地址和目的地址;

步驟3,所述物理主機根據(jù)所述SIP消息中的目的地址,從SIP服務器選擇判定表中確定發(fā)送該SIP消息的用戶要求訪問的SIP服務器;

若所述物理主機在所述SIP消息中未匹配到目的地址,物理主機根據(jù)所述SIP消息中的源地址,從SIP服務器選擇判定表中確定發(fā)送該SIP消息的用戶所注冊的SIP服務器;

其中,所述SIP服務器選擇判定表存儲于所述物理主機的存儲模塊中,且所述SIP服務器選擇判定表中至少記錄了從物理主機上擴展出的每個SIP服務器所對應的地址標識;

步驟4,所述物理主機根據(jù)所述SIP消息的目的地址,將所述SIP消息轉發(fā)到發(fā)送該SIP消息的用戶要求訪問的SIP服務器;

或者,所述物理主機根據(jù)所述SIP消息的源地址,將所述SIP消息轉發(fā)到發(fā)送該SIP消息的用戶所注冊的SIP服務器。

技術方案二的特點和進一步的改進為:

(1)在步驟1之后,且在步驟2之前,所述方法還包括:

每個SIP服務器接收多個用戶的注冊信息,完成用戶注冊;每個用戶發(fā)送的SIP消息的源地址為該用戶注冊的SIP服務器的地址。

(2)步驟4中,所述物理主機根據(jù)所述SIP消息的源地址,將所述SIP消息轉發(fā)到發(fā)送該SIP消息的用戶所注冊的SIP服務器之后,所述方法還包括:

發(fā)送該SIP消息的用戶所注冊的SIP服務器根據(jù)該SIP消息中的目的地址,將該SIP消息轉發(fā)到所述目的地址對應的SIP服務器。

(3)所述SIP消息的源地址通過register字段記錄,或者所述SIP消息的源地址通過route字段記錄,或者所述SIP消息的源地址通過from字段記錄;

所述SIP消息的目的地址通過to字段記錄;

步驟3中,所述物理主機從所述SIP消息中查找register字段所攜帶的源地址,并根據(jù)所述SIP消息中register字段所攜帶的源地址,將所述SIP消息發(fā)送給該register字段所攜帶的源地址對應的SIP服務器;

若所述物理主機從所述SIP消息中未查找到register字段,則所述物理主機從所述SIP消息中查找route字段所攜帶的源地址,并根據(jù)所述SIP消息中route字段所攜帶的源地址,將所述SIP消息發(fā)送給該route字段所攜帶的源地址對應的SIP服務器;

若所述物理主機從所述SIP消息中未查找到route字段,則所述物理主機從所述SIP消息中查找to字段所攜帶的目的地址,并根據(jù)所述SIP消息中to字段所攜帶的目的地址,將所述SIP消息發(fā)送給該to字段所攜帶的目的地址對應的SIP服務器;

若所述物理主機從所述SIP消息中未查找到to字段,則所述物理主機從所述SIP消息中查找from字段所攜帶的源地址,并根據(jù)所述SIP消息中from字段所攜帶的源地址,將所述SIP消息發(fā)送給該from字段所攜帶的源地址對應的SIP服務器。

本發(fā)明技術方案通過在一個物理主機上擴展多個虛擬主機,并將每個虛擬主機作為一個SIP服務器,用一個物理主機控制多個SIP服務器,從而實現(xiàn)在不增加物理主機的前提下,增加注冊用戶數(shù);實現(xiàn)該物理主機上所有注冊用戶之間的SIP消息傳遞。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實施例提供的SIP消息的傳遞系統(tǒng)的結構示意圖;

圖2為本發(fā)明實施例提供的物理主機的結構示意圖;

圖3為本發(fā)明實施例提供的SIP消息的傳遞方法的流程示意圖一;

圖4為本發(fā)明實施例提供的SIP消息的傳遞方法的流程示意圖二。

具體實施方式

下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

SIP協(xié)議是一個基于文本的協(xié)議,使用UTF-8字符集。SIP消息用于會話連接的建立及修改,格式與HTTP協(xié)議的格式很相像。一個SIP消息既可以是從一個客戶端到服務器的請求,也可以是一個服務器到客戶端的應答。SIP消息的類型是由一個起始行、一個或者多個包頭域,一個可選的消息文本組成。

SIP消息包括三個部分:起始行,位于消息的最開始,包含消息的類型和協(xié)議版本等內(nèi)容。消息頭,描述消息的屬性,類似于HTTP消息頭的語法和語義,在一個消息中,頭可以有多行。SIP消息分為REQUSET(請求)和RESPONSE(響應)兩類。REQUEST消息有6個基本類型,包括:INVITE(發(fā)起呼叫)、ACK(對應答作出回應)、BYE(拆除連接)、CANCLE(取消)、OPTION(查詢對方的能力)、REGISTER(注冊)。

本發(fā)明實施例提供一種SIP消息的傳遞系統(tǒng),如圖1所示,所述系統(tǒng)基于一個物理主機,以及在所述一個物理主機上擴展出的多個虛擬主機,且每個虛擬主機作為一個SIP服務器;

如圖2所示,所述物理主機上設置有存儲模塊、消息接收模塊、查詢模塊以及消息傳遞模塊;

所述存儲模塊,用于存儲SIP服務器選擇判定表;所述SIP服務器選擇判定表中至少記錄了從物理主機上擴展出的每個SIP服務器所對應的地址標識;

所述消息接收模塊,用于接收SIP消息;所述SIP消息中包含該SIP消息的源地址和目的地址;所述SIP消息的源地址為發(fā)送該SIP消息的用戶所注冊的SIP服務器的地址;所述SIP消息的目的地址為發(fā)送該SIP消息的用戶要求訪問的SIP服務器的地址;

所述查詢模塊,用于根據(jù)SIP消息的源地址,從所述SIP服務器選擇判定表中確定發(fā)送該SIP消息的用戶所注冊的SIP服務器;或者,用于根據(jù)SIP消息的目的地址,從所述SIP服務器選擇判定表確定發(fā)送該SIP消息的用戶要求訪問的SIP服務器;

所述消息傳遞模塊,用于根據(jù)SIP消息的源地址,將所述SIP消息轉發(fā)到發(fā)送該SIP消息的用戶所注冊的SIP服務器;或者,用于根據(jù)SIP消息的目的地址,將所述SIP消息轉發(fā)到發(fā)送該SIP消息的用戶要求訪問的SIP服務器。

本發(fā)明實施例還提供一種SIP消息的傳遞方法,所述傳遞方法應用于上述實施例所述的傳遞系統(tǒng),如圖3所示,所述方法包括如下步驟:

步驟1,在一個物理主機上擴展出多個虛擬主機,每個虛擬主機作為一個SIP服務器;

步驟2,所述物理主機接收SIP消息,所述SIP消息中包含該SIP消息的源地址和目的地址;

步驟3,所述物理主機根據(jù)所述SIP消息中的目的地址,從SIP服務器選擇判定表中確定發(fā)送該SIP消息的用戶要求訪問的SIP服務器;

若所述物理主機在所述SIP消息中未匹配到目的地址,物理主機根據(jù)所述SIP消息中的源地址,從SIP服務器選擇判定表中確定發(fā)送該SIP消息的用戶所注冊的SIP服務器;

其中,所述SIP服務器選擇判定表存儲于所述物理主機的存儲模塊中,且所述SIP服務器選擇判定表中至少記錄了從物理主機上擴展出的每個SIP服務器所對應的地址標識;

具體的,所述SIP消息的源地址通過register字段記錄,或者所述SIP消息的源地址通過route字段記錄,或者所述SIP消息的源地址通過from字段記錄;

所述SIP消息的目的地址通過to字段記錄;

步驟3中,所述物理主機從所述SIP消息中查找register字段所攜帶的源地址,并根據(jù)所述SIP消息中register字段所攜帶的源地址,將所述SIP消息發(fā)送給該register字段所攜帶的源地址對應的SIP服務器;

若所述物理主機從所述SIP消息中未查找到register字段,則所述物理主機從所述SIP消息中查找route字段所攜帶的源地址,并根據(jù)所述SIP消息中route字段所攜帶的源地址,將所述SIP消息發(fā)送給該route字段所攜帶的源地址對應的SIP服務器;

若所述物理主機從所述SIP消息中未查找到route字段,則所述物理主機從所述SIP消息中查找to字段所攜帶的目的地址,并根據(jù)所述SIP消息中to字段所攜帶的目的地址,將所述SIP消息發(fā)送給該to字段所攜帶的目的地址對應的SIP服務器;

若所述物理主機從所述SIP消息中未查找到to字段,則所述物理主機從所述SIP消息中查找from字段所攜帶的源地址,并根據(jù)所述SIP消息中from字段所攜帶的源地址,將所述SIP消息發(fā)送給該from字段所攜帶的源地址對應的SIP服務器。

步驟4,所述物理主機根據(jù)所述SIP消息的源地址,將所述SIP消息轉發(fā)到發(fā)送該SIP消息的用戶所注冊的SIP服務器;

或者,所述物理主機根據(jù)所述SIP消息的目的地址,將所述SIP消息轉發(fā)到發(fā)送該SIP消息的用戶要求訪問的SIP服務器。

具體的,步驟4中,所述物理主機根據(jù)所述SIP消息的源地址,將所述SIP消息轉發(fā)到發(fā)送該SIP消息的用戶所注冊的SIP服務器之后,所述方法還包括:

發(fā)送該SIP消息的用戶所注冊的SIP服務器根據(jù)該SIP消息中的目的地址,將該SIP消息轉發(fā)到所述目的地址對應的SIP服務器。

需要補充的是,在步驟1之后,且在步驟2之前,所述方法還包括:每個SIP服務器接收多個用戶的注冊信息,完成用戶注冊;每個用戶發(fā)送的SIP消息的源地址為該用戶注冊的SIP服務器的地址。

示例性的,

用戶在使用SIP服務器之前首先要完成注冊功能,假設用戶A的注冊請求為:

Register SIP:aaa.com/2.0

Via:SIP/2.0/UDP sip.aaa.com

From:SIP:1234@aaa.com

To:SIP:1234@aaa.com

Call-id:12345@sip.aaa.com

CSeq:1 register

Content:

Expires:3600

INVITE請求是SIP消息中最基本的一種,用來發(fā)起一個會話,當用戶A向用戶B發(fā)出一個INVITE請求時,在此消息里包含了INVITE、ROUTE、Via、To、From、Call-ID、Cseq、Subject以及Content字段,其中To和INVITE字段是相同的,都是被呼叫方的地址,這些字段上的文本附加信息可以被SIP解釋器解析。

用戶與SIP服務器之間的交互是通過向指定的SIP服務器上發(fā)送標準的INVITE消息,SIP消息的傳遞處理是根據(jù)SIP消息的數(shù)據(jù)格式來區(qū)分的,標準的格式如下:

INVITE sip:1002@aaa.com SIP/2.0

ROUTE:sip:aaa.com

Via:SIP/2.0/UDP aaa.com;branch=z9hG4bKnas

Max-Forwards:70

Contact:<sip:1001@aaa.com>

TO:”1002”<sip:1002@bbb.com>

From:”1001”<sip:1002@aaa.com>;tag=5e6f8316

Call-ID:XXXXXXXXXXXXXX

Cseq:1 INVITE

Content-Type:application/sdp

Content-Length:415

V=

O=

S=

……

首行的INVITE作為SIP消息的起始行,To頭字段指定請求消息的邏輯接收者或者是資源的注冊地址。From字段是指示請求發(fā)起方的邏輯標識。通過這些SIP消息字段中的內(nèi)容,可以將SIP消息傳遞給在一臺物理主機上運行的指定的虛擬SIP服務器。

每一臺物理主機的硬件組成大致都包含:CPU處理器,外圍存儲設備,內(nèi)部存儲器等。一臺物理主機上可以運行多個虛擬主機,假設運行了3個虛擬主機,每一臺虛擬主機都相對獨立的作為一個SIP服務器。在SIP消息的傳遞過程中涉及到的功能模塊有:消息接收模塊、查詢模塊、消息傳遞模塊。消息接收模塊可以接收來自網(wǎng)絡的SIP消息;查詢模塊是根據(jù)SIP消息的格式逐一查詢存儲設備中的SIP服務器選擇判定表,根據(jù)SIP服務器選擇判定表中的記錄查詢到與接收的SIP消息判定條件相匹配的SIP服務器,消息傳遞模塊是根據(jù)查詢模塊的結果,將SIP消息傳遞給指定的SIP服務器。

又示例性的,如圖4所示,假設SIP服務器1上的用戶A要與SIP服務器2上的用戶B發(fā)起會話消息。首先用戶A應當注冊到一個SIP服務器上,消息接收模塊根據(jù)用戶A的注冊消息內(nèi)容,將注冊消息中的register字段的信息在SIP服務器選擇判定表(SIP服務器選擇判定表的內(nèi)容如表1所示)進行查詢,得知用戶A是要注冊到sip:aaa.com的SIP服務器,消息傳遞模塊就會根據(jù)SIP服務器選擇判定表中的內(nèi)容,將注冊消息發(fā)送給對應的SIP服務器1上。同理,用戶B注冊到SIP服務器2上。

當用戶A要向用戶B發(fā)起會話請求時,根據(jù)INVITE消息的內(nèi)容,消息接收模塊接收來自用戶A的INVITE消息后,查詢模塊根據(jù)SIP服務器選擇判定表,首要的判定條件是route信息,將SIP消息中route字段中的地址提取出來與SIP服務器選擇判定表中的第一個判定條件比較,如果地址一致,則將SIP消息傳遞至與判定條件相對應的SIP服務器上,進行消息的傳遞。由于用戶A發(fā)送INVITE消息中ROUTE:sip:aaa.com,消息傳遞模塊將會把該INVITE消息傳遞給SIP服務器1,SIP服務器1根據(jù)INVITE消息中的TO字段攜帶的用戶B的地址,將該消息轉發(fā)給在同一臺主機上的另外一個SIP服務器2。當INVITE消息成功發(fā)往SIP服務器2時,SIP服務器2會給用戶A返回狀態(tài)碼為100(TRYING)的臨時消息。

表1 SIP服務器選擇判定表

判定表中的內(nèi)容根據(jù)sip消息格式構造,根據(jù)SIP消息的格式,以及對常用SIP消息的分析,提取出在SIP用戶注冊、發(fā)起會話請求時常用到的消息格式,將register、route、to、from作為判定條件的關鍵項。

具體的SIP消息傳遞流程根據(jù)判定表中的判定條件來實現(xiàn),具體流程見圖4所示。SIP消息接收模塊接收到來自網(wǎng)絡的SIP消息后,根據(jù)判定表的判定條件先后順序,首先提取SIP消息中的register字段與判定表中的判定條件1相比較,比較的結果為真的話,就按照判定表中指定的SIP server完成SIP消息的傳遞,若比較結果為假的話,提取SIP消息中的route字段與判定表中的判定條件2相比較,比較的結果為真的話,就按照判定表中指定的SIP server完成SIP消息的傳遞,若比較結果為假的話,提取SIP消息中的to字段與判定表中的判定條件3相比較,比較的結果為真的話,就按照判定表中指定的SIP server完成SIP消息的傳遞,若比較結果為假的話,提取SIP消息中的from字段與判定表中的判定條件4相比較,若沒有找到與判定表中相匹配的內(nèi)容,提示消息退出。

SIP服務器選擇判定表的條件可以根據(jù)不同的應用場景動態(tài)的配置,能夠增加不同SIP消息傳遞的靈活性。

由于現(xiàn)有的交換技術是在一臺物理主機上運行一個SIP服務器,子網(wǎng)內(nèi)的所有用戶注冊到一個主機上,那么一個主機上注冊的用戶數(shù)就相對有限。本發(fā)明實施例通過在一個物理主機上擴展出多個虛擬主機,每一個虛擬主機作為一個SIP服務器,那么注冊到同一個物理主機上的用戶就會根據(jù)虛擬主機的數(shù)量遞增。

以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應以所述權利要求的保護范圍為準。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1