專利名稱:可插入的聯(lián)系解析的制作方法
技術領域:
本發(fā)明一般涉及通信,更詳細地涉及便攜式的以用戶為中心的聯(lián)系解析(contact resolution)機制。
背景技術:
會話發(fā)起協(xié)議(SIP)是用于建立多種實時通信會話的開放式信令協(xié)議??梢岳?SIP建立的通信會話類型的實例包括語音、視頻、和/或即時消息。這些通信會話可以在任 何類型的通信設備上實現(xiàn),例如個人計算機、膝上型電腦、個人數(shù)字助理。SIP的一個關鍵特 性是其利用終端用戶的記錄地址(AOR)作為用于所有通信的單個統(tǒng)一公共地址的能力。因 此,在SIP增強通信環(huán)境中,用戶的AOR成為將用戶連接到與用戶關聯(lián)的所有通信設備的單 個地址。利用這種A0R,呼叫者可以聯(lián)絡也稱為用戶代理(UA)的用戶的通信設備中的任何 一個,而不用知道每個唯一設備地址或者電話號碼。在建立SIP會話期間執(zhí)行的多個步驟中的一個是聯(lián)系解析,這決定注冊到給定用 戶的哪些設備會在任何給定呼叫時發(fā)出提醒。在傳統(tǒng)系統(tǒng)中,用戶的聯(lián)系解析策略(所作 出的關于什么設備響鈴、如何響鈴的決定)集成在PBX中,并只為預定的電話機運行。因此, 用戶對聯(lián)系解析策略的選擇是依PBX版本和電話設備而定的。這在SIP中不是非常期望的, 因為對于用戶注冊的任何數(shù)量的SIP通信設備,下層IP網(wǎng)絡成為了通用附接機構。是SIP 用戶來決定注冊、附接、使能他或者她的哪個設備,以及將這些設備中的每一個用于什么目 的。在SIP中,聯(lián)系解析通常是在定位服務器中完成的,但是象PBX那樣,通常不期望將定 位服務器重新部署成能夠提供新的聯(lián)系解析行為。因此期望用戶具備訪問聯(lián)系解析策略的 權利,聯(lián)系解析策略可以由系統(tǒng)/網(wǎng)絡管理者代表用戶容易地提供,而一般不用修改網(wǎng)絡 的特定PBX或者通信特征服務器或者位置服務器。
發(fā)明內(nèi)容
本發(fā)明實施例為用戶尤其是SIP用戶提供了使能聯(lián)系解析策略或者算法的機制。 很多企業(yè)允許SIP用戶在定位服務器上將針對每個設備或者網(wǎng)絡元件的其偏好注冊為簡 單的q值。在SIP中,定位服務器的職責是根據(jù)用戶策略來裁決向每個已注冊的聯(lián)系人發(fā) 送SIP請求。這通常通過對實現(xiàn)用戶策略的靜態(tài)算法內(nèi)的q值進行評估來完成。幾個常用 的策略包括順序分叉(forking)(依次聯(lián)系每個設備)、并行分叉(同時聯(lián)系所有設備并允 許最先響應的設備獲取該聯(lián)系)和負荷平衡。本發(fā)明實施例允許網(wǎng)絡管理者對網(wǎng)絡用戶 “熱部署”新的算法選擇,并允許用戶選擇并且可選地個性化在企業(yè)網(wǎng)絡中可用的任何已部 署的聯(lián)系解析策略或者算法。更詳細地,本發(fā)明實施例提供了允許用戶查找和利用網(wǎng)絡中 已經(jīng)適當部署的可插入聯(lián)系解析算法(串行分叉、并行分叉、智能負荷平衡、基于呼叫者身 份的可變響鈴等)的機制。時常地,可插入的聯(lián)系解析算法是由管理者或者具有管理者權 限的一些其他用戶來配置的。然而,本發(fā)明實施例并不局限于此,也可以允許非管理者用戶 為個人使用和/或其他用戶使用的目的來開發(fā)和部署可插入的聯(lián)系解析算法。也可以允許選擇使用可插入的聯(lián)系解析算法的任何用戶在采用時改進和定制化這種聯(lián)系解析算法。包括聯(lián)系解析算法的擴展模塊可結合表條目來使用,該表條目顯示了在接收到針 對該用戶的呼入聯(lián)系時要使用哪個聯(lián)系解析算法(CRA)(即應當引用哪個擴展模塊)。擴展模塊類似于SIP小服務程序(servlet),因為擴展模塊是可以單獨地被部署 和取消部署的自包含的jar文件。SIP小服務程序與其他類型的小服務程序非常相似,因為 它們增強了將其加載以支持SIP功能的接口。另一種類型的小服務程序的實例是http小 服務程序,其是運行于web服務器或者應用服務器上的Java應用并提供服務器側的處理, 通常以訪問數(shù)據(jù)庫或者執(zhí)行電子商務處理。其是針對用C和C++編寫的CGI腳本、活動服 務頁(ASP)和專用插件程序的基于Java的替換。小服務程序類似于CGI概念,但是不使用 獨立的進程,而將消息傳遞到在服務器內(nèi)部的虛擬機上運行的類。很多小服務程序使用特定的編程語言(例如Java)編寫,這允許它們在服務器和 操作系統(tǒng)之間移植。雖然Java是可以用于創(chuàng)建小服務程序或者擴展模塊的編程語言的一 個實例,但是本領域技術人員將理解,本發(fā)明實施例并不局限于此。更詳細地,本發(fā)明實施 例構想了以允許擴展模塊在服務器和/或操作系統(tǒng)之間移植的任何類型的編程語言來創(chuàng) 建擴展模塊。本發(fā)明實施例還構想了能夠在服務器(例如企業(yè)服務器,尤其是SIP服務器) 上的虛擬機內(nèi)部運行的擴展模塊。然而不象SIP小服務程序,擴展模塊是可熱部署的。它們允許運行時升級而沒有 服務損失。至少根據(jù)本發(fā)明某些實施例,擴展模塊可以用于SIP對話適配(adaptation), 以修改在接收到進入聯(lián)系時特定用戶獲得的聯(lián)系解析的形式。更詳細地,各個對話適配邏 輯可以被實現(xiàn)為擴展模塊而不是用于每個適配器的小服務程序。除了擴展模塊的熱交換可 用性之外,對擴展模塊的使用允許更容易的管理并共享共同對話適配邏輯。擴展模塊和傳 統(tǒng)SIP小服務程序之間的另一個區(qū)別是與僅采取SIP小服務程序接口的SIP小服務程序 不同,擴展模塊可以定義很多接口來呈現(xiàn)其服務。而且,至少根據(jù)本發(fā)明某些實施例,擴展模塊用于呈現(xiàn)可以由小服務程序、應用路 由器、和/或其他SIP應用訪問的服務。在某些實施例中,擴展模塊被綁定到在部署期間定 義(通常由系統(tǒng)管理者定義)的唯一短ID。擴展模塊還可以定義呈現(xiàn)其服務的接口。擴 展API可以在需要時通過擴展模塊的短ID來輔助檢索擴展模塊。因為擴展模塊是可部署 的自包含jar,所以擴展模塊的配置信息與實現(xiàn)擴展模塊的類文件一起包含在jar文件中。 配置信息可以以與小服務程序類似的方式被定義在部署XML文件中。運行時,每個遠程方與被實現(xiàn)為服務主機擴展模塊的呼入和呼出對話適配邏輯相 關聯(lián)。需要對話適配(例如聯(lián)系解析)的任何服務將通過其擴展模塊標識符(即分配給擴 展模塊的唯一短ID)來調用適配模塊。除了示出在接收到聯(lián)系解析請求時要使用哪個CRA的表條目以外,該擴展模塊也 被使用。根據(jù)本發(fā)明至少某些實施例,該表包含用戶相關的配置數(shù)據(jù)和動態(tài)數(shù)據(jù)。在該表 中,用戶可以被允許定義他們個人與所部署的CRA之間的關聯(lián),該CRA是每當接收到針對他 們的聯(lián)系時他們想使用的CRA。更詳細地,特定用戶的表可以包括將應用特定CRA的擴展模 塊的標識符??梢杂信c這種擴展關聯(lián)的以用戶為中心的數(shù)據(jù),該擴展可以由用戶按照需要 通過用于設置用戶選項的單獨網(wǎng)頁界面進行配置和重新配置。更詳細地,一旦表中發(fā)生了 用戶數(shù)據(jù)配置或者重新配置,則活動CRA的有效性檢驗可以在有知識的端點進行的注冊或者重新注冊期間發(fā)生。當接收到聯(lián)系解析請求時,調用擴展模塊。因此,聯(lián)系解析是可插入的,不需要內(nèi) 置到SIP定位服務器自身內(nèi)部。而且,多個用戶可以引用同一擴展模塊,并使用與他們自己 的個性化用戶設置相同的或者類似的CRA。根據(jù)本發(fā)明至少某些實施例,提供了一種通信方法,主要包括在第一服務器處接收針對第一用戶的聯(lián)系解析請求;識別第一用戶的聯(lián)系解析偏好;確定第一用戶的聯(lián)系解析偏好利用了擴展模塊作為聯(lián)系解析的一部分;以及由第一服務器調用擴展模塊,并針對該請求將用戶偏好選項應用于該擴展模塊。在此所用的術語“計算機可讀媒介”指參與向處理器提供用于執(zhí)行的指令的任何 有形的存儲和/或傳輸媒介。這種媒介可以采取很多形式,包括但不局限于非易失性媒介、 易失性媒介和傳輸媒介。非易失性媒介例如包括NVRAM,或者磁盤或光盤。易失性媒介包括 動態(tài)存儲器,例如主存儲器。計算機可讀媒介的常用形式例如包括軟盤、軟碟、硬盤、磁帶、 或任何其他磁性媒介、磁光媒介、CD-ROM、任何其他光媒介、穿孔卡片、紙帶、具有孔圖案的 任何其他物理媒介、RAM、PROM、EPROM、FLASH-EPR0M、固態(tài)媒介例如存儲卡、任何其他存儲芯 片或者存儲盒、下文中所述的載波、或者計算機可以讀取的任何其他媒介。電子郵件的數(shù)字 文件附件或者其他自包含信息歸檔或者歸檔集被認為是與有形存儲媒介等同的分布式媒 介。當計算機可讀媒介配置為數(shù)據(jù)庫時,可以理解,數(shù)據(jù)庫可以是任何類型的數(shù)據(jù)庫,例如 關系型、分層的、面向對象的等等。因此,考慮本發(fā)明包括有形存儲媒介或者分布式媒介和 現(xiàn)有技術認可的等同體和后續(xù)媒介,其中存儲有本發(fā)明的軟件應用。此處使用的術語“確定”、“計算”和“運算”以及其變形可互換使用,并且包括任何 類型的方法、過程、數(shù)學運算或者技術。此處使用的術語“模塊”、“代理”或“工具”是指任何已知的或者以后開發(fā)的硬件、 軟件、固件、人工智能、模糊邏輯、或者能夠執(zhí)行與該元件相關的功能的硬件和軟件的結合。 還有,雖然本發(fā)明按照示意性實施例來描述,但是應當理解,本發(fā)明的各個方面可以單獨請 求保護。前面是本發(fā)明實施例的概述說明,以提供對本發(fā)明某些方面的理解。這個概述既 不是對本發(fā)明及其各個實施例的詳盡概括也不是窮舉式概括。。既不希望標識本發(fā)明的關 鍵或者重要元素也不是說明本發(fā)明的范圍,而是以簡化的形式表示本發(fā)明選擇的概念,來 作為對下面更詳細描述的介紹??梢岳斫獾氖?,本發(fā)明其他實施例可以單獨地或者組合地 利用上述或者下面詳細說明的一個或者多個特征。
圖1是示出根據(jù)本發(fā)明至少一些實施例的通信系統(tǒng)的框圖;圖2是示出根據(jù)本發(fā)明至少一些實施例的聯(lián)系解析系統(tǒng)的元件的框圖;圖3是示出根據(jù)本發(fā)明至少一些實施例的允許用戶定義他們自己的(一個或多 個)聯(lián)系解析算法的方法的流程圖;以及圖4是示出根據(jù)本發(fā)明至少一些實施例的聯(lián)系解析方法的流程圖。
具體實施例方式下面結合示意性通信系統(tǒng)說明本發(fā)明。雖然適合用于例如利用(一個或多個)服 務器和/或(一個或多個)數(shù)據(jù)庫的系統(tǒng),但是本發(fā)明并不局限于用于任何特定類型的通 信系統(tǒng)或者系統(tǒng)元件的配置。本領域技術人員將理解,所公開的技術可以用于期望允許用 戶個性化他們的聯(lián)系解析算法的任何通信應用,尤其是在SIP環(huán)境中。還將結合分析軟件、模塊、和相關的分析硬件來說明本發(fā)明的示意性系統(tǒng)和方法。 然而,為了避免不必要的混淆本發(fā)明,下面的說明省略了可以是以框圖形式示出的、眾所周 知的或者以其它方式概述的已知的結構、組件和設備。為了說明的目的,闡明了多個細節(jié)以提供對本發(fā)明全面的理解。然而應當清楚,本 發(fā)明可以以除了在此闡明的特定細節(jié)之外的多種方式實現(xiàn)。首先參考圖1,將根據(jù)本發(fā)明至少一些實施例說明示意性通信系統(tǒng)100。更詳細 地,通信系統(tǒng)100包括適合于將一個或者多個通信設備108連接到用戶注冊服務器112的 通信網(wǎng)絡104。通信網(wǎng)絡104可以是任何類型的已知通信媒介或者通信媒介的集合,并且可以使 用任何類型的協(xié)議以在端點之間傳輸消息。通信網(wǎng)絡104可以包括有線的和/或無線通信 技術?;ヂ?lián)網(wǎng)是通信網(wǎng)絡104的一個實例,該互聯(lián)網(wǎng)構成了 IP網(wǎng)絡,IP網(wǎng)絡包括位于世界 各地的很多計算機和其他通信設備,它們通過很多電話系統(tǒng)和其他裝置連接起來。通信網(wǎng) 絡104的其他實例包括但不限于標準普通老式電話系統(tǒng)(POTS)、綜合業(yè)務數(shù)字網(wǎng)(ISDN)、 公共交換電話網(wǎng)(PSTN)、局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、會話發(fā)起協(xié)議(SIP)網(wǎng)、任何類型的 企業(yè)網(wǎng)絡、以及現(xiàn)有技術已知的任何類型的分組交換或者電路交換網(wǎng)絡。另外,可以理解, 通信網(wǎng)絡104不必局限于任何一個網(wǎng)絡類型,相反可以包括多種不同的網(wǎng)絡和/或網(wǎng)絡類 型。通信設備108可以是任何類型的已知通信或處理設備,例如個人計算機、膝上型 電腦、個人數(shù)字助理(PDA)、蜂窩電話、智能電話、電話、模擬電話、DCP電話、或者它們的組 合。單個通信設備108可以由單個用戶控制或與單個用戶關聯(lián),或者適合于由很多用戶使 用(例如企業(yè)通信設備,其允許任何企業(yè)用戶在呈現(xiàn)了有效的用戶名和密碼時利用該通信 設備)。每個通信設備108可以與同一個用戶關聯(lián)。換句話說,通信設備108可以屬于單 個用戶,并可以對應于不同類型的通信設備。作為一個實例,用戶可以具有四個通信設備 108,其中每一個分別對應于單個用戶的個人電話、工作電話、個人計算機、和電子郵件檢索 設備??蛇x地,每個通信設備108可以由(例如關聯(lián)到)不同用戶擁有和操作。通常,通信設備108可以適合于支持與其他通信設備108的視頻、音頻、文本、和/ 或數(shù)據(jù)通信。由通信設備108用來與其他通信設備108通信的媒介類型可以根據(jù)通信設備 108上可用的通信應用來決定。用戶注冊服務器112適用于接收和存儲操作一個或者多個通信設備108的多個 用戶的用戶偏好。更詳細地,可以允許用戶登陸到用戶注冊服務器112,并且定義他們想應 用到該用戶參與的任何通信會話的某些偏好(即用戶喜好)??梢匀值囟x針對用戶的 這些用戶偏好(例如單組用戶偏好可以一致地應用于任何網(wǎng)絡和與該用戶關聯(lián)的任何通 信設備)??蛇x地,可以允許用戶為不同的網(wǎng)絡或者使用案例定義不同的用戶偏好(例如用戶可以具有不同的家庭生活偏好和工作偏好)。還可以允許用戶為他們的每個通信設備 108定義不同的用戶偏好。例如,用戶可以為他們的移動通信設備108定義第一組聯(lián)系解析 偏好(例如第一 CRA),為他們的工作通信設備定義不同的第二組聯(lián)系解析偏好(例如第二 CRA),并且為他們的家庭通信設備定義不同的第三組聯(lián)系解析偏好(例如第三CRA)。所有 這些不同的用戶偏好可以與用戶注冊服務器112上的單組用戶偏好116關聯(lián)起來存儲。例 如,鏈接或者形成類似的CRA層級結構是有用的,其中,例如用戶的一些設備的子集是利用 并行分叉來處理的,而其他設備是利用串行分叉來處理的。在這樣的實施例中,可以存在處 理CRA之間的鏈接的某些更高級的協(xié)調者。此外,逐設備地,算法可能對象一天中的時間、 星期中的日期、設備狀態(tài)等事件敏感,以改變特定于設備的聯(lián)系解析行為??蛇x地,單組聯(lián)系解析偏好(即單個CRA)可以用于在與用戶關聯(lián)的所有通信設 備108之間解析該用戶的聯(lián)系。換句話說,單個CRA可以用于確定是否應當提醒特定通 信設備108,應當何時提醒特定通信設備108,以及應當如何提醒特定通信設備108???以根據(jù)本發(fā)明至少某些實施例應用的這種CRA的實例在授予Brimson等的美國專利申請 No. 12/241, 368中有進一步詳細的描述,其全部內(nèi)容在此通過引用結合于此。根據(jù)本發(fā)明至少某些實施例,可以允許用戶通過他們的通信設備108在用戶注冊 服務器112上更新和/或改變他們的用戶偏好116。換句話說,用戶可以連接到用戶注冊服 務器112來配置他們的用戶偏好116,通常通過某些類型的網(wǎng)頁用戶選項界面來配置。根據(jù) 本發(fā)明至少某些實施例,可插入的(Pluggable)CRA可以適用于支持網(wǎng)頁選項界面以供用 戶設置他們的用戶偏好116。這些用戶選項可以存儲于本地數(shù)據(jù)存儲設施中,例如企業(yè)數(shù)據(jù) 庫,并/或作為用戶偏好116存儲于用戶注冊服務器112中。這些偏好116然后可以被分 發(fā)到在呼叫處理的聯(lián)系解析階段期間調用用戶偏好116的一個或多個網(wǎng)絡設備。根據(jù)本發(fā)明至少某些實施例,用戶偏好116包括定義優(yōu)選CRA(用于一個或者多個 通信設備108)的參數(shù)。當用戶更新他們的用戶偏好116時,用戶偏好的改變可以在整個網(wǎng) 絡中被分發(fā)以到達使用這些偏好的任何設備。通常,網(wǎng)絡中只有非常少量的設備(例如兩 個或三個)真正需要知道用戶的CRA選擇。然而,本發(fā)明實施例并不局限于此,用戶偏好 116的改變可以被分發(fā)到任意數(shù)量的網(wǎng)絡設備。如這里將詳細說明的,這些偏好可以存儲在 用戶配置的表中。本發(fā)明實施例構想了如下情形,其中,可以在網(wǎng)絡運行的同時將新的CRA部署到 網(wǎng)絡中,而不會對網(wǎng)絡的運行產(chǎn)生不利影響(即管理者可以以擴展模塊的形式將可熱插入 的CRA加入到網(wǎng)絡中)。換句話說,允許網(wǎng)絡管理者將新的CRA加入到網(wǎng)絡或者單個網(wǎng)絡 設備,該CRA可以由該設備應用于隨后接收的聯(lián)系。根據(jù)本發(fā)明至少某些實施例,當這樣的 CRA加入到網(wǎng)絡中時,可以向網(wǎng)絡中一個或者多個用戶通知該更新。響應于這個通知,可以 允許用戶改變他們的用戶偏好116 (通過響應該通知直接地或者通過分別訪問用戶注冊服 務器112間接地)來使用新加的CRA。同樣,可以允許用戶通過任何類型的已知的或者以后 開發(fā)的網(wǎng)頁選項界面來訪問和更新他們的用戶偏好116。這個過程的細節(jié)將在下面進一步 詳細說明??蛇x擇的,或者另外,為了允許用戶更新他們的用戶偏好116,還可以允許網(wǎng)絡管 理者更新用戶偏好116。因此,改變用戶偏好116以調用新加的CRA可以由用戶和/或網(wǎng)絡 管理者來執(zhí)行。
而且,用戶偏好116可以是用密碼或者類似類型的認證憑證安全寫入的。因此,例 如,不提供恰當?shù)拿艽a作為用戶名的話,可以不允許用戶或者管理者改變用戶偏好116。還 預想了限制用戶和/或管理者更新用戶偏好116的能力的其它可選項,并且這些其它可選 項可以根據(jù)網(wǎng)絡安全需求而變化。現(xiàn)在參考圖2,將根據(jù)本發(fā)明至少某些實施例說明示意性SIP通信系統(tǒng)200。系統(tǒng) 200可以包括將一個或者多個呼叫設備208 (其可以對應或者不對應用戶通信設備108)連 接到呼叫路由機構212的通信網(wǎng)絡204。通信網(wǎng)絡204可以與通信網(wǎng)絡104相同或者不同。例如,網(wǎng)絡104、204都可以對 應于企業(yè)網(wǎng)絡??蛇x地,通信網(wǎng)絡104可以對應于因特網(wǎng)而通信網(wǎng)絡204對應于企業(yè)網(wǎng)或 者具有SIP功能的網(wǎng)絡。無論通信網(wǎng)絡204的配置如何,都允許呼叫者通過呼叫設備發(fā)起到被呼叫者 (callee)的聯(lián)系。根據(jù)本發(fā)明至少某些實施例,被呼叫者可以對應于具有多個與之關聯(lián)的 SIP設備232a-232N的SIP用戶。本領域技術人員可以理解,SIP設備232a_232N中的一個 或者多個也可以對應于圖1中所示的用戶通信設備108中的一個。當呼叫者發(fā)起指向被呼叫者的聯(lián)系時,聯(lián)系解析請求被發(fā)送到適合于根據(jù)被呼叫 者的聯(lián)系解析偏好來執(zhí)行聯(lián)系解析的呼叫路由機構212,例如定位服務器。被呼叫者的偏好 可以定義于用戶配置表216中,其可以與被叫用戶的用戶偏好116相同或者不同。因此,呼 叫路由機構212可以與用戶注冊服務器112相同??蛇x地,在用戶注冊服務器112上對用 戶偏好116的更新可以被轉發(fā)給呼叫路由機構212,在此它們被合并到用戶配置表216中。 根據(jù)本發(fā)明至少某些實施例,用戶配置表216包括被映射到每個用戶的聯(lián)系解析偏好的用 戶AOR列表。這些偏好可以包括指示符,該指示符標識將要應用于去往該用戶的進入聯(lián)系 的特定CRA。因此,除了包括用戶配置表216之外,呼叫路由機構212還可以包括動態(tài)表220,一 個或者多個舊CRA 224,和一個或者多個擴展模塊228 (或者新CRA)。舊CRA 224包括在呼 叫路由機構212升級之前(即在呼叫路由機構212上部署擴展模塊228之前)存在于呼叫 路由機構212中的任何類型的CRA。擴展模塊228可以包括可以由任何用戶使用的新CRA,如果該用戶更新用戶配置 表216以指向并調用該擴展模塊的話。更詳細地,當擴展模塊228被部署時,可以向其分配 唯一 ID。如果用戶期望利用與該擴展模塊228關聯(lián)的CRA,那么用戶就更新用戶配置表216 中的他們的信息以包括該擴展模塊的唯一 ID。因此,當呼叫路由機構212接收到針對去往 該用戶的聯(lián)系的聯(lián)系解析請求時,呼叫路由機構212能夠參考用戶配置表216,確定用戶想 調用擴展模塊228的CRA而不是舊CRA 224,并且然后利用擴展模塊228來處理接收到的聯(lián) 系解析請求。在處理期間,擴展模塊228的CRA可能需要確定哪個SIP設備232適合于將聯(lián)系 路由給它。這個決定可以基于用戶是否將特定SIP設備232注冊到呼叫路由機構212。換 句話說,一些聯(lián)系路由決定可以基于SIP設備232是否開啟并注冊到呼叫路由機構212。與 SIP設備232的活動相關的這個動態(tài)注冊信息可以存儲在動態(tài)表220中。因此,在處理過程 期間,擴展模塊228的CRA可以適用于參考動態(tài)表220來確定應當將聯(lián)系路由到何處。動態(tài)表220中的信息并不總是基于SIP設備232是否注冊到呼叫路由機構212的,雖然它可以部分地基于這個考慮。相反,可以根據(jù)檢測到的特定用戶的存在活動性、一天中 的時間、一周中的日期、呼叫處理負荷、和可由任何CRA(即舊CRA 224或者新CRA)考慮的 其它動態(tài)參數(shù)來改變動態(tài)表220中的信息。根據(jù)本發(fā)明至少某些實施例,動態(tài)表220中的 信息可以響應于SIP設備232的狀態(tài)改變(例如SIP設備232當前是否在SIP會話中被調 用,SIP設備當前使用的什么類型的通信媒介等)。這些變化可以由SIP設備232通過任何 類型的已知信令或者SIP消息報告給呼叫路由機構212。作為一個實例,SIP設備232可以 通過向呼叫路由機構212發(fā)送NOTIFY(通知)或者PUBLISH(公告)消息來向呼叫路由機 構212更新所述SIP設備232的狀態(tài)信息。另外,動態(tài)表220可以響應于其他參數(shù),例如另一個用戶或者另一個用戶設備的 存在狀態(tài)。因此,特定用戶的CRA算法可以包含允許其他用戶的設備被包含到設備組中的 邏輯,該設備組作為特定用戶的INVITE請求的目標參與到CRA算法中。換句話說,當嘗試 到達第一不同的設備時,CRA算法可以決定提醒第二用戶設備。例如,第一用戶可以定義他 們的CRA算法以在特定日期的特定時間內(nèi)(例如,為了聯(lián)絡到我,嘗試在星期五的2點到3 點之間提醒第二用戶的工作電話)提醒第二用戶設備。如果第一用戶知道他們將在特定時 間與第二用戶會面,這就可以完成。而且,這種信息可以從存儲在日程表應用等中的用戶的 電子日程表中自動檢索出來?,F(xiàn)在參考圖3,將根據(jù)本發(fā)明至少某些實施例說明更新用戶聯(lián)系解析偏好的示 意性方法。該方法開始于將新的擴展模塊228部署到網(wǎng)絡設備上,網(wǎng)絡設備例如是呼叫 路由機構212(步驟304)。根據(jù)本發(fā)明至少某些實施例,擴展模塊228是可熱部署(hot employable)的,這意味著擴展模塊228的代碼可以加入到網(wǎng)絡設備中,同時網(wǎng)絡設備 仍然在運行并且同時該網(wǎng)絡設備連接到其他網(wǎng)絡設備。因此,不需要設備的停運時間 (downtime)以將擴展模塊228部署到網(wǎng)絡設備上。這在非常大的網(wǎng)絡中尤其有用,因為如 果部署新的CRA需要網(wǎng)絡停運時間,則整個網(wǎng)絡運營會受到一個網(wǎng)絡設備的停運時間的不 利影響,或者需要長時間來更新所有網(wǎng)絡設備,由此延長了網(wǎng)絡停運時間量并增加了產(chǎn)率 損失。本發(fā)明實施例避免了這樣的負面影響。本領域技術人員可以理解,新CRA的部署通 常是由網(wǎng)絡管理者來執(zhí)行的,但也可以由非管理用戶來執(zhí)行。該方法繼續(xù)以向一個或者多個用戶通知新部署的擴展模塊228(步驟308)。這個 通知可以由于新擴展模塊228被部署的事實而自動發(fā)生??蛇x地,通知可以由網(wǎng)絡管理者 在新擴展模塊228被部署之后發(fā)起。而且,用戶通知的范圍(即被通知該更新的用戶數(shù)量) 可以根據(jù)網(wǎng)絡安全方面的考慮、用戶是否訂閱了接收這樣的通知等而變化。而且,通知可以 以電子格式到達(例如通過電子郵件、SMS消息、即時消息(IM)等)或者以紙件格式到達。一旦接收到已經(jīng)部署了新擴展模塊228的通知,用戶然后可以更新他們的偏好 116來包括進對新部署的擴展模塊228的利用,尤其是對新擴展模塊228的CRA的利用(步 驟312)。這種更新可以通過直接響應于該通知而被發(fā)起,或者用戶可以通過網(wǎng)頁選項界面 單獨地與用戶注冊服務器112通信來更新他們的偏好116。更新用戶偏好116使得呼叫路由機構212中的用戶配置表216也被更新(步驟 316)。更詳細地,當用戶更新他們的聯(lián)系解析偏好時,用戶配置表216中針對該特定用戶 的條目也被更新以反映出新的偏好。甚至更詳細地,用戶配置表中的條目可以包括新加入 的擴展模塊228的標識符。如果用戶直接響應于該通知,則該標識符可以自動地被輸入表216,或者可能需要用戶在更新他們的用戶偏好116時手工輸入該標識符。一旦用戶配置表 216已經(jīng)更新,任何后續(xù)接收的去往該用戶的聯(lián)系將調用新加入的擴展模塊228。本領域技術人員可以理解,步驟312和316可以結合到一個步驟中,尤其是如果用 戶直接更新用戶配置表216而不是通過中間用戶注冊服務器112的話。然而,在具有很多 呼叫路由機構212的較大網(wǎng)絡中,可能期望具有單個注冊服務器112作為針對用戶的單個 更新點。在這樣的配置中,單個注冊服務器112可以作為關于用戶的偏好的與用戶的接口, 然后注冊服務器112可以向網(wǎng)絡中其他呼叫路由機構212通知用戶偏好的任何改變?,F(xiàn)在參考圖4,將根據(jù)本發(fā)明至少某些實施例說明處理進入聯(lián)系解析請求的示意 性方法。該方法開始于呼叫路由機構212接收到聯(lián)系解析請求(步驟404)。聯(lián)系解析請求 可以包括被呼叫者的標識符。這個信息可以包含在聯(lián)系解析請求的一個或者多個頭部中。 尤其是聯(lián)系解析請求與SIP INVITE消息關聯(lián)時,消息和聯(lián)系解析請求可以通過SIP頭部中 的AOR來包括被呼叫者的標識。然而可以理解的是,進入聯(lián)系解析請求并不一定需要以SIP 消息的形式。而是,進入聯(lián)系解析請求可以對應于由模擬電話等發(fā)出的定期呼入呼叫,其通 過用戶的AOR來標識特定通信設備而不是特定用戶??蛇x地,呼叫路由機構212可以根據(jù) 用戶的通信設備中的一個已經(jīng)由該聯(lián)系識別、以及標識信息已經(jīng)包括在聯(lián)系解析請求中的 事實來確定呼入聯(lián)系解析請求是針對特定用戶的。一旦識別了被呼叫者,則該方法繼續(xù),呼叫路由機構212參考用戶配置表216來識 別該用戶的聯(lián)系解析偏好(步驟408)。更詳細地,呼叫路由機構212適用于識別表216中 的用戶的A0R,并且確定將要為該用戶調用哪個CRA(步驟412)。CRA可以由與該CRA關聯(lián) 的唯一 ID來標識。根據(jù)本發(fā)明至少某些實施例,標識出的CRA可以對應于通過擴展模塊 228新加入到呼叫路由機構212的CRA?!┑玫紺RA的標識符(或者更詳細地擴展模塊228的唯一 ID),則呼叫路由機 構212調用識別出的CRA,并將聯(lián)系傳送到該CRA(步驟416)。一旦CRA接收到該聯(lián)系,則 CRA參考動態(tài)表220 (如果需要的話)來確定哪個(哪些)SIP設備232適合于將聯(lián)系路由 給它,以及如何向這個(這些)設備提醒該聯(lián)系。SIP設備232的適合性可以基于被調用的 CRA中定義的規(guī)則,以及SIP設備232是否注冊到呼叫路由機構212。CRA的規(guī)則可以定義 最初提醒一個SIP設備232,并且如果用戶沒有在該SIP設備232上應答該聯(lián)系,那么可以 提醒另一個SIP設備232 (串行分叉)??蛇x地,CRA的規(guī)則可以定義應當同時提醒兩個或 者多個SIP設備232,并且首先響應該提醒的設備將獲得該聯(lián)系(并行分叉)。其他類型的 CRA也可以包括在擴展模塊228中,并且本發(fā)明的實施例并不局限于在此所述的CRA實例。雖然上述流程圖是關于特定事件順序進行討論的,然而應當理解,在對本發(fā)明的 操作沒有實質性影響的情況下,可以對這個順序進行改變。另外,事件的準確順序不一定如 在示意性實施例中闡述的那樣來進行。此處說明的示意性技術并不局限于詳細說明的實施 例,而是可以應用于其他示意性實施例,并且每個所述特征可單獨地分別請求保護。本發(fā)明的系統(tǒng)、方法和協(xié)議可以在除了所述通信設備之外或者替換所述通信設備 的專用計算機,編程微處理器或者微控制器和(一個或多個)外圍集成電路元件,ASIC或 者其他集成電路、數(shù)字信號處理器、硬連線電子或者邏輯電路例如分立元件電路、可編程邏 輯器件例如PLD、PLA、FPGA、PAL、通信設備例如服務器、個人計算機、任何類似裝置等上來實 現(xiàn)。通常,能夠實現(xiàn)狀態(tài)機(其進而能夠實現(xiàn)這里所示的方法)的任何設備可以用于實現(xiàn)根據(jù)本發(fā)明的各種通信方法、協(xié)議和技術。而且,公開的方法可以容易地用利用對象的軟件或者面向對象的軟件開發(fā)環(huán)境來 實現(xiàn),軟件和開發(fā)環(huán)境提供了可用于不同的計算機或者工作站平臺的可移植的源代碼???選地,公開的系統(tǒng)可以利用標準邏輯電路或者VLSI設計而部分地或者全部地由硬件實現(xiàn)。 是軟件還是硬件用于實現(xiàn)根據(jù)本發(fā)明的該系統(tǒng)依賴于使用的系統(tǒng)、特定功能、和特定軟件 或硬件系統(tǒng)或微處理器或微計算機系統(tǒng)的速度和/或效率需求。在此說明的分析系統(tǒng)、方 法和協(xié)議可以利用任何已知的或者以后由本領域技術人員根據(jù)在此提供的功能描述以及 通信和計算機技術的常用基本知識開發(fā)出的系統(tǒng)或者結構、設備和/或軟件來容易地以硬 件和/或軟件實現(xiàn)。而且,公開的方法可以容易地以軟件來實現(xiàn),該軟件可以存儲在存儲媒介上、在具 有控制器和存儲器的協(xié)作的編程通用計算機、專用計算機、微處理器等上執(zhí)行。在這些實例 中,本發(fā)明的系統(tǒng)和方法可以實現(xiàn)為嵌入到個人計算機的程序例如小應用程序、JAVA ,或 者CGI腳本,實現(xiàn)為駐存于服務器或者計算機工作站的源代碼,實現(xiàn)為嵌入到專用通信系 統(tǒng)或者系統(tǒng)組件的例程等等。系統(tǒng)還可以通過將系統(tǒng)和/或方法物理地結合到軟件和/或 硬件系統(tǒng)中來實現(xiàn),例如通信設備或者系統(tǒng)的硬件和軟件系統(tǒng)。因此很清楚,根據(jù)本發(fā)明實施例已經(jīng)提供了用于創(chuàng)建和利用可插入聯(lián)系解析算法 的系統(tǒng)、裝置和方法。雖然結合一些實施例描述了本發(fā)明,很明顯對本領域技術人員來說, 很多變更、修改和變化是可以的或者顯而易見的。因此,期望包含在本發(fā)明的精神和范圍之 內(nèi)的所有這些變更、修改、等同體和變化。
權利要求
一種方法,包括在第一服務器處接收針對第一用戶的聯(lián)系解析請求;識別所述第一用戶的聯(lián)系解析偏好;確定所述第一用戶的聯(lián)系解析偏好利用了擴展模塊作為聯(lián)系解析的一部分;以及由所述第一服務器調用該擴展模塊,并針對該請求將用戶偏好選項應用于該擴展模塊。
2.一種服務器,包括表,所述表包括用戶聯(lián)系解析偏好;以及擴展模塊,其中,該服務器適合于接收與去往第一用戶的聯(lián)系有關的聯(lián)系解析請求,并 針對該第一用戶的聯(lián)系解析偏好來參考所述表,然后,根據(jù)所述第一用戶的聯(lián)系解析偏好 來調用所述擴展模塊以將所述第一用戶的聯(lián)系解析偏好應用于所述聯(lián)系解析請求。
3.根據(jù)權利要求1或2的發(fā)明,其中所述第一用戶的聯(lián)系解析偏好被標識在存儲于第 一服務器上的用戶配置表中。
4.根據(jù)權利要求3的發(fā)明,其中,所述聯(lián)系解析表包括可以由用戶通過用戶選項界面 來配置并重新配置的以用戶為中心的數(shù)據(jù)。
5.根據(jù)權利要求3的發(fā)明,進一步包括將第一 SIP設備注冊到該第一服務器上,其中該第一 SIP設備與該第一用戶相關聯(lián);更新動態(tài)表來指示該第一 SIP設備已經(jīng)注冊到該第一服務器;將第二 SIP設備注冊到該第一服務器上,其中該第二 SIP設備也與該第一用戶相關聯(lián);以及更新所述動態(tài)表來指示該第二 SIP設備已經(jīng)注冊到該第一服務器,其中,該擴展模塊 在處理該聯(lián)系解析請求期間參考該動態(tài)表來確定是否在聯(lián)系解析期間提醒所述第一 SIP 設備和第二 SIP設備中的一個或多個。
6.根據(jù)權利要求3的發(fā)明,其中,該用戶配置表包括該第一用戶的記錄地址與該第一 用戶的聯(lián)系解析偏好之間的映射。
7.根據(jù)權利要求1或2的發(fā)明,其中,調用該擴展模塊包括確定與該擴展模塊關聯(lián)的 標識符,并且利用所確定的標識符來弓I用該擴展模塊。
8.根據(jù)權利要求1或2的發(fā)明,其中,該擴展模塊是可熱部署的,以使得在該第一服務 器在運行中并連接到通信網(wǎng)絡時,該擴展模塊被部署在該第一服務器上,其中該第一服務 器在部署之前不具有該擴展模塊,該第一用戶被通知該擴展模塊的部署。
9.根據(jù)權利要求1或2的發(fā)明,其中該擴展模塊確定以下所述的一個或者多個(i)是 否使該第一用戶的SIP設備響鈴;(ii)何時使該第一用戶的SIP設備響鈴;(iii)如何使該 第一用戶的SIP設備響鈴;(iv)是否使該第二用戶的SIP設備響鈴;(V)何時使該第二用戶 的SIP設備響鈴;以及(Vi)如何使該第二用戶的SIP設備響鈴。
10.一種利用處理器可執(zhí)行指令進行了編碼的計算機可讀媒介,當所述指令被執(zhí)行時 可操作來執(zhí)行權利要求1的方法。
全文摘要
本發(fā)明涉及可插入的聯(lián)系解析,提供了方法、設備和系統(tǒng)用于采用可插入的擴展并將其應用于唯一一組用戶群體以處理他們的偏好和以用戶為中心的提醒關系。更詳細地,可插入的擴展允許用戶將他們的個性化聯(lián)系解析算法由服務器應用于由他們發(fā)起的或者發(fā)給他們的呼叫。聯(lián)系解析算法可插入到任何服務器,并且不需要內(nèi)置到服務器自身中。而且,多個用戶可以參考和使用同一可插入聯(lián)系解析算法。
文檔編號H04L29/06GK101931619SQ20101018085
公開日2010年12月29日 申請日期2010年3月31日 優(yōu)先權日2009年6月19日
發(fā)明者戈登·R·布魯森, 緹伯·盧卡克, 錢德拉·拉維帕特 申請人:阿瓦雅公司