專利名稱:在sip可存活配置中使用sip消息的故障轉(zhuǎn)移/故障恢復(fù)觸發(fā)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及通信網(wǎng)絡(luò),更具體地,涉及可存活的會話發(fā)起協(xié)
議(SIP)可存活網(wǎng)絡(luò)。
背景技術(shù):
會話發(fā)起協(xié)議(SIP)是用于建立多種實時通信會話的開放信令
協(xié)議??梢允褂脮挵l(fā)起協(xié)議建立的通信會話類型的例子包括話音、 視頻、游戲、應(yīng)用和/或即時消息。這些通信會話可以在任何類型的通
信設(shè)備上實現(xiàn),例如個人計算機、膝上計算機、個人數(shù)字助理(PDA)、 蜂窩電話、IM客戶機、IP電話、傳統(tǒng)電話機、服務(wù)器應(yīng)用、應(yīng)用集 合、桌上應(yīng)用等。
SIP的一個重要特征是使用記錄地址(AOR)作為到終端用戶、 應(yīng)用和服務(wù)提供商網(wǎng)絡(luò)的所有通信的單個統(tǒng)一公共地址。因此,在SIP 增強型通信的環(huán)境下,用戶的AOR變成將用戶鏈接到所有與該用戶 相關(guān)聯(lián)的通信設(shè)備的唯一地址。使用這個AOR,呼叫者不必知道唯 一設(shè)備地址或電話號碼就可以到達用戶的任何一個通信設(shè)備,這些通 信設(shè)備也稱為用戶代理(UA)。
很多SIP應(yīng)用服務(wù)器的存在是為了在SIP環(huán)境中實現(xiàn)通信應(yīng)用 以及用作UA的外出代理服務(wù)器(outbound proxies),從而允許建立復(fù) 雜的網(wǎng)絡(luò),同時通過設(shè)備用來連接到網(wǎng)絡(luò)的代理服務(wù)器隱藏復(fù)雜性。 上述通信應(yīng)用的一個主要領(lǐng)域是SIP UA的呼叫控制。當前,對于提 供可存活SIP網(wǎng)絡(luò)配置的問題幾乎沒有什么解決方案。過去一種提供 存活能力的方式是通過使用在對SIP信令沒有響應(yīng)時采用的SIP代理 服務(wù)器。代理服務(wù)器可用于經(jīng)由網(wǎng)絡(luò)中 一條或多條替換路線來路由所述信令。由于需要除呼叫控制器或網(wǎng)關(guān)之外的額外網(wǎng)絡(luò)元件來提供存 活能力,所以使用單獨的代理服務(wù)器變得昂貴。
其它網(wǎng)絡(luò)服務(wù)器產(chǎn)品提供地理冗余的配置,使得網(wǎng)關(guān)由于網(wǎng)絡(luò)服 務(wù)器的高可用性而不太可能遇到網(wǎng)絡(luò)服務(wù)器故障。象使用代理服務(wù)器 一樣,這種特定的解決方案也是比較昂貴的,因為需要購買高可用性 服務(wù)器并將其分配到整個網(wǎng)絡(luò)。當前已知的解決方案的其它缺點包
括即使在主SIP信令路徑不可用時,也不允許網(wǎng)絡(luò)元件(如網(wǎng)關(guān)) 使用替代的路徑;這樣的解決方案需要在服務(wù)器間進行數(shù)據(jù)復(fù)制的熱 備份配置;并且它們還要求主、次級呼叫控制器使用完全相同的SIP 版本并向SIP端點提供完全相同的SIP特征集合。
發(fā)明內(nèi)容
除了這些缺點之外,確定何時出現(xiàn)網(wǎng)絡(luò)故障的邏輯傳統(tǒng)上被置于 路由器中,這些路由器能夠檢查網(wǎng)絡(luò)的IP層從而確定各種網(wǎng)絡(luò)元件 是否正常工作。該故障/故障恢復(fù)檢測邏輯已被置于路由器中以減輕其 余網(wǎng)絡(luò)組件上的處理負擔。這種特定配置的一個主要缺點是路由器不 能在SIP應(yīng)用級檢測服務(wù)器或其它網(wǎng)絡(luò)元件是否在工作??赡茉诤芏?情況下,服務(wù)器在IP層級運行時SIP控制器卻不工作。迄今為止現(xiàn) 有技術(shù)的路由器和其它網(wǎng)絡(luò)元件都不能識別這樣的故障條件并將這 樣的服務(wù)器注冊為工作的。
本發(fā)明的各種實施例和配置解決這些和其它需要。本發(fā)明一般涉 及用于分析部分或全部通信網(wǎng)絡(luò)的可用性的系統(tǒng)、設(shè)備和方法。所述 方法一般包括
確定通信系統(tǒng)中的組件的狀態(tài)已從第一狀態(tài)(例如,工作狀態(tài)) 變?yōu)榈诙顟B(tài)(例如,不工作狀態(tài));
生成包括與所述組件被確定的第二狀態(tài)有關(guān)的信息的消息;以及 將該消息發(fā)送到與所述組件相關(guān)聯(lián)的用戶代理。 根據(jù)本發(fā)明的至少一些實施例,組件的狀態(tài)可以自我監(jiān)視。換言 之,組件可以對自己進行維護檢查,以確定它正處于第一狀態(tài)(例如,工作狀態(tài))還是第二狀態(tài)(例如,不工作狀態(tài))。然后,如果組件有 能力的話,它可以向用戶代理發(fā)送報告其狀態(tài)的消息。這是可能的,
因為組件可能在監(jiān)視其SIP應(yīng)用層狀態(tài)。例如,組件可被配置為監(jiān)視 其SIP控制器的狀態(tài),并且可以確定控制器當前是否能夠服務(wù)于SIP
用戶代理。
根據(jù) 一 個替換實施例,發(fā)出報告的組件可被配置為監(jiān)視和報告通 信系統(tǒng)中的其它組件的工作狀態(tài)。進行監(jiān)視的組件還可以被配置為檢
查另一個組件的SIP應(yīng)用層狀態(tài)并報告其發(fā)現(xiàn)。然而,這種特定類型
的監(jiān)視活動可以通過發(fā)送一個監(jiān)視消息以及預(yù)期一個響應(yīng)來完成。
根據(jù)本發(fā)明的至少一些實施例,當正在進行監(jiān)視的組件確定一個 組件(例如,它自己或另一個組件)的狀態(tài)已改變時,正在監(jiān)視的組 件可被配置為將這樣的變化報告給與正被監(jiān)視的組件相關(guān)聯(lián)的用戶 代理。正被監(jiān)視的組件可通過包含在該組件內(nèi)的控制器與用戶代理相 互關(guān)聯(lián)。更具體地說,用戶代理可被注冊到包含在該組件內(nèi)的控制器。 當用戶代理接收到報告正被監(jiān)視的組件的狀態(tài)變化的消息時,該 用戶代理可以以多種方式作出反應(yīng)。如果用戶代理不能也對通信系統(tǒng)
中的組件的狀態(tài)(例如SIP狀態(tài))進行監(jiān)視,則該用戶代理可以只是
根據(jù)包含在接收消息中的信息來改變其工作參數(shù)。例如,如果消息指 示用戶代理的主控制器已發(fā)生故障,則用戶代理可以只是故障轉(zhuǎn)移到 其備份或次級控制器,而不進一步詢問。或者,如果用戶代理能夠監(jiān) 視通信系統(tǒng)中的一個或多個組件的狀態(tài),則該用戶代理可以處理接收 的通知,將其作為檢查組件狀態(tài)的提示。在這樣的實施例中,用戶代 理可被配置為嘗試向控制器重新注冊,以自我確定控制器及其相應(yīng)組 件的狀態(tài)。這使用戶代理有能力在開始工作在故障轉(zhuǎn)移模式之前確認 組件的狀態(tài)是否已改變。這樣,用戶代理對其運行有更多的控制能力 和作出決定的能力。
本文中使用的"監(jiān)視,,包括與用儀器來觀察、記錄或檢測有關(guān)的任 何類型的功能,這些儀器對被監(jiān)視的元件或元件組的操作或狀態(tài)沒有 任何影響。本文中使用的"至少一個"、"一個或多個"以及"和/或"是開放式
的表述,在使用時可以是聯(lián)合的和分離的。例如,"A、 B和C中的至 少一個","A、 B或C中的至少一個","A、 B和C中的一個或多個" 以及"A、 B或C中的一個或多個,,指僅有A、僅有B、僅有C、 A和 B—起、A和C一起、B和C一起或A、 B和C一起。
術(shù)語"一個"實體是指一個或多個所述實體。由此術(shù)語"一個"、"一
個或多個,,和"至少一個"在本文中是可以互換使用的。還應(yīng)注意到術(shù) 語"包括"、"包含"和"具有"也是可以互換使用的。
本文中使用的術(shù)語"自動的"及其變型是指在執(zhí)行處理或操作時 沒有實質(zhì)的人為輸入的情況下完成的任何處理或操作。然而,即使在 執(zhí)行處理或操作時使用了執(zhí)行所述處理或操作前接收到的實質(zhì)的或 非實質(zhì)的人為輸入,所述處理或操作也可以是自動的。如果輸入影響 所述處理或操作將怎樣進行,則視該人為輸入是實質(zhì)的。不影響所述 處理或操作進行的人為輸入不視為是實質(zhì)的。
本文中使用的術(shù)語"計算機可讀介質(zhì)"是指參與將指令提供給處 理器執(zhí)行的任何有形存儲設(shè)備和/或傳輸介質(zhì)。計算機可讀介質(zhì)可以是 在IP網(wǎng)絡(luò)上的網(wǎng)絡(luò)傳輸(如SOAP)中編碼的串行指令集。這樣的介 質(zhì)可以采取很多形式,包括但不限于非易失性介質(zhì)、易失性介質(zhì)和傳 輸介質(zhì)。非易失性介質(zhì)包括例如NVRAM或者磁或光盤。易失性介質(zhì) 包括諸如主存儲器的動態(tài)存儲器(如RAM)。計算機可讀介質(zhì)的常 見形式包括例如軟盤、柔性盤、硬盤、磁帶或任何其它磁介質(zhì)、磁光 介質(zhì)、CD-ROM、任何其它光介質(zhì)、穿孔卡、紙帶、任何其它具有孔 形圖案的物理介質(zhì)、RAM、 PROM、 EPROM、 FLASH-EPROM、諸 如存儲卡的固態(tài)介質(zhì)、任何其它存儲芯片或磁帶盒、后面描述的載波、 或計算機可以讀取的任何其它介質(zhì)。電子郵件的數(shù)字文件附件或其它 自含信息檔案或檔案集被認為是相當于有形存儲介質(zhì)的分發(fā)介質(zhì)。當 計算機可讀介質(zhì)被配置為數(shù)據(jù)庫時,應(yīng)該理解該數(shù)據(jù)庫可以是任何類 型的數(shù)據(jù)庫,例如關(guān)系數(shù)據(jù)庫、層級數(shù)據(jù)庫、面向?qū)ο蟮臄?shù)據(jù)庫等等。 相應(yīng)地,認為本發(fā)明包括有形存儲介質(zhì)或分發(fā)介質(zhì)和現(xiàn)有技術(shù)公知的等同物以及未來開發(fā)的介質(zhì),在這些介質(zhì)中存儲本發(fā)明的軟件實施。
本文中使用的術(shù)語"確定"、"運算,,和"計算"及其變型可以互換使 用,并且包括任何類型的方法、處理、數(shù)學(xué)運算或技術(shù)。更具體地,
這樣的術(shù)語可以包括諸如BPEL的解釋規(guī)則或規(guī)則語言,其中邏輯不 是硬編碼的而是在可以被讀、解釋、編譯和執(zhí)行的規(guī)則文件中表示。
本文中使用的術(shù)語"模塊,,或"工具"是指任何已知的或以后發(fā)展 的硬件、軟件、固件、人工智能、模糊邏輯或能夠執(zhí)行與該元件相關(guān) 的功能的硬件和軟件的組合。另外,雖然用示例性實施方式來描述本 發(fā)明,但應(yīng)當理解本發(fā)明的各方面可以單獨要求保護。
前面是提供對本發(fā)明一些方面的理解的簡要發(fā)明內(nèi)容。這個部分 既不是本發(fā)明及其各種實施例的詳盡表述也不是窮舉的表述。它既不 用于識別本發(fā)明的重要或關(guān)鍵特征也不限定本發(fā)明的范圍,而是以一 種簡化形式給出本發(fā)明的所選原理,作為對下面給出的更具體的描述 的簡介。應(yīng)當理解,單獨地或者組合地利用上面闡述或下面具體描述 的一個或多個特征,本發(fā)明的其它實施例也是可能的。
圖l是示出根據(jù)本發(fā)明的至少 一 些實施例的通信系統(tǒng)的框圖2是示出根據(jù)本發(fā)明的至少一些實施例的SIP控制器發(fā)現(xiàn)和注 冊方法的流程圖3是示出根據(jù)本發(fā)明的至少一些實施例的狀態(tài)確定方法的流
程圖4是示出根據(jù)本發(fā)明的至少一些實施例的被動狀態(tài)確定方法 的流程圖5是示出根據(jù)本發(fā)明的至少一些實施例的網(wǎng)關(guān)操作方法的流
程圖6是示出根據(jù)本發(fā)明的至少一些實施例的端點的狀態(tài)確定方 法的流程圖7是示出根據(jù)本發(fā)明的至少一些實施例的狀態(tài)通知方法的流程圖。
具體實施例方式
下面將結(jié)合示例性的通信系統(tǒng)描述本發(fā)明。盡管很適合用于如使 用服務(wù)器和/或數(shù)據(jù)庫的系統(tǒng),但本發(fā)明不限于用于任何特定類型的通 信系統(tǒng)或系統(tǒng)元件配置。此外,本文中使用的術(shù)語"數(shù)據(jù)庫,,可以不僅
包括關(guān)系數(shù)據(jù)庫系統(tǒng)而且包括軟件和硬件形式的、RAM中或硬盤上 的任何計算機存儲機制。本領(lǐng)域的技術(shù)人員將認識到已經(jīng)公開的技術(shù) 可以用于需要維護SIP可存活網(wǎng)絡(luò)的任何通信應(yīng)用中。
本發(fā)明的示例性系統(tǒng)和方法也將結(jié)合分析軟件、模塊和相關(guān)的分 析硬件來描述。但是,為了避免不必要地使本發(fā)明變得不清楚,以下 描述省略公知的結(jié)構(gòu),組件和設(shè)備,它們可以用框圖形式示出、是公 知的或以其它方式概述。上述公知結(jié)構(gòu)的例子包括但不限于IP基礎(chǔ) 設(shè)施、第2層交換機、IP層路由器、IP級防火墻、網(wǎng)絡(luò)地址翻譯(NAT) 設(shè)備、SIP會話邊界控制器(SBC)等。
為了解釋的目的,眾多的細節(jié)被闡明以提供對本發(fā)明的全面理
解。然而,應(yīng)當意識到本發(fā)明可以用本文闡明的具體細節(jié)之外的多種 方式實施。
首先參考圖1,將根據(jù)本發(fā)明的至少一些實施例描述示例性的通 信系統(tǒng)100結(jié)構(gòu)。通信系統(tǒng)100包括第一網(wǎng)絡(luò)104,第一網(wǎng)絡(luò)104將 諸如SLP用戶代理(UA )108的端點連接到許多其它通信設(shè)備。UA 108 可被配置為與也連接到第 一 網(wǎng)絡(luò)104的端點以及在第 一 網(wǎng)絡(luò)104外部 的其它端點進行通信。例如,UA 108可被配置為與連接到第二網(wǎng)絡(luò) 152的外部端點156進行通信。
第一網(wǎng)絡(luò)104和第二網(wǎng)絡(luò)152可以對應(yīng)于任何已知的通信網(wǎng)絡(luò)或 通信設(shè)備的集合。笫一網(wǎng)絡(luò)104可以包括局域網(wǎng)(LAN)、廣域網(wǎng) (WAN)或由OSI模型定義的任何類型的第3層和第4層網(wǎng)絡(luò)。
第二網(wǎng)絡(luò)152可以包括任何類型的信息傳輸介質(zhì),并且可以使用 任何類型的協(xié)議在端點之間傳送消息。因特網(wǎng)是通信網(wǎng)絡(luò)104的 一個 例子,它構(gòu)成由位于全世界的、通過許多電話系統(tǒng)和其它方式連接的很多計算機和其它通信設(shè)備組成的IP網(wǎng)絡(luò)。第二網(wǎng)絡(luò)152的其它例 子包括但不限于標準普通老式電話系統(tǒng)(POTS)、綜合業(yè)務(wù)數(shù)字網(wǎng) (ISDN)、公共交換電話網(wǎng)(PSTN)、 LAN、 WAN、蜂窩通信網(wǎng)絡(luò)以及 本領(lǐng)域已知的其它任何類型的包交換或電路交換網(wǎng)絡(luò)。通信網(wǎng)絡(luò)104 和152都可以包括有線和/或無線通信沖支術(shù)。
UA 108的SIP功能可以由也連接到第一網(wǎng)絡(luò)104的一個或多個 服務(wù)器136來提供。UA 108也可以由在第一網(wǎng)絡(luò)104外部的其它服 務(wù)器或通信設(shè)備來控制。例如,連接第一網(wǎng)絡(luò)104和第二網(wǎng)絡(luò)152的 網(wǎng)關(guān)148也可以被配置向UA 108提供SIP控制能力。
除了提供SIP功能之外,服務(wù)器136也可以包括語音呼叫軟件(如 VoIP軟件)、視頻呼叫軟件、IM軟件、語音消息軟件(如多々某體消 息,例如音頻和視頻消息、IM消息等)、記錄軟件、IP語言服務(wù)器、 傳真服務(wù)器、萬維網(wǎng)服務(wù)器、電子郵件服務(wù)器、呼叫中心應(yīng)用等等。 根據(jù)本發(fā)明的實施例,服務(wù)器136可以包括用于各種其它協(xié)議的 接口,例如輕量級目錄訪問協(xié)議(LDAP) 、 H.248、 H.323、簡單郵 件傳輸協(xié)議(SMTP)、因特網(wǎng)消息訪問協(xié)議4 (IMAP4)、綜合業(yè) 務(wù)數(shù)字網(wǎng)絡(luò)(ISDN) 、 E1/T1、 HTTP、 SOAP、 XCAP、 STUN以及
模擬線路或千線。
服務(wù)器136也可以包括PBX,自動呼叫分配(ACD),企業(yè)交換
機或其它類型的通信系統(tǒng)交換機(如能夠?qū)⒑艚袕囊粋€電話路由到另 一個電話的設(shè)備,例如在中央交換局中通過將兩個或更多電路連接到 一起工作的復(fù)雜機器(或它們的串聯(lián)),其中每個電路根據(jù)所撥的電 話號碼連接到用戶電話)或服務(wù)器,以及其它類型基于處理器的通信 控制設(shè)備,例如媒體服務(wù)器、計算機、附件等等。
提供網(wǎng)關(guān)148用作在諸如PSTN;下一代網(wǎng)絡(luò);2G、 2.5G和3G 無線接入網(wǎng);或PBX等不同類型的電信網(wǎng)絡(luò)之間的翻譯單元。網(wǎng)關(guān) 148的一個功能是在各種網(wǎng)絡(luò)的不同傳輸和編碼技術(shù)之間進行轉(zhuǎn)換。 網(wǎng)關(guān)148也支持諸如回波消除、DTMF和音頻記發(fā)器的媒體流功能。 網(wǎng)關(guān)148還可以將信號/消息從一個網(wǎng)絡(luò)運行范例轉(zhuǎn)換到另一個網(wǎng)絡(luò)運行范例(如傳輸協(xié)議)。
為了向UA108提供SIP功能,服務(wù)器136和/或網(wǎng)關(guān)148可以包 括一個或多個控制器140a-N。 UA 108可凈皮配置為每次向一個或多個 控制器140a-N注冊。本文中使用的術(shù)語"注冊"是指SIP注冊以及網(wǎng) 絡(luò)連接方法和處理,包括但不限于SIP REGISTER (注冊)消息的發(fā) 送和確認,并且可以包括其它機制,例如用于預(yù)訂的SUBSCRIBE消 息、使用OPTIONS消息的查詢,以及其它非SIP機制,例如防火墻 和使用STUN協(xié)議的NAT檢測、HTTP查詢等。
控制器140a-N可以對應(yīng)于駐留在服務(wù)器136上的應(yīng)用或固件, 并且控制器140a-N可以用于處理發(fā)往受控UA 108或從受控UA 108 接收的SIP消息。由控制器140a-N處理的SIP消息可以對應(yīng)于由UA 108發(fā)起并發(fā)往另一個端點156的外出SIP消息或由另一個端點156 發(fā)起并發(fā)往UA 108的進入SIP消息??刂破?40a-N可以在通信系統(tǒng) 100的應(yīng)用層工作。
根據(jù)本發(fā)明的至少一個實施例,UA 108能夠同時向兩個或更多控 制器140注冊。UA 108同時注冊到的每個控制器140可以包括不同 屬性,因此能夠向UA 108提供不同的SIP功能。例如,UA108可以 同時向第一控制器140a和第二控制器140b注冊,第一控制器140a 使用擴充的擴展(即高級特征集),第二控制器140b使用服從標準 因特網(wǎng)工程任務(wù)組(IETF)的SIP擴展來根據(jù)SIP協(xié)議的一個或多 個IETF RFC進行呼叫處理,所述IETF RFC包括但不限于RFC 3261。
在同時注冊配置中,UA 108能夠進行活動-活動注冊或活動 - 備 用注冊。在活動-活動注冊中,UA108可以接受來自任一控制器140 的SIP消息以及將SIP消息發(fā)送到任一控制器140,而不用確定SIP 消息是發(fā)送到還是來自于主控制器140。然而,在活動-備用注冊配 置中,UA 108僅可以使用活動的控制器140用于SIP信令目的,除 非活動的控制器140變得不工作。在這樣的配置中,如果從備用控制 器140接收到消息并且UA 108認為主控制器140在工作,則UA 108可以將SIP消息發(fā)送回備用控制器140以經(jīng)由主控制器140重新路由。 根據(jù)本發(fā)明的其它實施例,UA108可以向控制器140a-N執(zhí)行優(yōu) 先級注冊,因此UA 108 ^皮注冊到第一控制器140a,除非UA 108確 定第一控制器140a不在服務(wù)中或由于其它原因不能用來提供SIP功 能,在這種情況下,UA108可以注冊到第二控制器140b。
根據(jù)本發(fā)明的其它實施例,可以采用對等SIP網(wǎng)絡(luò)配置,在這種 情況下,UA 108可以注冊到在另外一個端點或多個端點上的控制器 140。
UA 108可以包括存儲器112和處理器124,所述處理器124用于 執(zhí)行存儲在存儲器112中的例程和處理輸入/輸出的SIP消息和媒體。 存儲器112可以包括發(fā)現(xiàn)模塊116和控制器列表120。發(fā)現(xiàn)模塊116 可以用來發(fā)現(xiàn)系統(tǒng)100中的設(shè)備,這些i殳備包括能夠控制UA 108的 控制器140。根據(jù)本發(fā)明的至少一些實施例,發(fā)現(xiàn)模塊116可被配置 為發(fā)出可用控制器140能夠響應(yīng)的發(fā)現(xiàn)請求?;趶目刂破?40接收 的響應(yīng)(或沒有響應(yīng)),發(fā)現(xiàn)模塊116可以用多個控制器140填充列 表120。接著發(fā)現(xiàn)^^塊116可以創(chuàng)建有序列表128,該有序列表128 包括基于各自屬性132的控制器140的優(yōu)先級列表項。接著UA 108 可以基于有序列表128中控制器140的順序來確定向哪個(些)控制 器140注冊。
除了提供在控制器140之間發(fā)現(xiàn)和仲裁的能力外,發(fā)現(xiàn)模塊116 還可被配置為監(jiān)視通信系統(tǒng)100的狀態(tài)以確定是否有當前網(wǎng)絡(luò)104故 障、服務(wù)器136故障、網(wǎng)關(guān)148故障或可以影響UA 108及其控制器 140之間關(guān)系的其它任何類型的故障存在。如本文中將更詳細討論的, 發(fā)現(xiàn)模塊116可被配置為主動地和被動地監(jiān)視系統(tǒng)100及其組件的狀 態(tài)。在主動監(jiān)視系統(tǒng)100的狀態(tài)時,發(fā)現(xiàn)模塊116可以采用非對話SIP 消息和預(yù)定邏輯來確定系統(tǒng)100的狀態(tài)。UA 108另外也可以被另一 個系統(tǒng)100組件(如網(wǎng)關(guān)148)提示開始凈皮動監(jiān)視系統(tǒng)100的狀態(tài)。 向UA 108提供監(jiān)視系統(tǒng)100的狀態(tài)的能力是一種對現(xiàn)有技術(shù)的網(wǎng)絡(luò) 監(jiān)視技術(shù)的偏離,因為使用了 UA 108的邏輯而不是將處理負擔轉(zhuǎn)移
12給諸如路由器的另外組件。這提供了驚人的優(yōu)點,允許每個UA 108 獨立地監(jiān)視系統(tǒng)100的狀態(tài),這提供了對系統(tǒng)100的更多觀測,并且 允許每個UA 108保留對其自己的控制器140的個人記錄。換句話說, 通過使用來自系統(tǒng)100中的UA 108和其它組件(如網(wǎng)關(guān)148和/或服 務(wù)器136)的情報的組合,可以獲得系統(tǒng)100的狀態(tài)的更準確的最新 圖像。允許UA108檢查網(wǎng)絡(luò)層(如通過在系統(tǒng)IOO上發(fā)送IP包)、 SIP應(yīng)用層(如通過在系統(tǒng)100上發(fā)送SIP消息)以及上述兩者集合 的運行情況,可以進一步增加關(guān)于系統(tǒng)健康情況的圖像的準確性。
服務(wù)器136和網(wǎng)關(guān)148也可以包括用于評估系統(tǒng)100的狀態(tài)的發(fā) 現(xiàn)模塊144。更具體地,每個發(fā)現(xiàn)模塊144可以用于獨立地監(jiān)視各種 對等組件(如與包括發(fā)現(xiàn)才莫塊144的設(shè)備相鄰的系統(tǒng)100組件)和遠 端組件(如與包括發(fā)現(xiàn)模塊144的設(shè)備不相鄰的系統(tǒng)100組件)的狀 態(tài)。每個發(fā)現(xiàn)模塊144可以用于獨立地評估系統(tǒng)100及其組件的狀態(tài)。
根據(jù)本發(fā)明的至少一些實施例,發(fā)現(xiàn)模塊144可以包括能夠被用 戶代理108或其它端點156以簇生(cluster)方式(即多個服務(wù)器136 能夠回答來自一個端點的有關(guān)"我使用哪個控制器"的問題)或作為單 態(tài)(singleton)來訪問的軟件模塊。發(fā)現(xiàn)模塊"4可以使用多種協(xié)議 來實現(xiàn)并且還可以同時支持多種協(xié)議。更具體地,每個發(fā)現(xiàn)模塊144 可被配置為支持SOAP/HTTP、 SXAP(另 一個象SOAP的、基于HTTP 標準的XML)、甚至SIP (如通過在SIP消息的主體中提供控制器 140的列表)中的一種或多種。
發(fā)現(xiàn)模塊144可被配置為經(jīng)由規(guī)則處理確定其自己的對于給定用 戶代理108的控制器列表(可以應(yīng)請求最終提供給用戶代理108)。 所述規(guī)則處理可以是硬編碼的(如Java碼)或可以包括規(guī)則引擎, 該規(guī)則引擎在想要確定對于請求控制器列表的用戶代理108來說哪個 是最適合的控制器140時,取得諸如XML的腳本,解析并執(zhí)行該腳 本??梢园ㄔ谒惴ㄖ械囊?guī)則的類型包括但不限于
(1)網(wǎng)絡(luò)局部性檢查,其分析原始網(wǎng)絡(luò)拓樸(如分析網(wǎng)絡(luò)中傳輸 的IP包)以確定對于用戶代理108最適合的控制器140。這樣的規(guī)則
13集合可以包括帶寬管理功能,其中發(fā)現(xiàn)模塊144檢查發(fā)出請求的用戶 代理108的IP,接著對列出最佳可用帶寬的帶寬存儲庫進行查找,然 后選擇對于用戶代理108的最佳匹配控制器140。在這種情況下,最 佳匹配可能對應(yīng)于包括最靠近用戶代理108的并且具有可用帶寬的控 制器140的服務(wù)器136;
(2) 安全檢查算法,由于可能存在某些情形為了安全起見用戶代 理108應(yīng)連接到特定的服務(wù)器136/控制器140。例如,CEO的電話可 能想僅連接到最安全的服務(wù)器,所述最安全的服務(wù)器被持續(xù)監(jiān)視并在 幾秒內(nèi)修補。另一方面,可以允許技術(shù)支持電話連接到形成服務(wù)器群 的一組服務(wù)器136中的任何一個,其中安全補丁在24小時內(nèi)處理。
(3) 用戶分配算法,其中發(fā)現(xiàn)模塊144可以檢查哪個(些)服務(wù) 器136可為特定用戶提供服務(wù)的映射。例如在地理冗余配置中如果存 在多個服務(wù)器,可以在響應(yīng)中返回多個控制器140;
(4) 業(yè)務(wù)規(guī)則算法,其中發(fā)現(xiàn)模塊144在腳本中可以具有消費者 提供的鉤子(異常分支,hook),所述腳本記載所有銷售人員使用一 個服務(wù)器136而所有技術(shù)支持人員使用另 一個服務(wù)器;
(5) 設(shè)備形態(tài)算法,可以在發(fā)出請求的用戶代理108表示其尋找 控制器140時的模式(如語音、即時消息(IM)、視頻等)的時候啟 用。當采用這種算法時,發(fā)現(xiàn)模塊144可以查找內(nèi)部能力分配以選擇 為用戶提供最多模式類型的最佳控制器140。例如,可處理語音和IM 的用戶代理108偏好能夠支持這兩種功能的服務(wù)器136而非僅語音服 務(wù)器;以 及
(6 )協(xié)議兼容性算法,可以在發(fā)出請求的用戶代理108識別其支 持的特定協(xié)議集時啟用。因為SIP是多種協(xié)議擴展,所以這在SIP中 特別有用。當發(fā)出請求的用戶代理108尋找控制器140時,它可以表 示其支持的協(xié)議特征(如存在性預(yù)訂或一般意義的預(yù)訂)并且服務(wù)器 可以為該類型的用戶4戈理10 8找到最佳匹配。
參考圖2,將根據(jù)本發(fā)明的至少一些實施例描述SIP控制器140 發(fā)現(xiàn)和注冊方法。所述方法可以由通信系統(tǒng)100中的一個端點例如UA 108可被配置為發(fā)現(xiàn)不同的控 制器140并向不同的控制器140注冊。所述方法從端點發(fā)出發(fā)現(xiàn)消息
(步驟204)時開始。根據(jù)本發(fā)明的至少一個實施例,所述發(fā)現(xiàn)消息 包括任何已知類型的發(fā)現(xiàn)消息,包括可以被發(fā)送到通信系統(tǒng)100中的 一個或多個其它組件用來測試/查詢該組件的SIP功能的SIP消息(如 OPTIONS消息、NOTIFY消息或SUBSCRIBE消息)。
當發(fā)現(xiàn)消息被系統(tǒng)100中包括控制器140的其它組件(如服務(wù)器 136和/或網(wǎng)關(guān)148)接收時,該組件用響應(yīng)消息對發(fā)現(xiàn)消息作出響應(yīng)。 替代地,如果沒有組件當前可用于響應(yīng)所述發(fā)現(xiàn)消息,則沒有響應(yīng)消 息被發(fā)送回起始端點。接著,控制器140的響應(yīng)消息在起始端點處被 接收(步驟208)。當端點接收到這些響應(yīng)、或?qū)魉偷陌l(fā)現(xiàn)消息沒 有響應(yīng)時,端點將采用其發(fā)現(xiàn)模塊116來填充控制器列表120。
響應(yīng)消息也可以包括每個作出響應(yīng)的控制器140的屬性132。包 含在響應(yīng)消息中的屬性信息的例子包括但不限于相應(yīng)的服務(wù)器136或 網(wǎng)關(guān)148的處理能力、由控制器140提供的SIP擴展(即SIP功能)、 當前注冊到控制器140的UA的數(shù)量、控制器140與端點的接近程度
(如端點和相應(yīng)設(shè)備之間的跳數(shù))等等。端點的發(fā)現(xiàn)模塊116可以利 用所述屬性信息仲裁控制器140在有序列表128中的順序(步驟212)。 發(fā)現(xiàn)模塊116可以釆用任何已知類型的仲裁算法來確定控制器140的 順序。例如,發(fā)現(xiàn)模塊116可以嘗試優(yōu)化對于所有控制器140列出的 所有屬性。替代地,發(fā)現(xiàn)模塊116可以將具有最適合端點需要的選擇 屬性的控制器140置于順序列表128的最高處。
在端點的發(fā)現(xiàn)模塊116已經(jīng)生成控制器的有序列表128之后,發(fā) 現(xiàn)模塊116選擇端點將會注冊的一個或多個控制器140 (步驟216)。 可以基于它們在控制器的有序列表128中各自的順序來選擇控制器 140。根據(jù)本發(fā)明的至少一個實施例,發(fā)現(xiàn)模塊116可以選擇來自服 務(wù)器136的控制器140和來自網(wǎng)關(guān)148的控制器140同時注冊。在活 動 -備用配置中,端點可以選擇服務(wù)器136的控制器140作為主控制 器,并且將網(wǎng)關(guān)148的控制器140作為次級控制器或備份控制器。
15在選擇控制器140后,端點能夠向所選的控制器140注冊(步驟 220)。根據(jù)本發(fā)明的至少一些實施例,端點可被配置為向具有不同 能力和SIP特征的控制器140注冊。例如,可以允許端點同時向使用 擴充的SIP擴展的第 一控制器140和使用標準SIP擴展的第二控制器 140注冊。所述擴充的SIP擴展可以由第一控制器140用來提供通過 第二控制器140不能實現(xiàn)的附加特征。
可以發(fā)送SIP REGISTER、 SUBSCRIBE、或OPTIONS消息或 其它SIP信令以檢測主控制器140是否還在線并可用于協(xié)助SIP消息 傳送。例如,可以由端點將SIP REGISTER消息發(fā)送到選擇的控制 器140以開始注冊過程。除了向端點提供向其控制器140注冊的能力 之外,SIP REGISTER消息還可以用作控制器140的心跳(heartbeat )。 SIP REGISTER消息的發(fā)送頻率可以由用戶基于系統(tǒng)需要來配置。換 句話說,端點可以向其注冊到的任何控制器140發(fā)送刷新注冊。
在活動-備用和活動-活動兩種配置中,端點可以同時向其選擇 的所有控制器140注冊。在操作中,端點可以嘗試保持向控制器140 的并發(fā)活動注冊(如通過周期性發(fā)送隨后的SIP REGISTER消息)。 在活動-活動配置中,可以允許端點向/從其注冊到的任何控制器140 發(fā)送/接收SIP消息。在上述配置中,端點將同時向兩個或更多控制器 140注冊。這種雙重注冊將允許來自端點注冊到的任何控制器140(如 第一控制器140a、第二控制器140b、第三控制器140c等等之一)的 進入SIP請求(如SIP INVITE消息)。如果端點被配置以使用活動 -活動控制器模型的策略,則端點可以將來自先前發(fā)生故障的控制器 140的呼入認為是來自服務(wù)中的控制器140。當其發(fā)生時,端點可以 重試算法以檢測發(fā)生故障的服務(wù)器是否已經(jīng)回到服務(wù)狀態(tài)。端點將被 配置為允許接收來自任何控制器140的這樣的SIP消息。根據(jù)本發(fā)明 的至少一些實施例,端點將多個注冊視作相互獨立的注冊,以本文中 討論的注冊邏輯來對待每個注冊。更具體地,允許端點向每個控制器 注冊相同的AOR,但端點實現(xiàn)可以靈活采用不同的AOR。這對于活 動-備用配置也是適用的。
16另一方面,在活動-備用配置中可以僅允許端點路由來自其主控
制器140的呼出以及接收來自其主控制器140的呼入。在操作時,該 主控制器140也可以被稱為活動的呼叫控制器140。端點注冊的其它 控制器140可以被稱為不活動的或者備用控制器。
在活動-備用配置中,如果當端點在其主模式(即端點認為主控 制器140是活動的)時端點接收到來自次級或者備用控制器140的呼 入,則端點將
(1) 用100 Trying消息響應(yīng)次級控制器140;
(2) 發(fā)送REGISTRATION刷新到主控制器140以查看主控制 器是否仍然在線并且可用于協(xié)助SIP消息傳送;
(3) 如果主控制器140仍然在線,則端點將發(fā)送305重定向響 應(yīng)(即使用代理服務(wù)器)到次級控制器140。所述305重定向響應(yīng)將 拒絕經(jīng)由次級呼叫控制器的呼叫,并且請求次級控制器140經(jīng)由主控 制器140重路由信令;以及
(4) 如果主控制器不再在線,則端點將為接收的呼叫提供標準 呼叫處理。作為該處理的一部分,端點將從主控制器140故障轉(zhuǎn)移到 次級控制器140,并且刷新其向次級控制器140的注冊。
在活動-備用配置中,如果端點在其工作于故障轉(zhuǎn)移模式(即假 定其主控制器140的狀態(tài)是不在服務(wù)中則使用次級控制器140作為活 動的控制器)時接收到來自其主控制器140的呼入,則該呼叫可以被 拒絕。
在故障條件期間或當端點認為系統(tǒng)100組件不在服務(wù)中的任何時 候,端點將不嘗試與主控制器140建立實時通信會話。另外,端點將 故障轉(zhuǎn)移到控制器的有序列表128上的第二個或下一個控制器140。 經(jīng)由可存活(即次級、再次級或備份)控制器140路由的呼叫信令將 允許端點的用戶在故障期間發(fā)出和接收新呼叫。
作為將在下面更具體地描述的故障轉(zhuǎn)移/故障恢復(fù)過程的一部分, 端點將識別活動的控制器140的地址,并且進一步荻得控制器140支 持的屬性和相關(guān)特征。換句話說,端點可被配置為導(dǎo)出其注冊到的控制器140被指定為例如"擴充的/私有的"還是"基本SIP"。端點的發(fā)現(xiàn) 模塊116可被配置為使用下列邏輯來發(fā)現(xiàn)控制器使用擴充SIP還是基 本SIP:
(1) 一旦故障轉(zhuǎn)移或故障恢復(fù),端點將刷新或更新其向每個控制 器140的注冊;
(2) 作為該過程的一部分,端點將嘗試用次級控制器140向所有 主控制器140重新預(yù)訂特4正包;
(3) 當端點向次級控制器140發(fā)送SUBSCRIBE請求時,如果次 級控制器僅支持基本SIP操作,則其將不識別該特征預(yù)訂請求;接著
(4) 簡單次級控制器140將以"客戶端錯誤405方法不允許使用 (Client Error 405 Method Not Allowed ),,作出響應(yīng)。
端點可以使用該信息將次級控制器140識別為服從標準IETF SIP 的控制器140。接著,端點在其工作于故障轉(zhuǎn)移模式時將在其用戶界 面(UI)上僅顯示基本SIP特征。如果活動的控制器140被指定為"擴 充的,,(如因為其對SUBSCRIBE請求作出了正確的響應(yīng)),則端點 將使用具有擴充擴展的SIP用于呼叫和特征處理,并顯示兼容的UI。
在活動-備用配置中可以提供的附加特征包括但不限于
(1) 端點絕不會將呼出路由到不活動的控制器140;
(2) 當端點從活動的控制器140故障轉(zhuǎn)移到不活動的控制器140 時,先前活動的控制器140將被指定為不活動的并且先前不活動的控 制器140將被指定為活動的;
(3) 端點將一直等待,直到所有活動的呼叫在故障轉(zhuǎn)移到指定的 控制器140之前結(jié)束為止。換句話說,直到所述活動的呼叫結(jié)束(即 直到端點從網(wǎng)絡(luò)104接收到對于活動呼叫的BYE消息或呼叫者已經(jīng) 掛斷),端點才會從新指定的活動控制器140接受新的呼入。類似地, 在故障轉(zhuǎn)移結(jié)束之前,不允許新的呼出。
(4) 如果端點在其使用次級控制器140時接收到來自不在服務(wù)中 的主控制器140的任何信令消息,則將忽略來自被標記為不在服務(wù)中 的主控制器140的信令消息。然而,這個規(guī)則有一個特例。也就是如
18果端點接收到來自其主控制器140告知其重新注冊的NOTIFY消息, 則端點將開始刷新或者嘗試刷新其注冊。在這種情況下,端點將使用 上面描述的標準SIP處理來響應(yīng)該NOTIFY消息。
在端點已經(jīng)向其各自的控制器140注冊后,所述方法結(jié)束(步驟 224)。
現(xiàn)在參考圖3,將根據(jù)本發(fā)明的至少一些實施例描述通信系統(tǒng)100 狀態(tài)確定方法。在可存活配置中,配備網(wǎng)關(guān)148檢測何時經(jīng)由主或次 級信令路徑路由呼叫信令;f艮重要。該方法從網(wǎng)關(guān)148發(fā)送SIP
OPTIONS消息到通信系統(tǒng)100中的另一組件時開始(步驟304)。 這樣的組件可以對應(yīng)于啟用SIP的組件。所述組件還可以對應(yīng)于對等 組件(即與網(wǎng)關(guān)148相鄰的組件)和/或遠端組件(即在它們和網(wǎng)關(guān) 148之間有至少一個中間組件)。根據(jù)本發(fā)明的至少一些實施例,SIP 遠端組件的主動監(jiān)視應(yīng)當少量進行,通常僅在系統(tǒng)100管理員知道中 間組件不能監(jiān)視它們的對等組件時進行。根據(jù)本發(fā)明的實施例,網(wǎng)關(guān) 148可以發(fā)送設(shè)有Max-Forwards=0的SIP OPTIONS消息,從而保 證OPTIONS消息不經(jīng)過多于一次單跳(即其目標朝向?qū)Φ冉M件)。
本領(lǐng)域的技術(shù)人員應(yīng)當理解,盡管已經(jīng)在本文中描述了采用SIP OPTIONS消息的監(jiān)視技術(shù),但是仍然可以使用任何其它類型的非對 話SIP事務(wù)來監(jiān)視本文中通信系統(tǒng)100及其組件的狀態(tài)。更具體地, 可以發(fā)送一般SIP消息(如INFO METHOD 、 MESSAGE METHOD 或甚至空SIP消息)來激活任何類型的基于SIP的響應(yīng)。由網(wǎng)關(guān)148 發(fā)送的SIP消息還可以包括要由消息接收者執(zhí)行的指令。例如,SIP 消息可以被生成為包括報告網(wǎng)關(guān)148和由網(wǎng)關(guān)148監(jiān)視的其它任何組 件(例如對等組件)的健康程度的可擴展標記語言(XML)消息,以 及將由接收者基于報告的網(wǎng)關(guān)148的健康程度所采取的動作。
網(wǎng)關(guān)148在發(fā)出SIP OPTIONS消息后,等待響應(yīng)的接收(步驟 308和312)。網(wǎng)關(guān)148等待響應(yīng)接收的時間量可以視系統(tǒng)100特性 而變化。根據(jù)本發(fā)明的至少一個實施例,網(wǎng)關(guān)148等待的時間長度可 以通過執(zhí)行諸如SIP計時器B或SIP計時器F( SIP計時器B或F是
19RFC 3261中定義的標準SIP計時器,通過引用將RFC 3261整體并入 本文中)的SIP計時器函數(shù)來確定,如果在請求發(fā)送后的預(yù)定秒數(shù)內(nèi) 沒有SIP響應(yīng)被接收,則所述計時器將取消SIP信令事務(wù)(例如SIP INVITE消息)。如果有SIP響應(yīng)(即使100 Trying)被接收,則計 時器B或計時器F被取消或短路。然而,如果計時器B激發(fā)(fire), 則可以要求網(wǎng)關(guān)148取消有問題的SIP事務(wù)并嘗試使用替代的路線來 路由所述請求。根據(jù)本發(fā)明的至少一些實施例,如果網(wǎng)關(guān)148已知的 所有路由地址都已經(jīng)用完,則SIP網(wǎng)關(guān)148可以用408請求超時(408 Request Timeout)來響應(yīng)初始的SIP信令事務(wù)。
一旦響應(yīng)被接收(如實際的響應(yīng)或確定在預(yù)定量的時間內(nèi)沒有響 應(yīng)被接收),則所述方法繼續(xù),網(wǎng)關(guān)148采用發(fā)現(xiàn)模塊144來確定響 應(yīng)是否對應(yīng)于故障條件(步驟316)。只要滿足下列任何條件,響應(yīng) 就可以指示網(wǎng)絡(luò)104或系統(tǒng)100組件已經(jīng)發(fā)生故障 (1)由于超時,OPTIONS監(jiān)視請求失敗;
(2 )由于事務(wù)超時和/或SIP計時器B超時(對于INVITE事務(wù)), 出現(xiàn)預(yù)定數(shù)量(如5)的連續(xù)SIP請求事務(wù)失??;或
(3 )當且僅當所述監(jiān)視是逐跳(即Max-Forward-1)而不是逐 端(即Max-Forward>l )執(zhí)行時,以Retry-After頭部接收對OPTIONS 監(jiān)視請求的任何400或500類響應(yīng),此外至少對于在Retry-After頭 部中指定的持續(xù)時間,地址:故標記為"過載"。
對于條件(3),包括地址的IP地址的已有對話應(yīng)繼續(xù)使用該地 址,除非出現(xiàn)故障,但是端點在故障恢復(fù)前對于新對話不應(yīng)使用該地 址。在已有對話使用主機名代替IP地址的情況下,對于每個事務(wù)將 進行主機名解析,并且返回的地址將是可用的最高優(yōu)先級地址。如果 主機名僅解析為單IP地址并且該地址被標記為"過載",則應(yīng)當發(fā)送 請求。條件(3)的凈效應(yīng)是網(wǎng)關(guān)148的發(fā)現(xiàn)4莫塊144應(yīng)該知道三種 狀態(tài)可用的、不在服務(wù)中和過載。標記為過栽的地址繼續(xù)接收對話 內(nèi)隨后的請求,但不接收新對話請求。
如果基于對OPTIONS消息的響應(yīng),網(wǎng)關(guān)148的發(fā)現(xiàn)模塊144確定沒有故障條件并且系統(tǒng)100處于工作的正常狀態(tài),則發(fā)現(xiàn)模塊144 接下來確定指令是否包括在響應(yīng)中(步驟320)。發(fā)現(xiàn)模塊144可以 分析響應(yīng)以得到包括在所述響應(yīng)中或附在所述響應(yīng)上(即在消息的頭 部或尾部)的可執(zhí)行指令。如果指令包括在響應(yīng)中,則執(zhí)行所述指令 (步驟324)。此后,或者如果響應(yīng)沒有包括指令,則發(fā)現(xiàn)模塊144 接下來更新其對系統(tǒng)IOO狀態(tài)的記錄以反映作出響應(yīng)的組件(例如服 務(wù)器136)的運行情況(步驟328 )。更新網(wǎng)絡(luò)狀態(tài)后,所述方法接 下來由發(fā)現(xiàn)模塊144確定是否是時候發(fā)送新消息(步驟332)。更具 體地,網(wǎng)關(guān)148可以將SIP OPTIONS消息周期地發(fā)送到其它SIP服 務(wù)器136作為心跳機制,以確定其它SIP服務(wù)器136是否是活動的。 可以以預(yù)定的時間間隔將OPTIONS消息發(fā)送到其它系統(tǒng)100組件。 預(yù)定時間間隔的長度可以通過執(zhí)行SIP計時器B或其變體來確定。更 具體地,OPTIONS監(jiān)視可以以不同的時間間隔進行,這取決于網(wǎng)關(guān) 148是否檢測到故障條件。
#4居本發(fā)明的至少一些實施例,對SIP OPTIONS消息的主動監(jiān) -f見時間間隔可以;故配置為從約600到約100000秒的范圍內(nèi),并且在 隨后的監(jiān)視嘗試中應(yīng)該使用在配置值的75 %到125 %之間的統(tǒng)一 隨機 時間。例如,如果主動監(jiān)視時間間隔被設(shè)置為60秒,則發(fā)送OPTIONS 消息之間的實際間隔可以均勻分布在45到75秒之間。在主動監(jiān)視過 程中故意引入抖動允許請求保持非同步,從而將負擔在時間上均勻地 分攤在被監(jiān)視的組件(即服務(wù)器136)上。在一個實施例中,主動監(jiān) -f見時間間隔可以;故配置為約900秒或15分鐘。
根據(jù)本發(fā)明的至少一些實施例,對SIP OPTIONS消息的被動監(jiān) :枧時間間隔可以;陂配置為從約10到約3600秒的范圍內(nèi),并且在隨后 的監(jiān)視嘗試中可以具有在配置值的75%到125%之間的統(tǒng)一隨才幾時 間。為被動監(jiān)視提供單獨的計時器(與主動監(jiān)視相反)允許網(wǎng)關(guān)148 更快地檢測被監(jiān)視的當前不在服務(wù)中的組件何時再次變?yōu)榭捎玫?。?一個實施例中,-故動監(jiān)一見時間間隔可以4皮配置為約120秒。
雖然結(jié)合SIP計時器B的使用描述本發(fā)明的示例性實施例,但任
21何范圍的值,無論該值是否具有統(tǒng)一隨機時間修正,都可以在不背離 本發(fā)明的原則下實現(xiàn)。另外,監(jiān)視時間間隔可以基于外部業(yè)務(wù)邏輯鉤 子(異常分支)進行修改。例如,如果監(jiān)視機制被鉤連到帶寬管理系 統(tǒng),監(jiān)視系統(tǒng)可以通過一些代表網(wǎng)絡(luò)中可用帶寬的系數(shù)進一步調(diào)整監(jiān) 牙見時間間隔。
再參考步驟316,如果發(fā)現(xiàn)模塊144確定響應(yīng)對應(yīng)于故障條件, 則發(fā)現(xiàn)模塊144將更新其對于系統(tǒng)100狀態(tài)的記錄以反映故障(步驟 336 )。作為檢測該組件故障的結(jié)果,尤其是如果發(fā)生故障的組件在 主通信路徑中,則網(wǎng)關(guān)148將進行故障轉(zhuǎn)移并且開始工作在故障轉(zhuǎn)移 狀態(tài)。
在故障轉(zhuǎn)移期間,網(wǎng)關(guān)148的發(fā)現(xiàn)模塊144將通過繼續(xù)發(fā)送 OPTIONS消息到被識別為不在服務(wù)中的組件以開始被動監(jiān)視系統(tǒng) 100中的組件(步驟340)。這種被動監(jiān)視允許網(wǎng)關(guān)148的發(fā)現(xiàn)模塊 144檢測該組件何時重回在線狀態(tài)。當被動監(jiān)視開始時,網(wǎng)關(guān)148將 停止主動監(jiān)視組件,并且開始采用被動監(jiān)視規(guī)則。更具體地,在被動 監(jiān)視期間,網(wǎng)關(guān)148的發(fā)現(xiàn)模塊144可以開始維護測試以確定被監(jiān)視 的組件是可用的還是不在服務(wù)中(步驟344)。該維護測試可以采用 類似于主動監(jiān)視算法的監(jiān)視算法。網(wǎng)關(guān)148的發(fā)現(xiàn)模塊144將繼續(xù)采 用該維護測試直到故障恢復(fù)為止(即直到組件的狀態(tài)從不在服務(wù)中變 為可用的)(步驟348)。在維護測試期間,網(wǎng)關(guān)H8可以發(fā)送任何類 型的SIP請求(如INVITE, SUBSCRIBE, NOTIFY等)到當前被 標記為不在服務(wù)中的組件。如果一個或多個下列條件成立,則網(wǎng)關(guān)148 的發(fā)現(xiàn)模塊144將繼續(xù)標記所述組件為不在服務(wù)中
(1) SIP計時器B在INVITE消息已^皮發(fā)送后激發(fā)(fire );
(2) 網(wǎng)關(guān)148接收到408請求超時響應(yīng);
(3) SIP請求事務(wù)超時;或
U)在嘗試發(fā)送請求時,發(fā)生網(wǎng)絡(luò)104或傳輸層錯誤。 如果在維護測試期間沒有上面列出的條件成立,則網(wǎng)關(guān)148的 發(fā)現(xiàn)模塊144將確定故障恢復(fù)已經(jīng)發(fā)生,并且所述方法將繼續(xù)到步驟
22328。根據(jù)本發(fā)明的至少一些實施例,將繼續(xù)應(yīng)用被動監(jiān)視和維護測 試,直到被監(jiān)視的組件用除503服務(wù)不可用之外的任何SIP響應(yīng)回答 兩個連續(xù)的OPTIONS請求嘗試為止。 一旦滿足這些條件,網(wǎng)關(guān)148 就可以認為所述組件已經(jīng)回到服務(wù)中,可以恢復(fù)主動監(jiān)視算法,可以 生成合適的簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)事件,并且如果適用的話開 始利用現(xiàn)在活動的組件。
本領(lǐng)域的技術(shù)人員可以理解的是,網(wǎng)關(guān)148不是系統(tǒng)100中僅有 的可以保留路徑再分配信息的組件。而是任何SIP網(wǎng)絡(luò)元件都可被配 置為包括路徑再分配信息等。例如諸如UA 108的端點也可以保留路 徑再分配表,該表列出在某些組件被識別為不在服務(wù)中時可以使用的 通信路徑。
現(xiàn)在將參考圖4描述根據(jù)本發(fā)明的至少一些實施例的被動監(jiān)視 方法。所述方法從網(wǎng)關(guān)148接收到來自服務(wù)器136或類似的系統(tǒng)100 組件的請求時開始(步驟404)。網(wǎng)關(guān)148以正常方式處理接收的請 求(步驟408)。更具體地,網(wǎng)關(guān)148可以按照發(fā)送組件處于服務(wù)中 來處理該請求,而不需首先確定該組件實際上是否處于服務(wù)中。
此后,網(wǎng)關(guān)148基于其內(nèi)部保留的狀態(tài)表來確定發(fā)送組件實際上 是否被標記為不在服務(wù)中(步驟412)。如果所述組件沒有被標記為 不在服務(wù)中,則結(jié)束所述方法(步驟424)。否則,網(wǎng)關(guān)148將通過 發(fā)送SIP OPTIONS消息到所述組件以開始其維護測試(步驟416 )。 接著網(wǎng)關(guān)148可以更新其對于所述組件狀態(tài)的記錄(步驟420)。重 復(fù)該維護測試和狀態(tài)更新處理,直到所述組件被確定為重回服務(wù)中為 止,并在該時刻結(jié)束所述方法(步驟424 )。
參考圖5描述根據(jù)本發(fā)明的至少一些實施例的網(wǎng)關(guān)148在故障轉(zhuǎn) 移和故障恢復(fù)狀態(tài)期間的操作。在這種特定方法中,與網(wǎng)關(guān)148相關(guān) 的控制器140可以對應(yīng)于可存活端點的次級或備份控制器140。所述 方法從網(wǎng)關(guān)148接收可存活端點的呼入時開始(步驟504)。接著網(wǎng) 關(guān)148確定主信令路徑是否可供使用(步驟508)。根據(jù)本發(fā)明的至 少一些實施例,在這一步驟中,網(wǎng)關(guān)148可以參考其內(nèi)部組件狀態(tài)表。如果主信令路徑被確定為可用,則網(wǎng)關(guān)148將接收的信號經(jīng)由主 路徑路由到目標端點(步驟512),隨后,結(jié)束該方法(步驟536)。 然而,如果網(wǎng)關(guān)148確定主信令路徑由于一些原因(如網(wǎng)絡(luò)104、月艮 務(wù)器136或主信令路徑中的其它組件不在服務(wù)中)不可用,則所述方 法接下來由網(wǎng)關(guān)148將信號經(jīng)由次級信令路徑發(fā)送到目標端點(步驟 516)。這個特定步驟是基于次級信令路徑不是也不可用的假設(shè)來執(zhí) 行的。如果網(wǎng)關(guān)確定次級信令路徑也不可用,則選擇繞過發(fā)生故障的 組件的另一個備份信令路徑,并且用其發(fā)送信號到端點。
在呼叫信號已經(jīng)經(jīng)由次級信令路徑發(fā)送到目標端點之后,網(wǎng)關(guān)
148等待確定是否從所述端點接收到305重定向響應(yīng)(使用代理服務(wù)
器)消息(步驟520 )。在活動-備用配置中,如果經(jīng)由次級路徑接
收呼叫信號的端點認為主信令路徑可用,則所述端點可以發(fā)送305重
定向響應(yīng)。這種認為是基于在所述端點而不是在網(wǎng)關(guān)148處執(zhí)行的狀
態(tài)監(jiān)視操作。因此,基于對系統(tǒng)100的不同看法,端點對于系統(tǒng)IOO
中一個或多個組件可能標記不同的狀態(tài)。相應(yīng)地,如果網(wǎng)關(guān)148基于 其呼叫信號經(jīng)由次級路徑的重定向接收到305重定向響應(yīng),則網(wǎng)關(guān)"8
將嘗試經(jīng)由主信令路徑重定向呼叫信號(步驟524 )。如果因為呼叫 信號的成功傳輸,主信令路徑被確定為可用(步驟528),則在步驟 536中結(jié)束所述方法。如果呼叫由于主信令路徑不可用而被拒絕,則 該呼叫可以被拒絕或經(jīng)由次級信令路徑被發(fā)回(步驟532)。另外, 網(wǎng)關(guān)148可以發(fā)送NOTIFY消息到目標端點,指示其重新檢查其對主 信令路徑狀態(tài)的觀測。此后,或者如果沒有從端點接收到重定向響應(yīng) 信息,則結(jié)束所述方法(步驟536)。
現(xiàn)在將參考圖6描述根據(jù)本發(fā)明的至少一些實施例的系統(tǒng)100 狀態(tài)確定的端點方法。首先,端點(如可存活UA108 )工作于正常 狀態(tài)(步驟604)。接著,端點采用其發(fā)現(xiàn)模塊116的邏輯來確定是 否檢測到網(wǎng)絡(luò)故障(步驟608 )。在可存活配置中,端點能夠檢測何 時故障轉(zhuǎn)移或故障恢復(fù)是非常有用的。根據(jù)本發(fā)明的至少一些實施 例,如果發(fā)生下列事件中的一個或多個,則端點使用的發(fā)現(xiàn)模塊116邏輯將確定出現(xiàn)網(wǎng)絡(luò)故障
(1) 端點沒有從其正嘗試注冊的所有控制器140 (如主、次級 控制器140)接收到作為心跳的、對SIP REGISTER消息的響應(yīng);
(2) 端點沒有接收到對SIP INVITE消息的響應(yīng),其中所述SIP INVITE消息可能在嘗試建立呼出的正常處理中已被發(fā)送;
(3) 端點沒有接收到對SIP信令消息的響應(yīng),所述SIP信令消 息被發(fā)送用于正常建立新SIP對話或?qū)υ捴械淖兓换?br>
(4) 端點沒有從其配置服務(wù)器接收到對重要請求(可以由不同 類型的協(xié)議攜帶,例如TCP/IP、 HTTP、 XML或SOAP)的成功響 應(yīng),或其它任何帶外非通信業(yè)務(wù),例如用于獲取與故障相關(guān)的數(shù)據(jù)的 數(shù)據(jù)業(yè)務(wù)。
如果端點本身沒有檢測到故障,則所述方法接下來由該端點確定 是否已被通知有故障(步驟612)。通知可以在端點處以從網(wǎng)關(guān)148、 服務(wù)器136或系統(tǒng)100中能夠監(jiān)視系統(tǒng)100狀態(tài)的某個其它組件發(fā)送 的SIP NOTIFY消息的形式接收。SIP NOTIFY消息可以指示端點應(yīng) 進行故障轉(zhuǎn)移、重新啟動或刷新/更新向其所有控制器140的注冊(由 此規(guī)避端點的邏輯)。如果沒有通知被接收,則所述方法返回到步驟 604。
然而,如果端點被通知在系統(tǒng)100中有故障(如通過接收SIP NOTIFY消息),則端點確定故障通知是否正確(步驟616)。更具 體地,端點可以檢查其內(nèi)部保留的控制器列表120、 128以確定是否 有控制器140被標記為不活動的或不在服務(wù)中。大多數(shù)時候端點將只 是服從NOTIFY消息的指導(dǎo)。但是,在某些情況下,端點也可以確定 其對系統(tǒng)100的XC測是正確的并且可以用重定向響應(yīng)消息來響應(yīng) NOTIFY消息(步驟620 )。這種重定向響應(yīng)可以使NOTIFY消息的 發(fā)起組件檢查其對系統(tǒng)100的觀測。接著所述方法返回到步驟604。
如果端點判斷故障通知是正確的或者決定服從NOTIFY消息的 指導(dǎo),則端點確定NOTIFY消息是否包含指令(步驟624)。所述指 令可以是相對籠統(tǒng)的指令,例如嘗試向所有的控制器140重新注冊。替代地,所述指令可以包括要求端點嘗試向特定控制器140重新注冊 的指令集。端點可以嘗試以長或短的時間間隔進行刷新或向控制器 140注冊。刷新/注冊時間間隔的長度可以隨指令集中的指令或其它因 素而變化。所述指令還可以包含由發(fā)送NOTIFY消息的組件所感知的 整個系統(tǒng)100的健康程度信息。如果所述消息確實包含指令,則端點 將執(zhí)行這些指令(步驟628)。
在端點已經(jīng)執(zhí)行指令之后或如果所述消息不包含指令,則所述方 法接下來由端點執(zhí)行故障轉(zhuǎn)移,因此端點開始在備份狀態(tài)下工作(步 驟632)。這個步驟也在端點本身檢測到系統(tǒng)100故障時進行。在以 故障轉(zhuǎn)移模式工作期間,端點將利用其備份控制器140和/或利用次級 信令路徑。除了以故障轉(zhuǎn)移模式工作之外,端點還可以監(jiān)視系統(tǒng)100 故障恢復(fù)(步驟636 )。如果發(fā)現(xiàn)模塊116檢測到其主控制器140可 重新開始用作活動控制器,則端點將確定故障恢復(fù)已經(jīng)發(fā)生。這個內(nèi) 部端點邏輯可以由周期性地發(fā)送到端點注冊到的所有控制器140的心 跳/SIP REGISTER消息來支配,不依賴于控制器140在給定時間是 否為活動的。
如果端點本身沒有檢測到故障恢復(fù),則所述方法接下來由端點確 定是否另一個組件已經(jīng)將故障恢復(fù)通知給它(如通過從網(wǎng)關(guān)148、服 務(wù)器136等接收NOTIFY消息)(步驟640 )。如果端點沒有被通知 故障恢復(fù),則所述方法返回到步驟632。但是,如果端點確實接收到 指示故障恢復(fù)的NOTIFY消息,則所述方法接下來確定NOTIFY消 息是否包含供端點執(zhí)行的指令(步驟644 )。如果指令包括在NOTIFY 消息中,則由端點執(zhí)行指令(步驟648)。執(zhí)行這些指令后,如果沒 有指令了,或者如果端點本身檢測到故障恢復(fù),則所述方法返回到步 驟604。
根據(jù)本發(fā)明的至少一些實施例,發(fā)現(xiàn)模塊116可以包括管理從主 控制器140到次級控制器140的故障轉(zhuǎn)移或故障恢復(fù)是由自動端點檢 測觸發(fā)還是僅手動觸發(fā)(即通過接收SIP NOTIFY消息)的可配置參 數(shù)。發(fā)現(xiàn)模塊116采用的心跳監(jiān)視機制可以以不同的時間間隔進行,
26其取決于端點是否檢測到故障條件。
現(xiàn)在將參考圖7描述根據(jù)本發(fā)明的至少一些實施例的狀態(tài)通知方 法。所述方法開始于系統(tǒng)100組件(如服務(wù)器136、網(wǎng)關(guān)148或其它 任何包括發(fā)現(xiàn)模塊144的設(shè)備)確定其是否應(yīng)將關(guān)于系統(tǒng)100的消息 通知諸如UA 108的端點(步驟704)。典型地,所述組件將發(fā)送 NOTIFY消息到端點,通知該端點系統(tǒng)100狀態(tài)的某些方面已經(jīng)改變。 例如,NOTIFY消息可以通知端點系統(tǒng)中的一個組件已經(jīng)注冊為不 在服務(wù)中。替代地,NOTIFY消息可以將發(fā)送組件的健康程度告知端 點。
所述方法保持在步驟704,直到其確定應(yīng)向端點發(fā)送通知消息為 止。做出這樣的決定之后,所述方法接下來由所述組件生成消息(如 NOTIFY消息)(步驟708)。然而,應(yīng)當理解所述組件可以采用任 何其它類型的SIP或非SIP消息來通知端點。所述通知可以允許所述 組件觸發(fā)端點在系統(tǒng)100故障或恢復(fù)條件下進行故障轉(zhuǎn)移或故障恢 復(fù)。由于端點可以保留控制器的有序列表128并且端點能夠保持向所 有這些控制器的活動注冊,系統(tǒng)100組件可以觸發(fā)端點在其檢測到系 統(tǒng)100故障條件時采取行動。所述行動可以通過發(fā)送標準通知消息(如 服從標準SIP IETF的NOTIFY消息)或包含例如特定指令集的擴展 消息來觸發(fā)。相應(yīng)地,所述方法接下來由所述組件確定通知消息中是 否應(yīng)包括指令(步驟712)。
如果沒有特定指令被確定為是必需的,則所述組件可以命令端點 向控制器的有序列表128中的所有控制器140重新注冊,并且發(fā)送一 般性的通知消息到端點(步驟720)。這樣,接收到上述通知的任何 端點將嘗試向其列表中的每一個控制器140重新注冊?;谶@個嘗試 的重新注冊的成功,端點將能夠獲知哪些控制器140可用于處理SIP 事務(wù)(如支持SIP呼入和呼出)。接著端點根據(jù)這個自我確定的信息 使用控制器的有序列表128上最高優(yōu)先級的控制器140作為其主控制 器來運轉(zhuǎn)。這個特定的機制可以使用服從標準SIP IETF的NOTIFY 消息。該消息可以服從關(guān)于NOTIFY消息的SIP標準,NOTIFY參數(shù)為"event(事件)"-"probation (查驗),,。提供上述NOTIFY消息 的一個例子如下
(registration aor="sip:joe@example.com" id="a7" state="active"> 〈contact id="76" state-"active" event-"probation" expires:,'O"
q="0.8" retry-after="0">
然而,如果所述組件確定特定指令應(yīng)包括在通知消息中,則所述 組件可以在向端點發(fā)送消息前加入一個或多個指令集到消息中(步驟 720 )。通過將指令并入到通知消息中,所述組件可以命令端點開始 使用在端點的控制器列表120上的特定控制器140。在這樣的情形下, 端點依賴于所述組件告知其應(yīng)該使用哪個控制器140,而不是依賴于 其自己的判斷。這個特殊的機制可以使用具有擴充擴展的標準SIP NOTIFY消息。該NOTIFY消息一般服從NOTIFY消息的SIP標準; 另外,如果端點應(yīng)進行故障轉(zhuǎn)移或故障恢復(fù),則其可以使用具有諸如 〈eventName〉changeServer〈/eventName〉的事件名的示例性的簡檔事 件包(profile event package )格式。所述消息還可以包括時間戳和包 含端點應(yīng)該故障轉(zhuǎn)移或故障恢復(fù)到的特定控制器140的服務(wù)器136的 地址。用XML指令集提供上述擴充的SIP NOTIFY消息的一個例子 如下
NOTIFY sip:l 111@10.0.75.2 SIP/2.0 Call-ID: cid-,0.0.75.2 CSeq: 2 NOTIFY
From: <sip:l 11 l@atler.com>; tag=random2 To: <sip: 11 ll@atler.com>; tag=randoml
Via: SIP/2.0/UDP 10.0.0.100;branch-id=z9hG4bk-random-the primary call controller
SIP/2.0/TLS 10.0.0.200;branch-id=z9hG4bK-random-cml Conteru-Length: 22
Content-Type: application/profile+xml Contact: <sip:l 11 l@I0.0.0.200;transport=tls/
Max-Forwards: 69
User-Agent: Communication Manager v 1.0 Event: ccs-profile
Subscription-State.. active;expires=3600 Record-Route: <sip: 10.0.0. i00:5060;(r;transport-UDP>
< xml version-" 1.0";> <event>
<eventName>changeServer</eventName> <eventTime>{time stamp} </eventTime> <eventData>{ip address}</eventData> </event>
28本領(lǐng)域的技術(shù)人員應(yīng)當理解,所述指令可以采取除XML指令集 以外的許多不同形式。例如,所述指令可以包括對應(yīng)于并且導(dǎo)致已經(jīng) 存儲在端點的存儲器112中的應(yīng)用或算法執(zhí)行的預(yù)定觸發(fā)器。另外, 盡管上面的NOTIFY消息例子將其指令集包括在消息主體中,但所述 指令集也可以置于通知消息的頭部或尾部。這隨著采用的通知消息的 類型而變化。所述指令可以用于完成很多不同的動作,例如傳送發(fā)送 組件的健康信息和系統(tǒng)100的其余組件的狀態(tài)信息,以及觸發(fā)端點執(zhí) 行特定的任務(wù)。
雖然已經(jīng)結(jié)合特定的事件順序討論了上述流程圖,應(yīng)該理解在不 實質(zhì)影響本發(fā)明操作的情況下可以改變這個順序。另外,不必嚴格按 照示例性實施方式中闡明的事件順序。本文中示出的示例性技術(shù)不限 于具體示出的實施例,也可以用于其它示例性的實施方式,并且每個 描述的特征是獨立的且單獨要求保護的。
本發(fā)明的系統(tǒng)、方法和協(xié)議可以在專用計算機上實施,和下列裝 置一起或代替下列裝置所描述的通信設(shè)備,編程的微處理器或微控 制器和外圍集成電路元件,ASIC或其它集成電路,數(shù)字信號處理器, 諸如離散元件電路的硬連線電子或邏輯電路,諸如PLD、PLA、FPGA、 PAL的可編程邏輯器件,諸如服務(wù)器的通信設(shè)備,個人計算機,任何 相當?shù)难b置等等??傊?,任何能夠?qū)崿F(xiàn)狀態(tài)機,進而能夠?qū)崿F(xiàn)這里描 述的方法的設(shè)備都可以用來實施根據(jù)本發(fā)明的各種通信方法、協(xié)議和 技術(shù)。
此外,公開的方法可以使用過程的或面向?qū)ο蟮能浖_發(fā)環(huán)境用 軟件實施,所述軟件開發(fā)環(huán)境提供可用于多種計算機或工作站平臺上 的便攜源代碼。替代地,公開的系統(tǒng)可以使用標準邏輯電路或VLSI 設(shè)計部分地或全部地用硬件實現(xiàn)。使用軟件還是硬件來實現(xiàn)根據(jù)本發(fā) 明的系統(tǒng)取決于系統(tǒng)的速度和/或效率要求、特定功能和所采用的特定 軟件或硬件系統(tǒng)或微處理器或微計算機系統(tǒng)。本相關(guān)領(lǐng)域的技術(shù)人員 可以基于本文提供的功能性說明和通信領(lǐng)域的 一般常識,使用任何已 知的或后發(fā)展的系統(tǒng)或結(jié)構(gòu)、設(shè)備和/或軟件用硬件和/或軟件便捷地實施本文示出的分析系統(tǒng)、方法和協(xié)議。
此外,公開的方法可以用可存儲在存儲介質(zhì)中、在含有控制器和 存儲器的編程的通用計算機、專用計算機、微處理器等上執(zhí)行的軟件 來實現(xiàn)。在這些實例中,本發(fā)明的系統(tǒng)和方法可以實現(xiàn)為嵌入到個人
計算才幾的程序,例如Java程序(applet)/JAVA⑧或CGI腳本,駐留在 服務(wù)器或計算機工作站上的資源、嵌入到專用通信系統(tǒng)或系統(tǒng)組件的 例程等等。所述系統(tǒng)也可以通過將系統(tǒng)和/或方法實體合并到軟件和/ 或硬件系統(tǒng),例如通信設(shè)備或系統(tǒng)的硬件和軟件系統(tǒng)中來實現(xiàn)。
因此,根據(jù)本發(fā)明可以提供用于維護SIP可存活網(wǎng)絡(luò)和網(wǎng)絡(luò)組件 的系統(tǒng)、設(shè)備和方法。已經(jīng)結(jié)合許多實施例描述本發(fā)明,眾多替換、 修改和變形是清楚的,這一點對于相關(guān)領(lǐng)域的技術(shù)人員來說是顯而易 見的。因此,本發(fā)明意在包括在本發(fā)明的精神和范圍內(nèi)的所有這些替 換、修改、等同和變形。
權(quán)利要求
1. 一種方法,包括由通信設(shè)備確定通信系統(tǒng)中的組件的狀態(tài)已從第一狀態(tài)變?yōu)榈诙顟B(tài);在該通信設(shè)備處生成消息,該消息包括與被確定的所述組件的第二狀態(tài)有關(guān)的信息;以及將所述消息發(fā)送到與所述組件相關(guān)聯(lián)的用戶代理。
2. —種通信設(shè)備,用于確定通信系統(tǒng)中的組件的狀態(tài)已從第一 狀態(tài)變?yōu)榈诙顟B(tài),生成包括與被確定的所述組件的第二狀態(tài)有關(guān)的 信息的消息,并將所述消息發(fā)送到與所述組件相關(guān)聯(lián)的用戶代理。
3. 根據(jù)權(quán)利要求1或2所述的發(fā)明,其中,所述組件包括對于 所述用戶代理的第 一會話發(fā)起協(xié)議SIP控制器,其中所述第 一狀態(tài)包 括工作SIP狀態(tài),并且其中所述第二狀態(tài)包括故障SIP狀態(tài)。
4. 根據(jù)以上任一權(quán)利要求所述的發(fā)明,其中所述消息提示所述 用戶代理嘗試向第一 SIP控制器重新注冊。
5. 根據(jù)以上任一權(quán)利要求所述的發(fā)明,其中第一控制器包括所 述用戶代理的主控制器。
6. 根據(jù)以上任一權(quán)利要求所述的發(fā)明,其中所述通信設(shè)備還用 于生成供所述用戶代理執(zhí)行的指令并將所述指令合并到所述消息中。
7. 根據(jù)權(quán)利要求6所述的發(fā)明,其中所述指令識別第一 SIP控 制器,使得所述用戶代理參考內(nèi)部保留的SIP控制器列表,以將第一 SIP控制器識別為該用戶代理要嘗試重新注冊的SIP控制器。
8. 根據(jù)以上任一權(quán)利要求所述的發(fā)明,其中所述消息包括標準 SIP NOTIFY消息,該標準SIP NOTIFY消息使所述用戶代理嘗試向 其內(nèi)部保留的SIP控制器列表中的所有控制器進行重新注冊,并且其 中所述內(nèi)部保留的SIP控制器列表包括第一 SIP控制器。
9. 根據(jù)以上任一權(quán)利要求所述的發(fā)明,其中所述通信設(shè)備還用 于從所述用戶代理接收應(yīng)答消息,該應(yīng)答消息指示所述用戶代理認為所述組件處于所述第一狀態(tài),并且響應(yīng)于接收到該應(yīng)答消息,所述通 信設(shè)備重新檢查所述組件的狀態(tài)。
10.一種計算機可讀介質(zhì),包括在被執(zhí)行時用于實現(xiàn)權(quán)利要求1的方法的處理器可執(zhí)行指令。
全文摘要
本發(fā)明涉及在SIP可存活配置中使用SIP消息的故障轉(zhuǎn)移/故障恢復(fù)觸發(fā)。根據(jù)本發(fā)明的用于維護SIP可存活網(wǎng)絡(luò)的方法包括由通信設(shè)備確定通信系統(tǒng)中的組件的狀態(tài)已從第一狀態(tài)變?yōu)榈诙顟B(tài);在該通信設(shè)備處生成消息,該消息包括與被確定的所述組件的第二狀態(tài)有關(guān)的信息;以及將所述消息發(fā)送到與所述組件相關(guān)聯(lián)的用戶代理。這樣,本發(fā)明可基于所確定的SIP網(wǎng)絡(luò)的狀態(tài),利用諸如SIP NOTIFY消息這樣的消息來觸發(fā)各種網(wǎng)絡(luò)組件進行故障轉(zhuǎn)移和故障恢復(fù)。
文檔編號H04L12/24GK101547128SQ20081018218
公開日2009年9月30日 申請日期2008年11月24日 優(yōu)先權(quán)日2008年3月26日
發(fā)明者A·貝克, B·詹金斯, F·J·波義耳, G·布倫森, M·C·巴拉薩伊甘, P·J·勞伯 申請人:阿瓦亞公司