專利名稱:與承載無關(guān)的呼叫控制協(xié)議使用流控制傳輸協(xié)議承載信令的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信中的鏈路管理技術(shù),特別是指一種呼叫控制服務(wù)器之間與承載無關(guān)的呼叫控制協(xié)議(BICC)使用流控制傳輸協(xié)議(SCTP)承載信令的方法。
背景技術(shù):
BICC協(xié)議是下一代網(wǎng)絡(luò)中軟交換控制器之間的呼叫控制信令,它繼承傳統(tǒng)電信網(wǎng)絡(luò)中綜合業(yè)務(wù)數(shù)字網(wǎng)用戶部分(ISUP)信令的大部分功能,同時又針對呼叫-控制分離的原則增加了相應(yīng)的承載控制部分,實現(xiàn)了在寬帶分組網(wǎng)絡(luò)上對傳統(tǒng)窄帶業(yè)務(wù)的支持。隨著網(wǎng)絡(luò)組網(wǎng)模型的變化發(fā)展,BICC的信令承載網(wǎng)絡(luò)可能為分組網(wǎng)絡(luò)。對于這種底層承載網(wǎng)絡(luò)是網(wǎng)際協(xié)議(IP)的情況,BICC一般采用SCTP作為其信令承載。這是由于SCTP在承載網(wǎng)上提供了一種有證實、無差錯、無重復數(shù)據(jù)報傳輸,且在一定程度上保證了傳輸?shù)膶崟r性和可靠性。
現(xiàn)有技術(shù)考慮到與傳統(tǒng)網(wǎng)絡(luò)互通的需要,BICC采用SCTP作為其信令承載是基于第三層消息傳送部分用戶適配協(xié)議(M3UA)技術(shù)實現(xiàn)的。參見圖1所示,圖1表示出了BICC、M3UA、SCTP之間的協(xié)議棧關(guān)系,BICC承載于M3UA之上,并由M3UA來負責SCTP鏈路的管理。
這種情況下,當進行BICC信令消息發(fā)送時,對SCTP的鏈路選擇過程,參見圖2所示。首先選擇待發(fā)BICC信令消息的M3UA目的實體;再根據(jù)路由選擇掩碼、接收的BICC信令消息中的M3UA鏈路選擇掩碼(SLS)和M3UA路由優(yōu)先級選擇M3UA路由;在確定的M3UA中選擇M3UA的鏈路集;根據(jù)M3UA鏈路選擇碼(SLC)、接收的BICC信令消息中的M3UA的SLS和M3UA鏈路優(yōu)先級選擇M3UA鏈路;由選擇的鏈路選擇SCTP連接;最后根據(jù)SLS或通信信息碼(CIC)確定發(fā)送該BICC信令消息所采用的SCTP連接的流。
對于需要將BICC信令消息發(fā)送到本地呼叫控制器以外的出局選路的情況,BICC需要根據(jù)出局的局向得到對端呼叫控制服務(wù)器的目的信令點編碼(DPC),然后再根據(jù)目的信令點編碼選擇M3UA實體,進而按照圖2的步驟進行SCTP鏈路選擇。
可以看出,現(xiàn)有技術(shù)實際上還是按照傳統(tǒng)7號信令網(wǎng)絡(luò)的選路方式,使用7號信令網(wǎng)絡(luò)中的目的地信令點編碼進行尋址,因此信令網(wǎng)的組網(wǎng)也就基本延續(xù)了以往信令網(wǎng)絡(luò)分級組網(wǎng)的方式。該方法不但在BICC信令消息發(fā)送的選路過程較為復雜,而且需要為每個呼叫控制器都設(shè)置一個全網(wǎng)唯一的信令點編碼,使組網(wǎng)也受到信令點編碼分配的限制。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種BICC使用SCTP承載信令的方法,使BICC直接采用SCTP承載信令,在進行組網(wǎng)時不再受信令點編碼分配的限制,選路過程更加簡單靈活。
本發(fā)明提供的一種BICC使用SCTP承載信令的方法,在呼叫控制服務(wù)器中為與其相鄰的每個呼叫控制服務(wù)器設(shè)置一個局向號,建立局向號與該局向上所有SCTP鏈路的鏈路集的對應(yīng)關(guān)系,并包括a)呼叫控制服務(wù)器根據(jù)呼叫處理的結(jié)果獲取待發(fā)信令消息的局向號;b)根據(jù)步驟a)獲取的局向號通過局向號與鏈路集的對應(yīng)關(guān)系,索引出到達目的呼叫控制服務(wù)器的鏈路集;c)從步驟b)獲得的鏈路集中選擇一條SCTP鏈路;d)從步驟c)獲得的SCTP鏈路中選擇一條SCTP流,將當前信令消息通過該SCTP流發(fā)出。
該方法步驟a)與b)之間進一步包括根據(jù)局向號判斷該信令消息去往的局向上BICC信令承載的類型,如果類型是SCTP,則進入步驟b);否則,跳出流程。
該方法步驟c)所述選擇SCTP鏈路過程為根據(jù)SCTP鏈路優(yōu)先級,通過鏈路選擇掩碼和待發(fā)信令消息的鏈路選擇碼,按照鏈路負荷均衡原則進行SCTP鏈路選擇。
該方法所述SCTP鏈路選擇過程具體包括c1)從確定的鏈路集中優(yōu)先選擇優(yōu)先級高的SCTP鏈路;c2)在相同優(yōu)先級的SCTP鏈路中,對信令消息中的鏈路選擇碼和鏈路選擇掩碼作對位“與”操作;c3)將“與”操作結(jié)果中的“1”移至低位,并對其高位補“0”;c4)將步驟c3)所得結(jié)果對該局向鏈路集的總SCTP鏈路數(shù)作取余操作,將取余操作的結(jié)果作為所選擇的SCTP鏈路。
該方法信令消息中的鏈路選擇碼為待發(fā)信令消息中CIC的最低的與所述鏈路選擇掩碼同等位數(shù)的bit位上對應(yīng)的數(shù)值。
該方法鏈路選擇掩碼應(yīng)符合2m-1≤n≤2m,其中,n為當前局向上鏈路集中SCTP鏈路的條數(shù),m為鏈路選擇掩碼中“1”的個數(shù)。
該方法步驟d)所述選擇SCTP流過程為根據(jù)SCTP流負荷均衡原則進行SCTP流的選擇。
該方法所述SCTP流選擇過程具體包括d1)判斷當前所選SCTP鏈路實際最大輸出流的個數(shù)是否等于零,如果是,則選擇該SCTP鏈路的默認流,否則進入步驟d2);d2)將當前信令消息的鏈路選擇碼對當前所選SCTP鏈路實際最大輸出流進行取余操作,將結(jié)果作為所選擇SCTP流的流號。
該方法進一步包括為呼叫控制服務(wù)器中的每塊單板上的每條SCTP鏈路設(shè)置一個物理鏈路號和一個邏輯鏈路號,使每個物理鏈路號對應(yīng)單板上的一條實際SCTP鏈路,使每一個邏輯鏈路號唯一的對應(yīng)該呼叫控制服務(wù)器中的一塊單板的板號和該單板上的一條物理鏈路號;則所述步驟c)具體為從鏈路集中選擇一個SCTP邏輯鏈路號。
該方法在每塊單板上建立物理鏈路表和邏輯鏈路表,物理鏈路表和邏輯鏈路表的建立過程具體包括A)呼叫控制服務(wù)器中每個單板逐個讀取所在呼叫控制服務(wù)器中每條SCTP鏈路的鏈路記錄;B)判斷當前讀取的SCTP鏈路是否在本單板上,如果是,則把當前SCTP鏈路的鏈路信息按照讀取的先后順序?qū)懭氡镜匚锢礞溌繁恚斍癝CTP鏈路的物理鏈路號按照讀取的順序依次編號,進入步驟C;否則,把當前SCTP鏈路的鏈路信息按照讀取的先后順序?qū)懭氡镜剡壿嬫溌繁?,當前SCTP鏈路的邏輯鏈路號按照讀取的順序依次編號,進入步驟C;C)判斷是否讀完所有鏈路記錄,如果是,則進入步驟D,否則,重復執(zhí)行步驟A)和B),直到每個單板將所有SCTP鏈路信息都填入單板本地的物理鏈路表和邏輯鏈路表后,進入步驟D);D)在每個單板的邏輯鏈路表中記錄與每條邏輯鏈路號對應(yīng)的物理鏈路號,在每個單板的物理鏈路表中記錄與每條物理鏈路號對應(yīng)的邏輯鏈路號;E)對每個單板的邏輯鏈路表,按照局向號的順序和優(yōu)先級順序?qū)Ρ碇械倪壿嬫溌诽栔匦屡判?,再次通過執(zhí)行步驟D更新每個單板上邏輯鏈路表和物理鏈路表中邏輯鏈路號和物理鏈路號兩者之間的對應(yīng)關(guān)系。
該方法所述鏈路信息至少包括有SCTP鏈路所在單板的板號。
該方法對于分布式的呼叫控制服務(wù)器,所述步驟c)和d)之間進一步包括c1)根據(jù)所獲得的邏輯鏈路號獲得其所對應(yīng)單板的板號;c2)根據(jù)獲得的板號判斷是否需要本單板處理,如果是,則進入步驟c3),否則,轉(zhuǎn)到其它單板處理;c3)判斷邏輯鏈路號所對應(yīng)的SCTP鏈路是否故障,如果是,則在呼叫控制服務(wù)器內(nèi)部發(fā)布該SCTP鏈路狀態(tài)改變的廣播消息給其它單板以進行鏈路狀態(tài)的同步,否則,進入步驟d)。
該方法對于分布式的呼叫控制服務(wù)器,該方法進一步包括如果收到本單板SCTP鏈路狀態(tài)上報消息,則判斷該SCTP鏈路狀態(tài)是否改變,如果是,則在呼叫控制服務(wù)器內(nèi)部發(fā)布該SCTP鏈路狀態(tài)改變的廣播消息;如果收到其它單板轉(zhuǎn)發(fā)的狀態(tài)改變消息,進行正常鏈路狀態(tài)同步處理,并發(fā)送對此消息的應(yīng)答消息;如果收到其它單板廣播的狀態(tài)改變消息,進行正常鏈路狀態(tài)同步處理,并發(fā)送對此廣播消息的應(yīng)答消息。
該方法對于分布式的呼叫控制服務(wù)器,該方法進一步包括在呼叫控制服務(wù)器內(nèi)部周期性地廣播本單板SCTP鏈路的狀態(tài)。
該方法對于分布式的呼叫控制服務(wù)器,該方法進一步包括定期檢查其它單板的狀態(tài),如果發(fā)現(xiàn)其它單板狀態(tài)發(fā)生改變,本單板根據(jù)狀態(tài)的變化更新自身中對應(yīng)于發(fā)生狀態(tài)變化的單板所配置SCTP鏈路的狀態(tài)。
該方法所述定期檢查其它單板的狀態(tài)為利用呼叫控制服務(wù)器內(nèi)部提供的注冊系統(tǒng)支持層的通報功能,通過系統(tǒng)在單板狀態(tài)發(fā)生變化時自動檢測上報來獲取其它單板的狀態(tài);或者通過定期向呼叫控制服務(wù)器內(nèi)部其它單板發(fā)送檢測消息,并根據(jù)收到的應(yīng)答消息判斷其它單板的狀態(tài)。
該方法對于分布式的呼叫控制服務(wù)器,該方法進一步包括如果本單板SCTP鏈路狀態(tài)發(fā)生變化,更新本單板所維護的鏈路狀態(tài)信息,向系統(tǒng)中其它單板廣播該SCTP鏈路故障的信息,收到該信息的其它單板更新該故障SCTP鏈路在本地對應(yīng)的狀態(tài)信息,并返回響應(yīng)消息給發(fā)消息的單板。
該方法對于分布式的呼叫控制服務(wù)器,該方法進一步包括如果本單板物理鏈路故障,并且又收到其它單板發(fā)來的要求從本地的當前故障SCTP鏈路傳送消息的請求,則本單板在呼叫控制服務(wù)器內(nèi)部廣播該故障SCTP鏈路的信息。
從上面所述可以看出,本發(fā)明提供的一種BICC使用SCTP承載信令的方法,通過在呼叫控制服務(wù)器中為與其相鄰的呼叫控制服務(wù)器設(shè)置一個局向號,并建立局向號與該局向上所有SCTP鏈路的鏈路集的對應(yīng)關(guān)系,在發(fā)送BICC信令消息的過程中通過局向號和鏈路集的對應(yīng)關(guān)系,選擇出一條合適的SCTP鏈路,進行信令消息的發(fā)送,使BICC直接承載于SCTP之上,無需使用7號信令網(wǎng)絡(luò)中的DPC進行尋址,使組網(wǎng)更加靈活,選路過程更加方便。并進一步通過設(shè)置物理鏈路號和邏輯鏈路號在呼叫控制服務(wù)器中進行統(tǒng)一的鏈路管理,將呼叫控制服務(wù)器配置為一個分布式并且穩(wěn)定的系統(tǒng),保證系統(tǒng)中所有單板上鏈路狀態(tài)及數(shù)據(jù)的一致,從而實現(xiàn)了資源全局共享,使信令消息的分發(fā)得到保證,使得在一塊單板故障時,不會影響其它單板上得鏈路,提高了系統(tǒng)的容錯性。
圖1為現(xiàn)有技術(shù)BICC使用SCTP承載信令時的協(xié)議棧關(guān)系示意圖;圖2為現(xiàn)有技術(shù)發(fā)送BICC信令消息時SCTP鏈路選擇流程示意圖;圖3為本發(fā)明BICC使用SCTP承載信令時的協(xié)議棧關(guān)系示意圖;圖4為本發(fā)明實施例進行SCTP鏈路選擇的計算過程示意圖;圖5為本發(fā)明實施例中物理鏈路與邏輯鏈路對應(yīng)關(guān)系示意圖;圖6為本發(fā)明邏輯鏈路表和物理鏈路表的建立流程示意圖;圖7為本發(fā)明實施例在分布式的環(huán)境中,SCTP鏈路選擇和管理的流程示意圖。
具體實施例方式
下面結(jié)合附圖及具體實施例對本發(fā)明再作進一步詳細的說明。
本發(fā)明不再借助M3UA協(xié)議作為BICC信令承載,而是直接采用SCTP協(xié)議承載BICC信令,參見圖3所示,將BICC直接承載于M3UA之上。
為了描述方便,本發(fā)明提出了如下幾個相關(guān)概念。
局向描述了本地呼叫控制服務(wù)器到另一個相鄰呼叫控制服務(wù)器的方向,該呼叫控制服務(wù)器與本地呼叫控制服務(wù)器通過至少一條SCTP鏈路直接連接,在本文中,局向也是到另一個呼叫控制服務(wù)器的所有SCTP鏈路的集合。
鏈路集某局向上所有SCTP鏈路的集合。
在呼叫控制服務(wù)器內(nèi)部,為了對不同局向加以區(qū)分,每個局向由用戶分配一個局向號,此局向號是個內(nèi)部概念,并非全網(wǎng)編號,并建立局向號與該局向SCTP鏈路集之間的對應(yīng)關(guān)系,這樣,根據(jù)此局向號就可以索引到所對應(yīng)局向上的SCTP鏈路集。
在使用SCTP作為信令承載發(fā)送BICC信令消息時,呼叫控制服務(wù)器首先從待發(fā)的信令消息中獲取目的局向號,再根據(jù)局向號與鏈路集的對應(yīng)關(guān)系索引出到達目的呼叫控制服務(wù)器的鏈路集,然后從鏈路集中選擇一條SCTP鏈路,最后從選定的SCTP鏈路中選擇一條SCTP流將待發(fā)的信令消息發(fā)出。對于內(nèi)部有多個單板的分布式呼叫控制器本發(fā)明還提供了完整的鏈路管理和維護方案。從而使BICC完全可以直接承載于SCTP之上,避免了組網(wǎng)和選路過程中信令點編碼分配的限制。
對于內(nèi)部只有一塊單板的呼叫控制服務(wù)器系統(tǒng),對信令消息的處理和發(fā)送過程具體過程包括A.呼叫控制服務(wù)器根據(jù)號碼分析等呼叫處理的結(jié)果獲取待發(fā)BICC信令消息的目的地,即局向號,根據(jù)獲知消息去往的局向。
B.根據(jù)確定的局向判斷該局向上BICC信令承載的類型,如果承載類型是SCTP,則根據(jù)局向號索引得到該局向上的SCTP鏈路集,否則跳出流程。
C.根據(jù)SCTP鏈路優(yōu)先級,通過鏈路選擇掩碼和待發(fā)信令消息的鏈路選擇碼,按照鏈路負荷均衡原則選擇一條SCTP鏈路。
該選擇SCTP鏈路的過程具體包括a)從確定的鏈路集中優(yōu)先選擇優(yōu)先級高的SCTP鏈路。
其中,SCTP鏈路的優(yōu)先級可以由用戶或系統(tǒng)指定。
在優(yōu)先級相同的一組SCTP鏈路中,鏈路選擇過程包括b)-d)。
b)從信令消息的通信信息碼(CIC)中獲取鏈路選擇碼(SLS)。
這里SLS的獲取是通過取BICC信令消息的CIC的最低4bit得來。
c)從系統(tǒng)中獲取鏈路選擇掩碼(SLC)。
SLC根據(jù)一個局向上實際配置的鏈路數(shù),由系統(tǒng)自動進行計算生成,具體計算方法如下若一個局向上鏈路集由n條SCTP鏈路組成,則SCTP鏈路選擇掩碼SLC中“1”的個數(shù)m應(yīng)滿足條件2m-1≤n≤2m。其中,本實施例中n和m采用4位二進制進行計數(shù),因此1≤n≤16,1≤m≤16。根據(jù)這一條件,鏈路集中SCTP鏈路數(shù)n和鏈路選擇掩碼中“1”的個數(shù)m之間的關(guān)系,參見表1所示。
表1SLC生成后是固定不變的。
d)將信令消息中的SLS與SLC進行對位“與”操作,將結(jié)果中的“1”都依次右移到低位,在高位補“0”,使得高位bit為“0”,低位bit為“1”,最后再將這些結(jié)果與此局向的總SCTP鏈路數(shù)進行取余(%)操作,將取余操作后的結(jié)果作為所選擇的鏈路的鏈路號。
具體舉例,參見圖4所示,假設(shè)某局向SCTP鏈路總數(shù)為4,信令消息中CIC的最低4bit為1101,并獲得鏈路選擇掩碼為0101。其計算過程是對1101及0101作對位“與”操作,將結(jié)果中的兩個“1”右移,在高位補“0”后得到0011,將該結(jié)果0011與總鏈路數(shù)4進行取余操作,得到的結(jié)果為3,故選擇第3條SCTP鏈路。
其中,這里SLS取BICC信令消息的CIC的最低4bit是使其與SLC的位數(shù)對應(yīng),如果SLC的位數(shù)為5位或其它,則SLS也相應(yīng)調(diào)整為取CIC的最低5bit或其它bit數(shù)。
D.在所確定的SCTP鏈路中選擇一個SCTP流,將BICC消息通過所選擇的SCTP流發(fā)送出去。
其中,在同一條SCTP鏈路內(nèi),可以存在多個流,數(shù)據(jù)在每個流內(nèi)的傳送是保序的,因此對于特定CIC的信令消息,應(yīng)保證在同一個流內(nèi)傳輸。不同CIC的信令消息,應(yīng)盡可能平均分配到不同的流中進行傳輸,以達到負荷均衡。根據(jù)這一原則,選擇SCTP流的過程為在將SLS與SCTP鏈路實際最大輸出流進行取余操作。
其具體計算方法如下Sn=0,Max_output_stream=0時;Sn=SLS%Max_output_stream,Max_output_stream>0時;其中,Sn表示的是流號;SLS是鏈路選擇碼,取值與進行SCTP鏈路選擇所使用的SLS相同;Max_output_stream是SCTP鏈路中最大輸出流的個數(shù),是SCTP本身的屬性,所述輸出流是用于發(fā)送BICC信令消息的流。
例如當SCTP鏈路最大輸出流為5,BICC消息的SLS=1的時候,被選擇用于傳送BICC消息的流號為1%5=1。
如果最大輸出流個數(shù)為0,此時SCTP鏈路中只有一個SCTP流,因此流號會取一個默認的值,即代表這個流的值。
在分布式的環(huán)境中,同一局向上的SCTP鏈路可能會分布在不同的單板上,為了實現(xiàn)鏈路資源的全局共享,本發(fā)明將每塊單板的資源即SCTP鏈路進一步劃分為物理鏈路和邏輯鏈路。
物理鏈路是指用戶通過命令配置在具體單板上的實際SCTP鏈路,物理鏈路由SCTP鏈路所在單板板號與鏈路號進行索引。其中此處的鏈路號即為物理鏈路號,僅在其所配置的單板內(nèi)唯一。原設(shè)置于各個單板上的物理鏈路表僅僅維護本單板上所配置的物理鏈路信息。
邏輯鏈路是為了便于物理鏈路在系統(tǒng)中識別,在邏輯上規(guī)定的鏈路形式。系統(tǒng)為了能夠統(tǒng)一地管理分布在不同單板上的物理鏈路而按照局向順序和優(yōu)先級順序另外建立起來的全局統(tǒng)一的鏈路表,每條邏輯鏈路由邏輯鏈路號索引,唯一的對應(yīng)著一條物理鏈路,因此邏輯鏈路的信息中應(yīng)包含其所對應(yīng)的物理鏈路的板號和物理鏈路號。同一邏輯鏈路的鏈路信息和鏈路狀態(tài)在各個單板上應(yīng)該是一致的,并隨著物理鏈路的增刪,邏輯鏈路也需要動態(tài)調(diào)整。
參見圖5所示,圖5為物理鏈路與邏輯鏈路之間對應(yīng)關(guān)系的一個例子。單板1的SCTP物理鏈路號分別為0、1、2,單板2的SCTP物理鏈路號分別為0、1、2,單板3的SCTP物理鏈路號分別為0、1、2、3。單板1、單板2、單板3上各物理鏈路所對應(yīng)的邏輯鏈路號分別為(0、1、2)(3、4、5)(0、1、2、3)。
邏輯鏈路表和物理鏈路表的建立過程,參見圖6所示。
步驟601,每個單板逐個讀取用戶所配置的局中所有SCTP鏈路的鏈路記錄。
步驟602,判斷當前所讀取的SCTP鏈路是否配置在本單板上,如果該SCTP鏈路配置在本單板上,則把SCTP鏈路的板號等相應(yīng)鏈路信息按照讀取的先后順序?qū)懭氡镜匚锢礞溌繁恚锢礞溌诽柊凑兆x取的順序依次編號;否則,如果該SCTP鏈路不是配置在本單板上的SCTP鏈路,則執(zhí)行步驟603。
步驟603,把鏈路信息按照讀取鏈路記錄的先后順序依次寫入邏輯鏈路表,邏輯鏈路號按照讀取的順序依次編號。
步驟604,判斷是否讀完所有鏈路記錄,如果是,則進入步驟605;否則,重復執(zhí)行步驟601-603,直至每個單板將所有鏈路記錄都填入本地的物理鏈路表和邏輯鏈路表,進入步驟605。
步驟605,在每個單板的邏輯鏈路表中都記錄下與每條邏輯鏈路對應(yīng)的物理鏈路號;并且,在每個單板的物理鏈路表中都記錄下表中每條物理鏈路對應(yīng)的邏輯鏈路號。從而在物理鏈路號和邏輯鏈路號之間建立了聯(lián)系。
步驟606,對每個邏輯鏈路表,按照局向號的順序和優(yōu)先級順序?qū)Ρ碇械倪壿嬫溌诽栔匦屡判?,從而可以得到每個局向的鏈路集,該鏈路集可以由鏈路集的起始鏈路號和結(jié)束鏈路號表示。然后,再次通過步驟605更新每個單板上邏輯鏈路表和物理鏈路表中邏輯鏈路號和物理鏈路號兩者之間的對應(yīng)關(guān)系。
在進行BICC信令消息的處理時,各塊單板可以將其它單板管理的物理鏈路納入本單板的管理范圍,即看作本單板上的一條邏輯鏈路。因此,在分發(fā)信令消息時,就可以根據(jù)單板上維護的當前邏輯鏈路信息,選擇一條可用的邏輯鏈路,根據(jù)該邏輯鏈路對應(yīng)的單板號再將該信令消息轉(zhuǎn)發(fā)到相應(yīng)的單板進行處理,以此達到SCTP鏈路的管理資源全局共享的目的。
參見圖7所示,圖7為在分布式的環(huán)境中,SCTP鏈路選擇和管理的具體流程。
步驟701-707,為與分布式環(huán)境中BICC信令消息的處理過程。具體包括步驟701-702,單板收到待發(fā)送的BICC信令消息后,根據(jù)SCTP鏈路優(yōu)先級,通過鏈路選擇掩碼和待發(fā)信令消息的鏈路選擇碼,按照鏈路負荷均衡原則選擇一條SCTP鏈路。
其中,這一過程與前述步驟A-C相同,只是通過該過程選擇獲取的鏈路號一般是指邏輯鏈路號。
步驟703,根據(jù)所選擇的SCTP邏輯鏈路通過查詢本地邏輯鏈路表獲得板號。
步驟704-705,根據(jù)獲得的板號判斷是否需要在本板處理,如果是,進入步驟706,否則,轉(zhuǎn)到其它單板處理。
步驟706-707,判斷該SCTP鏈路是否故障,如果是,進入步驟713,否則,正常處理,即從該SCTP鏈路中選擇一條SCTP流將信令消息發(fā)送出去。
步驟711-712,收到本單板鏈路狀態(tài)上報消息后,判斷SCTP邏輯鏈路狀態(tài)是否改變,如果改變,則進入步驟713,否則,結(jié)束流程。
步驟713,向其它單板發(fā)布SCTP邏輯鏈路狀態(tài)改變廣播消息。
步驟721-723,收到其它單板轉(zhuǎn)發(fā)的狀態(tài)改變消息后,進行正常鏈路狀態(tài)同步處理,同時發(fā)送狀態(tài)改變消息應(yīng)答消息。
步驟731、722、723,收到其它單板廣播消息后,進行正常鏈路狀態(tài)同步處理,同時發(fā)送廣播消息的應(yīng)答消息。
另外,因為SCTP鏈路需要統(tǒng)一管理,而物理鏈路又分布在不同的單板之上,所以需要實時地在全系統(tǒng)范圍內(nèi)保持業(yè)務(wù)處理模板所在的單板、SCTP鏈路配置所在單板之間,以及多個業(yè)務(wù)處理單板之間的SCTP鏈路狀態(tài)的一致,以避免信令消息分發(fā)到故障SCTP鏈路上,或鏈路負荷的不均衡。為達到此目的,采用如下措施1)周期性地廣播本單板物理鏈路的狀態(tài)。
這樣做無論本板上的SCTP鏈路狀態(tài)是否發(fā)生改變,都可以防止一些未知因素導致的SCTP鏈路狀態(tài)不一致,以利于其它單板上SCTP鏈路狀態(tài)的同步,接收此廣播消息的單板無需進行應(yīng)答。
2)定期檢測或采用注冊系統(tǒng)支撐層的通報功能檢查其它單板的狀態(tài),當發(fā)現(xiàn)其它單板狀態(tài)發(fā)生改變的時候,本單板需要根據(jù)狀態(tài)的變化更新本單板中對應(yīng)于發(fā)生狀態(tài)變化單板所配置SCTP鏈路的狀態(tài)。
其中,如果系統(tǒng)提供注冊系統(tǒng)支撐層的通報功能,則每個單板通過定期檢查其它單板在系統(tǒng)中的注冊信息獲取其它單板的狀態(tài)。如果系統(tǒng)不提供注冊系統(tǒng)支撐層的通報功能,則每個單板通過定期發(fā)送檢測消息并根據(jù)收到的應(yīng)答消息判斷其它單板的狀態(tài)。
3)當本單板SCTP鏈路狀態(tài)發(fā)生變化的時候,除了更新本單板維護的鏈路狀態(tài)信息以外,還需要向系統(tǒng)中其它單板廣播該SCTP鏈路故障的信息,收到該信息的其它單板需要更新相應(yīng)邏輯鏈路的狀態(tài),并返回響應(yīng)消息給發(fā)消息的單板。
4)如果本單板物理鏈路已經(jīng)故障,但是又收到其它單板發(fā)來的要求從本地的故障物理鏈路傳送消息的請求,則本單板也需要立即廣播該故障SCTP鏈路的信息以同步SCTP鏈路狀態(tài),避免其它單板再發(fā)送消息到故障SCTP鏈路。
本發(fā)明對于只有一個單板的呼叫控制器也可以設(shè)置為每條SCTP鏈路設(shè)置物理鏈路號和邏輯鏈路號,以與分布式呼叫控制器統(tǒng)一,此情況下,所述選路過程中選擇的鏈路號一般為邏輯鏈路號。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種BICC使用SCTP承載信令的方法,其特征在于,在呼叫控制服務(wù)器中為與其相鄰的每個呼叫控制服務(wù)器設(shè)置一個局向號,建立局向號與該局向上所有SCTP鏈路的鏈路集的對應(yīng)關(guān)系,并包括a)呼叫控制服務(wù)器根據(jù)呼叫處理的結(jié)果獲取待發(fā)信令消息的局向號;b)根據(jù)步驟a)獲取的局向號通過局向號與鏈路集的對應(yīng)關(guān)系,索引出到達目的呼叫控制服務(wù)器的鏈路集;c)從步驟b)獲得的鏈路集中選擇一條SCTP鏈路;d)從步驟c)獲得的SCTP鏈路中選擇一條SCTP流,將當前信令消息通過該SCTP流發(fā)出。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟a)與b)之間進一步包括根據(jù)局向號判斷該信令消息去往的局向上BICC信令承載的類型,如果類型是SCTP,則進入步驟b);否則,跳出流程。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟c)所述選擇SCTP鏈路過程為根據(jù)SCTP鏈路優(yōu)先級,通過鏈路選擇掩碼和待發(fā)信令消息的鏈路選擇碼,按照鏈路負荷均衡原則進行SCTP鏈路選擇。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述SCTP鏈路選擇過程具體包括c1)從確定的鏈路集中優(yōu)先選擇優(yōu)先級高的SCTP鏈路;c2)在相同優(yōu)先級的SCTP鏈路中,對信令消息中的鏈路選擇碼和鏈路選擇掩碼作對位“與”操作;c3)將“與”操作結(jié)果中的“1”移至低位,并對其高位補“0”;c4)將步驟c3)所得結(jié)果對該局向鏈路集的總SCTP鏈路數(shù)作取余操作,將取余操作的結(jié)果作為所選擇的SCTP鏈路。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,信令消息中的鏈路選擇碼為待發(fā)信令消息中CIC的最低的與所述鏈路選擇掩碼同等位數(shù)的bit位上對應(yīng)的數(shù)值。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,鏈路選擇掩碼應(yīng)符合2m-1≤n≤2m,其中,n為當前局向上鏈路集中SCTP鏈路的條數(shù),m為鏈路選擇掩碼中“1”的個數(shù)。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟d)所述選擇SCTP流過程為根據(jù)SCTP流負荷均衡原則進行SCTP流的選擇。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述SCTP流選擇過程具體包括d1)判斷當前所選SCTP鏈路實際最大輸出流的個數(shù)是否等于零,如果是,則選擇該SCTP鏈路的默認流,否則進入步驟d2);d2)將當前信令消息的鏈路選擇碼對當前所選SCTP鏈路實際最大輸出流進行取余操作,將結(jié)果作為所選擇SCTP流的流號。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,進一步包括為呼叫控制服務(wù)器中的每塊單板上的每條SCTP鏈路設(shè)置一個物理鏈路號和一個邏輯鏈路號,使每個物理鏈路號對應(yīng)單板上的一條實際SCTP鏈路,使每一個邏輯鏈路號唯一的對應(yīng)該呼叫控制服務(wù)器中的一塊單板的板號和該單板上的一條物理鏈路號;則所述步驟c)具體為從鏈路集中選擇一個SCTP邏輯鏈路號。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,在每塊單板上建立物理鏈路表和邏輯鏈路表,物理鏈路表和邏輯鏈路表的建立過程具體包括A)呼叫控制服務(wù)器中每個單板逐個讀取所在呼叫控制服務(wù)器中每條SCTP鏈路的鏈路記錄;B)判斷當前讀取的SCTP鏈路是否在本單板上,如果是,則把當前SCTP鏈路的鏈路信息按照讀取的先后順序?qū)懭氡镜匚锢礞溌繁?,當前SCTP鏈路的物理鏈路號按照讀取的順序依次編號,進入步驟C;否則,把當前SCTP鏈路的鏈路信息按照讀取的先后順序?qū)懭氡镜剡壿嬫溌繁恚斍癝CTP鏈路的邏輯鏈路號按照讀取的順序依次編號,進入步驟C;C)判斷是否讀完所有鏈路記錄,如果是,則進入步驟D,否則,重復執(zhí)行步驟A)和B),直到每個單板將所有SCTP鏈路信息都填入單板本地的物理鏈路表和邏輯鏈路表后,進入步驟D);D)在每個單板的邏輯鏈路表中記錄與每條邏輯鏈路號對應(yīng)的物理鏈路號,在每個單板的物理鏈路表中記錄與每條物理鏈路號對應(yīng)的邏輯鏈路號;E)對每個單板的邏輯鏈路表,按照局向號的順序和優(yōu)先級順序?qū)Ρ碇械倪壿嬫溌诽栔匦屡判颍俅瓮ㄟ^執(zhí)行步驟D更新每個單板上邏輯鏈路表和物理鏈路表中邏輯鏈路號和物理鏈路號兩者之間的對應(yīng)關(guān)系。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述鏈路信息至少包括有SCTP鏈路所在單板的板號。
12.根據(jù)權(quán)利要求9所述的方法,其特征在于,對于分布式的呼叫控制服務(wù)器,所述步驟c)和d)之間進一步包括c1)根據(jù)所獲得的邏輯鏈路號獲得其所對應(yīng)單板的板號;c2)根據(jù)獲得的板號判斷是否需要本單板處理,如果是,則進入步驟c3),否則,轉(zhuǎn)到其它單板處理;c3)判斷邏輯鏈路號所對應(yīng)的SCTP鏈路是否故障,如果是,則在呼叫控制服務(wù)器內(nèi)部發(fā)布該SCTP鏈路狀態(tài)改變的廣播消息給其它單板以進行鏈路狀態(tài)的同步,否則,進入步驟d)。
13.根據(jù)權(quán)利要求9所述的方法,其特征在于,對于分布式的呼叫控制服務(wù)器,該方法進一步包括如果收到本單板SCTP鏈路狀態(tài)上報消息,則判斷該SCTP鏈路狀態(tài)是否改變,如果是,則在呼叫控制服務(wù)器內(nèi)部發(fā)布該SCTP鏈路狀態(tài)改變的廣播消息;如果收到其它單板轉(zhuǎn)發(fā)的狀態(tài)改變消息,進行正常鏈路狀態(tài)同步處理,并發(fā)送對此消息的應(yīng)答消息;如果收到其它單板廣播的狀態(tài)改變消息,進行正常鏈路狀態(tài)同步處理,并發(fā)送對此廣播消息的應(yīng)答消息。
14.根據(jù)權(quán)利要求9所述的方法,其特征在于,對于分布式的呼叫控制服務(wù)器,該方法進一步包括在呼叫控制服務(wù)器內(nèi)部周期性地廣播本單板SCTP鏈路的狀態(tài)。
15.根據(jù)權(quán)利要求9所述的方法,其特征在于,對于分布式的呼叫控制服務(wù)器,該方法進一步包括定期檢查其它單板的狀態(tài),如果發(fā)現(xiàn)其它單板狀態(tài)發(fā)生改變,本單板根據(jù)狀態(tài)的變化更新自身中對應(yīng)于發(fā)生狀態(tài)變化的單板所配置SCTP鏈路的狀態(tài)。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述定期檢查其它單板的狀態(tài)為利用呼叫控制服務(wù)器內(nèi)部提供的注冊系統(tǒng)支持層的通報功能,通過系統(tǒng)在單板狀態(tài)發(fā)生變化時自動檢測上報來獲取其它單板的狀態(tài);或者通過定期向呼叫控制服務(wù)器內(nèi)部其它單板發(fā)送檢測消息,并根據(jù)收到的應(yīng)答消息判斷其它單板的狀態(tài)。
17.根據(jù)權(quán)利要求9所述的方法,其特征在于,對于分布式的呼叫控制服務(wù)器,該方法進一步包括如果本單板SCTP鏈路狀態(tài)發(fā)生變化,更新本單板所維護的鏈路狀態(tài)信息,向系統(tǒng)中其它單板廣播該SCTP鏈路故障的信息,收到該信息的其它單板更新該故障SCTP鏈路在本地對應(yīng)的狀態(tài)信息,并返回響應(yīng)消息給發(fā)消息的單板。
18.根據(jù)權(quán)利要求9所述的方法,其特征在于,對于分布式的呼叫控制服務(wù)器,該方法進一步包括如果本單板物理鏈路故障,并且又收到其它單板發(fā)來的要求從本地的當前故障SCTP鏈路傳送消息的請求,則本單板在呼叫控制服務(wù)器內(nèi)部廣播該故障SCTP鏈路的信息。
全文摘要
本發(fā)明公開了一種BICC使用SCTP承載信令的方法,在呼叫控制服務(wù)器中為與其相鄰的每個呼叫控制服務(wù)器設(shè)置一個局向號,并建立局向號與該局向上所有SCTP鏈路的鏈路集的對應(yīng)關(guān)系,在使用SCTP作為信令承載發(fā)送BICC信令消息時,呼叫控制服務(wù)器首先根據(jù)呼叫處理的結(jié)果獲取目的局向號,再根據(jù)局向號與鏈路集的對應(yīng)關(guān)系索引出到達目的呼叫控制服務(wù)器的鏈路集,然后從鏈路集中選擇一條SCTP鏈路,最后從選定的SCTP鏈路中選擇一條SCTP流將待發(fā)的信令消息發(fā)出。本發(fā)明使BICC直接采用SCTP承載信令,在進行組網(wǎng)時不再受信令點編碼分配的限制,選路過程更加簡單靈活。
文檔編號H04L29/08GK1662012SQ20041000579
公開日2005年8月31日 申請日期2004年2月27日 優(yōu)先權(quán)日2004年2月27日
發(fā)明者廖志軍 申請人:華為技術(shù)有限公司