會話管理器抗循環(huán)的制作方法
【專利摘要】本發(fā)明涉及一種會話管理器抗循環(huán),該會話管理器抗循環(huán)創(chuàng)建了作為針對循環(huán)的有效屏障的一個模型,其通過對于時間參數(shù)內(nèi)的各個報頭集合保持臨時的各個單獨的呼叫計數(shù)器而高效地識別出循環(huán)狀況,并且在檢測到循環(huán)狀況時將其終止。所述系統(tǒng)為管理員提供了對應于循環(huán)檢測計數(shù)和循環(huán)檢測間隔的可調(diào)節(jié)參數(shù),從而允許針對非刻意的和刻意的循環(huán)狀況進行保護。
【專利說明】會話管理器抗循環(huán)
[0001]相關申請的交叉引用
[0002]本申請要求Mendiratta等人2013年4月19日提交的序列號為61/813,990的美國臨時申請的權(quán)益,通過該引用將其內(nèi)容合并在此。
【技術(shù)領域】
[0003]本公開內(nèi)容總體上涉及企業(yè)通信,并且特別涉及用于識別及打斷混合網(wǎng)絡中的循環(huán)的方法。
【背景技術(shù)】
[0004]在網(wǎng)絡配置中,錯誤狀況可能會導致嚴重問題。一種特別麻煩的錯誤狀況被稱作呼叫循環(huán)。呼叫循環(huán)的特征在于呼叫從未被連接也未被釋放,從而會無限期地使用資源。呼叫循環(huán)可能由非刻意的配置問題導致,或者由旨在搗亂或者嘗試損害網(wǎng)絡的惡意人員刻意導致。經(jīng)歷一個或多個呼叫循環(huán)的網(wǎng)絡可能產(chǎn)生性能問題,這是因為所述循環(huán)可能會一直占用資源。在沒有足夠資源可用的情況下,網(wǎng)絡可能會變慢或者變得不可用。
[0005]會話發(fā)起協(xié)議(SIP)是用在某些網(wǎng)絡中的信令通信協(xié)議,其具有少數(shù)幾項內(nèi)建機制來打斷所發(fā)生的呼叫循環(huán)。在包含全部具有SIP能力的元件的網(wǎng)絡中,SIP可以在正創(chuàng)建請求的呼叫對話困在循環(huán)中時檢測到并且打斷循環(huán)。所述機制由用戶代理(agent)客戶端(UAC)把一個最大轉(zhuǎn)發(fā)(Max-Forwards)報頭(默認數(shù)值為70)插入在初始呼叫請求中。請求路徑中的每一個SIP代理服務器(proxy)通常把Max-Forwards報頭數(shù)值遞減I。當Max-Forwards數(shù)值達到零時,所述請求被拒絕,并且呼叫循環(huán)被打斷。作為一項可選的抗循環(huán)措施,SIP代理服務器還可以通過檢察Via(經(jīng)由)報頭的內(nèi)容來檢查同一條請求是否重復。但是當在循環(huán)路徑中存在背靠背用戶代理(B2BUA)、協(xié)議互工作網(wǎng)關(IWG)和/或其他非SIP元件時,無法依賴于Max-Forwards和Via報頭來檢測循環(huán),這是因為并非網(wǎng)絡中的所有元件都是純粹的SIP代理服務器。非SIP元件可能無法遞減報頭和/或檢察報頭的內(nèi)容是否重復。當存在非SIP元件時,可能無法發(fā)現(xiàn)并打斷呼叫循環(huán),或者可能完全無法檢測到呼叫循環(huán)。
【發(fā)明內(nèi)容】
[0006]通過本公開內(nèi)容的各個方面、實施例和/或配置解決了前述和其他需求。本公開內(nèi)容的實施例是針對一種識別及打斷包括SIP和非SIP元件的混合網(wǎng)絡中的呼叫循環(huán)的系統(tǒng)和方法。所述方法允許顧客調(diào)節(jié)包括定時器和計數(shù)器之類的參數(shù)以便精確地檢測循環(huán),從而在路由問題或攻擊威脅到網(wǎng)絡時保護網(wǎng)絡資源。
[0007]這里所使用的“呼叫循環(huán)”是來到代理服務器、被轉(zhuǎn)發(fā)并且隨后被遞送回到相同的代理服務器的呼叫請求。當所述請求第二次到達時,被稱作請求URI的SIP消息部分與該請求第一次被遞送到該代理服務器時完全相同。所述代理服務器基于未發(fā)生改變的報頭字段做出完全相同的處理決定。由于所述請求不斷回到所述代理服務器并且呼叫從未被完整地處理、完成和/或終止,因此其變?yōu)楹艚醒h(huán)。
[0008]已循環(huán)或正在循環(huán)的呼叫請求被視為錯誤。在SIP網(wǎng)絡中,通過以下情況辨識出呼叫循環(huán)=Max-Forwards計數(shù)遞減到零,已經(jīng)過去了到期時間,以及當服務器發(fā)現(xiàn)其自身處于所述請求的Via列表中時,其中包括分支參數(shù)。SIP呼叫循環(huán)可能對網(wǎng)絡性能造成的負面影響包括代理服務器重啟、呼叫失敗、網(wǎng)絡效率損失以及資源可用性降低,這是因為隨著所述呼叫(或多個呼叫)被無限期地處理會消耗資源。SIP代理服務器的一個非限制性實例是Avaya Aur a?<會話管理器(SM) SIP防火墻(ASSET代理服務器特征),其中通過兩個新的字段而得到增強以便基于針對被稱作INVITE (邀請)的SIP消息的管理來檢測及打斷呼叫循環(huán)的代理服務器。
[0009]為管理員提供循環(huán)檢測計數(shù)和循環(huán)檢測間隔字段,從而提供針對呼叫循環(huán)的保護。在一個較短間隔內(nèi)接收到的具有包括請求統(tǒng)一資源定位符(R-URI)、To (去往)、From(來自)和P-Asserted-1dentiry(代理服務器聲明身份)(PAI)報頭字段的完全相同的報頭集合的SIP INVITE請求被SIP防火墻檢測到,并且被歸類為已循環(huán)呼叫(PAI報頭字段是可選的)。如果具有R-UR1、T0、Fr0m和PAI報頭數(shù)值的相同組合的傳入請求的數(shù)目在循環(huán)檢測閾值間隔內(nèi)達到循環(huán)檢測閾值,則Avaya Aura?<會話管理器(SM)可以拒絕所述INVITE請求。
[0010]利用可調(diào)節(jié)的循環(huán)檢測計數(shù)和循環(huán)檢測間隔字段,可以針對非刻意和刻意的呼叫循環(huán)狀況顯著更好地保護包含SIP和非SIP元件的混合網(wǎng)絡。
[0011]通過本公開內(nèi)容,前述和其他優(yōu)點將會顯而易見。
[0012]在一些實施例中,提供一種方法,其總體上包括:
[0013]保持對于通信服務器的循環(huán)計數(shù)閾值;
[0014]在通信服務器處接收第一消息;
[0015]確定包含在第一消息中的一個或多個元素數(shù)值;
[0016]把包含在第一消息中的一個或多個元素數(shù)值與包括在先前在通信服務器處接收到的各條消息中的歷史元素數(shù)值進行比較;
[0017]基于所述比較步驟,確定包含在第一消息中的一個或多個元素數(shù)值與來自先前在通信服務器處接收到的一條消息的一個或多個元素數(shù)值相匹配,并且作為響應遞增同樣對于所述通信服務器所保持的循環(huán)計數(shù)數(shù)值;
[0018]確定循環(huán)計數(shù)數(shù)值已達到和超出循環(huán)計數(shù)閾值的至少其中一種情況;
[0019]響應于確定循環(huán)計數(shù)數(shù)值已達到和超出循環(huán)計數(shù)閾值的至少其中一種情況,確定已發(fā)生呼叫循環(huán);以及
[0020]在通信服務器處執(zhí)行一項或多項功能以打斷呼叫循環(huán)。
[0021]這里使用的術(shù)語“自動”及其變型指的是任何處理或操作在其施行時是在沒有任何實質(zhì)性的人類輸入的情況下而實現(xiàn)的。但是盡管某項處理或操作的施行使用了實質(zhì)性或非實質(zhì)性的人類輸入,但是如果所述輸入是在所述處理或操作的施行之前被接收的,則所述處理或操作仍可以是自動的。如果人類輸入影響到所述處理或操作將被如何施行,則這樣的輸入被認為是實質(zhì)性的。順應所述處理或操作的施行的人類輸入不被認為是“實質(zhì)性的”。
[0022]這里所使用的術(shù)語“計算機可讀介質(zhì)”指的是參與向處理器提供指令以供執(zhí)行的任何存儲和/或傳輸介質(zhì)。這樣的介質(zhì)通常是有形且非瞬時性的,并且可以采取許多形式,其中包括而不限于非易失性介質(zhì)、易失性介質(zhì)和傳輸介質(zhì),并且包括而不限于隨機存取存儲器(“RAM”)、只讀存儲器(“ROM”)等等。非易失性介質(zhì)例如包括NVRAM或者磁盤或光盤。易失性介質(zhì)包括例如主存儲器之類的動態(tài)存儲器。計算機可讀介質(zhì)的常見形式例如包括:軟盤(其中包括而不限于Bernoulli卡盒、ZIP驅(qū)動器和JAZ驅(qū)動器),柔性盤,硬盤,磁帶或卡帶,或者任何其他磁介質(zhì),磁光介質(zhì),數(shù)字視頻盤(例如CD-ROM),任何其他光學介質(zhì),打孔卡,紙帶,任何其他具有孔洞模式的物理介質(zhì),RAM,PROM,以及EPROM,F(xiàn)LASH-EPROM,例如存儲器卡之類的固態(tài)介質(zhì),任何其他存儲器芯片或卡盒,后文中所描述的載波,或者可以由計算機從中進行讀取的任何其他介質(zhì)。電子郵件的數(shù)字文件附件或者其他整裝式信息檔案或檔案集合被視為等效于有形存儲介質(zhì)的分發(fā)介質(zhì)。當計算機可讀介質(zhì)被配置成數(shù)據(jù)庫時,應當理解的是,所述數(shù)據(jù)庫可以是任何類型的數(shù)據(jù)庫,比如關系、分級、面向?qū)ο髷?shù)據(jù)庫等等。相應地,本公開內(nèi)容被視為包括在其中存儲本公開內(nèi)容的軟件實現(xiàn)方式的有形存儲介質(zhì)或分發(fā)介質(zhì)以及現(xiàn)有技術(shù)認可的等效方案和后繼介質(zhì)。計算機可讀存儲介質(zhì)通常排除瞬時性存儲介質(zhì),特別是電、磁、電磁、光學、磁光信號。
[0023]術(shù)語“用戶”、“顧客”或“客戶端”指代光顧聯(lián)絡中心和/或企業(yè)機構(gòu)、由其服務或者以其他方式與之有業(yè)務往來的一方。
[0024]短語“SIP用戶代理(UA) ”是被用來創(chuàng)建或接收SIP消息和管理SIP會話的邏輯網(wǎng)絡端點。SIP UA可以施行發(fā)送SIP請求的用戶代理客戶端(UAC)以及接收請求并且返回SIP響應的用戶代理服務器(UAS)的角色。
[0025]這里所使用的“數(shù)據(jù)庫”指的是保存在計算機中的有組織數(shù)據(jù)集合。對應于數(shù)據(jù)的組織架構(gòu)或模型例如可以是分級、網(wǎng)絡、關系、實體-關系、對象、文檔、XML、實體-屬性-數(shù)值模型、星型架構(gòu)、對象-關系、關聯(lián)、多維、多數(shù)值、語義和其他數(shù)據(jù)庫設計。
[0026]這里所使用的“確定”、“計算”等術(shù)語可互換使用,并且包括任何類型的方法、處理、數(shù)學運算或技術(shù)。
[0027]這里所使用的術(shù)語“裝置”應當根據(jù)35U.S.C.第112節(jié)第6段給出其可能的最寬泛解釋。相應地,合并有術(shù)語“裝置”的權(quán)利要求應當涵蓋這里所闡述的所有結(jié)構(gòu)、材料或動作及其所有等效表述。此外,所述結(jié)構(gòu)、材料或動作及其等效表述應當包括在
【發(fā)明內(nèi)容】
部分、【專利附圖】
【附圖說明】部分、【具體實施方式】部分、摘要和權(quán)利要求書本身當中所描述的全部所述結(jié)構(gòu)、材料或動作及其等效表述。
[0028]這里所使用的術(shù)語“模塊”指代能夠施行與該元件相關聯(lián)的功能的任何已知的或后來開發(fā)的硬件、軟件、固件、人工智能、模糊邏輯或者硬件與軟件的組合。此外,雖然本公開內(nèi)容是在示例性實施例方面給出的,但是應當認識到,本公開內(nèi)容的各個單獨方面可以被分別要求保護。
[0029]前面給出了本公開內(nèi)容的簡化概要以便提供對于本公開內(nèi)容的一些方面的理解。本概要不是關于本公開內(nèi)容及其各個方面、實施例和/或配置的詳盡或窮舉性總覽。本概要既不意圖標識出本公開內(nèi)容的關鍵性或決定性元素,也不意圖界定本公開內(nèi)容的范圍,而是意圖以簡化形式給出本公開內(nèi)容的一部分挑選出來的概念以作為針對后面給出的更加詳細的描述的介紹。應當認識到,單獨地或者組合地利用前面所闡述或者在后面詳細描述的其中一項或多項特征,本公開內(nèi)容的其他方面、實施例和/或配置也是可能的。
【專利附圖】
【附圖說明】
[0030]圖1是根據(jù)本公開內(nèi)容的實施例的通信系統(tǒng)的方塊圖;
[0031]圖2是根據(jù)本公開內(nèi)容的實施例的SIP消息的一個實例;
[0032]圖3是根據(jù)本公開內(nèi)容的實施例的呼叫循環(huán)的一個實例;
[0033]圖4是根據(jù)本公開內(nèi)容的實施例的滑動窗口的一個實例;以及
[0034]圖5是根據(jù)本公開內(nèi)容的實施例的對應于呼叫循環(huán)分析和終止的流程圖。
【具體實施方式】
[0035]圖1是根據(jù)本公開內(nèi)容的至少一些實施例的通信系統(tǒng)100的方塊圖。通信系統(tǒng)100被描繪成包括企業(yè)網(wǎng)絡120,其經(jīng)由通信網(wǎng)絡104連接到一個或多個外部通信設備108。企業(yè)網(wǎng)絡120的組件被描繪成包括:包含SIP防火墻128的通信服務器124,一個或多個通信設備108,企業(yè)網(wǎng)關112,以及企業(yè)數(shù)據(jù)庫116。應當認識到,被描繪成處于企業(yè)網(wǎng)絡120內(nèi)部的其中一個或多個組件可以替換地或附加地被提供在企業(yè)網(wǎng)絡120外部。
[0036]根據(jù)本公開內(nèi)容的至少一些實施例,通信網(wǎng)絡104可以包括任何類型的已知通信介質(zhì)或者通信介質(zhì)的總集,并且可以使用任何類型的協(xié)議在端點之間傳送消息。通信網(wǎng)絡104可以包括有線和/或無線通信技術(shù)。因特網(wǎng)是構(gòu)成互聯(lián)網(wǎng)協(xié)議(IP)網(wǎng)絡的通信網(wǎng)絡104的一個實例,其由遍布全世界的許多計算機、計算網(wǎng)絡和其他通信設備構(gòu)成,并且通過許多電話系統(tǒng)和其他措施連接。通信網(wǎng)絡104的其他實例包括而不限于:標準普通舊式電話系統(tǒng)(POTS),綜合服務數(shù)字網(wǎng)絡(ISDN),公共交換電話網(wǎng)(PSTN),局域網(wǎng)(LAN),廣域網(wǎng)(WAN),互聯(lián)網(wǎng)協(xié)議語音(VoIP)網(wǎng)絡,會話發(fā)起協(xié)議(SIP)網(wǎng)絡,蜂窩網(wǎng)絡,以及本領域內(nèi)已知的任何其他類型的分組交換或電路交換網(wǎng)絡。此外還可以認識到,通信網(wǎng)絡104不需要被限制到任何一種網(wǎng)絡類型,而是可以由若干不同的網(wǎng)絡和/或網(wǎng)絡類型構(gòu)成。此外,通信網(wǎng)絡104可以包括若干不同的通信介質(zhì),比如同軸電纜、銅電纜/電線、光纖線纜、用于發(fā)送/接收無線消息的天線及其組合。
[0037]外部通信設備108通常被稱為外部是因為其或者不處在管理企業(yè)網(wǎng)絡120的企業(yè)的直接控制之下,或者與處在企業(yè)網(wǎng)絡120內(nèi)部的通信設備108相比對于企業(yè)網(wǎng)絡120具有更低的信任水平。示例性的外部通信設備108類型包括而不限于蜂窩電話、膝上型計算機、平板電腦、個人計算機(PC)、數(shù)字電話、模擬電話、無線和Bluetooth設備等等。
[0038]與外部通信設備108類似,企業(yè)網(wǎng)絡120內(nèi)部的通信設備108可以對應于用戶通信設備,并且在一些實施例中可以包括而不限于電話、軟件電話、蜂窩電話、多揚聲器通信設備(例如會議電話)、視頻電話、PC、膝上型計算機、平板電腦、智能電話、瘦客戶端等等。應當認識到,通信設備108可以被配置成支持與企業(yè)網(wǎng)絡120內(nèi)部和外部的其他通信設備108的單用戶或多用戶交互,其對應于企業(yè)用戶的單一用戶代理(UA)和/或多個UA。
[0039]通信設備108可以包括使得用戶能夠通過通信網(wǎng)絡104和/或在企業(yè)網(wǎng)絡120內(nèi)部與彼此的通信設備交換媒體(例如語音、視頻等等)、數(shù)據(jù)(例如電子郵件、短消息服務(SMS)消息、多媒體消息服務(MMS)消息、文件、演示、文檔等等)的組件(硬件和軟件)的任何總集。
[0040]企業(yè)網(wǎng)絡120可以對應于單一位置企業(yè)網(wǎng)絡或多位置企業(yè)網(wǎng)絡。單一位置企業(yè)網(wǎng)絡可以包括局域網(wǎng)(LAN),其包括有線(例如以太網(wǎng))和/或無線(例如W1-Fi)技術(shù)。多位置企業(yè)網(wǎng)絡可以包括廣域網(wǎng)(WAN),其通過一個或多個不受信任的網(wǎng)絡(例如通信網(wǎng)絡104)連接多個LAN或類似網(wǎng)絡位置。
[0041]具體來說,雖然企業(yè)網(wǎng)絡120被描繪成具有單一通信服務器124,但是應當認識至|J,一些企業(yè)網(wǎng)絡120可以包括多臺通信服務器124,并且這些服務器當中的每一臺可以對于企業(yè)用戶的一個子集具有權(quán)威(例如為之提供服務)。在這樣的情形中,所接收到的消息將被路由到適當?shù)耐ㄐ欧掌?24。
[0042]在一些實施例中,通信服務器124可以被用來幫助在企業(yè)網(wǎng)絡120內(nèi)部建立通信會話和/或移動信令路徑、改變呼叫拓撲等等。具體來說,通信服務器124可以包括私有分支交換機(PBX)、企業(yè)交換機、企業(yè)服務器、前述各項的組合或者任何其他類型電信系統(tǒng)交換機或服務器。在一些實施例中,通信服務器124被配置成執(zhí)行例如Avaya公司的Avaya Α?ΙΓΕ?應用套裝之類的電信功能,其中包括而不限于Communicat1nManager?(通信管理器)、Communicat1n Manager Branch Edit1n?(通信管理器分支版本)、Avaya IP Offic?、Sess1n Manager?(會話管理器)、System Manager?(系統(tǒng)管理器)、
Multi Vantage? Express? 及其組合。
[0043]根據(jù)至少一些實施例,通信服務器124可以接收呼叫請求。一旦通信服務器124接收到針對用戶的呼叫請求,通信服務器124就向應用序列中的第一應用傳遞通信建立消息(例如INVITE消息),從而允許第一應用確定通信會話的參數(shù),將其自身插入到通信會話的控制和/或媒體流中,并且從而將其自身綁定到通信會話。通信服務器124可以包含或者連接到SIP防火墻128。SIP防火墻128可以是企業(yè)的應用層安全性的一個元件。SIP防火墻128可以允許或拒絕對于進入企業(yè)網(wǎng)絡120的SIP消息的訪問,并且可以跟蹤報頭和其他消息信息。
[0044]附加的服務器124可以包括對于操作企業(yè)網(wǎng)絡120所需要的任何其他類型的服務器或交換機。適當?shù)钠渌掌鞯膶嵗ǘ幌抻诖嬖诜掌?、即時消息傳送(頂)服務器、電子郵件服務器、語音郵件服務器、虛擬機、web服務器、呼叫中心服務器、交互式語音響應(IVR)單元等等。
[0045]企業(yè)數(shù)據(jù)庫116可以是任何類型的數(shù)據(jù)庫,比如關系、分級、面向?qū)ο蟮鹊取?shù)據(jù)庫116可以像所描繪的那樣處在外部或者處在通信服務器124的內(nèi)部。通信服務器124可以與數(shù)據(jù)庫116通信。通信服務器124適于從通信設備108、網(wǎng)關112和其他服務器124獲得請求??梢詮耐ㄐ欧掌?24向數(shù)據(jù)庫116發(fā)送采取查詢或訂閱形式的請求。訂閱和查詢可以從數(shù)據(jù)庫116取回數(shù)據(jù),并且可以將結(jié)果返回到通信服務器124或其他服務器124。
[0046]企業(yè)可能需要網(wǎng)關112來提供現(xiàn)場(on-premise)透明網(wǎng)絡地址轉(zhuǎn)換(NAT)控制。NAT轉(zhuǎn)換是被用來允許多個企業(yè)設備連接到公共網(wǎng)絡的一種網(wǎng)絡協(xié)議。網(wǎng)關112可以把嵌入式私有地址轉(zhuǎn)換成適當?shù)墓驳刂?對于傳入分組反之亦然)。網(wǎng)關112可以適于與企業(yè)網(wǎng)絡120內(nèi)部的任何元件通信,其中包括而不限于通信設備108、通信服務器124、企業(yè)數(shù)據(jù)庫116等等。網(wǎng)關112可以把所有內(nèi)部企業(yè)IP地址轉(zhuǎn)換成公共地址,以便在與通信網(wǎng)絡104或者任何其他公共或私有網(wǎng)絡通信時使用。
[0047]參照圖2,其中根據(jù)本公開內(nèi)容的實施例詳細描述了說明性SIP消息200^ΙΡ是具有兩種類型的SIP消息(請求和響應)的基于文本的協(xié)議。請求204的起始或第一行可以包括方法、請求統(tǒng)一資源定位符(URI)以及協(xié)議版本標示(例如SIP/2.0)。方法可以定義請求的性質(zhì),其中可以包括例如REGISTER(登記)、INVITE (邀請)、ACK (確認)、CANCEL (取消)、BYE (再見)、OPT1NS (選項)、PRACK(臨時確認)和INFO(信息)之類的方法。請求URI可以表明該請求應當被發(fā)送到何處,其通常被用來標識出web資源(例如kat345@lake, com)。響應的起始或第一行可以包括相應代碼(例如臨時的Ixx給出進展;最后的2xx、3xx、4xx、5xx、6xx 終止事務)。
[0048]SIP消息的第二部分可以包含報頭字段208。報頭字段208可以通過〈名稱>:〈數(shù)值 > 的形式傳達屬性以及修改消息含義(例如Via(經(jīng)由)、Max-Forwards (最大轉(zhuǎn)發(fā))、To (去往)、From (來自)、Cal 1-1D (呼叫 ID)、CSeq (命令序列)、Contact (聯(lián)系人)、Content-Type (內(nèi)容類型)、Content Length (內(nèi)容長度)等等)。各個報頭字段可以在一則消息中出現(xiàn)一次或更多次。Via報頭字段可以包含該消息已經(jīng)過的先前元件的一個或多個地址。To報頭字段可以表明或規(guī)定正被要求到會話的用戶。From報頭字段可以表明始發(fā)會話請求的用戶。Call-1D報頭字段可以包含對應于呼叫的全局唯一標識符。CSeq報頭字段可以是標識出事務的命令序列。Contact報頭字段可以表明對應于始發(fā)用戶的位置。Content-Type和Content-Length報頭字段可以分別規(guī)定主體的類型(例如會話描述協(xié)議-SDP)以及主體中的字節(jié)數(shù)目。
[0049]一個空白行是可以表明SIP報頭字段的結(jié)束和消息主體216的起始的分隔符212。在消息主體216內(nèi)可以有消息內(nèi)的一個或多個請求行,其中V可以表明SDP的版本(例如V = 0),ο可以表明所有者信息、會話ID、會話版本地址類型和地址(例如ο=-58940325894032IN IP410.2.0.100),并且媒體描述可以提供呼叫者可以發(fā)送和接收的類型、端口或可能格式(例如S = SDp媒體會話)。關于SIP報頭字段和字段數(shù)值的附加信息可以在RFC3261中找到,其全部內(nèi)容被合并在此以作參考。
[0050]圖3是呼叫循環(huán)300的一個實例,其中將根據(jù)本公開內(nèi)容的至少一些實施例來描述呼叫循環(huán)檢測和終止的特征。具體來說,圖3描繪出第一呼叫拓撲,其中第一用戶(例如用戶A304)涉及在與第二用戶(用戶B308)的第一通信會話314中??梢越⒌诙ㄐ艜?24,并且可以嘗試與用戶C312發(fā)起第三通信會話320。雖然沒有描繪出,但是其他用戶也可以涉及在第一通信會話316中,并且可以在用戶A304處、在用戶B308處或者通過集中式會議橋被轉(zhuǎn)移到第一通信會話316中。
[0051]在呼叫循環(huán)的一個非限制性實例中,用戶A304可以處在分機號1000處。用戶A304可以呼叫用戶B308,其中用戶B308可以處在分機號1002處。這可以是相同的通信服務器124上的內(nèi)部呼叫,并且所述呼叫可以在沒有問題的情況下被路由和連接。用戶A304可以決定向用戶C312詢問一個問題,其中用戶A304無法為用戶B308回答該問題。用戶C312可以作為分機號1001在第二通信服務器124上被管理。當用戶A304呼叫用戶C312時,在1001上沒有本地匹配,相反所述請求可以被匹配到第二通信管理器124上的lxxx。分機號1001可以在第二通信管理器124上找到,并且通信會話324可以在沒有問題的情況下被正確地路由和連接。用戶A304向用戶B308告知他應當與用戶C312直接通話,并且提供對應于用戶C312的分機號而不是發(fā)起轉(zhuǎn)移。然而不幸的是,用戶B308無意地把對應于用戶C312的分機號記為1003(而不是1001)。用戶B308可以向他所認為的對應于用戶C312的分機號發(fā)起呼叫,但是實際上該分機號并不存在。分機號1002(用戶B)呼叫分機1003,并且沒有本地匹配。所述請求可以被發(fā)送到下一臺通信服務器124,并且可能沒有匹配。第二通信服務器124可以把所述請求發(fā)送回到第一通信服務器124,從而產(chǎn)生循環(huán)。各臺通信服務器124可能會來回發(fā)送所述請求,直到用戶B308終止呼叫。如果路徑中的任何元件是非SIP元件,則傳統(tǒng)的方法可能無法終止循環(huán)。當用戶A304、用戶B308和/或用戶C312處于企業(yè)網(wǎng)絡120外部時,相同的概念仍然適用。
[0052]為了避免呼叫循環(huán),管理員可以利用兩個新參數(shù)來管理本公開內(nèi)容的會話管理器抗循環(huán)檢測,所述兩個新參數(shù)即循環(huán)計數(shù)閾值和循環(huán)檢測間隔。在通信系統(tǒng)100中,可以對于呼叫循環(huán)檢測啟用所述兩個新字段,并且可以在通信服務器124上的管理用戶接口上顯示所述兩個新字段以供管理員使用。如果循環(huán)計數(shù)閾值參數(shù)的默認數(shù)值是0,則表明循環(huán)檢測被關閉。所允許的范圍可以是0-10000。循環(huán)檢測間隔參數(shù)的默認數(shù)值可以被設定到100msec。所允許的范圍可以是lOmsec-lOOOOmsec。由于呼叫循環(huán)的頻率是等待時間的函數(shù)并且取決于循環(huán)路徑中的網(wǎng)絡元件的數(shù)目,因此管理員可以對循環(huán)檢測參數(shù)進行微調(diào),以便滿足特定于網(wǎng)絡配置的企業(yè)的具體需求。
[0053]管理員可以在每一臺通信服務器124上修改這些參數(shù),并且可以具有調(diào)節(jié)及測試循環(huán)計數(shù)閾值和循環(huán)檢測間隔參數(shù)的選項以便適應網(wǎng)絡120的具體需求。雖然管理員可以把循環(huán)檢測間隔設定到低至10msec,但是可以預期管理員可以選擇把所述間隔設定為100msec的倍數(shù)。如果設定了極小的循環(huán)檢測,則可能會產(chǎn)生不必要的性能開銷并且不會檢測到循環(huán)。
[0054]在管理循環(huán)檢測間隔時的一項考慮可以是呼叫循環(huán)經(jīng)過了多少元件,以及由每一個元件引入的傳播延遲的總和。在一個非限制性實例中,呼叫循環(huán)以假設的25msec的積極(aggressive)間隔到達通信服務器124,其中中間跳躍的累積傳播延遲是25msec或更少,并且管理員希望在相同呼叫的第五實例之后打斷循環(huán)。管理員可以把配置設定到循環(huán)計數(shù)閾值=5以及循環(huán)檢測間隔=200msec0如果管理員設定循環(huán)計數(shù)閾值=2以及循環(huán)檢測間隔< 50msec,則呼叫循環(huán)將不會被檢測到。通常來說,最積極的呼叫循環(huán)速率是每秒12次循環(huán)嘗試(?84msec),管理員可以針對風險以及針對網(wǎng)絡適當?shù)卦O定所述參數(shù)。一旦設定了新的參數(shù)之后,可能有必要進行一些試錯以便優(yōu)化循環(huán)檢測。
[0055]為了識別出呼叫循環(huán),SIP防火墻128可以對于傳入請求的R-UR1、To、From和PAI報頭數(shù)值的每一種獨特組合保持臨時的各個單獨的呼叫計數(shù)器。在接收到對話外(00D)INVITE請求時,SIP防火墻128可以檢查是否已經(jīng)存在對應于所述報頭數(shù)值組合的計數(shù)器。如果不是的話,則可以實例化新的計數(shù)器??梢詫τ诿恳粭l00D INVITE請求遞增循環(huán)計數(shù)器。如果循環(huán)計數(shù)器等于所管理的INVITE循環(huán)閾值,則可以拒絕00D INVITE請求。
[0056]為了使得兩個URI相等,包括用戶(user)、口令(password)、主機(host)和端口(port)在內(nèi)的組成部分必須匹配。具體來說,SIP URI被定義為一個字符串,其中括號表明可選的組成部分:
[0057]sip: user[: password]Ohost[: port]
[0058]用戶組成部分是所述字符串的處在“sip”之后的第一個“:”與第二個“:”或者字符之間的部分。出于比較目的可以不考慮包括檢測參數(shù)在內(nèi)的其他組成部分。當循環(huán)計數(shù)等于所管理的循環(huán)閾值計數(shù)并且/或者循環(huán)閾值間隔定時器到期時,應當去除循環(huán)呼叫計數(shù)器。
[0059]利用所述新的參數(shù),一旦達到循環(huán)計數(shù)閾值和循環(huán)檢測間隔,就可以向用戶B308發(fā)送603拒絕(Decline)(目的地不希望參與呼叫或者無法參與呼叫,并且客戶端知道沒有替換的目的地(比如語音郵件服務器)希望接受呼叫)或604不存在于任何地方(DoesNot Exit Anywhere)(服務器具有表明所請求的用戶不存在于任何地方的權(quán)威信息),并且可以釋放資源。
[0060]圖4是根據(jù)本公開內(nèi)容的實施例使用的滑動窗口 400的一個實例?;瑒哟翱趨f(xié)議可以被使用在基于分組的數(shù)據(jù)傳輸網(wǎng)絡中。在需要按順序的可靠分組遞送時可以使用滑動窗口協(xié)議,比如在數(shù)據(jù)鏈路層(0SI模型)以及傳輸控制協(xié)議(TCP)中。
[0061]在一個非限制性實例中,可以將分組1、分組2、分組3、分組4、分組5和分組6作為一條或多條SIP消息404從通信設備108發(fā)送。深黑方框描繪出窗口尺寸,其在本例中包含兩個分組。所述窗口尺寸可以包括一定數(shù)目的分組(一個或多個),其可以在接收到表明所述分組已被接收的確認(ACK)之前被發(fā)送。在滑動窗口模型中,可以在一個窗口 408中發(fā)送針對多個分組的ACK(例如分組I和分組2)。ACK還可以包含關于緩沖器尺寸的信息,從而指導在下一次發(fā)送中應當有多少分組。如果太多分組同時到來并且緩沖器溢出,則可以減少同時發(fā)送的分組數(shù)目或者可以停止一段指定間隔。如果可以更快地處理分組,則可以請求并提供更大的窗口。
[0062]當接收到SIP消息404的分組I和分組2時,可以由通信服務器124發(fā)送ACK。一旦接收到ACK,可以在一個窗口 412中發(fā)送分組3和分組4。當接收到SIP消息404的分組3和分組4時,可以由通信服務器124發(fā)送ACK。一旦接收到ACK,可以在一個窗口 416中發(fā)送分組5和分組6。當接收到SIP消息404的分組5和分組6時,可以由通信服務器124發(fā)送ACK。如圖所示,滑動窗口可以移動,并且可選地可以在確認每一個先前分組集合時對其進行調(diào)節(jié)。通過使用滑動窗口機制,SIP防火墻128可以高效地檢查計數(shù)閾值和間隔閾值,從而向通信服務器124提供該信息以供管理員使用來保護任何網(wǎng)絡免于呼叫循環(huán),而不管其是全SIP網(wǎng)絡還是包含非SIP元件。
[0063]在圖5中示出了根據(jù)本公開內(nèi)容的實施例的用于呼叫循環(huán)分析和終止的方法500。一般來說,方法500開始于開始操作504并且終止于結(jié)束操作544。雖然在圖5中示出了方法500的各個步驟的一般順序,但是方法500可以包括更多或更少步驟,或者可以按照不同于圖5中所示的方式來安排各個步驟的順序。方法500可以作為一個計算機可執(zhí)行指令集合來執(zhí)行,其由計算機系統(tǒng)執(zhí)行并且被編碼或存儲在計算機可讀介質(zhì)上。此外,所述方法可以通過專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或者其他可配置硬件組件、模塊或系統(tǒng)中的一組門或其他結(jié)構(gòu)的集合來具體實現(xiàn)。在后文中將參照結(jié)合圖1-4描述的系統(tǒng)、組件、模塊、軟件、數(shù)據(jù)結(jié)構(gòu)等等來解釋方法500。
[0064]所述方法開始于步驟504,并且當在步驟508中由企業(yè)網(wǎng)絡120接收到或者在企業(yè)網(wǎng)絡120內(nèi)部發(fā)起呼叫時繼續(xù)。當所述呼叫由通信服務器124處理時,可以考慮各個通信元件。在一個非限制性實例中,SIP通信服務器124從通信設備108接收SIP呼叫。所述SIP呼叫包含標準SIP報頭200組成部分。在步驟512中,通信服務器124檢查SIP報頭200。正如在圖2中詳細描述的那樣,SIP報頭200可以包含例如Via(經(jīng)由)、Max-Forwards (最大轉(zhuǎn)發(fā))、To (去往)、From(來自)、Call-1D (呼叫ID)、CSeq (命令序列)、Contact (聯(lián)系人)、Content-Type (內(nèi)容類型)和Content-Length (內(nèi)容長度)之類的元素數(shù)值。在步驟516中,通信服務器124內(nèi)的SIP防火墻128可以發(fā)起數(shù)據(jù)庫查找,以便查看是否有任何報頭元素與來自先前呼叫請求的報頭相匹配。SIP防火墻128可以記錄并保持對應于當前呼叫的報頭數(shù)據(jù)(步驟520)。在步驟524中,SIP防火墻128可以發(fā)起報頭字段的比較,以便查看是否當前報頭字段是否與任何先前呼叫報頭字段相匹配。如果沒有與先前呼叫請求的匹配,則所述方法返回開始,直到在步驟508中接收到另一呼叫為止。
[0065]如果SIP防火墻128在步驟524中確定有報頭與一條或多條先前呼叫請求相匹配,則SIP防火墻128可以檢查是否已達到由管理員設定的新的計數(shù)閾值(步驟528)。如果沒有達到所述計數(shù)閾值,則所述方法返回開始,直到在步驟508中接收到另一呼叫為止。如果達到計數(shù)閾值,則SIP防火墻128可以檢查是否已達到與操作系統(tǒng)所提供的系統(tǒng)時鐘比較的由管理員設定的新的間隔閾值(步驟532)。如果沒有達到所述間隔閾值,則所述方法返回開始,直到在步驟508中接收到另一呼叫為止。如果達到間隔閾值,則SIP防火墻128可以確定通過已達到計數(shù)閾值和間隔閾值而表明循環(huán)。SIP防火墻128可以在步驟536中打斷循環(huán)。可以向呼叫始發(fā)者發(fā)送拒絕(例如603拒絕,604不存在)(步驟540)。一旦發(fā)送了拒絕消息,就可以終止呼叫嘗試,從而釋放由呼叫循環(huán)消耗的資源。所述方法在步驟544中結(jié)束。
[0066]當網(wǎng)絡包含混合的SIP和非SIP元件時,可以使用可調(diào)節(jié)的循環(huán)檢測計數(shù)和循環(huán)檢測間隔參數(shù)來精確地檢測混合網(wǎng)絡循環(huán),從而在發(fā)生路由問題和/或惡意攻擊時保護資源。
[0067]雖然本公開內(nèi)容參照特定標準和協(xié)議描述了在各個方面、實施例和/或配置中實施的組件和功能,但是所述方面、實施例和/或配置不限于這樣的標準和協(xié)議。未在這里提到的其他類似標準和協(xié)議同樣存在,并且被視為包括在本公開內(nèi)容中。此外,這里所提到的標準和協(xié)議以及未在這里提到的其他類似標準和協(xié)議時時被具有基本上相同功能的更快或更有效的等效方案所取代。具有相同功能的此類替代標準和協(xié)議被視為包括在本公開內(nèi)容中的等效方案。
[0068]前面的討論是出于說明和描述的目的而給出的。前述內(nèi)容不意圖把本公開內(nèi)容限制到這里所公開的一種或多種形式。例如在前面的【具體實施方式】部分中,出于使得本公開內(nèi)容順暢的目的而在一個或多個方面、實施例和/或配置中將本公開內(nèi)容的各項特征分組在一起。本公開內(nèi)容的各個方面、實施例和/或配置的各項特征可以被組合在不同于前面所討論的替換方面、實施例和/或配置中。這種公開方法不應被解釋為反映出權(quán)利要求書要求多于在每一條權(quán)利要求中所明確引述的特征的意圖。相反,正如后面的權(quán)利要求書所反映的那樣,本發(fā)明的各個方面在于前面所公開的單一方面、實施例和/或配置的少于全部特征。因此,后面的權(quán)利要求書被合并到【具體實施方式】部分中,其中每一條權(quán)利要求獨自作為本公開內(nèi)容的一個單獨的優(yōu)選實施例。
【權(quán)利要求】
1.一種方法,其包括: 保持對于通信服務器的循環(huán)計數(shù)閾值; 在通信服務器處接收第一消息; 確定包含在第一消息中的一個或多個元素數(shù)值; 把包含在第一消息中的所述一個或多個元素數(shù)值與包括在先前在通信服務器處接收到的各條消息中的歷史元素數(shù)值進行比較; 基于比較步驟,確定包含在第一消息中的所述一個或多個元素數(shù)值與來自先前在通信服務器處接收到的消息的一個或多個元素數(shù)值相匹配,并且作為響應遞增同樣對于所述通信服務器所保持的循環(huán)計數(shù)數(shù)值; 確定循環(huán)計數(shù)數(shù)值已達到和超出循環(huán)計數(shù)閾值的至少其中一種情況;以及響應于確定循環(huán)計數(shù)數(shù)值已達到和超出循環(huán)計數(shù)閾值的至少其中一種情況,確定已發(fā)生呼叫循環(huán)。
2.權(quán)利要求1的方法,其還包括: 在通信服務器處執(zhí)行一項或多項功能以打斷呼叫循環(huán)。
3.權(quán)利要求2的方法,其中,所述通信服務器通過拒絕第一消息而打斷呼叫循環(huán)。
4.權(quán)利要求2的方法,其中,所述通信服務器通過終止與第一消息相關聯(lián)的呼叫嘗試而打斷呼叫循環(huán)。
5.權(quán)利要求1的方法,其中,第一消息包括會話發(fā)起協(xié)議(SIP)消息,其中包含在第一消息中的所述一個或多個元素數(shù)值對應于包含在SIP消息中的各個報頭元素,其中在確定已發(fā)生呼叫循環(huán)之前需要第一消息的每一個報頭元素與先前在通信服務器處接收到的所述消息的每一個報頭元素相匹配。
6.權(quán)利要求1的方法,其還包括: 確定接收到第一消息與先前在通信服務器處接收到的所述消息之間的時間量; 把所確定的時間量與對于通信服務器保持的間隔閾值進行比較;以及只有響應于確定所確定的時間量已達到和超出所述間隔閾值的至少其中一種情況,才確定已發(fā)生呼叫循環(huán)。
7.一種通信系統(tǒng),其包括: 適于保持對于通信服務器的循環(huán)計數(shù)閾值并且施行以下操作的SIP防火墻: 在通信服務器處接收第一消息; 確定包含在第一消息中的一個或多個元素數(shù)值; 把包含在第一消息中的所述一個或多個元素數(shù)值與包括在先前在通信服務器處接收到的各條消息中的歷史元素數(shù)值進行比較; 基于比較步驟,確定包含在第一消息中的所述一個或多個元素數(shù)值與來自先前在通信服務器處接收到的消息的一個或多個元素數(shù)值相匹配,并且作為響應遞增同樣由SIP防火墻對于所述通信服務器所保持的循環(huán)計數(shù)數(shù)值; 確定循環(huán)計數(shù)數(shù)值已達到和超出循環(huán)計數(shù)閾值的至少其中一種情況; 響應于確定循環(huán)計數(shù)數(shù)值已達到和超出循環(huán)計數(shù)閾值的至少其中一種情況,確定已發(fā)生呼叫循環(huán);以及 在通信服務器處執(zhí)行一項或多項功能以打斷呼叫循環(huán)。
8.權(quán)利要求7的系統(tǒng),其中,所述通信服務器通過拒絕第一消息打斷呼叫循環(huán),并且其中所述通信服務器通過終止與第一消息相關聯(lián)的呼叫嘗試打斷呼叫循環(huán)。
9.權(quán)利要求7的系統(tǒng),其中,第一消息包括會話發(fā)起協(xié)議(SIP)消息,其中包含在第一消息中的所述一個或多個元素數(shù)值對應于包含在SIP消息中的各個報頭元素,并且其中在確定已發(fā)生呼叫循環(huán)之前需要第一消息的每一個報頭元素與先前在通信服務器處接收到的所述消息的每一個報頭元素相匹配。
10.權(quán)利要求7的系統(tǒng),其還包括: 被配置成施行以下操作的SIP防火墻: 確定接收到第一消息與先前在通信服務器處接收到的所述消息之間的時間量; 把所確定的時間量與SIP防火墻對于通信服務器保持的間隔閾值進行比較;以及只有響應于確定所確定的時間量已達到和超出所述間隔閾值的至少其中一種情況,才確定已發(fā)生呼叫循環(huán)。
【文檔編號】H04L29/06GK104168259SQ201410160531
【公開日】2014年11月26日 申請日期:2014年4月21日 優(yōu)先權(quán)日:2013年4月19日
【發(fā)明者】H·V·曼迪拉塔, S·A·巴克, A·瓦克歐, S·R·杜爾尼, R·S·沃萊克, W·G·巴赫爾 申請人:阿瓦亞公司