專利名稱:基于sip的呼叫會話服務(wù)器和消息路由選擇方法
基于SIP的呼叫會話服務(wù)器和消息路由選擇方法
背景技術(shù):
本發(fā)明涉及通信系統(tǒng)。更具體但非限制性地說,本發(fā)明涉及基于會話啟動協(xié)議(SlP)的呼叫會話服務(wù)器和在服務(wù)器內(nèi)為消息選擇路由的方法。諸如高容量IP多媒體子系統(tǒng)MS-CSCF節(jié)點等彈性分布式且負載平衡的基于SIP的呼叫會話服務(wù)器可實現(xiàn)呼叫會話控制功能(CSCF)。服務(wù)器設(shè)計成處理許多同時一對一呼叫和會議呼叫,同時經(jīng)僅一個或少數(shù)幾個廣告的外部接口(例如,SIP標準端口 5060和少數(shù)指定的IP地址)提供其服務(wù)。CSCF在可能多個處理器單元上創(chuàng)建多個背靠背用戶代理(B2BUA)實例,以便同時處理呼叫,并且一般設(shè)計成不但處理符合標準SIP協(xié)議(RFC3261)的呼叫,而且處理基于RFC3261標準的變型和/或擴展的呼叫,其中的一些可以是專有變型和/或擴展。CSCF也可能需要同時(在相同呼叫會話內(nèi))支持純RFC3261呼叫和基于RFC3261的多個變型和/或擴展的呼叫的組合。CSCF也可使用基于SIP的協(xié)議控制呼叫有關(guān)的資源。例如,充當(dāng)媒體網(wǎng)關(guān)控制器的CSCF能夠使用基于SIP的協(xié)議控制在多媒體網(wǎng)關(guān)/服務(wù)器中的媒體資源。在外部接口的有限集合后的多個處理器單元上創(chuàng)建多個B2BUA實例以處理多個同時呼叫時,必須將從外部節(jié)點進入的信令消息相關(guān)并路由選擇到用于每個呼叫的正確B2BUA實例。為實現(xiàn)此操作,CSCF通常實現(xiàn)呼叫會話感知的SIP消息路由選擇框架。也就是說,對于每個呼叫,SIP消息路由選擇框架必須與對應(yīng)B2BUA實例共享所有呼叫會話信息(如B2BUA實例生成的消息參數(shù)的值)。在呼叫會話服務(wù)器的CSCF功能的典型實現(xiàn)中用于SIP消息路由選擇的現(xiàn)有解決方案依賴SIP協(xié)議消息報頭中的“呼叫ID”、“分支”和/或“標記”參數(shù)。RFC3261要求這些參數(shù)在長度、空間和時間上是隨機和獨特的。在一個網(wǎng)關(guān)為出局請求生成這些參數(shù)時,要求在呼叫會話中涉及的遠程/對等網(wǎng)關(guān)在到呼叫會話服務(wù)器的入局響應(yīng)中以某一形式回應(yīng)它們。典型的CSCF將諸如呼叫ID、分支和標記參數(shù)等各種SIP消息參數(shù)生成為任意長度的任意字符串,使得它們在空間、時間和跨多個呼叫是獨特和隨機的。然而,由于生成過程的性質(zhì)和各種參數(shù)的隨機性,它們通常沒有能夠由消息路由選擇框架用于將消息與呼叫會話相關(guān)并且確定CSCF內(nèi)消息要路由選擇到的對應(yīng)B2BUA實例的任何特別的屬性或模式。因此,為幫助路由選擇框架將SIP消息相關(guān)和為SIP消息選擇路由,由其B2BUA實例為每個呼叫會話生成的各種參數(shù)與SIP消息路由選擇框架共享。然而,呼叫會話的各種參數(shù)的值可能相互具有很少相關(guān)性或沒有相關(guān)性。另外,參數(shù)的存在和值也取決于在狀態(tài)機中能夠是呼叫支路特定的呼叫會話的狀態(tài),以及呼叫支路是符合純RFC3261還是其變型/擴展。因此,為有效利用參數(shù)值以將消息相關(guān)和為消息選擇路由,共同的子字符串被包含到跨多個報頭的參數(shù)值中,并且呼叫狀態(tài)信息也在B2BUA與路由選擇層之間共享。在B2BUA實例與路由選擇框架之間的信息共享一般使用進程間通信(IPC)機制和/或分布式數(shù)據(jù)庫來完成。在路由選擇框架,數(shù)據(jù)庫的使用也通過插入呼叫會話記錄中并且登記到分布式數(shù)據(jù)庫中的呼叫會話的參數(shù)提供彈性、容錯和負載平衡,分布式數(shù)據(jù)庫跨節(jié)點中的所有處理器復(fù)制(也稱為全局復(fù)制(total replication) )0路由選擇框架設(shè)計成由跨多個處理器單元分布、帶有冗余性的多個路由選擇過程實例組成。B2BUA實例和路由選擇框架存儲和取回來自任何處理器上數(shù)據(jù)庫的呼叫會話記錄。在嘗試使路由選擇框架具有呼叫會話感知時,參數(shù)值中共同子字符串的使用和B2BUA實例與SIP消息路由選擇框架之間的信息共享帶來了相當(dāng)大的設(shè)計問題。問題分成三個主要類別。首先,由于在兩個層之間呼叫會話信息共享和維護的相當(dāng)大開銷和復(fù)雜性原因,過程導(dǎo)致在CSCF內(nèi)路由選擇框架和B2BUA層兩者中的效率低下。其次,由于路由選擇框架被強制為每個呼叫維護呼叫會話信息(以實現(xiàn)彈性、容錯和負載平衡),因此,如果路由選擇過程的一個實例崩潰,則所有受影響呼叫會話的會話信息必須被轉(zhuǎn)移到可能在另一處理器單元上的另一路由選擇過程。這也涉及在分布式數(shù)據(jù)庫中保存和取回受影響呼叫的呼叫會話信息。然而,這在信令平面中路由選擇過程管理和數(shù)據(jù)庫管理方面帶來了相當(dāng)大的開銷和成本。另外,在路由選擇框架中發(fā)生故障時,受影響呼叫會話的B2BUA實例必須與新路由選擇過程實例重新相關(guān)聯(lián),并且存在為管理關(guān)聯(lián)而產(chǎn)生的另外開銷。這浪費了處理器和存儲器資源,并且增大了呼叫處理等待時間,不利地影響了系統(tǒng)的性能和容量,同時使CSCF的總體設(shè)計變得復(fù)雜,并且因此變得昂貴。第三,諸如呼叫ID、分支和標記等SIP消息報頭參數(shù)不能始終被依賴以實現(xiàn)獨特性和隨機性,同時,也在子字符串部分中承載特別的屬性以識別呼叫會話。這是因為如果隨機參數(shù)值字符串的子字符串用作共同子字符串,并且與SIP報頭參數(shù)的其它隨機字符串混合,則SIP報頭參數(shù)字符串的總體熵被破壞,導(dǎo)致在路由選擇框架更高的沖突概率。這導(dǎo)致消息的錯誤路由選擇,特別是在高呼叫量下,這是由于沖突的概率隨著消息的數(shù)量而上升。因此,以使SIP報頭值易于發(fā)生沖突的方式使用SIP消息報頭參數(shù)的共同字符串違反了 RFC3261的隨機性要求。此外,在要支持RFC3261的變型/擴展,特別是在相同呼叫會話內(nèi)也要支持基于純RFC3261的信令時,此類方案可根本不起作用。SIP標準的變型和擴展能夠?qū)Ω鞣N參數(shù)值設(shè)置另外的約束,或者能夠修改現(xiàn)有約束(根據(jù)RFC3261 ),或者能夠使用參數(shù)值以實現(xiàn)完全非標準目的。
發(fā)明內(nèi)容
本發(fā)明陳述了在諸如MS-CSCF節(jié)點等實現(xiàn)呼叫會話控制功能(CSCF)的基于SIP的呼叫會話服務(wù)器內(nèi)基于SIP的消息路由選擇的新穎方案。本發(fā)明消除了在CSCF中消息路由選擇框架具呼叫會話感知以便正確為進出節(jié)點的SIP消息選擇路由的需要。通過使用此方案,路由選擇框架能夠設(shè)計成是算法式,并且因此高效、有彈性、容錯以及高度適合用于在分布式和負載平衡的節(jié)點體系結(jié)構(gòu)中部署。本發(fā)明具有以下特征:
1.消除了在基于SIP的呼叫會話服務(wù)器/IMS-CSCF的SIP呼叫會話消息路由選擇框架中對呼叫會話感知的需要。2.基于在此以后在本申請的剩余部分中稱為“路由選擇關(guān)鍵字”的隨機生成的會話標識符的算法SIP消息相關(guān)和路由選擇。3.使用基于諸如呼叫ID、來源標記和目的地標記(也保證其值在時間、空間和跨多個呼叫會話是獨特的)隨機生成的會話標識符(路由選擇關(guān)鍵字),以便以不破壞其熵的方式生成參數(shù)值。呼叫ID、來源標記和目的地標記報頭是根據(jù)SIP標準及其變型和擴展在SIP消息中存在的最常見報頭,并且因此是用于生成路由選擇關(guān)鍵字的基礎(chǔ)。4.只在會話控制層(CSCF/B2BUA實例)內(nèi)保持呼叫會話信息而無需明確與消息路由選擇框架共享。5.不需要在路由選擇框架在數(shù)據(jù)庫中呼叫會話信息的持久緩存以實現(xiàn)容錯和彈性的可重復(fù)邏輯。6.位置無關(guān)(即,處理器單元和路由選擇過程無關(guān))的SIP消息相關(guān)和路由選擇,導(dǎo)致高度優(yōu)化、負載平衡和可擴展的路由選擇解決方案。不存在用于呼叫會話的專用路由選擇過程實例。在一個實施例中,本發(fā)明涉及一種在基于SIP的呼叫會話服務(wù)器內(nèi)為SIP消息選擇路由的方法,SIP消息與呼叫會話相關(guān)聯(lián)。方法包括以下步驟:由SIP服務(wù)器接收來自始發(fā)節(jié)點的入局SIP消息;由SIP服務(wù)器基于入局SIP消息中的至少一個報頭字段確定路由選擇關(guān)鍵字;由SIP服務(wù)器利用路由選擇關(guān)鍵字識別負責(zé)呼叫會話的背靠背用戶代理(B2BUA)實例;將入局SIP消息發(fā)送到識別的B2BUA實例;由B2BUA實例創(chuàng)建出局SIP消息,其中B2BUA實例利用路由選擇關(guān)鍵字在出局SIP消息中生成報頭字段;以及將出局SIP消息從SIP服務(wù)器發(fā)送到終結(jié)節(jié)點。在另一實施例中,本發(fā)明涉及一種在基于SIP的呼叫會話服務(wù)器內(nèi)為SIP消息選擇路由的方法。方法包括以下步驟:在網(wǎng)絡(luò)和傳輸層中接收來自始發(fā)節(jié)點的入局SIP消息;以及由網(wǎng)絡(luò)和傳輸層將入局SIP消息轉(zhuǎn)發(fā)到無呼叫會話感知的算法SIP消息路由選擇框架中的多個SIP消息路由選擇過程實例之一,其中網(wǎng)絡(luò)和傳輸層在每消息的基礎(chǔ)上跨多個SIP消息路由選擇過程實例來對入局SIP消息進行負載平衡。接收SIP消息路由選擇過程實例基于入局SIP消息中的至少一個報頭字段確定路由選擇關(guān)鍵字。SIP消息路由選擇框架隨后基于路由選擇關(guān)鍵字將入局SIP消息轉(zhuǎn)發(fā)到呼叫會話控制框架中的多個B2BUA實例的選擇實例,其中SIP消息路由選擇框架在每呼叫會話的基礎(chǔ)上跨多個B2BUA實例來對入局SIP消息進行負載平衡。方法也包括:由所選擇的B2BUA實例創(chuàng)建出局SIP消息,其中B2BUA實例利用路由選擇關(guān)鍵字在入局SIP消息中生成取決于出局SIP消息的類型的報頭字段;將出局SIP消息經(jīng)SIP消息路由選擇框架轉(zhuǎn)發(fā)到網(wǎng)絡(luò)和傳輸層;以及將出局SIP消息從SIP服務(wù)器發(fā)送到終止節(jié)點。在另一實施例中,本發(fā)明涉及一種用于為SIP消息選擇路由的基于SIP的呼叫會話服務(wù)器。SEP服務(wù)器包括:用于接收來自始發(fā)節(jié)點的入局SIP消息和用于將出局SIP消息發(fā)送到終止節(jié)點的網(wǎng)絡(luò)和傳輸層;與網(wǎng)絡(luò)和傳輸層通信的算法SIP消息路由選擇框架,SIP消息路由選擇框架包括多個SIP消息路由選擇過程實例;以及與SIP消息路由選擇框架通信的呼叫會話控制框架,呼叫會話控制框架包括多個背靠背用戶代理(B2BUA)實例。網(wǎng)絡(luò)和傳輸層將入局SIP消息轉(zhuǎn)發(fā)到SIP消息路由選擇框架中的多個SIP消息路由選擇過程實例之一,其中網(wǎng)絡(luò)和傳輸層在每消息的基礎(chǔ)上跨多個SIP消息路由選擇過程實例來對入局SIP消息進行負載平衡。接收SIP消息路由選擇過程實例基于入局SIP消息中的至少一個報頭字段確定路由選擇關(guān)鍵字,以及基于路由選擇關(guān)鍵字將入局SIP消息轉(zhuǎn)發(fā)到呼叫會話控制框架中的多個B2BUA實例的選擇實例,其中SIP消息路由選擇框架在每呼叫會話的基礎(chǔ)上跨多個B2BUA實例來對入局SIP消息進行負載平衡。選擇的B2BUA實例利用路由選擇關(guān)鍵字創(chuàng)建出局SIP消息,以在出局SIP消息中生成取決于出局SIP消息的類型的報頭字段,以及將出局SIP消息經(jīng)SIP消息路由選擇框架轉(zhuǎn)發(fā)到網(wǎng)絡(luò)和傳輸層。網(wǎng)絡(luò)和傳輸層將出局SIP消息發(fā)送到終止節(jié)點。結(jié)合在一起,本發(fā)明的過程降低了呼叫處理等待時間,并且降低了 CPU開銷,由此改進了容量。路由選擇框架輕松地支持負載平衡、彈性和容錯。用于任何呼叫會話的任何消息能夠由任何路由選擇過程處理,但仍正確地路由選擇到正確的B2BUA實例。所有路由選擇過程按算法執(zhí)行相同邏輯而不緩存或存儲/取回任何信息,從而使路由選擇框架容錯。由于參數(shù)值是基于共同使用的呼叫ID、來源標記和目的地標記報頭,因此,本發(fā)明也輕松地處理SIP擴展和變型。
在以下部分中,將參照圖中所示示范實施例描述本發(fā)明,其中:
圖1是示出過程I的一示范實施例的步驟的流程 圖2是示出過程2的一示范實施例的步驟的流程 圖3是示出過程3的一示范實施例的步驟的流程圖;以及
圖4是示出在本發(fā)明的一實施例中用于兩個呼叫會話的示范消息路由選擇的SIP呼叫會話服務(wù)器/IMS-CSCF節(jié)點的簡化框圖。
具體實施例方式在一示范實施例中,本發(fā)明的消息路由選擇方法包括三個過程:
過程1:用于SIP服務(wù)器內(nèi)SIP消息的算法相關(guān)和無狀態(tài)路由選擇的總體過程。這涉及生成或從入局SIP消息取回稱為“路由選擇關(guān)鍵字”的會話標識符(根據(jù)過程2);識別負責(zé)SIP消息所屬的呼叫會話的正確B2BUA ;以及將入局SIP消息和路由選擇關(guān)鍵字之間一起發(fā)送到識別的B2BUA實例;以及基于路由選擇關(guān)鍵字生成出局SIP消息的適當(dāng)參數(shù)(根據(jù)過程3)。過程2:用于基于入局SIP消息的參數(shù)生成或取回路由選擇關(guān)鍵字的過程。過程3:用于使用路由選擇關(guān)鍵字生成某些特定SIP消息參數(shù)值的過程。圖1是示出總體過程I的一示范實施例的步驟的流程圖。消息在用戶代理客戶端(UAC) 11、SIP服務(wù)器12與用戶代理服務(wù)器(UAS) 13之間的SIP事務(wù)中示出。UAC創(chuàng)建SIP請求消息14,并且將它發(fā)送到SIP服務(wù)器。在步驟15,SIP服務(wù)器利用服務(wù)器駐留的節(jié)點提供的設(shè)施,接收入局消息。在步驟16,服務(wù)器利用過程2的過程,取回或生成路由選擇關(guān)鍵字。在步驟17,服務(wù)器利用路由選擇關(guān)鍵字,識別負責(zé)呼叫會話的B2BUA實例。在步驟18,服務(wù)器將入局消息和路由選擇關(guān)鍵字發(fā)送到識別的B2BUA實例19,其生成出局SIP消息。在步驟20,服務(wù)器利用過程3的過程,生成出局SIP消息報頭字段。在步驟21,服務(wù)器利用服務(wù)器駐留的節(jié)點提供的設(shè)施,將出局SIP消息發(fā)送到UAS 13。UAS 13生成通過服務(wù)器路由選擇到UAC 11的SIP響應(yīng)消息22時,進行相同的過程。UAS 13生成通過服務(wù)器路由選擇到UAC 11的SIP請求消息23時,以及UAC 11生成通過服務(wù)器路由選擇到UAS 13的SIP消息響應(yīng)24時,也進行相同的過程。圖2是示出過程2的一示范實施例的步驟的流程圖。在此過程中,SIP服務(wù)器12基于入局SIP消息的參數(shù),生成或取回路由選擇關(guān)鍵字。過程在步驟30開始,并且轉(zhuǎn)到步驟31,在該步驟中,SIP服務(wù)器利用服務(wù)器駐留的節(jié)點提供的設(shè)施,接收入局消息。在步驟32,確定入局消息是請求14 (或23)還是響應(yīng)22 (或24)。如果消息是請求,則過程轉(zhuǎn)到步驟33,在該步驟中,確定目的地標記(To-Tag)是否存在。如果目的地標記存在,則過程轉(zhuǎn)到步驟34,在該步驟中,如下所述,服務(wù)器利用取回算法以目的地標記作為輸入,取回路由選擇關(guān)鍵字。過程隨后在步驟37結(jié)束。然而,如果目的地標記不存在,則過程轉(zhuǎn)到步驟35,在該步驟中,服務(wù)器根據(jù)RFC3261的第19.3部分,以符合標記的隨機屬性的方式生成稱為路由選擇關(guān)鍵字的全局獨特字母數(shù)字字符串。在一個實施例中,如下所述,利用算法Fltoute,以呼叫ID或來源標記(From-Tag)或兩者作為輸入,生成路由選擇關(guān)鍵字。過程隨后在步驟37結(jié)束。然而,如果在步驟32確定入局消息是響應(yīng),則過程轉(zhuǎn)到步驟36,在該步驟中,如下所述,服務(wù)器利用取回算法Fltetaieve,以來源標記作為輸入,取回路由選擇關(guān)鍵字。過程隨后在步驟37結(jié)束。圖3是示出過程3的一示范實施例的步驟的流程圖。在此過程中,SIP服務(wù)器12使用路由選擇關(guān)鍵字,生成用于出局SIP消息的某些特定的SIP消息參數(shù)值。過程在步驟40開始,并且轉(zhuǎn)到步驟41,在該步驟中,服務(wù)器確定出局消息是請求還是響應(yīng)。如果消息是請求,則過程轉(zhuǎn)到步驟42,在該步驟中,如下所述,使用生成算法Fgm,基于路由選擇關(guān)鍵字生成來源標記。過程隨后在步驟44結(jié)束。然而,如果在步驟41確定出局消息是響應(yīng),則過程轉(zhuǎn)到步驟43,在該步驟中,如下所述,服務(wù)器使用生成算法Fgm,基于路由選擇關(guān)鍵字生成目的地標記。過程隨后在步驟44結(jié)束。在一個實施例中,F(xiàn)gm和方法是算法和/或數(shù)學(xué)上互逆的一對算法。在下
-Ι Fgen 矛口 pRetrieve
的示例中:
Fcen算法的輸出將是來源標記或目的地標記。FEetrieve算法的輸出將是取回的路由選擇關(guān)鍵字。過程2和3中使用的算法和Fem的示例:
示例1:
Ftol能夠是:AES加密(路由選擇關(guān)鍵字,P),其中,P是用于加密的密碼短語。
`
FEetrieve必須是:AES解密(T, P),其中,T是來源標記或目的地標記,并且P是用于解密的密碼短語。示例2:
Fcen能夠是:假定路由選擇關(guān)鍵字長度為N,則生成隨機字母數(shù)字字符字符串,并且將路由選擇關(guān)鍵字附加到該字符串,使得結(jié)果具有路由選擇關(guān)鍵字作為前N個字符。FEetrieve必須是:收集來源標記或目的地標記的前N個字符。示例 3:
Fcen能夠是:生成長度等于路由選擇關(guān)鍵字的任意字母數(shù)字字符字符串,并且隨后將路由選擇關(guān)鍵字交織到該字符串中,使得結(jié)果字符串的偶數(shù)編號位置字符是路由選擇關(guān)鍵字的那些字符。FEetrieve必須是:從來源標記或目的地標記收集所有偶數(shù)編號位置字符,并且將收集的字符級聯(lián)。
方法2中使用的算法Flteute的示例:
在下述示例中,采用入局SIP請求消息的呼叫ID和/或來源標記的Fltoute算法的輸出是生成的路由選擇關(guān)鍵字。示例:
FEoute能夠是:原樣使用呼叫ID或來源標記。Fltoute能夠是:級聯(lián)呼叫ID和來源標記。Fltoute 能夠是:MD5 (呼叫 ID)。Fltoute能夠是:SHA_1 (呼叫ID+目的地報頭),其中,“ + ”表示級聯(lián)。Fltoute能夠是:MD5 (·來源標記+ R-URI ),其中,“ + ”表示級聯(lián)。Fltoute能夠是:SHA_1 (來源標記+ R-URI+分支參數(shù)),其中,“ + ”表不級聯(lián)。Fltoute 能夠是:TwoFish (來源標記)。Fltoute能夠是:SHA-1 (整個SIP消息),這是因為SIP消息已經(jīng)包含呼叫ID和來源標記。Fltoute能夠是:AES (呼叫ID+隨機字符串+時戳),其中,“ + ”表示級聯(lián)。Fltoute能夠是=TripleDES (呼叫ID+隨機字符串+節(jié)點名稱),其中,“ + ”表示級聯(lián)。Fltoute能夠是:(呼叫ID+去除點的節(jié)點IP地址),其中,“ + ”表不級聯(lián)。Fltoute能夠是:(呼叫ID+時戳+收到SIP消息的板的硬件MAC地址),其中,“ + ”表示級聯(lián)。下面利用SIP呼叫會話服務(wù)器/MS CSCF節(jié)點實現(xiàn)的一般化體系結(jié)構(gòu),描述過程
1、2和3,該實現(xiàn)是基于本發(fā)明的SIP消息路由選擇方法。圖4是示出在本發(fā)明的一實施例中用于兩個呼叫會話的示范消息路由選擇的SIP呼叫會話服務(wù)器/IMS-CSCF節(jié)點50的簡化框圖。會話標為A和B。節(jié)點包括三個層:呼叫會話控制框架51、SIP消息路由選擇框架52及網(wǎng)絡(luò)和傳輸層53。呼叫會話控制框架51包括CSCF/B2BUA實例54a_54n池,每個呼叫會話專用一個實例。呼叫會話控制框架負責(zé)根據(jù)RFC 3261或其變型和擴展處理和生成SIP消息。呼叫會話控制框架也負責(zé)基于入局的初始呼叫設(shè)置消息生成用于出局消息的特定的獨特SIP消息報頭字段。用于出局消息的報頭字段以此類方式生成,使得在遠端點基于SIP的節(jié)點55或使用基于SIP的信令協(xié)議提供其服務(wù)的任何共同位置或遠端資源管理節(jié)點57(如媒體網(wǎng)關(guān)服務(wù)器)在入局SIP消息中回應(yīng)那些報頭字段時,SIP消息路由選擇框架52中的路由選擇過程實例56a-56n能夠按算法將入局消息路由選擇到正確的CSCF/B2BUA實例54。SIP消息路由選擇框架52包括彈性SIP消息路由選擇過程實例56a_56n池。每個路由選擇過程實例負責(zé)跨CSCF/B2BUA過程實例54a_54n池的入局SIP消息的每呼叫會話負載平衡。路由選擇過程實例不是每呼叫專用,而是基于消息的報頭字段內(nèi)容路由入局SIP消息。任何SIP消息能夠由任何路由選擇過程按算法進行路由選擇。SIP消息路由選擇框架也負責(zé)將出局消息轉(zhuǎn)發(fā)到網(wǎng)絡(luò)和傳輸層53。SIP消息路由選擇框架具有基于SIP的協(xié)議感知,但沒有呼叫會話感知。網(wǎng)絡(luò)和傳輸層53包括彈性IP/TCP/UDP/SCTP協(xié)議終止端點58。網(wǎng)絡(luò)和傳輸層負責(zé)跨SIP消息路由選擇框架52中SIP消息路由選擇過程實例56a-56n池的入局業(yè)務(wù)的每消息負載平衡。網(wǎng)絡(luò)和傳輸層也負責(zé)向正確的目的地節(jié)點55或57路由出局業(yè)務(wù)。
通過上述方式,本發(fā)明利用在路由選擇層的SIP消息的算法路由選擇,而算法路由選擇通過用于生成消息參數(shù)的過程而變得可行。這些過程在一起消除了:
在B2BUA層與路由選擇框架層之間明確共享任何呼叫會話信息的需要;
分布式數(shù)據(jù)庫登記任何呼叫會話記錄以便在路由選擇框架層實現(xiàn)彈性和容錯的需
要;
在管理資源(處理器、存儲器和/或數(shù)據(jù)庫)以便在B2BUA層和路由選擇框架實現(xiàn)信息共享中產(chǎn)生的開銷;以及
設(shè)計B2BUA和路由選擇框架以實現(xiàn)容錯的復(fù)雜性(重新關(guān)聯(lián)B2BUA實例和路由選擇過程;在出現(xiàn)故障的情況下將受影響的呼叫會話從一個路由選擇過程轉(zhuǎn)到另一路由選擇過程;使用數(shù)據(jù)庫保持呼叫會話記錄和跨節(jié)點中的各種處理器單元保持記錄的全局復(fù)制)。正如本領(lǐng)域的技術(shù)人員將認識到的一樣,本申請中描述的創(chuàng)新概念可在廣泛應(yīng)用內(nèi)修改和改變。因此, 專利主題的范圍將不限于上述任一特定示范教導(dǎo),而只由隨附權(quán)利要求定義。
權(quán)利要求
1.一種在基于會話啟動協(xié)議(SIP)的呼叫會話服務(wù)器內(nèi)為SIP消息選擇路由的方法,所述SIP消息與呼叫會話相關(guān)聯(lián),所述方法包括以下步驟: 由所述SIP服務(wù)器接收來自始發(fā)節(jié)點的入局SIP消息; 由所述SIP服務(wù)器基于在所述入局SIP消息中的至少一個報頭字段來確定稱為路由選擇關(guān)鍵字的會話標識符; 由所述SIP服務(wù)器利用所述路由選擇關(guān)鍵字識別負責(zé)所述呼叫會話的背靠背用戶代理(B2BUA)實例; 將所述入局SIP消息發(fā)送到所述識別的B2BUA實例; 由所述B2BUA實例創(chuàng)建出局SIP消息,其中所述B2BUA實例利用所述路由選擇關(guān)鍵字在所述出局SIP消息中生成報頭字段;以及 由所述SIP服務(wù)器將所述出局SIP消息發(fā)送到終止節(jié)點。
2.按權(quán)利要求1所述的方法,其中確定路由選擇關(guān)鍵字的所述步驟包括以下步驟: 確定所述入局SIP消息是請求消息還是響應(yīng)消息; 所述入局SIP消息是請求消息并且目的地標記存在時,利用所述入局SIP消息的目的地標記取回所述路由選擇關(guān)鍵字;所述入局SIP消息是請求消息,并且所述目的地標記不存在時,利用所述入局SIP請求消息的呼叫ID、所述入局SIP請求消息的來源標記或兩者,根據(jù)RFC3261的第19.3部分,以符合標記的隨機屬性的方式將所述路由選擇關(guān)鍵字生成為全局獨特字母數(shù)字字符串;以及所述入局SIP消息是響應(yīng)消息時,利用所述入局SIP消息的來源標記取回所述路由選擇關(guān)鍵字。
3.按權(quán)利要求2所述的方法,其中利用入局請求消息的目的地標記或入局響應(yīng)消息的來源標記取回所述路由選擇關(guān)鍵字的所述步驟包括利用取回算法取回所述路由選擇關(guān)鍵字,所述取回算法是由所述SIP服務(wù)器用于在出局SIP消息中生成所述來源標記或所述目的地標記的生成算法的算法和/或數(shù)學(xué)逆。
4.按權(quán)利要求1所述的方法,其中創(chuàng)建出局SIP消息的所述步驟包括以下步驟: 確定所述出局SIP消息是請求消息還是響應(yīng)消息; 所述出局消息是請求消息時,基于所述路由選擇關(guān)鍵字生成所述出局SIP消息中的來源標記;以及 所述出局消息是響應(yīng)消息時,基于所述路由選擇關(guān)鍵字在所述出局SIP消息中生成所述目的地標記。
5.按權(quán)利要求4所述的方法,其中生成請求消息的來源標記或響應(yīng)消息的目的地標記的所述步驟包括利用生成算法生成所述來源標記或所述目的地標記,所述生成算法是由所述SIP服務(wù)器用于從入局SIP消息中的來源標記或目的地標記取回所述路由選擇關(guān)鍵字的取回算法的算法和/或數(shù)學(xué)逆。
6.一種在基于會話啟動協(xié)議(SIP)的呼叫會話服務(wù)器內(nèi)為SIP消息選擇路由的方法,所述方法包括以下步驟: 在網(wǎng)絡(luò)和傳輸層中接收來自始發(fā)節(jié)點的入局SIP消息; 由所述網(wǎng)絡(luò)和傳輸層將所述入局SIP消息轉(zhuǎn)發(fā)到無呼叫會話感知的算法SIP消息路由選擇框架中的多個SIP消息路由選擇過程實例之一,其中所述網(wǎng)絡(luò)和傳輸層在每消息的基礎(chǔ)上跨所述多個SIP消息路由選擇過程實例來對入局SIP消息進行負載平衡; 由所述接收SIP消息路由選擇過程實例基于所述入局SIP消息中的至少一個報頭字段確定路由選擇關(guān)鍵字; 基于所述路由選擇關(guān)鍵字,由所述SIP消息路由選擇框架將所述入局SIP消息轉(zhuǎn)發(fā)到呼叫會話控制框架中的多個背靠背用戶代理(B2BUA)實例的選擇的B2BUA實例,其中所述SIP消息路由選擇框架在每呼叫會話的基礎(chǔ)上跨所述多個B2BUA實例來對入局SIP消息進行負載平衡; 由所選擇的B2BUA實例創(chuàng)建出局SIP消息,其中所述B2BUA實例利用所述路由選擇關(guān)鍵字在所述出局SIP消息中生成取決于所述出局SIP消息的類型的報頭字段; 將所述出局SIP消息經(jīng)所述SIP消息路由選擇框架轉(zhuǎn)發(fā)到所述網(wǎng)絡(luò)和傳輸層;以及 將所述出局SIP消息從所述SIP服務(wù)器發(fā)送到終止節(jié)點。
7.按權(quán)利要求6所述的方法,其中確定路由選擇關(guān)鍵字的所述步驟包括以下步驟: 所述入局SIP消息是請求消息時,以目的地標記作為輸入,利用取回算法取回所述路由選擇關(guān)鍵字;以及 所述入局SIP消息是響應(yīng)消息時,以來源標記作為輸入,利用取回算法取回所述路由選擇關(guān)鍵字。
8.按權(quán)利要求6所述的方法,其中創(chuàng)建出局SIP消息的所述步驟包括以下步驟: 所述出局SIP消息是請求消息時,基于所述路由選擇關(guān)鍵字在所述出局SIP消息中生成來源標記;以及 所述出局SIP消息是響應(yīng)消息時,基于所述路由選擇關(guān)鍵字在所述出局SIP消息中生成目的地標記。
9.一種用于為會話啟動協(xié)議(SIP)消息選擇路由的基于SIP的呼叫會話服務(wù)器,所述SIP服務(wù)器包括: 用于接收來自始發(fā)節(jié)點的入局SIP消息和用于將出局SIP消息發(fā)送到終止節(jié)點的網(wǎng)絡(luò)和傳輸層; 與所述網(wǎng)絡(luò)和傳輸層通信的算法SIP消息路由選擇框架,所述SIP消息路由選擇框架包括多個SIP消息路由選擇過程實例;以及 與所述SIP消息路由選擇框架通信的呼叫會話控制框架,所述呼叫會話控制框架包括多個背靠背用戶代理(B2BUA)實例; 其中所述網(wǎng)絡(luò)和傳輸層將所述入局SIP消息轉(zhuǎn)發(fā)到所述SIP消息路由選擇框架中的多個SIP消息路由選擇過程實例之一,其中所述網(wǎng)絡(luò)和傳輸層在每消息的基礎(chǔ)上跨所述多個SIP消息路由選擇過程實例來對入局SIP消息進行負載平衡; 其中所述接收SIP消息路由選擇過程實例基于所述入局SIP消息中的至少一個報頭字段確定路由選擇關(guān)鍵字,以及基于所述路由選擇關(guān)鍵字,將所述入局SIP消息轉(zhuǎn)發(fā)到所述呼叫會話控制框架中的所述多個B2BUA實例的選擇的B2BUA實例,其中所述SIP消息路由選擇框架在每呼叫會話的基礎(chǔ)上跨所述多個B2BUA實例來對入局SIP消息進行負載平衡;其中所選擇的B2BUA實例利用所述路由選擇關(guān)鍵字在出局SIP消息中生成取決于所述出局SIP消息的類型的報頭字段,來創(chuàng)建所述出局SIP消息; 其中所選擇的B2BUA實例將所述出局SIP消息經(jīng)所述SIP消息路由選擇框架轉(zhuǎn)發(fā)到所述網(wǎng)絡(luò)和傳輸層;以及 其中所述網(wǎng)絡(luò)和傳輸層將所述出局SIP消息發(fā)送到所述終止節(jié)點。
10.按權(quán)利要求9所述的SIP服務(wù)器,其中所述接收SIP消息路由選擇過程實例包括編程為執(zhí)行以下操作的處理器單元: 所述入局SIP消息是請求消息時,如果目的地標記存在,則以所述目的地標記作為輸入,利用取回算法取回所述路由選擇關(guān)鍵字,其中所述取回算法是由所述SIP服務(wù)器用于在出局SIP請求消息中生成來源標記或在出局SIP響應(yīng)消息中生成所述目的地標記的算法的算法和/或數(shù)學(xué)逆;以及 如果所述入局SIP請求消息中所述目的地標記不存在,則利用所述入局SIP請求消息的呼叫ID、所述入局S IP請求消息的來源標記或兩者,根據(jù)RFC3261的第19.3部分,以符合標記的隨機屬性的方式將所述路由選擇關(guān)鍵字生成為全局獨特字母數(shù)字字符串;以及所述入局SIP消息是響應(yīng)消息時,以所述來源標記作為輸入,利用取回算法取回所述路由選擇關(guān)鍵字,其中所述取回算法是由所述SIP服務(wù)器用于在出局SIP響應(yīng)消息中生成所述目的地標記或在出局SIP請求消息中生成所述來源標記的算法的算法和/或數(shù)學(xué)逆。
11.按權(quán)利要求9所述的SIP服務(wù)器,其中所選擇的B2BUA實例包括編程為執(zhí)行以下操作的處理器單元: 所述出局SIP消息是請求消息時,利用生成算法,基于所述路由選擇關(guān)鍵字在所述出局SIP消息中生成來源標記,其中所述生成算法是由所述SIP服務(wù)器用于在所述入局SIP請求消息中的目的地標記存在時從所述目的地標記取回所述路由選擇關(guān)鍵字的取回算法的算法和/或數(shù)學(xué)逆;以及 所述出局SIP消息是響應(yīng)消息時,利用生成算法,基于所述路由選擇關(guān)鍵字在所述出局SIP消息中生成目的地標記,其中所述生成算法是由所述SIP服務(wù)器用于從所述入局SIP響應(yīng)消息中的來源標記取回所述路由選擇關(guān)鍵字的取回算法的算法和/或數(shù)學(xué)逆。
全文摘要
本文公開了用于為SIP消息選擇路由的方法和基于SIP的呼叫會話服務(wù)器(50)。網(wǎng)絡(luò)和傳輸層(53)接收入局SIP消息,并將它轉(zhuǎn)發(fā)到SIP消息路由選擇框架(52)中多個SIP消息路由選擇過程實例(56a-56n)之一。接收SIP消息路由選擇過程實例基于入局消息中的至少一個報頭字段確定路由選擇關(guān)鍵字,并且基于路由選擇關(guān)鍵字將入局消息轉(zhuǎn)發(fā)到呼叫會話控制框架(51)中多個背靠背用戶代理(B2BUA)實例(54a-54n)中被選擇的一個。選擇的B2BUA實例利用路由選擇關(guān)鍵字創(chuàng)建出局SIP消息,以在出局請求消息中生成來源標記(From-Tag),或者在出局響應(yīng)消息中生成目的地標記(To-Tag),并且隨后將出局消息轉(zhuǎn)發(fā)到傳送出局消息的網(wǎng)絡(luò)和傳輸層(53)。
文檔編號H04L29/08GK103098437SQ201180044663
公開日2013年5月8日 申請日期2011年7月14日 優(yōu)先權(quán)日2010年7月16日
發(fā)明者S.薩馬維達姆, K.坎寧安 申請人:瑞典愛立信有限公司