專利名稱:Ngn架構下實現隨路信令狀態一致性的方法
技術領域:
本發明涉及NGN(Next Generation Network,下一代網絡),尤其涉及一種NGN架構下實現隨路信令狀態一致性的方法。
背景技術:
NGN是業務控制和承載媒體相分離的網絡,業務控制部分稱為MGC(MediaGateway Controller,媒體網關控制器),承載部分稱為MGW(Media GateWay,媒體網關)。MGC和MGW的接口大多使用H.248協議。
隨路信令是交換設備之間用于傳遞控制信號的一種局間信令,其信令信息在對應的話音通道上傳送,或者在與話音通道對應的固定通道上傳送。R2(Regional System No.2,R2隨路信令系統)信令就是其中一種使用最為廣泛的隨路信令,是一種國際標準信令,ITU-T Q.400~Q.490定義了其標準規范。以下描述都以隨路信令中的R2信令為例,但同樣適用于其他所有隨路信令。
在NGN架構下要實現對R2信令的支持,需要實現MGC通過H.248協議控制MGW,完成在R2電路上對R2信令的接收和發送。
目前是采用MGC和MGW之間的H.248消息控制R2信令交互,實現呼叫控制接續過程。每一條R2電路在H.248消息中都被表示為一個終結點(Termination),以終結點的進入/退出服務來表示R2電路狀態的正常做障。同時,H.248.28標準中的casblk包還定義了對電路閉塞/解閉塞的H.248描述,可用來表示在R2電路上進行閉塞/解閉塞信號的接收和發送。
另外在H.248協議體系中,用上下文(Context)來表示和一個呼叫相關的屬性、元素的集合,例如和這次呼叫相關的終結點集合。有一種特殊的上下文叫做空上下文(Null Context),它包含不屬于任何呼叫的終結點。一條R2電路在空閑狀態下,其對應的終結點是屬于空上下文的,當這條電路開始參與呼叫后,則相應的終結點被移到一個為本次呼叫創建的新上下文中;呼叫結束后,該終結點重新移回空上下文,同時為本次呼叫創建的新上下文也被刪除。
然而,由于MGC和MGW都有對R2電路狀態的維護,兩者之間通過H.248消息來進行相互的電路狀態信息交互。當傳輸線路異常等原因導致H.248消息丟失時,MGC和MGW之間對于同一條R2電路的狀態可能會出現不一致;另外如果MGC/MGW的內部程序存在處理錯誤,或MGC/MGW因為異常或軟件升級需要重新啟動時,都有可能造成一方內部保存的R2電路狀態和另一方的不一致。如果沒有一套完整的異常檢測、恢復機制,這種電路狀態不一致的情況就會導致呼叫接續不成功,引起呼損率的上升。
發明內容
為了克服現有的NGN架構下由于隨路信令狀態不一致,從而導致呼叫接續不成功,引起呼損率上升的問題,本發明提供一種NGN架構下實現隨路信令狀態一致性的方法,通過該方法可減少隨路信令狀態不一致引起的呼叫接續失敗,提高呼叫接通率。
為解決上述技術問題,本發明所采用的技術方案是提供一種下一代網絡NGN架構下實現隨路信令狀態一致性的方法,其包括以下步驟
A、設備實體媒體網關控制器MGC或媒體網關MGW判斷得出MGC和MGW的隨路信令電路狀態不一致;B、對于非呼叫屬性的隨路信令電路狀態不一致,由判斷得出不一致的設備實體對該狀態屬性信息的流動方向進行判斷,如果該狀態屬性信息是由對端流向本端,則本端設備直接將狀態屬性修改為與對端一致,如果該狀態屬性信息是由本端流向對端,則本端設備通知對端需要修改其狀態屬性與本端一致,而本端狀態屬性不變;對于呼叫屬性的隨路信令電路狀態不一致,如果MGC判斷得出不一致,直接發起狀態初始化處理,如果MGW判斷得出不一致,則上報MGC,由MGC發起狀態初始化處理。
所述非呼叫屬性的隨路信令電路狀態包括本端閉塞、遠端閉塞和故障,所述呼叫屬性的隨路信令電路狀態包括通話狀態和上下文狀態。
當所述非呼叫屬性的隨路信令電路狀態為本端閉塞,且該本端閉塞狀態不一致是MGC本端閉塞,MGW本端不閉塞時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A11、當MGW向MGC上報表示有新呼叫的消息時,MGC判斷得出自己和MGW的本端閉塞狀態不一致;B11、MGC下發閉塞命令指示MGW進入本端閉塞狀態。
當所述非呼叫屬性的隨路信令電路狀態為本端閉塞,且該本端閉塞狀態不一致是MGC本端不閉塞,MGW本端閉塞時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟
A12、當MGC向MGW下發表示開始新呼叫的消息時,MGW判斷得出自己和MGC的本端閉塞狀態不一致;B12、MGW把本端解閉塞恢復為和MGC一致的本端閉塞狀態。
當所述非呼叫屬性的隨路信令電路狀態為本端閉塞,且當MGW設備重新系統啟動時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A13、MGC在MGW狀態由故障變為正常的處理過程中,MGC判斷得出自己和MGC的本端閉塞狀態不一致;B13、MGC向MGW下發本端閉塞命令,指示MGW進入本端閉塞狀態。
當所述非呼叫屬性的隨路信令電路狀態為本端閉塞,且當MGC設備重新系統啟動時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A14、MGC在啟動過程中,MGC判斷得出自己和MGW的本端閉塞狀態不一致;B14、MGC向MGW下發初始化狀態InitState命令,以保證MGW上原有記錄的電路本端閉塞狀態能夠被解閉塞,恢復為和MGC一致。
當所述非呼叫屬性的隨路信令電路狀態為遠端閉塞,且該遠端閉塞狀態不一致是MGC遠端閉塞,MGW遠端不閉塞時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A21、當MGW向MGC上報表示有新呼叫的消息時,MGC判斷得出自己和MGW的遠端閉塞狀態不一致;B21、MGC清除自己的遠端閉塞狀態,使其為遠端不閉塞狀態。
當所述非呼叫屬性的隨路信令電路狀態為遠端閉塞,且該遠端閉塞狀態不一致是MGC遠端閉塞,MGW遠端不閉塞時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A22、MGC對處于遠端閉塞狀態的電路,定時下發檢測消息,消息中攜帶檢測遠端解閉塞事件,MGW收到該消息后,判斷得出自己和MGC的遠端閉塞狀態不一致;B22、MGW向MGC上報遠端解閉塞事件,MGC收到遠端解閉塞事件后,解除遠端閉塞,恢復和MGW狀態一致。
當所述非呼叫屬性的隨路信令電路狀態為遠端閉塞,且該遠端閉塞狀態不一致是MGC遠端不閉塞,MGW遠端閉塞時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A23、當MGC向MGW下發表示開始新呼叫的消息時,MGW判斷得出自己和MGC的遠端閉塞狀態不一致;B23、MGW向MGC響應錯誤消息,MGC收到該錯誤碼后,判斷已經出現電路狀態不一致,則重選路呼叫并將電路狀態置為電路狀態不一致StateDiffrent狀態,同時向MGW下發InitState命令,使MGC恢復和MGW狀態一致。
當所述非呼叫屬性的隨路信令電路狀態為遠端閉塞,且當MGW設備重新系統啟動時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A24、當MGW設備重新系統啟動時,MGW判斷得出自己和MGC的遠端閉塞狀態不一致;B24、MGW從MGW連接的物理電路上直接檢測線路信令,如果對端發送的線路信令為閉塞信號,則將電路狀態置為遠端閉塞狀態。
當所述非呼叫屬性的隨路信令電路狀態為遠端閉塞,且當MGC設備重新系統啟動時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A25、當MGC設備重新系統啟動時,MGC判斷得出自己和MGW的遠端閉塞狀態不一致;B25、MGC向MGW下發InitState命令,以保證MGW上原有記錄的電路遠端閉塞狀態能夠被重新上報,MGC根據上報消息將電路狀態置為遠端閉塞,恢復和MGW狀態一致。
當所述非呼叫屬性的隨路信令電路狀態為故障,且MGW的電路狀態為故障,MGC的電路狀態為正常時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A31、當MGC給MGW下發申請承載消息時,MGW判斷得出自己和MGC的隨路信令電路狀態不一致;B31、MGW向MGC上報申請承載失敗消息,MGC在收到MGW上報的申請承載失敗消息時,判斷錯誤原因碼,如果錯誤原因為電路故障類,則釋放該電路上的呼叫并將電路狀態置為故障,向MGW下發審計命令以得到最新的電路狀態更新。
當所述呼叫屬性的隨路信令電路狀態為上下文狀態,且該上下文狀態不一致是MGC記錄終結點在空上下文中,MGW記錄終結點在某特定上下文中時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A41、當MGC收到MGW上報的占用事件消息,但消息中同時攜帶的上下文信息內容不為空上下文時,MGC判斷得出MGC和MGW的上下文狀態不一致;B41、MGC將電路狀態置為StateDiffrent狀態,同時向MGW下發InitState命令,利用該命令的恢復機制使MGW和MGC的上下文狀態恢復一致。
當所述呼叫屬性的隨路信令電路狀態為上下文狀態,且該上下文狀態不一致是MGC記錄終結點在空上下文中,MGW記錄終結點在某特定上下文中時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A42、MGW對于處于呼叫狀態中的上下文,如果在規定時間內沒有收到MGC下發的審計上下文消息,則MGW判斷得出MGC和MGW的上下文狀態不一致;B42、MGW向MGC上報錯誤消息,MGC收到該錯誤消息后,將電路狀態置為StateDiffrent狀態,同時向MGW下發InitState命令,利用該命令的恢復機制使MGW和MGC的上下文狀態恢復一致。
當所述呼叫屬性的隨路信令電路狀態為上下文狀態,且該上下文狀態不一致是MGC記錄終結點在某特定上下文中,MGW記錄終結點在空上下文中時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A43、MGW收到MGC下發的消息后發現終結點在空上下文中,則MGW判斷得出MGC和MGW之間的上下文狀態不一致;B43、MGW向MGC上報錯誤消息,MGC收到該錯誤消息后,將電路狀態置為StateDiffrent狀態,同時向MGW下發InitState命令,利用該命令的恢復機制使MGW和MGC的上下文狀態恢復一致。
當所述呼叫屬性的隨路信令電路狀態為上下文狀態,且該上下文狀態不一致是MGC記錄終結點在某特定上下文中,MGW記錄終結點在空上下文中時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A44、MGC對于處于呼叫狀態中的上下文,會定時下發審計上下文消息,MGW根據MGC下發的審計上下文消息判斷得出MGC和MGW的上下文狀態不一致;B44、MGW向MGC上報審計響應錯誤,MGC收到審計失敗后,釋放異常呼叫,終結點移回空上下文,恢復和MGW一致。
當所述呼叫屬性的隨路信令電路狀態為通話狀態,且該通話狀態不一致是MGC記錄電路處于空閑狀態,MGW記錄電路處于通話狀態時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A51、當MGW收到MGC下發的閉塞命令,但又發現電路處于通話狀態時,則MGW可以判斷得出MGC和MGW之間的通話狀態不一致;B51、MGW直接執行異常恢復流程,先釋放該電路上的呼叫及其相關資源,然后執行所述閉塞命令,電路狀態進入本端閉塞,恢復和MGC狀態一致。
當所述呼叫屬性的隨路信令電路狀態為通話狀態,且該通話狀態不一致是MGC記錄電路處于空閑狀態,MGW記錄電路處于通話狀態時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A52、MGW收到MGC下發的占用信號消息后發現電路處于通話狀態時,則MGW判斷得出MGC和MGW的通話狀態不一致;B52、MGW向MGC上報錯誤消息,MGC收到該錯誤消息后,選擇其他電路重新處理呼叫,同時將該電路狀態置為StateDiffrent狀態,向MGW下發InitState命令,利用該命令的恢復機制使MGW和MGC的通話狀態恢復一致。
當所述呼叫屬性的隨路信令電路狀態為通話狀態,且該通話狀態不一致是MGC記錄電路處于通話狀態,MGW記錄電路處于空閑狀態時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A53、MGC對處于通話狀態中的上下文,會定時下發審計上下文消息,MGW發現電路處于空閑狀態,則MGW判斷得出MGC和MGW的通話狀態不一致;B53、MGW向MGC上報審計響應錯誤,MGC收到審計失敗后,釋放異常呼叫,終結點移回空上下文,電路狀態恢復空閑,保持和MGW一致。
本發明的有益效果是由于本發明的NGN架構下實現隨路信令狀態一致性的方法通過提供一套完整的異常檢測、恢復機制,保證MGC和MGW之間對電路狀態維護的同步,從而減少因MGC和MGW電路狀態不一致引起的呼叫接續失敗,提高呼叫接通率。
圖1是本發明NGN架構下實現隨路信令狀態一致性的方法流程圖。
具體實施例方式
請參閱圖1,本發明NGN架構下實現隨路信令狀態一致性的方法包括以下步驟A、設備實體媒體網關控制器MGC或媒體網關MGW判斷得出MGC和MGW的隨路信令電路狀態不一致;B、對于非呼叫屬性的隨路信令電路狀態不一致,由判斷得出不一致的設備實體(MGC或MGW)對該狀態屬性信息的流動方向進行判斷,如果該狀態屬性信息是由對端流向本端,則本端設備直接將狀態屬性修改為與對端一致,如果該狀態屬性信息是由本端流向對端,則本端設備通知對端需要修改其狀態屬性與本端一致,而本端狀態屬性不變;對于呼叫屬性的隨路信令電路狀態不一致,由于必須由MGC來完成呼叫的控制處理,因此如果MGC判斷得出不一致,直接發起狀態初始化處理,如果MGW判斷得出不一致,則上報MGC,由MGC發起狀態初始化處理,狀態初始化處理的結果都是釋放呼叫資源,雙方都進入呼叫屬性空閑狀態。所述非呼叫屬性的隨路信令電路狀態包括本端閉塞、遠端閉塞和故障,所述呼叫屬性的隨路信令電路狀態包括通話狀態和上下文狀態。
為后續描述方便,先介紹本發明的幾個名詞概念電路狀態不一致狀態當MGC或MGW判斷得出自己存儲的隨路信令電路狀態和對方存儲的不一致時,可能需要將該電路的狀態記錄為“狀態不一致”狀態,以便后續的恢復處理方法能夠根據這個狀態進行處理。這個電路狀態不一致狀態后續簡稱為“StateDiffrent狀態”。
初始化狀態命令當電路狀態進入StateDiffrent狀態,需要采取恢復措施糾正不一致。本發明所述的初始化狀態命令,是指MGC向MGW下發的一條H.248消息,該消息中攜帶了檢測遠端閉塞事件、檢測IDLE事件和本端解閉塞信號,其含義是MGC通過該消息指示MGW執行以下操作1、如果MGW當前電路狀態是本端閉塞,則解閉塞;2、如果MGW記錄的當前對端已經向本端發送過閉塞信號而處于遠端閉塞狀態,則向MGC上報遠端閉塞事件;3、如果MGW當前處于呼叫狀態,則自動釋放呼叫,呼叫釋放完成電路進入空閑狀態后,向MGC上報IDLE事件。這個初始化狀態命令后續簡稱為“InitState命令”。為避免MGC下發的InitState命令在傳輸過程中丟失,而導致電路狀態一直處于StateDiffrent狀態無法恢復,MGC需要定時檢測當前電路狀態是否處于StateDiffrent狀態,如果是,則重復下發InitState命令,以保證最終電路狀態能夠恢復。
下面針對隨路信令電路可能存在的各種電路狀態屬性,將各種隨路信令電路狀態不一致情況的異常檢測、恢復處理方法,分類進行詳細描述。
一、本端閉塞不一致,處理原則以MGC為準,MGW要恢復和MGC一致。
在隨路信令中,本端閉塞是指由本端發往對端的維護閉塞信令。通過MGC上的維護操作命令,MGC向MGW下發包含閉塞信號的H.248消息,然后MGW在R2電路上向對端發送閉塞信令,這樣這條R2電路的狀態則進入本端閉塞狀態,對端不會再選擇這條電路向本端發起新的呼叫;本端解閉塞的相關處理則與本端閉塞過程相反,MGC通過維護操作命令向MGW下發包含解閉塞信號的H.248消息,MGW在R2電路上向對端發送解閉塞信令,電路狀態恢復空閑,對端發起新的呼叫時就可能會選擇這條電路。
本端閉塞狀態的不一致,又可分為幾種情況1、MGC本端閉塞,MGW本端不閉塞由于MGW的電路狀態為本端不閉塞,就有可能接收到對端發送過來的呼叫請求,當MGW向MGC上報H.248消息表示有新呼叫時,MGC就可以判斷得出本端閉塞狀態不一致,再下發閉塞命令指示MGW進入本端閉塞狀態。
2、MGC本端不閉塞,MGW本端閉塞由于MGC的電路狀態為本端不閉塞,就有可能選擇這條電路開始進行新的呼叫,當MGC向MGW下發H.248消息開始新呼叫時,MGW就可以判斷得出本端閉塞狀態不一致,則直接先把本端解閉塞恢復為和MGC一致,然后繼續處理MGC下發的新呼叫處理消息。
3、MGW設備重新系統啟動當MGW設備重新系統啟動時,會丟失所有的本端閉塞狀態。因此MGC在MGW狀態由故障變為正常的處理過程中,需要判斷如果電路為本端閉塞狀態,則重新向MGW下發本端閉塞命令,以保證MGW電路恢復為和MGC一致。
4、MGC設備重新系統啟動當MGC設備重新系統啟動時,會丟失所有的本端閉塞狀態。因此MGC在啟動過程中,需要向MGW下發InitState命令,以保證MGW上原有記錄的電路本端閉塞狀態能夠被解閉塞,恢復為和MGC一致。
二、遠端閉塞不一致,處理原則以MGW為準,MGC要恢復和MGW一致。
在隨路信令中,遠端閉塞是指由對端發往本端的維護閉塞信令。MGW在R2電路上收到對端發送的閉塞信令,向MGC上報電路閉塞事件,這樣這條R2電路的狀態則進入遠端閉塞狀態,MGC不會再選擇這條電路向對端發起新的呼叫;遠端解閉塞的相關處理則與閉塞過程相反,MGW在R2電路上收到對端發送的解閉塞信令,向MGC上報電路解閉塞事件,電路狀態恢復空閑,MGC向對端發起新的呼叫時就可能會選擇這條電路。
遠端閉塞狀態的不一致,又可分為幾種情況1、MGC遠端閉塞,MGW遠端不閉塞由于MGW的電路狀態為遠端不閉塞,就有可能接收到對端發送過來的呼叫請求,當MGW向MGC上報H.248消息表示有新呼叫時,MGC就可以判斷得出遠端閉塞狀態不一致,則直接先清除MGC上的遠端閉塞狀態,然后繼續處理MGW上報的新呼叫處理消息。
對于電路配置為出局單向電路的情況,不可能有對端發送過來的新呼叫請求,這樣以上遠端閉塞狀態不一致的情況就無法恢復。為解決這個問題,需要MGC對處于遠端閉塞狀態的電路,定時下發檢測消息,消息中攜帶檢測遠端解閉塞事件,MGW收到該消息后,判斷得出自己和MGC的遠端閉塞狀態不一致則立即向MGC上報遠端解閉塞事件,MGC收到后解除遠端閉塞,恢復和MGW狀態一致。
2、MGC遠端不閉塞,MGW遠端閉塞由于MGC的電路狀態為遠端不閉塞,就有可能選擇這條電路開始進行新的呼叫,當MGC向MGW下發H.248消息開始新呼叫時,MGW就可以判斷得出遠端閉塞狀態不一致,向MGC響應錯誤消息,消息中攜帶標準錯誤碼bcas/casf(ec=sme),該錯誤碼定義見標準H.248.25。MGC收到該錯誤碼后,判斷已經出現電路狀態不一致,則重選路呼叫并將電路狀態置為StateDiffrent狀態,同時向MGW下發InitState命令。由于該命令中包含了檢測遠端閉塞事件(見前文描述),MGW會根據其當前狀態向MGC上報遠端閉塞事件,MGC收到后將電路狀態置為遠端閉塞,恢復和MGW狀態一致。
3、MGW設備重新系統啟動當MGW設備重新系統啟動時,MGW判斷得出自己和MGC的遠端閉塞狀態不一致;MGW從MGW連接的物理電路上直接檢測線路信令,如果對端發送的線路信令為閉塞信號,則將電路狀態置為遠端閉塞狀態,從而可以恢復MGW設備啟動前的遠端閉塞狀態。因為MGW設備通過以上處理可以保證遠端閉塞狀態在系統重新啟動時不丟失,因此無需和MGC交互,可以保持與MGC的電路狀態一致。
4、MGC設備重新系統啟動當MGC設備重新系統啟動時,會丟失所有的遠端閉塞狀態。當MGC設備重新系統啟動時,MGC判斷得出自己和MGW的遠端閑塞狀態不一致,MGC向MGW下發InitState命令,以保證MGW上原有記錄的電路遠端閉塞狀態能夠被重新上報,MGC根據上報消息將電路狀態置為遠端閉塞,恢復和MGW狀態一致。
三、MGW的電路狀態為故障,MGC的電路狀態為正常正常情況下,MGW上的電路狀態變化,包括電路狀態從正常變為故障,或從故障變為正常,都會將電路狀態的變化上報MGC。但由于可能存在的傳輸線路故障以及MGC/MGW的內部處理機制延遲、消息丟失等原因,電路狀態的變化可能不能及時更新到MGC上,這樣MGC就有可能選擇這樣一條空閑電路開始新的呼叫,而這條電路實際上在MGW上已經是狀態故障了。
對于這種異常情況,MGW在處理MGC下發的申請承載消息時,必定會返回失敗響應,MGC收到失敗響應后,進行異常處理釋放呼叫。這里存在著兩個缺點一是本次呼叫接續無法成功,本來是由于電路狀態未能同步造成的選擇了一條錯誤的電路,其他電路有可能還是狀態一致而可以呼叫成功的;二是后續新的呼叫仍然有可能選擇這條電路,從而重復異常釋放呼叫,未能及時利用已知的信息來避免更多的失敗。
為解決以上問題,需要MGC在收到MGW上報的申請承載失敗消息時,判斷錯誤原因碼,如果錯誤原因為電路(終結點)故障類,則重選電路進行呼叫,同時釋放該電路上的呼叫并將電路狀態置為故障,向MGW下發審計命令以得到最新的電路狀態更新。
電路(終結點)故障類的錯誤原因碼,在H.248協議和MGCP協議中定義不同,詳細描述如下H248
430——Unknown TerminationID432——Out of TerminationIDs or No TerminationID availableMGCP405——Endpoint is restarting501——The transaction could not be executed,because the endpoint is notready.This includes the case where the endpoint is out-of-service.
520——The transaction could not be executed because the endpoint is″restarting″.
四、上下文狀態不一致在隨路信令一條R2電路的呼叫過程中,MGC控制MGW為本次呼叫創建H.248協議中定義的Context,并且將該R2電路對應的終結點從Null Context移到一個為本次呼叫創建的新Context中。正常情況下,MGC和MGW設備上對Context、終結點及其隸屬關系的維護管理是一致的,但如果由于出現異常,可能會對某個終結點(即對應著某條R2電路)所屬的Context,在MGC和MGW設備上出現記錄不一致的情況。對于這種異常情況,也需要進行異常檢測和恢復處理。
上下文狀態不一致,包括以下幾種情況1、MGC記錄終結點在空上下文中,MGW記錄終結點在某特定上下文中由于Context和終結點之間的對應關系,是MGC在處理呼叫時控制MGW生成新Context,以及將終結點從Null Context移到該新Context的。因此當MGW從R2電路上收到對端發送的占用信號,即呼叫開始的第一個信號,向MGC上報占用事件時,MGC尚未開始處理這個呼叫,這條電路對應的終結點必定還處于NullContext中。如果MGC收到MGW上報的占用事件消息,但消息中同時攜帶的Context信息內容不為Null Context,則可以判斷得出MGC和MGW之間的上下文不一致,MGC將電路狀態置為StateDiffrent狀態,同時向MGW下發InitState命令,利用該命令的恢復機制使MGW和MGC的上下文狀態恢復一致。
MGC對處于呼叫狀態中的Context,需要定時下發審計上下文消息,消息中攜帶Context和終結點之間的隸屬關系。MGW對于處于呼叫狀態中的Context,如果在規定時間內沒有收到MGC下發的審計上下文消息,則判斷得出MGC和MGW之間的上下文不一致,然后MGW向MGC上報錯誤消息,MGC收到該錯誤消息后,將電路狀態置為StateDiffrent狀態,同時向MGW下發InitState命令,利用該命令的恢復機制使MGW和MGC的上下文狀態恢復一致。
2、MGC記錄終結點在某特定上下文中,MGW記錄終結點在空上下文中如果MGC記錄終結點在某特定上下文中,則在呼叫過程中向MGW下發的H.248消息中,會攜帶攜帶Context和終結點之間的隸屬關系。MGW收到消息后發現終結點在空上下文中,則判斷得出MGC和MGW之間的上下文不一致,向MGC上報錯誤消息,消息中攜帶標準錯誤碼bcas/casf(ec=sme)。MGC收到該錯誤碼后,將電路狀態置為StateDiffrent狀態,同時向MGW下發InitState命令,利用該命令的恢復機制使MGW和MGC的上下文狀態恢復一致。
MGC對于處于呼叫狀態中的上下文,會定時下發審計上下文消息,MGW根據MGC下發的審計上下文消息判斷得出MGC和MGW的上下文狀態不一致;MGW則上報MGC,由MGC發起InitState命令,利用該命令的恢復機制使MGW和MGC的上下文狀態恢復一致。即MGW會上報審計響應錯誤。MGC收到審計失敗后,釋放異常呼叫,終結點移回空Context,恢復和MGW一致。
五、通話狀態不一致當MGC或MGW對呼叫釋放的處理過程出現錯誤,或其他異常引起的釋放操作未能及時在MGC和MGW之間同步,可能會造成MGC和MGW之間對呼叫通話狀態的記錄不一致。對于這種異常情況,也需要進行異常檢測和恢復處理。
通話狀態不一致,包括以下幾種情況1、MGC記錄電路處于空閑狀態,MGW記錄電路處于通話狀態MGC對于空閑電路有可能會下發閉塞命令,當MGW收到閉塞命令,但又發現電路處于通話狀態時,則可以判斷得出MGC和MGW之間的通話狀態不一致。MGW直接執行異常恢復流程,先釋放該電路上的呼叫及其相關資源,然后執行之前收到的閉塞命令,電路狀態進入本端閉塞,恢復和MGC狀態一致。
由于MGC記錄電路處于空閑狀態,因此也有可能在這條電路上發起新的呼叫,即向MGW下發占用信號消息。MGW收到占用信號消息后發現電路處于通話狀態時,則可以判斷得出MGC和MGW之間的通話狀態不一致,MGW向MGC上報錯誤消息,消息中攜帶標準錯誤碼bcas/casf(ec=sme)。MGC收到該錯誤碼后,選擇其他電路重新處理呼叫,同時將該電路狀態置為StateDiffrent狀態,向MGW下發InitState命令,利用該命令的恢復機制使MGW和MGC的通話狀態恢復一致。
2、MGC記錄電路處于通話狀態,MGW記錄電路處于空閑狀態
MGC對處于通話狀態中的Context,會定時下發審計上下文消息,MGW發現電路處于空閑狀態,則MGW判斷得出MGC和MGW的通話狀態不一致,MGW則上報MGC,由MGC發起InitState命令,利用該命令的恢復機制使MGW和MGC的上下文狀態恢復一致,即MGW向MGC上報審計響應錯誤,MGC收到審計失敗后,釋放異常呼叫,終結點移回空Context,電路狀態恢復空閑,保持和MGW一致。
本發明NGN架構下實現隨路信令狀態一致性的方法可以解決NGN架構下隨路信令的電路狀態出現不一致情況下,導致呼叫接續不成功,引起呼損率上升的問題。本發明通過提供一套完整的異常檢測、恢復機制,保證MGC和MGW之間對電路狀態維護的同步,從而減少因MGC和MGW電路狀態不一致引起的呼叫接續失敗,提高呼叫接通率。
以上所述,僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍,凡在本發明的精神和原則之內所做的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種下一代網絡NGN架構下實現隨路信令狀態一致性的方法,其特征在于包括以下步驟A、設備實體媒體網關控制器MGC或媒體網關MGW判斷得出MGC和MGW的隨路信令電路狀態不一致;B、對于非呼叫屬性的隨路信令電路狀態不一致,由判斷得出不一致的設備實體對該狀態屬性信息的流動方向進行判斷,如果該狀態屬性信息是由對端流向本端,則本端設備直接將狀態屬性修改為與對端一致,如果該狀態屬性信息是由本端流向對端,則本端設備通知對端需要修改其狀態屬性與本端一致,而本端狀態屬性不變;對于呼叫屬性的隨路信令電路狀態不一致,如果MGC判斷得出不一致,直接發起狀態初始化處理,如果MGW判斷得出不一致,則上報MGC,由MGC發起狀態初始化處理。
2.如權利要求1所述的方法,其特征在于所述非呼叫屬性的隨路信令電路狀態包括本端閉塞、遠端閉塞和故障,所述呼叫屬性的隨路信令電路狀態包括通話狀態和上下文狀態。
3.如權利要求2所述的方法,其特征在于當所述非呼叫屬性的隨路信令電路狀態為本端閉塞,且該本端閉塞狀態不一致是MGC本端閉塞,MGW本端不閉塞時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A11、當MGW向MGC上報表示有新呼叫的消息時,MGC判斷得出自己和MGW的本端閉塞狀態不一致;B11、MGC下發閉塞命令指示MGW進入本端閉塞狀態。
4.如權利要求2所述的方法,其特征在于當所述非呼叫屬性的隨路信令電路狀態為本端閉塞,且該本端閉塞狀態不一致是MGC本端不閉塞,MGW本端閉塞時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A12、當MGC向MGW下發表示開始新呼叫的消息時,MGW判斷得出自己和MGC的本端閉塞狀態不一致;B12、MGW把本端解閉塞恢復為和MGC一致的本端閉塞狀態。
5.如權利要求2所述的方法,其特征在于當所述非呼叫屬性的隨路信令電路狀態為本端閉塞,且當MGW設備重新系統啟動時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A13、MGC在MGW狀態由故障變為正常的處理過程中,MGC判斷得出自己和MGC的本端閉塞狀態不一致;B13、MGC向MGW下發本端閉塞命令,指示MGW進入本端閉塞狀態。
6.如權利要求2所述的方法,其特征在于當所述非呼叫屬性的隨路信令電路狀態為本端閉塞,且當MGC設備重新系統啟動時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A14、MGC在啟動過程中,MGC判斷得出自己和MGW的本端閉塞狀態不一致;B14、MGC向MGW下發初始化狀態InitState命令,以保證MGW上原有記錄的電路本端閉塞狀態能夠被解閉塞,恢復為和MGC一致。
7.如權利要求2所述的方法,其特征在于當所述非呼叫屬性的隨路信令電路狀態為遠端閉塞,且該遠端閉塞狀態不一致是MGC遠端閉塞,MGW遠端不閉塞時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A21、當MGW向MGC上報表示有新呼叫的消息時,MGC判斷得出自己和MGW的遠端閉塞狀態不一致;B21、MGC清除自己的遠端閉塞狀態,使其為遠端不閉塞狀態。
8.如權利要求2所述的方法,其特征在于當所述非呼叫屬性的隨路信令電路狀態為遠端閉塞,且該遠端閉塞狀態不一致是MGC遠端閉塞,MGW遠端不閉塞時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A22、MGC對處于遠端閉塞狀態的電路,定時下發檢測消息,消息中攜帶檢測遠端解閉塞事件,MGW收到該消息后,判斷得出自己和MGC的遠端閉塞狀態不一致;B22、MGW向MGC上報遠端解閉塞事件,MGC收到遠端解閉塞事件后,解除遠端閉塞,恢復和MGW狀態一致。
9.如權利要求2所述的方法,其特征在于當所述非呼叫屬性的隨路信令電路狀態為遠端閉塞,且該遠端閉塞狀態不一致是MGC遠端不閉塞,MGW遠端閉塞時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A23、當MGC向MGW下發表示開始新呼叫的消息時,MGW判斷得出自己和MGC的遠端閉塞狀態不一致;B23、MGW向MGC響應錯誤消息,MGC收到該錯誤碼后,判斷已經出現電路狀態不一致,則重選路呼叫并將電路狀態置為電路狀態不一致StateDiffrent狀態,同時向MGW下發InitState命令,使MGC恢復和MGW狀態一致。
10.如權利要求2所述的方法,其特征在于當所述非呼叫屬性的隨路信令電路狀態為遠端閉塞,且當MGW設備重新系統啟動時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A24、當MGW設備重新系統啟動時,MGW判斷得出自己和MGC的遠端閉塞狀態不一致;B24、MGW從MGW連接的物理電路上直接檢測線路信令,如果對端發送的線路信令為閉塞信號,則將電路狀態置為遠端閉塞狀態。
11.如權利要求2所述的方法,其特征在于當所述非呼叫屬性的隨路信令電路狀態為遠端閉塞,且當MGC設備重新系統啟動時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A25、當MGC設備重新系統啟動時,MGC判斷得出自己和MGW的遠端閉塞狀態不一致;B25、MGC向MGW下發InitState命令,以保證MGW上原有記錄的電路遠端閉塞狀態能夠被重新上報,MGC根據上報消息將電路狀態置為遠端閉塞,恢復和MGW狀態一致。
12.如權利要求2所述的方法,其特征在于當所述非呼叫屬性的隨路信令電路狀態為故障,且MGW的電路狀態為故障,MGC的電路狀態為正常時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A31、當MGC給MGW下發申請承載消息時,MGW判斷得出自己和MGC的隨路信令電路狀態不一致;B31、MGW向MGC上報申請承載失敗消息,MGC在收到MGW上報的申請承載失敗消息時,判斷錯誤原因碼,如果錯誤原因為電路故障類,則釋放該電路上的呼叫并將電路狀態置為故障,向MGW下發審計命令以得到最新的電路狀態更新。
13.如權利要求2所述的方法,其特征在于當所述呼叫屬性的隨路信令電路狀態為上下文狀態,且該上下文狀態不一致是MGC記錄終結點在空上下文中,MGW記錄終結點在某特定上下文中時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A41、當MGC收到MGW上報的占用事件消息,但消息中同時攜帶的上下文信息內容不為空上下文時,MGC判斷得出MGC和MGW的上下文狀態不一致;B41、MGC將電路狀態置為StateDiffrent狀態,同時向MGW下發InitState命令,利用該命令的恢復機制使MGW和MGC的上下文狀態恢復一致。
14.如權利要求2所述的方法,其特征在于當所述呼叫屬性的隨路信令電路狀態為上下文狀態,且該上下文狀態不一致是MGC記錄終結點在空上下文中,MGW記錄終結點在某特定上下文中時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A42、MGW對于處于呼叫狀態中的上下文,如果在規定時間內沒有收到MGC下發的審計上下文消息,則MGW判斷得出MGC和MGW的上下文狀態不一致;B42、MGW向MGC上報錯誤消息,MGC收到該錯誤消息后,將電路狀態置為StateDiffrent狀態,同時向MGW下發InitState命令,利用該命令的恢復機制使MGW和MGC的上下文狀態恢復一致。
15.如權利要求2所述的方法,其特征在于當所述呼叫屬性的隨路信令電路狀態為上下文狀態,且該上下文狀態不一致是MGC記錄終結點在某特定上下文中,MGW記錄終結點在空上下文中時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A43、MGW收到MGC下發的消息后發現終結點在空上下文中,則MGW判斷得出MGC和MGW之間的上下文狀態不一致;B43、MGW向MGC上報錯誤消息,MGC收到該錯誤消息后,將電路狀態置為StateDiffrent狀態,同時向MGW下發InitState命令,利用該命令的恢復機制使MGW和MGC的上下文狀態恢復一致。
16.如權利要求2所述的方法,其特征在于當所述呼叫屬性的隨路信令電路狀態為上下文狀態,且該上下文狀態不一致是MGC記錄終結點在某特定上下文中,MGW記錄終結點在空上下文中時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A44、MGC對于處于呼叫狀態中的上下文,會定時下發審計上下文消息,MGW根據MGC下發的審計上下文消息判斷得出MGC和MGW的上下文狀態不一致;B44、MGW向MGC上報審計響應錯誤,MGC收到審計失敗后,釋放異常呼叫,終結點移回空上下文,恢復和MGW一致。
17.如權利要求2所述的方法,其特征在于當所述呼叫屬性的隨路信令電路狀態為通話狀態,且該通話狀態不一致是MGC記錄電路處于空閑狀態,MGW記錄電路處于通話狀態時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A51、當MGW收到MGC下發的閉塞命令,但又發現電路處于通話狀態時,則MGW可以判斷得出MGC和MGW之間的通話狀態不一致;B51、MGW直接執行異常恢復流程,先釋放該電路上的呼叫及其相關資源,然后執行所述閉塞命令,電路狀態進入本端閉塞,恢復和MGC狀態一致。
18.如權利要求2所述的方法,其特征在于當所述呼叫屬性的隨路信令電路狀態為通話狀態,且該通話狀態不一致是MGC記錄電路處于空閑狀態,MGW記錄電路處于通話狀態時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A52、MGW收到MGC下發的占用信號消息后發現電路處于通話狀態時,則MGW判斷得出MGC和MGW的通話狀態不一致;B52、MGW向MGC上報錯誤消息,MGC收到該錯誤消息后,選擇其他電路重新處理呼叫,同時將該電路狀態置為StateDiffrent狀態,向MGW下發InitState命令,利用該命令的恢復機制使MGW和MGC的通話狀態恢復一致。
19.如權利要求2所述的方法,其特征在于當所述呼叫屬性的隨路信令電路狀態為通話狀態,且該通話狀態不一致是MGC記錄電路處于通話狀態,MGW記錄電路處于空閑狀態時,所述NGN架構下實現隨路信令狀態一致性的方法進一步包括以下步驟A53、MGC對處于通話狀態中的上下文,會定時下發審計上下文消息,MGW發現電路處于空閑狀態,則MGW判斷得出MGC和MGW的通話狀態不一致;B53、MGW向MGC上報審計響應錯誤,MGC收到審計失敗后,釋放異常呼叫,終結點移回空上下文,電路狀態恢復空閑,保持和MGW一致。
20.如權利要求6、9、11、13、14、15或18任一項所述的方法,其特征在于所述InitState命令是指MGC向MGW下發的一條H.248消息,該消息中攜帶了檢測遠端閉塞事件、檢測IDLE事件和本端解閉塞信號,其含義是MGC通過該消息指示MGW執行以下操作如果MGW當前電路狀態是本端閉塞,則解閉塞;如果MGW記錄的當前對端已經向本端發送過閉塞信號而處于遠端閉塞狀態,則向MGC上報遠端閉塞事件;如果MGW當前處于呼叫狀態,則自動釋放呼叫,呼叫釋放完成電路進入空閑狀態后,向MGC上報IDLE事件。
全文摘要
本發明涉及一種NGN架構下實現隨路信令狀態一致性的方法,其包括以下步驟A.設備實體判斷得出MGC和MGW的隨路信令電路狀態不一致;B.對于非呼叫屬性的狀態不一致,由判斷得出不一致的設備實體對該狀態屬性信息的流動方向進行判斷,如果狀態屬性信息是由對端流向本端,則本端設備直接將狀態屬性修改為與對端一致,如果狀態屬性信息是由本端流向對端,則本端設備通知對端需要修改其狀態屬性與本端一致,而本端狀態屬性不變;對于呼叫屬性的隨路信令電路狀態不一致,如果MGC判斷得出不一致,直接發起狀態初始化處理,如果MGW判斷得出不一致,則上報MGC,由MGC發起狀態初始化處理。本發明可減少隨路信令狀態不一致引起的呼叫接續失敗,提高呼叫接通率。
文檔編號H04L29/06GK101060517SQ20061006120
公開日2007年10月24日 申請日期2006年6月14日 優先權日2006年6月14日
發明者林銘, 李云惠 申請人:華為技術有限公司