專利名稱:一種代理狀態檢測方法、裝置和系統的制作方法
技術領域:
本發明涉及通信領域,尤其涉及一種代理狀態檢測方法、裝置和系統。
背景技術:
SIP (Session Initiation Protocol,會話初始協議)是一種在 IP (InternetProtocol)網絡中建立、修改和中止多媒體會話的應用層協議,其應用包括語音、視頻、游戲、消息、呼叫控制等。SIP由于其簡單性和可擴展性,后來被采納為VoIP (Voice over IP,IP電話)的信令協議,并于 1999 年最終成為 IETF (Internet Engineering Task Force, Internet 工程任務組)的標準。之后SIP在互操作性、設計的優化和新特性等方面得到了進一步增強,并形成了新的標準rfc3261。IMS(IP Multimedia Subsystem, IP 多媒體子系統)是 3GPP 組織在 Release5 版本標準中提出的支持IP多媒體業務的子系統。頂S使用SIP呼叫控制機制來創建、管理和終結各種類型的多媒體業務。各種類型的客戶端通過MS都可以建立起端到端的IP通信,并可獲得所需要的服務質量,可以說頂S提供了業務融合的基礎,基于IP技術,它同時支持語音、數據和多媒體業務以及新的應用。正是由于上述優點,MS正被越來越多的運營商所采用,作為下一代融合網絡形式。在IMS網絡中,UE(User Equipment,用戶設備)通過代理設備接入核心網絡實現各種業務。代理設備可能是SBC (Session Borden Controller,會話邊界控制器),也可能是 P-CSCF (Proxy-Call Session Control Function,代理-呼叫會話控制功能)。—個代理可以同時服務于許多用戶,而一個用戶某一時刻只使用一個代理上行。能夠服務于同一個用戶設備的代理同時可能存在多個,這種情況叫做多歸屬,雙歸屬就是指同時有兩個代理,他是多歸屬的一種特定形式,也是目前使用比較廣泛的一種,多歸屬存在主要是出于下述目的:(I)負荷分擔:這種形式是由于代理的業務處理能力有限,一個代理無法處理下轄的所有用戶業務而采用的一種形式。這種方式下某一個用戶通過哪一個代理上行是根據各代理的負載情況隨機分配的。(2)冗余備份:這種形式是處于可靠性容災的要求。一般由一個主用代理和一到多個備份代理組成,在主用代理故障后,業務能夠轉移到備份代理繼續處理,從而提高業務的可靠性。在雙歸屬的組網下,UE需要感知上行代理的狀態以便于在代理之間切換,這個就需要對代理的狀態進行檢測。現有的一種方案是采用UE對每個代理獨立周期性的發送基于SIP的OPTIONS請求,根據OPTIONS請求的響應來判定代理的可用性,因為OPTIONS請求與用戶注冊和呼叫都無關,因此不會影響到用戶的正常注冊和呼叫。
還有一種方案是復用了 UE注冊刷新機制,這種方式通過周期內的注冊刷新和其他的呼叫消息(例如初始INVITE請求)的響應來判定代理的狀態。然而,在集群用戶設備(用戶數由幾百個到幾千個不等)中,因為用戶的代理相同,因此可以通過一個和幾個用戶檢測代理的狀態,所有設備用戶均根據檢測的結果進行切換判定。但是對于海量分布的小規格設備(用戶個數通常只有幾個,例如ONT(OpticalNetwork Terminal,光網絡終端)),每個設備獨立的檢測機制依然會導致大量的非業務消息沖擊代理服務器,影響業務處理的性能。
發明內容
本發明一個實施例提供一種代理檢測方法,包括:接收來自用戶設備的授權申請消息,所述授權申請消息攜帶所述用戶設備的代理設備的地址列表以及所述代理設備的狀態;判斷本地是否保存有所述代理設備的地址列表,如果有,則將所述用戶設備的地址添加到所述代理設備的狀態同步列隊中,向所述用戶設備發送攜帶所述代理設備的地址列表以及所述代理設備的狀態的失敗響應消息;如果沒有,則創建所述代理設備的地址列表并記錄所述代理設備的狀態,向所述用戶設備發送成功響應消息,以授權所述用戶設備對所述代理設備的狀態進行檢測。本發明一個實施例提供一種接入設備,所述接入設備連接至少一個代理設備以及連接多個用戶設備,所述接入設備包括:網絡側端口,用于連接所述至少一個代理設備;用戶側端口,用于連接所述多個用戶設備;以及用于接收來自用戶設備的授權申請消息,所述授權申請消息攜帶所述用戶設備的代理設備的地址列表以及所述代理設備的狀態;處理單元,用于判斷本地是否保存有所述代理設備的地址列表,如果有,則將所述用戶設備的地址添加到所述代理設備的狀態同步列隊中,通過所述用戶側端口向所述用戶設備發送攜帶所述代理設備的地址列表以及所述代理設備的狀態的失敗響應消息;如果沒有,則創建所述代理設備的地址列表并記錄所述代理設備的狀態,通過所述用戶側端口向所述用戶設備發送成功響應消息,以授權所述用戶設備對所述代理設備的狀態進行檢測。本發明一個實施例提供一種代理狀態檢測系統,包括接入設備以及多個用戶設備。所述接入設備,用于接收來自用戶設備的授權申請消息,所述授權申請消息攜帶所述用戶設備的代理設備的地址列表以及所述代理設備的狀態;判斷本地是否保存有所述代理設備的地址列表,如果有,則將所述用戶設備的地址添加到所述代理設備的狀態同步列隊中,向所述用戶設備發送攜帶所述代理設備的地址列表以及所述代理設備的狀態的失敗響應消息;如果沒有,則創建所述代理設備的地址列表并記錄所述代理設備的狀態,向所述用戶設備發送成功響應消息,以授權所述用戶設備對所述代理設備的狀態進行檢測。本發明實施例提供的代理狀態檢測方法、裝置和系統,授權一個用戶設備對代理設備的狀態進行檢測,接入設備將代理設備的狀態通知其他用戶設備,其他用戶設備可以不用啟動對代理設備的狀態檢測,可以減少代理設備的消息處理量。
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本發明實施例提供的系統的架構圖;圖2為本發明實施例提供的方法流程圖;圖3為本發明實施例提供的方法流程圖;圖4為本發明實施例提供的裝置的結構示意圖;圖5為本發明實施例提供·的系統的架構圖。
具體實施例下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。圖1為本發明實施例提供的系統架構圖,在圖1中,接入設備10下可以連接多個用戶設備,這多個用戶設備通過接入設備10匯聚上行接入代理設備12,代理設備12可以是一個或多個代理設備。一般來說,接入設備10下連接的用戶設備的某個業務的上行代理設備為同一個或者幾個,這里的業務可以是語音業務等。圖1中的接入設備10可以^ OLT(Optical Line Terminal,光線路終端)、DSLAM(Digital Subscriber Line AccessMultiplexer,數字用戶線接入復用器)或者MSAN(Multiservice Access Node,多業務接入節點)等,用戶設備可以是CPE (Customer Premises Equipment,用戶駐地設備)或者ONT等,代理設備12可以是一到多個SBC或者P-CSCF等。基于圖1的架構,接入設備10下連接的每個用戶設備都要獨立發起代理檢測機制的話,檢測機制帶來的消息量會很大,鑒于此,本發明實施例提供一種代理檢測方法,如圖2所示,包括:步驟200,接收來自用戶設備的授權申請消息。接入設備接收來自用戶設備(如用戶設備14)的授權申請消息(AUTH REQ),請求授權對代理設備的狀態進行檢測,AUTHREQ攜帶代理設備的地址列表以及代理設備的狀態,如{A = normal,B = normal},其中A,B分別為用戶設備14的兩個代理設備的地址,AUTHREQ中攜帶的是代理設備的初始狀態,本實施例中均為normal。步驟202,判斷本地是否保存有所述代理設備的地址列表,如果有,執行步驟204 ;如果沒有,執行步驟208。接入設備判斷本地是否保存有上述代理設備的地址列表,也即代理狀態觀察表,如果存在,說明已經存在授權對代理設備的狀態進行檢測的用戶設備;如果不存在,則說明還未授權用戶設備對代理設備的狀態進行檢測。步驟204,將所述用戶設備的地址添加到所述代理設備的狀態同步隊列中。
本實施例中,由于一個接入設備下連接的多個用戶設備可能使用同一個或同幾個代理設備,也有可能是幾個用戶設備使用一組代理設備,另外另外用戶設備使用另外一組代理設備,如在圖1中,可以是用戶設備14、16使用代理設備{A,B},用戶設備18、19使用代理設備{C,D}等。因此可以給一組代理設備設置一個狀態同步隊列,狀態同步隊列記錄使用該組代理設備的用戶設備的地址,當代理設備中的一個或多個的狀態發生變換時,可以根據狀態同步隊列通知相應的用戶設備,以下實施例將使用這種方式作為舉例。本發明另外一個實施例中,也可以給每一個代理設備設置一個狀態同步隊列,記錄使用該代理設備的用戶設備的地址,在這個代理設備的狀態發生變換時,通知相應的用戶設備。步驟206,向所述用戶設備發送失敗響應消息。接入設備向用戶設備發送失敗響應消息,攜帶代理設備的地址列表以及狀態,如{A = normal, B = normal},失敗響應消息中還可以攜帶授權失敗的原因。用戶設備收到失敗響應消息后,可以不啟動代理設備狀態檢測過程。步驟208,創建所述代理設備的地址列表并記錄所述代理設備的狀態。接入設備創建包含代理設備的地址列表的代理狀態觀察表,記錄每個代理設備的狀態。步驟210,向所述用戶設備發送成功響應消息,以授權所述用戶設備對所述代理設備的狀態進行檢測。接入設備標記該用戶設備為已授權,向該用戶設備發送成功響應消息,授權該用戶設備對代理設備的狀態進行檢測,成功響應消息中還可以攜帶代理設備的地址列表以及狀態,如{A = normal, B = normal}。用戶設備收到成功響應消息后,啟動對代理設備的狀態檢測,具體檢測過程本領域普通技術人員都應知悉,在此不再闡述。在上述方法中,如果接入設備收到的授權申請消息是來已經授權的用戶設備,則接入設備也向該用戶設備發送成功響應消息,以使得該用戶設備啟動對代理設備的狀態檢測。而對于用戶設備,如果沒有收到接入設備的響應消息、或者收到不支持的響應消息,則啟動對代理設備的狀態檢測。用戶設備在鏈路故障恢復后,也需要重新向接入設備發送授權申請消息。本實施例提供的方法,還可以包括如圖3所示的步驟:步驟300,接收授權的用戶設備的狀態通知消息(NOTIFY REQ),所述狀態通知消息中攜帶代理設備的地址列表以及代理設備的狀態。授權的用戶設備對代理設備的狀態進行檢測后,會將代理設備的狀態攜帶在NOTIFY REQ消息中發送給接入設備,如{A = failure, B = normal}。可選的,接入設備可以向該授權的用戶設備發送狀態通知響應消息(NOTIFYRSP),向用戶設備確認狀態通知成功。步驟302,根據所述狀態通知消息更新本地保存的對應代理設備的狀態。接入設備在收到上述N0TIFYREQ后,更新本地保存的代理設備的狀態。步驟304,向所述狀態同步隊列中的其他用戶設備發送攜帶代理設備的地址列表以及代理設備的狀態的狀態通知消息,以使得所述其他用戶設備更新代理設備的狀態。本實施例提供的方法中,接入設備如果檢測到授權的用戶設備掉線或出現鏈路故障,則在狀態同步隊列中刪除該授權的用戶設備的地址,并從狀態同步列隊中指定一個用戶設備,向其發送授權指示消息(IND REQ),授權該指定的用戶終端對代理設備的狀態進行檢測,如果接入設備在設定時間內沒有收到該用戶的指示響應消息(IND RSP),則從狀態同步隊列中刪除指定用戶設備的地址,如果狀態同步列表為空,則刪除狀態同步列表。接入設備還可以接收來自授權的用戶設備的授權解除消息(UNAUTH REQ),所述授權解除消息攜帶代理設備的地址列表;接入設備根據所述授權解除消息中攜帶的代理設備的地址列表找到對應的狀態同步列隊,從狀態同步列隊中刪除所述授權的用戶設備的地址,并從狀態列隊中指定一個用戶終端,授權該指定的用戶終端對代理設備的狀態進行檢測。本實施例提供的代理狀態檢測方法,授權一個用戶設備對代理設備的狀態進行檢測,接入設備將代理設備的狀態通知其他用戶設備,其他用戶設備可以不用啟動對代理設備的狀態檢測,可以減少代理設備的消息處理量。本發明一個實施例提供一種接入設備,所述接入設備連接至少一個代理設備以及連接多個用戶設備,如圖4所示,包括:網絡側端口 40,用于連接所述至少一個代理設備;用戶側端口 42,用于連接所述多個用戶設備;以及用于接收來自用戶設備的授權申請消息,所述授權申請消息攜帶所述用戶設備的代理設備的地址列表以及所述代理設備的狀態;處理單元44,用于判斷本地是否保存有所述代理設備的地址列表,如果有,則將所述用戶設備的地址添加到所述代理設備的狀態同步列隊中,通過所述用戶側端口 42向所述用戶設備發送攜帶所述代理設備的地址列表以及所述代理設備的狀態的失敗響應消息;如果沒有,則創建所述代理設備的地址列表并記錄所述代理設備的狀態,通過所述用戶側端口 42向所述用戶設備發送成功響應消息,以授權所述用戶設備對所述代理設備的狀態進行檢測。用戶側端口 42還可以用于接收授權的用戶設備的狀態通知消息,所述狀態通知消息攜帶代理設備的地址列表以及代理設備的狀態。處理單元44還可以用于根據所述狀態通知消息攜帶的代理設備的狀態更新本地保存的對應代理設備的狀態;以及用于向所述狀態同步隊列中的其他用戶設備發送攜帶代理設備的地址列表以及代理設備的狀態的狀態通知消息,以使得所述其他用戶設備更新代理設備的狀態。用戶側端口 42還用于接收來自授權的用戶設備的授權解除消息,所述授權解除消息攜帶代理設備的地址列表。處理單元44還用于根據所述授權解除消息中攜帶的代理設備的地址列表找到對應的狀態同步列隊,從狀態同步列隊中刪除所述授權的用戶設備的地址,并從狀態列隊中指定一個用戶終端,授權該指定的用戶終端對代理設備的狀態進行檢測。其中處理單兀44可以是CPU (Central Processing Unit,中央處理單兀)或者DSP (Digital Signal Processing,數字信號處理)等。
本實施例提供的接入設備可以是DSLAM、OLT或者MSAN等設備。本實施例提供的接入設備通過授權一個用戶設備對代理設備的狀態進行檢測,在獲取代理設備的狀態后,發送給其他用戶設備,這樣其他用戶設備不用都對代理設備的狀態進行檢測,可以減少代理設備的消息處理量。本發明實施例提供一種代理狀態檢測系統,包括接入設備以及多個用戶設備,如圖5所示,其中,接入設備50,用于接收來自用戶設備52的授權申請消息,所述授權申請消息攜帶用戶設備52的代理設備的地址列表以及所述代理設備的狀態;判斷本地是否保存有所述代理設備的地址列表,如果有,則將用戶設備52的地址添加到所述代理設備的狀態同步列隊中,向用戶設備52發送攜帶所述代理設備的地址列表以及所述代理設備的狀態的失敗響應消息;如果沒有,則創建所述代理設備的地址列表并記錄所述代理設備的狀態,向用戶設備52發送成功響應消息,以授權用戶設備52對所述代理設備的狀態進行檢測。接入設備還用于接收授權的用戶設備的狀態通知消息,所述狀態通知消息攜帶代理設備的地址列表以及代理設備的狀態,根據狀態通知消息更新本地保存的代理設備的狀態。接入設備還用于在代理設備的狀態發生變化時,向對應的狀態同步列隊中的用戶設備發送攜帶代理設備的地址列表以及代理設備的狀態的狀態通知消息。用戶設備收到狀態通知消息后,更新對應代理設備的狀態。本實施例提供的代理設備狀態檢測系統,通過授權一個用戶設備對代理設備的狀態進行檢測,在獲取代理設備的狀態后,發送給其他用戶設備,這樣其他用戶設備不用都對代理設備的狀態進行檢測,可以減少代理設備的消息處理量。本領域普通技術人員可以理解實現上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一計算機可讀存儲介質中,如R0M/RAM、磁碟或光盤等。以上所述,僅為本發明的具體實施方式
,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內,因此,本發明的保護范圍應所述以權利要求的保護范圍為準。
權利要求
1.一種代理狀態檢測方法,其特征在于,包括步驟: 接收來自用戶設備的授權申請消息,所述授權申請消息攜帶所述用戶設備的代理設備的地址列表以及所述代理設備的狀態; 判斷本地是否保存有所述代理設備的地址列表,如果有,則將所述用戶設備的地址添加到所述代理設備的狀態同步列隊中,向所述用戶設備發送攜帶所述代理設備的地址列表以及所述代理設備的狀態的失敗響應消息;如果沒有,則創建所述代理設備的地址列表并記錄所述代理設備的狀態,向所述用戶設備發送成功響應消息,以授權所述用戶設備對所述代理設備的狀態進行檢測。
2.根據權利要求1所述的方法,其特征在于,所述方法還包括: 接收授權的用戶設備的狀態通知消息,所述狀態通知消息攜帶代理設備的地址列表以及代理設備的狀態; 根據所述狀態通知消息攜帶的代理設備的狀態更新本地保存的代理設備的狀態。
3.根據權利要求2所述的方法,其特征在于,所述方法還包括: 向所述狀態同步隊列中的其他用戶設備發送攜帶代理設備的地址列表以及代理設備的狀態的狀態通知消息,以使得所述其他用戶設備更新代理設備的狀態。
4.根據權利要求2所述的方法,其特征在于,所述方法還包括: 向所述授權的用戶設備發送狀態通知響應消息。
5.根據權利要求1所述的方法,其特征在于,所述方法還包括: 接收授權的用戶設備的授權解除消息,所述授權解除消息攜帶代理設備的地址列表; 根據所述授權解除消息中攜帶的代理設備的地址列表找到對應的狀態同步列隊,從狀態同步列隊中刪除所述授權的用戶設備的地址,并從狀態列隊中指定一個用戶終端,授權該指定的用戶終端對代理設備的狀態進行檢測。
6.根據權利要求1-5任意一項所述的方法,其特征在于,所述方法還包括: 如果沒有在設定時間內收到授權的用戶設備的狀態通知消息,則在狀態同步隊列中刪除該授權的用戶設備的地址,并從狀態列隊中指定一個用戶終端,授權該指定的用戶終端對代理設備的狀態進行檢測。
7.一種接入設備,所述接入設備連接至少一個代理設備以及連接多個用戶設備,其特征在于,所述接入設備包括: 網絡側端口,用于連接所述至少一個代理設備; 用戶側端口,用于連接所述多個用戶設備;以及用于接收來自用戶設備的授權申請消息,所述授權申請消息攜帶所述用戶設備的代理設備的地址列表以及所述代理設備的狀態; 處理單元,用于判斷本地是否保存有所述代理設備的地址列表,如果有,則將所述用戶設備的地址添加到所述代理設備的狀態同步列隊中,通過所述用戶側端口向所述用戶設備發送攜帶所述代理設備的地址列表以及所述代理設備的狀態的失敗響應消息;如果沒有,則創建所述代理設備的地址列表并記錄所述代理設備的狀態,通過所述用戶側端口向所述用戶設備發送成功響應消息,以授權所述用戶設備對所述代理設備的狀態進行檢測。
8.根據權利要求7所述的接入設備,其特征在于, 所述用戶側端口還用于接收授權的用戶設備的狀態通知消息,所述狀態通知消息攜帶代理設備的地址列表以及代理設備的狀態; 所述處理單元還用于根據所述狀態通知消息攜帶的代理設備的狀態更新本地保存的對應代理設備的狀態;以及用于向所述狀態同步隊列中的其他用戶設備發送攜帶代理設備的地址列表以及代理設備的狀態的狀態通知消息,以使得所述其他用戶設備更新代理設備的狀態。
9.一種代理狀態檢測系統,包括接入設備以及多個用戶設備,其特征在于, 所述接入設備,用于接收來自用戶設備的授權申請消息,所述授權申請消息攜帶所述用戶設備的代理設備的地址列表以及所述代理設備的狀態;判斷本地是否保存有所述代理設備的地址列表,如果有,則將所述用戶設備的地址添加到所述代理設備的狀態同步列隊中,向所述用戶設備發送攜帶所述代理設備的地址列表以及所述代理設備的狀態的失敗響應消息;如果沒有,則創建所述代理設備的地址列表并記錄所述代理設備的狀態,向所述用戶設備發送成功響應消息,以授權所述用戶設備對所述代理設備的狀態進行檢測。
10.根據權利要求9所述的系統,其特征在于,所述接入設備還用于接收授權的用戶設備的狀態通知消息,所述狀 態通知消息攜帶代理設備的地址列表以及代理設備的狀態;根據所述狀態通知消息攜帶的代理設備的狀態更新本地保存的對應代理設備的狀態;以及用于向所述狀態同步隊列中的其他用戶設備發送攜帶代理設備的地址列表以及代理設備的狀態的狀態通知消息,以使得所述其他用戶設備更新代理設備的狀態。
全文摘要
本發明提供一種代理狀態檢測方法、裝置和系統,其中方法包括步驟接收來自用戶設備的授權申請消息,所述授權申請消息攜帶所述用戶設備的代理設備的地址列表以及所述代理設備的狀態;判斷本地是否保存有所述代理設備的地址列表,如果有,則將所述用戶設備的地址添加到所述代理設備的狀態同步列隊中,向所述用戶設備發送攜帶所述代理設備的地址列表以及所述代理設備的狀態的失敗響應消息;如果沒有,則創建所述代理設備的地址列表并記錄所述代理設備的狀態,向所述用戶設備發送成功響應消息,以授權所述用戶設備對所述代理設備的狀態進行檢測。
文檔編號H04L12/28GK103138998SQ20111038482
公開日2013年6月5日 申請日期2011年11月28日 優先權日2011年11月28日
發明者唐春平, 張波, 鄧全勝 申請人:華為技術有限公司