專利名稱:一種糾正h.248中端點狀態(tài)失步的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信中的交換技術(shù)領(lǐng)域,更具體地說,涉及一種糾正H.248中端點狀態(tài)失步的方法。
背景技術(shù):
近年來,通信網(wǎng)絡(luò)發(fā)展迅速,取得了巨大成績,綜合通信能力明顯增強。但是,隨著產(chǎn)業(yè)界的融合趨勢,電話網(wǎng)、計算機網(wǎng)、有線電視網(wǎng)趨于融合,網(wǎng)絡(luò)面臨的壓力越來越大。網(wǎng)絡(luò)面臨的負荷在不斷增大,業(yè)務(wù)需求也趨于多樣化,運營商必須提供越來越多的多媒體業(yè)務(wù)才能吸引住用戶,而這些新型的多樣性業(yè)務(wù),是目前網(wǎng)絡(luò)所難以提供的。因此,基于軟交換技術(shù)的下一代網(wǎng)絡(luò)應(yīng)運而生。
如圖1所示,是下一代網(wǎng)絡(luò)的網(wǎng)絡(luò)架構(gòu)圖。根據(jù)不同的功能可將網(wǎng)絡(luò)分解成以下4個功能層面(1)業(yè)務(wù)層處理業(yè)務(wù)邏輯,其功能包括智能網(wǎng)業(yè)務(wù)邏輯、AAA(認證、鑒權(quán)、計費)和地址解析,且通過使用基于標準的協(xié)議和API來發(fā)展業(yè)務(wù)應(yīng)用。
(2)控制層負責呼叫邏輯,處理呼叫請求,并指示傳送層建立合適的承載連接??刂茖拥暮诵脑O(shè)備是軟交換,軟交換需要支持眾多的協(xié)議接口,以實現(xiàn)與不同類型網(wǎng)絡(luò)的互通。
(3)傳送層指NGN的承載網(wǎng)絡(luò)。負責建立和管理承載連接,并對這些連接進行交換和路由,用以響應(yīng)控制層的控制命令,可以是IP網(wǎng)或ATM網(wǎng)。
(4)接入層由各類媒體網(wǎng)關(guān)和綜合接入設(shè)備(IAD)組成,通過各種接入手段將各類用戶連接至網(wǎng)絡(luò),并將信息格式轉(zhuǎn)換成為能夠在分組網(wǎng)絡(luò)上傳遞的信息格式。
采用軟交換技術(shù),將傳統(tǒng)交換機的功能模塊分離為獨立網(wǎng)絡(luò)部件,各部件按相應(yīng)功能進行劃分,獨立發(fā)展。采用業(yè)務(wù)與呼叫控制分離、呼叫控制與承載分離技術(shù),實現(xiàn)開放分布式網(wǎng)絡(luò)結(jié)構(gòu),使業(yè)務(wù)獨立于網(wǎng)絡(luò)。
在此分離結(jié)構(gòu)下,呼叫控制面和承載控制面的主體分別是媒體網(wǎng)關(guān)控制器(Media Gateway Controller,簡稱為MGC)和媒體網(wǎng)關(guān)(Media Gateway,簡稱為MGW,在RFC3525中簡稱為“MG”)。MGW接受MGC的控制,它們之間的接口協(xié)議稱作媒體網(wǎng)關(guān)控制協(xié)議(Media Gateway Control Protocol,簡稱為MGCP),在ITU-T中定義為H.248系列規(guī)范,如圖2所示。
H.248協(xié)議是2000年由ITU-T第16工作組提出的媒體網(wǎng)關(guān)控制協(xié)議,它是在早期的MGCP協(xié)議基礎(chǔ)上改進而成。H.248協(xié)議是用于連接MGC和MGW的網(wǎng)關(guān)控制協(xié)議,應(yīng)用于媒體網(wǎng)關(guān)與軟交換之間及軟交換與H.248終端之間。
在H.248協(xié)議中,MGW上的承載資源被抽象為端點(Termination),由網(wǎng)關(guān)自行分配Id來標識,MGC通過這個Id來引用MGW上的承載資源并對其進行操作。在Id空間中又預(yù)留了一個特殊的稱作ROOT的Id來標識MGW整體,以利于MGC將MGW作為一個整體來進行操作。MGC能對MGW上的承載資源進行正確操作的必要條件之一是MGC和MGW對Termination的狀態(tài)必須達到一致認識。Termination的狀態(tài)可以分為兩個基類服務(wù)態(tài)(InService)和退出服務(wù)態(tài)(OutOfService),分別表明Termination是可用或不可用。
在H.248協(xié)議中,定義了一系列的命令。其中一個是ServiceChange命令,這個命令的重要用途之一就是MGW向MGC通報Termination的狀態(tài)。還有另一個命令是AuditValue,可以被MGC用來向MGW查詢Termination的狀態(tài)。
現(xiàn)有協(xié)議的機制可以保證正常情況下MGC和MGW之間端點狀態(tài)是同步的。采取的是類似下面的機制,如MGW向MGC注冊成功或者通信中斷恢復(fù)之后,使用ServiceChange批量向MGC通報相關(guān)端點的狀態(tài)或者MGC使用AuditValue命令主動向MGW批量查詢相關(guān)端點的狀態(tài)。通報獲得確認或者查詢成功之后,就可以認為這些端點狀態(tài)在MGW和MGC之間是同步的,即兩者的認識是一致的。一旦后續(xù)有端點發(fā)生狀態(tài)改變,則MGW會通過ServiceChange命令將新的狀態(tài)通報給MGC,在新的狀態(tài)獲得確認之后,認為MGC和MGW之間的端點狀態(tài)仍然維持同步。
之所以說上述的機制是保證在“正常情況下”MGC和MGW之間關(guān)于端點狀態(tài)的理解是一致的,就是因為理論上存在某些異常情況,上述工作機制不起作用。比如某個/些端點狀態(tài)發(fā)生變化,MGW通過ServiceChange將新狀態(tài)上報給了MGC,MGC也對ServiceChange進行了確認并更新了自身的數(shù)據(jù),現(xiàn)在假設(shè)存儲該部分數(shù)據(jù)的單板是主備設(shè)計的,在主板剛剛更新完數(shù)據(jù)還未同步到備板即發(fā)生主板故障的事件,很顯然,備板升為主用之后其數(shù)據(jù)仍然維持之前的狀態(tài),結(jié)果導致MGC和MGW對同一端點的狀態(tài)理解不一樣。實際上,還有很多可能類似的情況都可能導致同樣的結(jié)果(這些情況中可能很多都是由于軟件設(shè)計缺陷或者軟件BUG造成的,但我們都知道軟件設(shè)計缺陷和BUG都是無法避免的,從系統(tǒng)設(shè)計的角度看,無法追求完全的無缺陷和BUG,而只能實現(xiàn)盡可能少的缺陷和BUG,最重要的還是異常處理機制,即當缺陷和BUG存在時怎樣恢復(fù)到正常狀態(tài)),這樣的結(jié)果主要可以分為兩類第一類是MGC認為Termination處于OutOfService狀態(tài),而MGW認為處于InService狀態(tài),不能恢復(fù)時該Termination將永遠不會被用于業(yè)務(wù);第二類是MGC認為Termination處于InService狀態(tài),而MGW認為處于OutOfService狀態(tài),如果一直維持該狀態(tài),則呼叫只要選中該Termination來提供服務(wù)則必然導致呼損。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于,H.248協(xié)議中的現(xiàn)有機制在某些異常情況下,會導致MGC和MGW對同一端點的狀態(tài)理解不一樣,從而使MGC對MGW上的承載資源無法進行正確操作。針對現(xiàn)有技術(shù)的上述缺陷,提供一種糾正H.248中端點狀態(tài)失步的方法。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是構(gòu)造一種糾正H.248中端點狀態(tài)失步的方法,當媒體網(wǎng)關(guān)控制器認為端點處于OutOfService狀態(tài)時,通過媒體網(wǎng)關(guān)控制器進行周期性查詢來糾正可能的端點狀態(tài)失步;當媒體網(wǎng)關(guān)控制器認為端點處于InService狀態(tài)而媒體網(wǎng)關(guān)認為其處于OutOfService狀態(tài)時,通過媒體網(wǎng)關(guān)返回錯誤指示來糾正端點狀態(tài)失步。
在本發(fā)明所述的糾正H.248中端點狀態(tài)失步的方法中,所述的周期性查詢包括下述步驟(a1)媒體網(wǎng)關(guān)控制器啟動定時器;(a2)每當定時器到期,媒體網(wǎng)關(guān)控制器對其認為處于OutOfService狀態(tài)的端點向媒體網(wǎng)關(guān)進行周期性的查詢;(a3)媒體網(wǎng)關(guān)控制器根據(jù)返回的查詢結(jié)果更新端點狀態(tài)。
在本發(fā)明所述的糾正H.248中端點狀態(tài)失步的方法中,所述定時器在系統(tǒng)運行之初或在檢測到有端點躍遷到OutOfService狀態(tài)時啟動。
在本發(fā)明所述的糾正H.248中端點狀態(tài)失步的方法中,一個所述定時器負責一個或多個處于OutOfService狀態(tài)的端點。
在本發(fā)明所述的糾正H.248中端點狀態(tài)失步的方法中,所述步驟(a3)中,如果媒體網(wǎng)關(guān)上報將端點狀態(tài)更新為InService,則媒體網(wǎng)關(guān)控制器據(jù)此更新相應(yīng)端點的狀態(tài)。
在本發(fā)明所述的糾正H.248中端點狀態(tài)失步的方法中,所述的媒體網(wǎng)關(guān)返回錯誤指示包括下述步驟(b1)媒體網(wǎng)關(guān)控制器向它認為處于InService狀態(tài)的端點下發(fā)業(yè)務(wù)操作請求;(b2)媒體網(wǎng)關(guān)判斷該端點是否處于OutOfService狀態(tài),如果是則直接返回錯誤指示,如果否則接受該請求;(b3)媒體網(wǎng)關(guān)控制器接收到錯誤指示后更新端點狀態(tài)。
在本發(fā)明所述的糾正H.248中端點狀態(tài)失步的方法中,所述步驟(b2)中的錯誤指示通過在H.248協(xié)議中擴充一個用于指示端點處于OutOfService狀態(tài)的錯誤碼來實現(xiàn)。
實施本發(fā)明的糾正H.248中端點狀態(tài)失步的方法,具有以下有益效果當MGC和MGW因為異常情況導致對同一個Termination的狀態(tài)理解出現(xiàn)失步時,本發(fā)明方案可以使該失步狀態(tài)得到快速的恢復(fù),從而避免了失步問題可能導致的業(yè)務(wù)損失,對網(wǎng)絡(luò)設(shè)備的穩(wěn)定可靠運行起到了很好的保護作用。
此外,該方案實現(xiàn)思路簡單,易于實施,并且很容易經(jīng)過簡單的調(diào)整擴展到其它類似的應(yīng)用場合,比如,一個系統(tǒng)內(nèi)資源狀態(tài)的同步也可以采取這樣的機制,此時只需要針對具體的操作對象將實施細節(jié)調(diào)整一下。
下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中圖1是下一代網(wǎng)絡(luò)的網(wǎng)絡(luò)架構(gòu)示意圖;圖2是MGC、MGW和H.248三者的關(guān)系示意圖;圖3是本發(fā)明糾正H.248中端點狀態(tài)失步的方法中糾正第一類狀態(tài)失步的的流程圖;圖4是本發(fā)明糾正H.248中端點狀態(tài)失步的方法中糾正第二類狀態(tài)失步的流程圖。
具體實施例方式
在本發(fā)明中,H.248中端點狀態(tài)的失步可分為兩類情況(1)MGC認為Termination處于OutOfServie狀態(tài),而MGW認為其處于InService狀態(tài),導致該Termination持續(xù)不可用。
(2)MGC認為Termination處于InService狀態(tài),而MGW認為其處于OutOfService狀態(tài),導致呼損。
如圖3所示,是本發(fā)明中糾正第一類狀態(tài)失步的流程圖。首先,在步驟S30中,MGC啟動一個或者多個周期性(此處將單次有效之后又重啟的定時器也歸為此類)的定時器,可以在系統(tǒng)運行起來之初就啟動,也可以在檢測出有Termination躍遷到OutOfService狀態(tài)才啟動;每個定時器可以負責一個或者一批處于OutOfService狀態(tài)的Termination。定時器啟動之后就進入步驟S31的等待狀態(tài)。在步驟S32中,判斷定時器是否到期,如果否則返回步驟S31的等待狀態(tài)。如果定時器到期,則在步驟S33中,MGC針對該定時器所管理的所有或者一批Termination向MGW下發(fā)AuditValue查詢請求進行查詢。在步驟S34中,根據(jù)MGW返回的結(jié)果更新相應(yīng)Termination的狀態(tài)從而實現(xiàn)狀態(tài)同步。在步驟S35中判斷該查詢結(jié)果指明Termination是否已經(jīng)處于InService狀態(tài),如果是,則定時器不必再為該Termination服務(wù)。如果否則返回到步驟S30進行下一次周期查詢。
在步驟S34中,如果MGW通過ServiceChange上報將Termination狀態(tài)更新為InService,則MGC更新相應(yīng)Termination的狀態(tài)且定時器不必再為該Termination服務(wù)。
因為實際中MGC并不能自行判別出出現(xiàn)這種異常失步情況,所以本發(fā)明提供的這種周期性查詢機制是針對所有的處于OutOfService端點上進行的,其目的不是發(fā)現(xiàn)狀態(tài)失步的Termination,而是保證Termination狀態(tài)一旦出現(xiàn)這種失步即可得到可靠恢復(fù)。
如圖4所示,是本發(fā)明中糾正第二類狀態(tài)失步的流程圖。該方案的前提是首先在H.248協(xié)議中擴充一個錯誤碼,用于指示Termination處于OutOfService狀態(tài)。在步驟S40中,當MGC針對MGW下發(fā)針對某個處于OutOfService狀態(tài)Termination的業(yè)務(wù)操作請求時(注意,對該Termination進行狀態(tài)查詢之類的操作請求不再此列),比如MGC指示MGW將該端點添加到某個Context中。在步驟S41中,MGW根據(jù)該端點是否含有錯誤碼判斷其是否處于OutOfService狀態(tài)。如果否,則在步驟S42中接受該業(yè)務(wù)請求。如果是,則在步驟S43中直接回拒錯誤響應(yīng),并攜帶前述擴充的錯誤碼。在步驟S44中,MGC在接收到這樣的錯誤響應(yīng)之后,則在內(nèi)部將對應(yīng)的Termination更新為OutOfService狀態(tài)從而實現(xiàn)狀態(tài)同步。在此流程之后,對于第一種失步情況引入的周期性查詢機制就對該Termination生效了;只要該Termination一直處于OutOfService狀態(tài),MGC就不應(yīng)該將其用于業(yè)務(wù)。
本發(fā)明所提供的糾正H.248中端點狀態(tài)失步的方法,當MGC和MGW因為異常情況導致對同一個Termination的狀態(tài)理解出現(xiàn)失步時,本發(fā)明方案可以使該失步狀態(tài)得到快速的恢復(fù),從而避免了失步問題可能導致的業(yè)務(wù)損失,對網(wǎng)絡(luò)設(shè)備的穩(wěn)定可靠運行起到了很好的保護作用。
此外,該方案實現(xiàn)思路簡單,易于實施,并且很容易經(jīng)過簡單的調(diào)整擴展到其它類似的應(yīng)用場合。
權(quán)利要求
1.一種糾正H.248中端點狀態(tài)失步的方法,其特征在于,當媒體網(wǎng)關(guān)控制器認為端點處于退出服務(wù)態(tài)時,對媒體網(wǎng)關(guān)進行周期性查詢來糾正可能的端點狀態(tài)失步;當媒體網(wǎng)關(guān)控制器認為端點處于服務(wù)態(tài)而媒體網(wǎng)關(guān)認為其處于退出服務(wù)態(tài)時,通過媒體網(wǎng)關(guān)在業(yè)務(wù)操作響應(yīng)中返回錯誤指示來糾正端點狀態(tài)失步。
2.根據(jù)權(quán)利要求1所述糾正H.248中端點狀態(tài)失步的方法,其特征在于,所述周期性查詢包括下述步驟(a1)啟動定時器;(a2)每當定時器到時,媒體網(wǎng)關(guān)控制器對其認為處于退出服務(wù)態(tài)的端點周期性地查詢媒體網(wǎng)關(guān);(a3)媒體網(wǎng)關(guān)控制器根據(jù)返回的查詢結(jié)果更新端點狀態(tài)。
3.根據(jù)權(quán)利要求2所述糾正H.248中端點狀態(tài)失步的方法,其特征在于,所述步驟(a1)中,所述啟動定時器是在系統(tǒng)運行之初或在檢測到有端點躍遷到退出服務(wù)態(tài)時進行的。
4.根據(jù)權(quán)利要求2或3所述糾正H.248中端點狀態(tài)失步的方法,其特征在于,每個所述定時器對應(yīng)于一個或多個處于退出服務(wù)態(tài)的端點。
5.根據(jù)權(quán)利要求2所述的糾正H.248中端點狀態(tài)失步的方法,其特征在于,所述步驟(a3)中,如果媒體網(wǎng)關(guān)上報將端點狀態(tài)更新為服務(wù)態(tài),則媒體網(wǎng)關(guān)控制器據(jù)此更新相應(yīng)端點的狀態(tài)。
6.根據(jù)權(quán)利要求1所述糾正H.248中端點狀態(tài)失步的方法,其特征在于,所述媒體網(wǎng)關(guān)返回錯誤指示包括下述步驟(b1)媒體網(wǎng)關(guān)控制器向它認為處于服務(wù)態(tài)的端點下發(fā)業(yè)務(wù)操作請求;(b2)媒體網(wǎng)關(guān)判斷該端點是否處于退出服務(wù)態(tài),如果是則直接返回錯誤指示,如果否則接受該請求;(b3)媒體網(wǎng)關(guān)控制器接收到錯誤指示后更新端點狀態(tài)。
7.根據(jù)權(quán)利要求6所述糾正H.248中端點狀態(tài)失步的方法,其特征在于,所述步驟(b2)中的錯誤指示通過在H.248協(xié)議中擴充一個用于指示端點處于退出服務(wù)態(tài)的錯誤碼來實現(xiàn)。
全文摘要
一種糾正H.248中端點狀態(tài)失步的方法,當媒體網(wǎng)關(guān)控制器認為端點處于退出服務(wù)態(tài)時,媒體網(wǎng)關(guān)控制器對其認為處于退出服務(wù)態(tài)的端點進行周期性查詢,進而通過媒體網(wǎng)關(guān)返回的查詢結(jié)果糾正可能的端點狀態(tài)失步。當媒體網(wǎng)關(guān)控制器認為端點處于服務(wù)態(tài)而媒體網(wǎng)關(guān)認為其處于退出服務(wù)態(tài)時,通過在H.248協(xié)議中擴充一個用于指示端點處于退出服務(wù)態(tài)的錯誤碼,當媒體網(wǎng)關(guān)控制器錯將一個媒體網(wǎng)關(guān)認為處于退出服務(wù)態(tài)的端點當作處于服務(wù)態(tài)的端點來下發(fā)業(yè)務(wù)操作請求時,媒體網(wǎng)關(guān)將返回錯誤指示以糾正端點狀態(tài)失步。實施本發(fā)明的上述方法,可使失步狀態(tài)得到快速恢復(fù),從而避免了失步問題可能導致的業(yè)務(wù)損失,對網(wǎng)絡(luò)設(shè)備的穩(wěn)定可靠運行起到了很好的保護作用。
文檔編號H04L12/54GK101056248SQ20061006085
公開日2007年10月17日 申請日期2006年5月24日 優(yōu)先權(quán)日2006年5月24日
發(fā)明者汪大海 申請人:華為技術(shù)有限公司