專利名稱:過濾會話發(fā)起協(xié)議消息的系統(tǒng)、裝置和方法
技術領域:
本發(fā)明涉及會話發(fā)起協(xié)議(SIP,Session Initiation Protocol)應用技術,特別是涉及一種過濾SIP消息的系統(tǒng)、裝置和方法。
背景技術:
SIP是由Internet工程任務組(IETF,Internet Engineering Task Force)提出的一種網際協(xié)議(Internet Protocol,IP)電話信令協(xié)議。它的初始目的是為了解決IP網絡中的信令控制,以及同SIP代理(SIP proxy)的通信,從而構成下一代的增值業(yè)務平臺,對電信、銀行、金融等行業(yè)提供更好的增值業(yè)務。
SIP是IETF標準進程的一部分,它是在諸如簡單郵件傳送協(xié)議(SMTP,Simple Mail Transport Protocol)和超文本傳送協(xié)議(HTTP,HyperTextTransport Protocol)等協(xié)議的基礎上建立起來的。SIP被描述為用來生成、修改和終結一個或多個參與者之間的會話,這些會話包括因特網多媒體會議、因特網(或任何IP網絡)電話呼叫和多媒體發(fā)布。SIP還支持IP網絡下的其它新型業(yè)務如即時消息、語音會議和統(tǒng)一消息等。另外,SIP已經成為第三代通信服務的呼叫控制協(xié)議。
因此,由于SIP具有簡單、易于擴展、便于實現(xiàn)等諸多優(yōu)點,它逐步成為下一代智能網絡(NGIN,Next Generation Intelligent Network)和第三代網絡(3G,3rdGeneration)多媒體子系統(tǒng)域中的重要協(xié)議,并且出現(xiàn)了越來越多的支持SIP的客戶端軟件和智能多媒體終端,以及用SIP協(xié)議實現(xiàn)的服務器和軟交換設備。
SIP業(yè)務是根據(jù)SIP協(xié)議來實現(xiàn)的應用,例如IP電話(Voice over InternetProtocol,VoIP)業(yè)務、呈現(xiàn)(Presence)業(yè)務、即時消息(IM)業(yè)務,等等。
圖1示出了一種SIP網絡的結構。從圖1中可以看出,SIP用戶代理通過SIP代理連接至SIP應用服務器。
SIP應用服務器(SIP AS,SIP Application Server)是控制和執(zhí)行存儲于其上、基于SIP協(xié)議的業(yè)務的功能實體,是使用SIP作為多媒體會話控制協(xié)議的通信網絡的最重要的部件。SIP應用服務器具有背靠背用戶代理服務器(B2BUA,Back-to-Back User Agent)的作用,SIP代理從SIP應用服務器獲取信息以路由呼叫。由于SIP應用服務器是提供增值服務的中心實體,因此,對流向SIP應用服務器的SIP消息進行一定的控制是非常必要的。原因在于,其一有時為了使SIP業(yè)務得以順利開始,需要控制SIP應用服務器的負載,使其保持在一定水平;其二,并非所有SIP代理轉發(fā)給SIP應用服務器的消息都是必要的,轉發(fā)這些消息將造成傳輸資源的浪費,并且也會增大SIP應用服務器的負載。然而,現(xiàn)有技術還沒有提供此類對流向SIP應用服務器的消息進行控制的機制。
發(fā)明內容
有鑒于此,本發(fā)明的主要目的在于提供一種過濾SIP消息的系統(tǒng)、裝置和方法,通過對流向SIP應用服務器的SIP消息進行控制,來控制SIP應用服務器的負載。
本發(fā)明的目的是通過如下技術方案實現(xiàn)的一種過濾會話發(fā)起協(xié)議SIP消息的系統(tǒng),包括SIP應用服務器、SIP代理和SIP消息過濾裝置;其中所述SIP消息過濾裝置生成過濾規(guī)則并根據(jù)所述過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾,指示SIP代理丟棄滿足過濾規(guī)則的SIP消息和向SIP應用服務器發(fā)送不滿足過濾規(guī)則的SIP消息。
所述SIP消息過濾裝置向SIP應用服務器上報過濾結果。
所述SIP消息過濾裝置包括應用服務器端過濾單元和代理端過濾單元;其中應用服務器端過濾單元生成過濾規(guī)則并將過濾規(guī)則發(fā)送至代理端過濾單元,代理端過濾單元根據(jù)所述過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾,指示SIP代理丟棄滿足過濾規(guī)則的SIP消息和向SIP應用服務器發(fā)送不滿足過濾規(guī)則的SIP消息。
所述應用服務器端過濾單元包括規(guī)則生成單元和規(guī)則封裝單元;所述代理端過濾單元包括規(guī)則解析單元和過濾執(zhí)行單元;其中規(guī)則生成單元生成過濾規(guī)則,規(guī)則封裝單元將過濾規(guī)則通過過濾規(guī)則下發(fā)消息發(fā)送至規(guī)則解析單元;規(guī)則解析單元從過濾規(guī)則下發(fā)消息中解析出過濾規(guī)則,并將過濾規(guī)則發(fā)送至過濾執(zhí)行單元;過濾執(zhí)行單元根據(jù)所述過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾,指示SIP代理丟棄滿足過濾規(guī)則的SIP消息和向SIP應用服務器發(fā)送不滿足過濾規(guī)則的SIP消息。
所述應用服務器端過濾單元進一步包括結果解析單元;所述代理端過濾單元進一步包括結果封裝單元;過濾執(zhí)行單元將過濾結果發(fā)送至結果封裝單元;結果封裝單元將過濾結果通過過濾結果上報消息發(fā)送至結果解析單元;結果解析單元從所述過濾結果上報消息中解析出過濾結果,并將過濾結果發(fā)送至SIP應用服務器。
所述規(guī)則生成單元在SIP應用服務器的指示下生成過濾規(guī)則。
一種過濾SIP消息的裝置,包括應用服務器端過濾單元和代理端過濾單元;其中應用服務器端過濾單元生成過濾規(guī)則并將過濾規(guī)則發(fā)送至代理端過濾單元,代理端過濾單元根據(jù)所述過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾,指示SIP代理丟棄滿足過濾規(guī)則的SIP消息和向SIP應用服務器發(fā)送不滿足過濾規(guī)則的SIP消息。
所述應用服務器端過濾單元包括規(guī)則生成單元和規(guī)則封裝單元;所述代理端過濾單元包括規(guī)則解析單元和過濾執(zhí)行單元;其中規(guī)則生成單元生成過濾規(guī)則,規(guī)則封裝單元將過濾規(guī)則通過過濾規(guī)則下發(fā)消息發(fā)送至規(guī)則解析單元;規(guī)則解析單元從過濾規(guī)則下發(fā)消息中解析出過濾規(guī)則,并將過濾規(guī)則發(fā)送至過濾執(zhí)行單元;過濾執(zhí)行單元根據(jù)所述過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾,指示SIP代理丟棄滿足過濾規(guī)則的SIP消息和向SIP應用服務器發(fā)送不滿足過濾規(guī)則的SIP消息。
所述應用服務器端過濾單元進一步包括結果解析單元;所述代理端過濾單元進一步包括結果封裝單元;過濾執(zhí)行單元將過濾結果發(fā)送至結果封裝單元;結果封裝單元將過濾結果通過過濾結果上報消息發(fā)送至結果解析單元;結果解析單元從所述過濾結果上報消息中解析出過濾結果,并將過濾結果發(fā)送至SIP應用服務器。
所述應用服務器端過濾單元與SIP應用服務器位于同一物理實體;所述代理端過濾單元與SIP代理位于同一物理實體。
一種過濾SIP消息的方法,包括以下步驟設置對SIP消息進行過濾的過濾規(guī)則;根據(jù)所設置的過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾。
所述過濾規(guī)則包括過濾條件和/或過濾方式。
所述設置過濾規(guī)則包括根據(jù)SIP應用服務器的參數(shù)設置對SIP消息進行過濾的過濾規(guī)則。
所述SIP應用服務器的參數(shù)包括以下任一項或任幾項的組合會話或呼叫參數(shù)、并發(fā)呼叫上限、最大忙時試呼次數(shù)BHCA、指定的拒絕和/或接受呼叫的比例。
所述過濾條件包含以下任意一種SIP消息頭的一個字段的值,SIP消息頭的一個以上字段的值的組合,SIP消息類型的值,SIP消息頭的一個字段的值和SIP消息類型的值的組合,SIP消息頭的幾個字段的值和SIP消息類型的值的組合。
所述過濾條件包含在預定時間段內允許轉發(fā)的SIP消息的數(shù)量最大值。
所述過濾方式包含向SIP應用服務器上報過濾結果的指示;在根據(jù)所設置的過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾之后,進一步包括根據(jù)所述過濾方式,向SIP應用服務器上報過濾結果。
所述向SIP應用服務器上報過濾結果為設置一個過濾計數(shù)器并將該計數(shù)器清零;每對一條SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾,過濾計數(shù)器的值加一,當過濾計數(shù)器的值達到上報閾值時,向SIP應用服務器上報對數(shù)量為上報閾值的SIP消息進行過濾的結果,然后將過濾計數(shù)器清零。
所述過濾方式包含向滿足過濾規(guī)則的SIP消息所對應的SIP會話的發(fā)起方應答的指示;在根據(jù)所設置的過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾之后,進一步包括在對SIP代理待發(fā)往SIP應用服務器的SIP消息過濾之后,指示SIP代理向滿足過濾規(guī)則的SIP消息所對應的SIP會話的發(fā)起方應答。
所述過濾方式包含向不滿足過濾規(guī)則的SIP消息對對應的SIP會話的發(fā)起方應答的指示;在根據(jù)所設置的過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾之后,進一步包括在對SIP代理待發(fā)往SIP應用服務器的SIP消息過濾之后,指示SIP代理向不滿足過濾規(guī)則的SIP消息所對應的SIP會話的發(fā)起方應答。
所述指示SIP代理向SIP消息所對應的SIP會話的發(fā)起方應答包括指示SIP代理通過應答代碼、虛擬可擴展標記語言文件標識或放音向SIP消息所對應的SIP會話的發(fā)起方應答。
所述過濾方式包含靜態(tài)過濾或動態(tài)過濾;如果過濾方式包含靜態(tài)過濾,則所述SIP代理在預先指定的時間段內對SIP消息進行過濾;如果過濾方式包含動態(tài)過濾,則所述SIP代理隨時對SIP消息進行過濾。
所述設置過濾規(guī)則包括在SIP應用服務器側設置過濾規(guī)則,并將過濾規(guī)則通過過濾規(guī)則下發(fā)消息發(fā)送至SIP代理側。
所述過濾規(guī)則下發(fā)消息為預先定義的一種新的SIP消息或SUBSCRIBE消息;所述將過濾規(guī)則通過過濾規(guī)則下發(fā)消息發(fā)送至SIP代理包括將過濾規(guī)則攜帶在過濾規(guī)則下發(fā)消息中,發(fā)送至SIP代理側。
所述上報過濾結果包括將過濾結果通過過濾結果上報消息發(fā)送至SIP應用服務器。
所述過濾結果上報消息為PUBLISH消息或NOTIFY消息;所述將過濾結果通過過濾結果上報消息發(fā)送至SIP應用服務器包括將過濾結果攜帶在過濾結果上報消息中,發(fā)送至SIP應用服務器。
從以上技術方案可以看出,設置SIP消息過濾裝置,該SIP消息過濾裝置生成過濾規(guī)則并根據(jù)所述過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾,指示SIP代理丟棄滿足過濾規(guī)則的SIP消息或向SIP應用服務器發(fā)送不滿足過濾規(guī)則的SIP消息。由于對SIP代理待發(fā)往SIP應用服務器的SIP消息進行了過濾,也就是說,過濾掉SIP應用服務器不需要的SIP消息,僅上傳SIP應用服務器需要的SIP消息,這樣,不僅可以有效地控制SIP應用服務器的負載,而且還可以實現(xiàn)對某些SIP應用服務器不需要的SIP消息進行攔截。此外,除了按照某些具體規(guī)則對SIP消息進行過濾,本發(fā)明還包括通過控制轉發(fā)給SIP應用服務器的SIP消息數(shù)量來進行負荷控制,從而達到控制呼叫量的目的。
圖1是SIP網絡結構的示意圖。
圖2是本發(fā)明一實施例的過濾SIP消息的系統(tǒng)結構示意圖。
圖3示出了本發(fā)明一實施例的SIP消息過濾裝置的結構示意圖。
圖4是根據(jù)本發(fā)明一優(yōu)選實施例的過濾SIP消息的方法流程圖。
具體實施例方式
為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明的核心思想是設置SIP消息過濾裝置,所述SIP消息過濾裝置生成過濾規(guī)則并根據(jù)所述過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾,指示SIP代理丟棄滿足過濾規(guī)則的SIP消息和向SIP應用服務器發(fā)送不滿足過濾規(guī)則的SIP消息。
圖2是本發(fā)明一實施例的過濾SIP消息的系統(tǒng)結構圖。如圖2所示,本系統(tǒng)包括SIP應用服務器、SIP消息過濾裝置和SIP代理。所述SIP消息過濾裝置生成過濾規(guī)則并根據(jù)所述過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾,指示SIP代理丟棄滿足過濾規(guī)則的SIP消息或向SIP應用服務器發(fā)送不滿足過濾規(guī)則的SIP消息。
圖3是本發(fā)明一實施例的SIP消息過濾裝置的結構示意圖。如圖3所示,SIP消息過濾裝置包括應用服務器端過濾單元和代理端過濾單元,所述應用服務器端過濾單元位于SIP應用服務器側,所述代理端過濾單元位于SIP代理側。優(yōu)選地,應用服務器端過濾單元與SIP應用服務器位于同一物理實體上;代理端過濾單元與SIP代理位于同一物理實體上。
代理端過濾單元包括規(guī)則解析單元、結果封裝單元和過濾執(zhí)行單元;應用服務器端過濾單元包括規(guī)則生成單元、規(guī)則封裝單元和結果解析單元。
其中,規(guī)則生成單元自己或在SIP應用服務器的指示下,生成用于過濾SIP消息的過濾規(guī)則,并將該過濾規(guī)則發(fā)送至規(guī)則封裝單元;規(guī)則封裝單元將所述過濾規(guī)則通過過濾規(guī)則下發(fā)消息發(fā)送至規(guī)則解析單元;規(guī)則解析單元從接收到的過濾規(guī)則下發(fā)消息中解析出過濾規(guī)則,并將該過濾規(guī)則發(fā)送至過濾執(zhí)行單元;過濾執(zhí)行單元根據(jù)接收到的過濾規(guī)則對SIP代理待發(fā)送至SIP應用服務器的SIP消息進行過濾,向SIP代理返回丟棄指令,指示SIP代理丟棄SIP消息,或向SIP代理返回繼續(xù)指令,指示SIP代理將SIP消息發(fā)送至SIP應用服務器。
如果需要向SIP應用服務器上報過濾結果,過濾執(zhí)行單元將過濾結果發(fā)送至結果封裝單元;結果封裝單元將過濾結果通過過濾結果上報消息發(fā)送至結果解析單元;結果解析單元從接收到的過濾結果上報消息中解析出過濾結果,并將過濾結果發(fā)送至SIP應用服務器。
所述過濾規(guī)則下發(fā)消息和過濾結果上報消息均為SIP定義的消息,即SIP消息??梢允切露x的SIP消息作為過濾規(guī)則下發(fā)消息和過濾結果上報消息。也可以采用現(xiàn)有的SIP消息作為過濾規(guī)則下發(fā)消息和過濾結果上報消息,例如,過濾規(guī)則下發(fā)消息為SUBSCRIBE消息,過濾結果上報消息為NOTIFY消息。
基于以上過濾SIP消息的系統(tǒng)和裝置,本發(fā)明還提供了一種過濾SIP消息的方法。圖4是本發(fā)明一優(yōu)選實施例的過濾SIP消息的方法流程圖。在本優(yōu)選實施例中,采用新定義的SIP消息——GAP消息發(fā)送過濾規(guī)則,如果需要,則通過現(xiàn)有的PUBLISH消息向SIP應用服務器上報過濾結果。從圖4可以看出,本優(yōu)選實施例具體包括如下步驟步驟401設置SIP消息過濾裝置,具體來說就是,設置應用服務器端的規(guī)則封裝單元,使其能夠通過GAP消息發(fā)送過濾規(guī)則;設置代理端的規(guī)則解析單元,使其能夠從GAP消息中解析出過濾規(guī)則;設置代理端的結果封裝單元,使其能夠通過PUBLISH消息發(fā)送過濾結果;設置應用服務器端的結果解析單元,使其能夠從PUBLISH消息中解析出過濾結果。
優(yōu)選地,可以通過在規(guī)則封裝單元、規(guī)則解析單元、結果封裝單元和結果解析單元上增加利用GAP和PUBLISH消息進行規(guī)則下發(fā)和結果上報的事件包來實現(xiàn)上述功能。
步驟402應用服務器端的規(guī)則生成單元制定過濾規(guī)則,并將過濾規(guī)則發(fā)送至規(guī)則封裝單元。規(guī)則生成單元可在SIP應用服務器的指示下生成過濾規(guī)則,也可以單獨生成過濾規(guī)則。過濾規(guī)則的制定基于現(xiàn)有會話(呼叫)的參數(shù)、并發(fā)呼叫上限、最大忙時試呼次數(shù)(BHCA,Busy Hour Call Attempt)、指定的拒絕/接受呼叫的比例,等等。
過濾規(guī)則中可包含過濾條件和過濾方式。過濾條件是根據(jù)不同的過濾原則制定的對SIP消息的過濾條件。過濾方式指出了對過濾結果的處理。
在過濾條件中,可以包含SIP消息頭的一個字段的值,或者幾個字段的值的組合,或者媒體類型的值,或者一個字段的值或媒體類型的值的組合,或者幾個字段的值和媒體類型的值的組合。或者,過濾條件可以僅包括一段時間內轉發(fā)的SIP消息的數(shù)量最大值,例如1秒鐘之內允許SIP代理轉發(fā)的SIP消息地數(shù)量最大值為1,即一秒鐘之內最多轉發(fā)一條SIP消息。
過濾方式還包括靜態(tài)過濾和動態(tài)過濾,靜態(tài)過濾是指在指定的日期或時間執(zhí)行過濾,對于靜態(tài)過濾,需要在過濾規(guī)則中設置一個時間段;動態(tài)過濾是指隨時根據(jù)具體的規(guī)則執(zhí)行過濾,動態(tài)過濾沒必要在過濾規(guī)則中設置時間段。
過濾方式中可包含上報過濾結果的指示。這個指示可以是一個標識位,如果標識位的值為真,說明包含上述指示;如果標識位的值為假,說明不包含上述指示?;蛘?,這個指示可以是一個字段,如果包含字段,說明包含上述指示;如果不包含字段,說明不包含上述指示。
過濾方式中可包含是否需要向被拒絕或接收的呼叫發(fā)送應答,當需要向被拒絕或接收的呼叫發(fā)送應答時,可以通過向SIP用戶代理發(fā)送應答代碼或虛擬可擴展標記語言(VXML,Virtual eXtensible Mark Language)文件標識來發(fā)送應答,所述VXML文件標識用于指示SIP用戶代理播放語音;當不需要向被拒絕或接收的呼叫發(fā)送應答時,不向SIP用戶代理發(fā)送應答。
過濾方式中可包含SIP代理維持被過濾的消息數(shù)量,即SIP代理向SIP應用服務器上報被過濾的SIP消息的數(shù)量。
在構造過濾規(guī)則時,均可采用增強的Backus-Naur格式語法(ABNF,Augmented Backus-Naur Form grammar)來構造過濾參數(shù)。
步驟403規(guī)則封裝單元接收到過濾規(guī)則時,將該過濾規(guī)則封裝在過濾規(guī)則下發(fā)消息的消息中,將過濾規(guī)則下發(fā)消息發(fā)送至代理端的規(guī)則解析單元。在本優(yōu)選實施例中,過濾規(guī)則下發(fā)消息是GAP消息。
GAP消息的一個示例如下(消息頭)GAP sipuser@host.example.com SIP/2.0ViaSIP/2.0/UDP pa.example.com;branch=z9hG4bK8sdf2To<sipproxy@example.com>;tag=12341234From<sipb2ba@example.com>;Call-ID12345678@host.example.comCSeq1 GAPMax-Forwards70Applicable-Time-Start20050501113005Applicable-Time-End20050601113005Content-Typeapplication/criteria-filterContent-Length...
(消息體)FilteringMethodTo=*200*From=080252*@example.comResponseforFilteringReject,VXML id=A239992,response code=407NeedReportTrueReportThresholdValue10從以上的GAP請求的實例來看,GAP請求的消息體包含四個過濾參數(shù)FilteringMethod、ResponseforFiltering、NeedReport和ReportThresholdValue。其中FilteringMethod參數(shù)包含對SIP消息的消息頭“To”、“From”或“會話描述協(xié)議(SDP,Session Description Protocol)”等字段進行過濾的規(guī)則。在上述實例中,過濾“To”字段的值包含“200”的SIP消息以及“From”字段的值的前面幾位為“080252”、后幾位為“@example.com”的SIP消息。
RespondforFiltering參數(shù)指示呼叫滿足過濾規(guī)則時是否應答。在上述實例中,當呼叫滿足過濾規(guī)則被拒絕時應答,應答代碼為407,VXML文件標識為A239992。
NeedReport參數(shù)指示是否上報過濾結果。在上述實例中,設置為真,那么SIP代理需要向SIP應用服務器上報過濾結果。
ReportThresholdValue參數(shù)指示過濾計數(shù)器閾值,即SIP代理在過濾計數(shù)器的值超過過濾計數(shù)器閾值時應該上報SIP應用服務器過濾結果。在上述實例中,過濾計數(shù)器閾值為10,說明在SIP代理過濾了10條SIP消息后應向SIP應用服務器上報過濾結果。
并且,在GAP請求的消息頭中包含了一個應用過濾的時間段,開始時間是2005年5月1日11時30分05秒,結束時間是2005年6月1日11時30分05秒,這指示了采用靜態(tài)過濾,即在上述時間段之內應用過濾規(guī)則。
步驟404規(guī)則解析單元從接收到的GAP消息中解析出過濾規(guī)則,將過濾規(guī)則發(fā)送至過濾執(zhí)行單元。
步驟405過濾執(zhí)行單元根據(jù)過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾。過濾執(zhí)行單元判斷SIP消息是否滿足過濾規(guī)則,如果是,則轉到步驟406;否則,轉到步驟407。
如果過濾方式為靜態(tài)過濾,則SIP代理僅在過濾規(guī)則指定的日期和時間對發(fā)往SIP應用服務器的SIP消息進行過濾處理;如果過濾方式為動態(tài)過濾,則SIP代理隨時對發(fā)往SIP應用服務器的SIP消息進行過濾處理。
步驟406過濾執(zhí)行單元向SIP代理發(fā)送丟棄指令,指示SIP代理丟棄待發(fā)往SIP應用服務器的SIP消息,轉到步驟408。
如果過濾規(guī)則中包含SIP會話滿足過濾規(guī)則時應答的指示,在丟棄指令中包含向SIP會話的發(fā)起方返回應答的指示,該指示可以是應答代碼或VXML文件標識,或向SIP會話的發(fā)起方放音的指示。
步驟407過濾執(zhí)行單元向SIP代理發(fā)送繼續(xù)指令,指示SIP代理將待發(fā)往SIP應用服務器的SIP消息發(fā)送至SIP應用服務器,轉到步驟408。
如果過濾規(guī)則中包含SIP會話不滿足過濾規(guī)則時應答的指示,在繼續(xù)指令中包含向SIP會話的發(fā)起方返回應答的指示,該指示可以是應答代碼或VXML文件標識,或向SIP會話的發(fā)起方放音的指示。
步驟408如果過濾規(guī)則中包含上報過濾結果的指示,那么過濾執(zhí)行單元將過濾結果發(fā)送至結果封裝單元。
上報過濾結果的方式包括但不限于以下幾種方式(1)隨時上報,每次對SIP消息進行了過濾,即發(fā)送過濾結果至結果上報服務器;(2)定期上報,在指定的日期和時間發(fā)送過濾結果至結果上報服務器;(3)被過濾的消息數(shù)量超閾值時上報,在過濾執(zhí)行單元上設置一個過濾計數(shù)器,每過濾一條SIP消息,過濾計數(shù)器的值加一,當過濾計數(shù)器的值超過預先設定的上報閾值時,發(fā)送對數(shù)量等于上報閾值的SIP消息進行過濾的過濾結果至結果封裝單元,然后將過濾計數(shù)器歸零。
步驟409結果封裝單元將接收到的過濾結果封裝在過濾結果上報消息中,并發(fā)送過濾結果上報消息至應用服務器端的結果解析單元。在本實施例中,過濾結果上報消息為PUBLISH消息。
步驟410結果解析單元從所述過濾結果上報消息中解析出過濾結果,并將過濾結果發(fā)送至SIP應用服務器。
在上述優(yōu)選實施例中,采用新定義的GAP消息下發(fā)過濾規(guī)則,采用現(xiàn)有的PUBLISH消息上報過濾結果。本發(fā)明還包括采用其他SIP消息下發(fā)過濾規(guī)則的情況,例如采用現(xiàn)有的SUBSCRIBE消息下發(fā)過濾規(guī)則。在需要上報過濾結果時通過現(xiàn)有的NOTIFY消息上報過濾結果。在此情況下,需要預先定義一個用于過濾SIP消息的新的事件包。該事件包支持規(guī)則封裝單元通過SUBSCRIBE消息發(fā)送過濾規(guī)則,規(guī)則解析單元從SUBSCRIBE消息中獲取輸入信息,并根據(jù)輸入信息設置相應的過濾規(guī)則;還可以支持結果封裝單元通過NOTIFY消息上報過濾結果,結果解析單元從NOTIFY消息中解析出過濾結果,在此不予贅述。
由于在SIP代理側對待發(fā)往SIP應用服務器的SIP消息進行了過濾,也就是說,過濾掉SIP應用服務器不需要的SIP消息,僅轉發(fā)SIP應用服務器需要的SIP消息,這樣,不僅可以有效地控制SIP應用服務器的負載,而且還可以實現(xiàn)對某些不必要的SIP消息進行攔截,例如,SIP應用服務器負責處理用戶發(fā)起的基本呼叫,如果某用戶已經由于其余額不足等原因被禁止發(fā)起任何呼叫,那么SIP應用服務器能夠指示SIP代理將該用戶發(fā)起的呼叫截止在SIP代理側,而沒必要將呼叫轉發(fā)至SIP應用服務器。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內,例如以任何其它形式對SIP代理待發(fā)往SIP應用服務器的呼叫和SIP消息進行過濾或控制都包含在本發(fā)明的保護范圍之內。
權利要求
1.一種過濾會話發(fā)起協(xié)議SIP消息的系統(tǒng),其特征在于,包括SIP應用服務器、SIP代理和SIP消息過濾裝置;其中所述SIP消息過濾裝置生成過濾規(guī)則并根據(jù)所述過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾,指示SIP代理丟棄滿足過濾規(guī)則的SIP消息和向SIP應用服務器發(fā)送不滿足過濾規(guī)則的SIP消息。
2.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述SIP消息過濾裝置向SIP應用服務器上報過濾結果。
3.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述SIP消息過濾裝置包括應用服務器端過濾單元和代理端過濾單元;其中應用服務器端過濾單元生成過濾規(guī)則并將過濾規(guī)則發(fā)送至代理端過濾單元,代理端過濾單元根據(jù)所述過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾,指示SIP代理丟棄滿足過濾規(guī)則的SIP消息和向SIP應用服務器發(fā)送不滿足過濾規(guī)則的SIP消息。
4.根據(jù)權利要求3所述的系統(tǒng),其特征在于,所述應用服務器端過濾單元包括規(guī)則生成單元和規(guī)則封裝單元;所述代理端過濾單元包括規(guī)則解析單元和過濾執(zhí)行單元;其中規(guī)則生成單元生成過濾規(guī)則,規(guī)則封裝單元將過濾規(guī)則通過過濾規(guī)則下發(fā)消息發(fā)送至規(guī)則解析單元;規(guī)則解析單元從過濾規(guī)則下發(fā)消息中解析出過濾規(guī)則,并將過濾規(guī)則發(fā)送至過濾執(zhí)行單元;過濾執(zhí)行單元根據(jù)所述過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾,指示SIP代理丟棄滿足過濾規(guī)則的SIP消息和向SIP應用服務器發(fā)送不滿足過濾規(guī)則的SIP消息。
5.根據(jù)權利要求4所述的系統(tǒng),其特征在于,所述應用服務器端過濾單元進一步包括結果解析單元;所述代理端過濾單元進一步包括結果封裝單元;過濾執(zhí)行單元將過濾結果發(fā)送至結果封裝單元;結果封裝單元將過濾結果通過過濾結果上報消息發(fā)送至結果解析單元;結果解析單元從所述過濾結果上報消息中解析出過濾結果,并將過濾結果發(fā)送至SIP應用服務器。
6.根據(jù)權利要求4所述的系統(tǒng),其特征在于,所述規(guī)則生成單元在SIP應用服務器的指示下生成過濾規(guī)則。
7.根據(jù)權利要求3至6中任一項所述的系統(tǒng),其特征在于,所述應用服務器端過濾單元與SIP應用服務器位于同一物理實體;所述代理端過濾單元與SIP代理位于同一物理實體。
8.一種過濾SIP消息的裝置,其特征在于,包括應用服務器端過濾單元和代理端過濾單元;其中應用服務器端過濾單元生成過濾規(guī)則并將過濾規(guī)則發(fā)送至代理端過濾單元,代理端過濾單元根據(jù)所述過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾,指示SIP代理丟棄滿足過濾規(guī)則的SIP消息和向SIP應用服務器發(fā)送不滿足過濾規(guī)則的SIP消息。
9.根據(jù)權利要求8所述的裝置,其特征在于,所述應用服務器端過濾單元包括規(guī)則生成單元和規(guī)則封裝單元;所述代理端過濾單元包括規(guī)則解析單元和過濾執(zhí)行單元;其中規(guī)則生成單元生成過濾規(guī)則,規(guī)則封裝單元將過濾規(guī)則通過過濾規(guī)則下發(fā)消息發(fā)送至規(guī)則解析單元;規(guī)則解析單元從過濾規(guī)則下發(fā)消息中解析出過濾規(guī)則,并將過濾規(guī)則發(fā)送至過濾執(zhí)行單元;過濾執(zhí)行單元根據(jù)所述過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾,指示SIP代理丟棄滿足過濾規(guī)則的SIP消息和向SIP應用服務器發(fā)送不滿足過濾規(guī)則的SIP消息。
10.根據(jù)權利要求9所述的裝置,其特征在于,所述應用服務器端過濾單元進一步包括結果解析單元;所述代理端過濾單元進一步包括結果封裝單元;過濾執(zhí)行單元將過濾結果發(fā)送至結果封裝單元;結果封裝單元將過濾結果通過過濾結果上報消息發(fā)送至結果解析單元;結果解析單元從所述過濾結果上報消息中解析出過濾結果,并將過濾結果發(fā)送至SIP應用服務器。
11.根據(jù)權利要求8至10中任一項所述的裝置,其特征在于,所述應用服務器端過濾單元與SIP應用服務器位于同一物理實體;所述代理端過濾單元與SIP代理位于同一物理實體。
12.一種過濾SIP消息的方法,其特征在于,包括設置對SIP消息進行過濾的過濾規(guī)則;根據(jù)所設置的過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾。
13.根據(jù)權利要求12所述的方法,其特征在于,所述過濾規(guī)則包括過濾條件和/或過濾方式。
14.根據(jù)權利要求12所述的方法,其特征在于,所述設置過濾規(guī)則包括根據(jù)SIP應用服務器的參數(shù)設置對SIP消息進行過濾的過濾規(guī)則。
15.根據(jù)權利要求14所述的方法,其特征在于,所述SIP應用服務器的參數(shù)包括以下任一項或任幾項的組合會話或呼叫參數(shù)、并發(fā)呼叫上限、最大忙時試呼次數(shù)BHCA、指定的拒絕和/或接受呼叫的比例。
16.根據(jù)權利要求13所述的方法,其特征在于,所述過濾條件包含以下任意一種SIP消息頭的一個字段的值,SIP消息頭的一個以上字段的值的組合,SIP消息類型的值,SIP消息頭的一個字段的值和SIP消息類型的值的組合,SIP消息頭的幾個字段的值和SIP消息類型的值的組合。
17.根據(jù)權利要求13所述的方法,其特征在于,所述過濾條件包含在預定時間段內允許轉發(fā)的SIP消息的數(shù)量最大值。
18.根據(jù)權利要求13所述的方法,其特征在于,所述過濾方式包含向SIP應用服務器上報過濾結果的指示;在根據(jù)所設置的過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾之后,進一步包括根據(jù)所述過濾方式,向SIP應用服務器上報過濾結果。
19.根據(jù)權利要求18所述的方法,其特征在于,所述向SIP應用服務器上報過濾結果為設置一個過濾計數(shù)器并將該計數(shù)器清零;每對一條SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾,過濾計數(shù)器的值加一,當過濾計數(shù)器的值達到上報閾值時,向SIP應用服務器上報對數(shù)量為上報閾值的SIP消息進行過濾的結果,然后將過濾計數(shù)器清零。
20.根據(jù)權利要求13所述的方法,其特征在于,所述過濾方式包含向滿足過濾規(guī)則的SIP消息所對應的SIP會話的發(fā)起方應答的指示;在根據(jù)所設置的過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾之后,進一步包括在對SIP代理待發(fā)往SIP應用服務器的SIP消息過濾之后,指示SIP代理向滿足過濾規(guī)則的SIP消息所對應的SIP會話的發(fā)起方應答。
21.根據(jù)權利要求13所述的方法,其特征在于,所述過濾方式包含向不滿足過濾規(guī)則的SIP消息對對應的SIP會話的發(fā)起方應答的指示;在根據(jù)所設置的過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾之后,進一步包括在對SIP代理待發(fā)往SIP應用服務器的SIP消息過濾之后,指示SIP代理向不滿足過濾規(guī)則的SIP消息所對應的SIP會話的發(fā)起方應答。
22.根據(jù)權利要求20或21所述的方法,其特征在于,所述指示SIP代理向SIP消息所對應的SIP會話的發(fā)起方應答包括指示SIP代理通過應答代碼、虛擬可擴展標記語言文件標識或放音向SIP消息所對應的SIP會話的發(fā)起方應答。
23.根據(jù)權利要求13所述的方法,其特征在于,所述過濾方式包含靜態(tài)過濾或動態(tài)過濾;如果過濾方式包含靜態(tài)過濾,則根據(jù)所設置的過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾中,所述SIP代理在預先指定的時間段內對SIP消息進行過濾;如果過濾方式包含動態(tài)過濾,則根據(jù)所設置的過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾中,所述SIP代理隨時對SIP消息進行過濾。
24.根據(jù)權利要求12或18所述的方法,其特征在于,所述設置過濾規(guī)則包括在SIP應用服務器側設置過濾規(guī)則,并將過濾規(guī)則通過過濾規(guī)則下發(fā)消息發(fā)送至SIP代理側。
25.根據(jù)權利要求24所述的方法,其特征在于,所述過濾規(guī)則下發(fā)消息為預先定義的一種新的SIP消息或SUBSCRIBE消息;所述將過濾規(guī)則通過過濾規(guī)則下發(fā)消息發(fā)送至SIP代理包括將過濾規(guī)則攜帶在過濾規(guī)則下發(fā)消息中,發(fā)送至SIP代理側。
26.根據(jù)權利要求18所述的方法,其特征在于,所述上報過濾結果包括將過濾結果通過過濾結果上報消息發(fā)送至SIP應用服務器。
27.根據(jù)權利要求26所述的方法,其特征在于,所述過濾結果上報消息為PUBLISH消息或NOTIFY消息;所述將過濾結果通過過濾結果上報消息發(fā)送至SIP應用服務器包括將過濾結果攜帶在過濾結果上報消息中,發(fā)送至SIP應用服務器。
全文摘要
本發(fā)明公開了一種過濾SIP消息的系統(tǒng),該系統(tǒng)包括SIP應用服務器、SIP代理和SIP消息過濾裝置,該SIP消息過濾裝置生成過濾規(guī)則并根據(jù)所述過濾規(guī)則對SIP代理待發(fā)往SIP應用服務器的SIP消息進行過濾,指示SIP代理丟棄滿足過濾規(guī)則的SIP消息或向SIP應用服務器發(fā)送不滿足過濾規(guī)則的SIP消息。本發(fā)明還公開了一種過濾SIP消息的裝置和方法。由于對SIP代理待發(fā)往SIP應用服務器的SIP消息進行了過濾,也就是說,過濾掉SIP應用服務器不需要的SIP消息,僅上傳SIP應用服務器需要的SIP消息,這樣,不僅可以有效地控制SIP應用服務器的負載,而且還可以實現(xiàn)對某些SIP應用服務器不需要的SIP消息進行攔截。
文檔編號H04L29/06GK101047661SQ200610074480
公開日2007年10月3日 申請日期2006年4月21日 優(yōu)先權日2006年4月21日
發(fā)明者梁亮, 袁滿 申請人:華為技術有限公司