可插入的联系解析的制作方法

文档序号:7749634阅读:71来源:国知局
专利名称:可插入的联系解析的制作方法
技术领域
本发明一般涉及通信,更详细地涉及便携式的以用户为中心的联系解析(contact resolution)机制。
背景技术
会话发起协议(SIP)是用于建立多种实时通信会话的开放式信令协议。可以利用 SIP建立的通信会话类型的实例包括语音、视频、和/或即时消息。这些通信会话可以在任 何类型的通信设备上实现,例如个人计算机、膝上型电脑、个人数字助理。SIP的一个关键特 性是其利用终端用户的记录地址(AOR)作为用于所有通信的单个统一公共地址的能力。因 此,在SIP增强通信环境中,用户的AOR成为将用户连接到与用户关联的所有通信设备的单 个地址。利用这种A0R,呼叫者可以联络也称为用户代理(UA)的用户的通信设备中的任何 一个,而不用知道每个唯一设备地址或者电话号码。在建立SIP会话期间执行的多个步骤中的一个是联系解析,这决定注册到给定用 户的哪些设备会在任何给定呼叫时发出提醒。在传统系统中,用户的联系解析策略(所作 出的关于什么设备响铃、如何响铃的决定)集成在PBX中,并只为预定的电话机运行。因此, 用户对联系解析策略的选择是依PBX版本和电话设备而定的。这在SIP中不是非常期望的, 因为对于用户注册的任何数量的SIP通信设备,下层IP网络成为了通用附接机构。是SIP 用户来决定注册、附接、使能他或者她的哪个设备,以及将这些设备中的每一个用于什么目 的。在SIP中,联系解析通常是在定位服务器中完成的,但是象PBX那样,通常不期望将定 位服务器重新部署成能够提供新的联系解析行为。因此期望用户具备访问联系解析策略的 权利,联系解析策略可以由系统/网络管理者代表用户容易地提供,而一般不用修改网络 的特定PBX或者通信特征服务器或者位置服务器。

发明内容
本发明实施例为用户尤其是SIP用户提供了使能联系解析策略或者算法的机制。 很多企业允许SIP用户在定位服务器上将针对每个设备或者网络元件的其偏好注册为简 单的q值。在SIP中,定位服务器的职责是根据用户策略来裁决向每个已注册的联系人发 送SIP请求。这通常通过对实现用户策略的静态算法内的q值进行评估来完成。几个常用 的策略包括顺序分叉(forking)(依次联系每个设备)、并行分叉(同时联系所有设备并允 许最先响应的设备获取该联系)和负荷平衡。本发明实施例允许网络管理者对网络用户 “热部署”新的算法选择,并允许用户选择并且可选地个性化在企业网络中可用的任何已部 署的联系解析策略或者算法。更详细地,本发明实施例提供了允许用户查找和利用网络中 已经适当部署的可插入联系解析算法(串行分叉、并行分叉、智能负荷平衡、基于呼叫者身 份的可变响铃等)的机制。时常地,可插入的联系解析算法是由管理者或者具有管理者权 限的一些其他用户来配置的。然而,本发明实施例并不局限于此,也可以允许非管理者用户 为个人使用和/或其他用户使用的目的来开发和部署可插入的联系解析算法。也可以允许选择使用可插入的联系解析算法的任何用户在采用时改进和定制化这种联系解析算法。包括联系解析算法的扩展模块可结合表条目来使用,该表条目显示了在接收到针 对该用户的呼入联系时要使用哪个联系解析算法(CRA)(即应当引用哪个扩展模块)。扩展模块类似于SIP小服务程序(servlet),因为扩展模块是可以单独地被部署 和取消部署的自包含的jar文件。SIP小服务程序与其他类型的小服务程序非常相似,因为 它们增强了将其加载以支持SIP功能的接口。另一种类型的小服务程序的实例是http小 服务程序,其是运行于web服务器或者应用服务器上的Java应用并提供服务器侧的处理, 通常以访问数据库或者执行电子商务处理。其是针对用C和C++编写的CGI脚本、活动服 务页(ASP)和专用插件程序的基于Java的替换。小服务程序类似于CGI概念,但是不使用 独立的进程,而将消息传递到在服务器内部的虚拟机上运行的类。很多小服务程序使用特定的编程语言(例如Java)编写,这允许它们在服务器和 操作系统之间移植。虽然Java是可以用于创建小服务程序或者扩展模块的编程语言的一 个实例,但是本领域技术人员将理解,本发明实施例并不局限于此。更详细地,本发明实施 例构想了以允许扩展模块在服务器和/或操作系统之间移植的任何类型的编程语言来创 建扩展模块。本发明实施例还构想了能够在服务器(例如企业服务器,尤其是SIP服务器) 上的虚拟机内部运行的扩展模块。然而不象SIP小服务程序,扩展模块是可热部署的。它们允许运行时升级而没有 服务损失。至少根据本发明某些实施例,扩展模块可以用于SIP对话适配(adaptation), 以修改在接收到进入联系时特定用户获得的联系解析的形式。更详细地,各个对话适配逻 辑可以被实现为扩展模块而不是用于每个适配器的小服务程序。除了扩展模块的热交换可 用性之外,对扩展模块的使用允许更容易的管理并共享共同对话适配逻辑。扩展模块和传 统SIP小服务程序之间的另一个区别是与仅采取SIP小服务程序接口的SIP小服务程序 不同,扩展模块可以定义很多接口来呈现其服务。而且,至少根据本发明某些实施例,扩展模块用于呈现可以由小服务程序、应用路 由器、和/或其他SIP应用访问的服务。在某些实施例中,扩展模块被绑定到在部署期间定 义(通常由系统管理者定义)的唯一短ID。扩展模块还可以定义呈现其服务的接口。扩 展API可以在需要时通过扩展模块的短ID来辅助检索扩展模块。因为扩展模块是可部署 的自包含jar,所以扩展模块的配置信息与实现扩展模块的类文件一起包含在jar文件中。 配置信息可以以与小服务程序类似的方式被定义在部署XML文件中。运行时,每个远程方与被实现为服务主机扩展模块的呼入和呼出对话适配逻辑相 关联。需要对话适配(例如联系解析)的任何服务将通过其扩展模块标识符(即分配给扩 展模块的唯一短ID)来调用适配模块。除了示出在接收到联系解析请求时要使用哪个CRA的表条目以外,该扩展模块也 被使用。根据本发明至少某些实施例,该表包含用户相关的配置数据和动态数据。在该表 中,用户可以被允许定义他们个人与所部署的CRA之间的关联,该CRA是每当接收到针对他 们的联系时他们想使用的CRA。更详细地,特定用户的表可以包括将应用特定CRA的扩展模 块的标识符。可以有与这种扩展关联的以用户为中心的数据,该扩展可以由用户按照需要 通过用于设置用户选项的单独网页界面进行配置和重新配置。更详细地,一旦表中发生了 用户数据配置或者重新配置,则活动CRA的有效性检验可以在有知识的端点进行的注册或者重新注册期间发生。当接收到联系解析请求时,调用扩展模块。因此,联系解析是可插入的,不需要内 置到SIP定位服务器自身内部。而且,多个用户可以引用同一扩展模块,并使用与他们自己 的个性化用户设置相同的或者类似的CRA。根据本发明至少某些实施例,提供了一种通信方法,主要包括在第一服务器处接收针对第一用户的联系解析请求;识别第一用户的联系解析偏好;确定第一用户的联系解析偏好利用了扩展模块作为联系解析的一部分;以及由第一服务器调用扩展模块,并针对该请求将用户偏好选项应用于该扩展模块。在此所用的术语“计算机可读媒介”指参与向处理器提供用于执行的指令的任何 有形的存储和/或传输媒介。这种媒介可以采取很多形式,包括但不局限于非易失性媒介、 易失性媒介和传输媒介。非易失性媒介例如包括NVRAM,或者磁盘或光盘。易失性媒介包括 动态存储器,例如主存储器。计算机可读媒介的常用形式例如包括软盘、软碟、硬盘、磁带、 或任何其他磁性媒介、磁光媒介、CD-ROM、任何其他光媒介、穿孔卡片、纸带、具有孔图案的 任何其他物理媒介、RAM、PROM、EPROM、FLASH-EPR0M、固态媒介例如存储卡、任何其他存储芯 片或者存储盒、下文中所述的载波、或者计算机可以读取的任何其他媒介。电子邮件的数字 文件附件或者其他自包含信息归档或者归档集被认为是与有形存储媒介等同的分布式媒 介。当计算机可读媒介配置为数据库时,可以理解,数据库可以是任何类型的数据库,例如 关系型、分层的、面向对象的等等。因此,考虑本发明包括有形存储媒介或者分布式媒介和 现有技术认可的等同体和后续媒介,其中存储有本发明的软件应用。此处使用的术语“确定”、“计算”和“运算”以及其变形可互换使用,并且包括任何 类型的方法、过程、数学运算或者技术。此处使用的术语“模块”、“代理”或“工具”是指任何已知的或者以后开发的硬件、 软件、固件、人工智能、模糊逻辑、或者能够执行与该元件相关的功能的硬件和软件的结合。 还有,虽然本发明按照示意性实施例来描述,但是应当理解,本发明的各个方面可以单独请 求保护。前面是本发明实施例的概述说明,以提供对本发明某些方面的理解。这个概述既 不是对本发明及其各个实施例的详尽概括也不是穷举式概括。。既不希望标识本发明的关 键或者重要元素也不是说明本发明的范围,而是以简化的形式表示本发明选择的概念,来 作为对下面更详细描述的介绍。可以理解的是,本发明其他实施例可以单独地或者组合地 利用上述或者下面详细说明的一个或者多个特征。


图1是示出根据本发明至少一些实施例的通信系统的框图;图2是示出根据本发明至少一些实施例的联系解析系统的元件的框图;图3是示出根据本发明至少一些实施例的允许用户定义他们自己的(一个或多 个)联系解析算法的方法的流程图;以及图4是示出根据本发明至少一些实施例的联系解析方法的流程图。
具体实施例方式下面结合示意性通信系统说明本发明。虽然适合用于例如利用(一个或多个)服 务器和/或(一个或多个)数据库的系统,但是本发明并不局限于用于任何特定类型的通 信系统或者系统元件的配置。本领域技术人员将理解,所公开的技术可以用于期望允许用 户个性化他们的联系解析算法的任何通信应用,尤其是在SIP环境中。还将结合分析软件、模块、和相关的分析硬件来说明本发明的示意性系统和方法。 然而,为了避免不必要的混淆本发明,下面的说明省略了可以是以框图形式示出的、众所周 知的或者以其它方式概述的已知的结构、组件和设备。为了说明的目的,阐明了多个细节以提供对本发明全面的理解。然而应当清楚,本 发明可以以除了在此阐明的特定细节之外的多种方式实现。首先参考图1,将根据本发明至少一些实施例说明示意性通信系统100。更详细 地,通信系统100包括适合于将一个或者多个通信设备108连接到用户注册服务器112的 通信网络104。通信网络104可以是任何类型的已知通信媒介或者通信媒介的集合,并且可以使 用任何类型的协议以在端点之间传输消息。通信网络104可以包括有线的和/或无线通信 技术。互联网是通信网络104的一个实例,该互联网构成了 IP网络,IP网络包括位于世界 各地的很多计算机和其他通信设备,它们通过很多电话系统和其他装置连接起来。通信网 络104的其他实例包括但不限于标准普通老式电话系统(POTS)、综合业务数字网(ISDN)、 公共交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、会话发起协议(SIP)网、任何类型的 企业网络、以及现有技术已知的任何类型的分组交换或者电路交换网络。另外,可以理解, 通信网络104不必局限于任何一个网络类型,相反可以包括多种不同的网络和/或网络类 型。通信设备108可以是任何类型的已知通信或处理设备,例如个人计算机、膝上型 电脑、个人数字助理(PDA)、蜂窝电话、智能电话、电话、模拟电话、DCP电话、或者它们的组 合。单个通信设备108可以由单个用户控制或与单个用户关联,或者适合于由很多用户使 用(例如企业通信设备,其允许任何企业用户在呈现了有效的用户名和密码时利用该通信 设备)。每个通信设备108可以与同一个用户关联。换句话说,通信设备108可以属于单 个用户,并可以对应于不同类型的通信设备。作为一个实例,用户可以具有四个通信设备 108,其中每一个分别对应于单个用户的个人电话、工作电话、个人计算机、和电子邮件检索 设备。可选地,每个通信设备108可以由(例如关联到)不同用户拥有和操作。通常,通信设备108可以适合于支持与其他通信设备108的视频、音频、文本、和/ 或数据通信。由通信设备108用来与其他通信设备108通信的媒介类型可以根据通信设备 108上可用的通信应用来决定。用户注册服务器112适用于接收和存储操作一个或者多个通信设备108的多个 用户的用户偏好。更详细地,可以允许用户登陆到用户注册服务器112,并且定义他们想应 用到该用户参与的任何通信会话的某些偏好(即用户喜好)。可以全局地定义针对用户的 这些用户偏好(例如单组用户偏好可以一致地应用于任何网络和与该用户关联的任何通 信设备)。可选地,可以允许用户为不同的网络或者使用案例定义不同的用户偏好(例如用户可以具有不同的家庭生活偏好和工作偏好)。还可以允许用户为他们的每个通信设备 108定义不同的用户偏好。例如,用户可以为他们的移动通信设备108定义第一组联系解析 偏好(例如第一 CRA),为他们的工作通信设备定义不同的第二组联系解析偏好(例如第二 CRA),并且为他们的家庭通信设备定义不同的第三组联系解析偏好(例如第三CRA)。所有 这些不同的用户偏好可以与用户注册服务器112上的单组用户偏好116关联起来存储。例 如,链接或者形成类似的CRA层级结构是有用的,其中,例如用户的一些设备的子集是利用 并行分叉来处理的,而其他设备是利用串行分叉来处理的。在这样的实施例中,可以存在处 理CRA之间的链接的某些更高级的协调者。此外,逐设备地,算法可能对象一天中的时间、 星期中的日期、设备状态等事件敏感,以改变特定于设备的联系解析行为。可选地,单组联系解析偏好(即单个CRA)可以用于在与用户关联的所有通信设 备108之间解析该用户的联系。换句话说,单个CRA可以用于确定是否应当提醒特定通 信设备108,应当何时提醒特定通信设备108,以及应当如何提醒特定通信设备108。可 以根据本发明至少某些实施例应用的这种CRA的实例在授予Brimson等的美国专利申请 No. 12/241, 368中有进一步详细的描述,其全部内容在此通过引用结合于此。根据本发明至少某些实施例,可以允许用户通过他们的通信设备108在用户注册 服务器112上更新和/或改变他们的用户偏好116。换句话说,用户可以连接到用户注册服 务器112来配置他们的用户偏好116,通常通过某些类型的网页用户选项界面来配置。根据 本发明至少某些实施例,可插入的(Pluggable)CRA可以适用于支持网页选项界面以供用 户设置他们的用户偏好116。这些用户选项可以存储于本地数据存储设施中,例如企业数据 库,并/或作为用户偏好116存储于用户注册服务器112中。这些偏好116然后可以被分 发到在呼叫处理的联系解析阶段期间调用用户偏好116的一个或多个网络设备。根据本发明至少某些实施例,用户偏好116包括定义优选CRA(用于一个或者多个 通信设备108)的参数。当用户更新他们的用户偏好116时,用户偏好的改变可以在整个网 络中被分发以到达使用这些偏好的任何设备。通常,网络中只有非常少量的设备(例如两 个或三个)真正需要知道用户的CRA选择。然而,本发明实施例并不局限于此,用户偏好 116的改变可以被分发到任意数量的网络设备。如这里将详细说明的,这些偏好可以存储在 用户配置的表中。本发明实施例构想了如下情形,其中,可以在网络运行的同时将新的CRA部署到 网络中,而不会对网络的运行产生不利影响(即管理者可以以扩展模块的形式将可热插入 的CRA加入到网络中)。换句话说,允许网络管理者将新的CRA加入到网络或者单个网络 设备,该CRA可以由该设备应用于随后接收的联系。根据本发明至少某些实施例,当这样的 CRA加入到网络中时,可以向网络中一个或者多个用户通知该更新。响应于这个通知,可以 允许用户改变他们的用户偏好116 (通过响应该通知直接地或者通过分别访问用户注册服 务器112间接地)来使用新加的CRA。同样,可以允许用户通过任何类型的已知的或者以后 开发的网页选项界面来访问和更新他们的用户偏好116。这个过程的细节将在下面进一步 详细说明。可选择的,或者另外,为了允许用户更新他们的用户偏好116,还可以允许网络管 理者更新用户偏好116。因此,改变用户偏好116以调用新加的CRA可以由用户和/或网络 管理者来执行。
而且,用户偏好116可以是用密码或者类似类型的认证凭证安全写入的。因此,例 如,不提供恰当的密码作为用户名的话,可以不允许用户或者管理者改变用户偏好116。还 预想了限制用户和/或管理者更新用户偏好116的能力的其它可选项,并且这些其它可选 项可以根据网络安全需求而变化。现在参考图2,将根据本发明至少某些实施例说明示意性SIP通信系统200。系统 200可以包括将一个或者多个呼叫设备208 (其可以对应或者不对应用户通信设备108)连 接到呼叫路由机构212的通信网络204。通信网络204可以与通信网络104相同或者不同。例如,网络104、204都可以对 应于企业网络。可选地,通信网络104可以对应于因特网而通信网络204对应于企业网或 者具有SIP功能的网络。无论通信网络204的配置如何,都允许呼叫者通过呼叫设备发起到被呼叫者 (callee)的联系。根据本发明至少某些实施例,被呼叫者可以对应于具有多个与之关联的 SIP设备232a-232N的SIP用户。本领域技术人员可以理解,SIP设备232a_232N中的一个 或者多个也可以对应于图1中所示的用户通信设备108中的一个。当呼叫者发起指向被呼叫者的联系时,联系解析请求被发送到适合于根据被呼叫 者的联系解析偏好来执行联系解析的呼叫路由机构212,例如定位服务器。被呼叫者的偏好 可以定义于用户配置表216中,其可以与被叫用户的用户偏好116相同或者不同。因此,呼 叫路由机构212可以与用户注册服务器112相同。可选地,在用户注册服务器112上对用 户偏好116的更新可以被转发给呼叫路由机构212,在此它们被合并到用户配置表216中。 根据本发明至少某些实施例,用户配置表216包括被映射到每个用户的联系解析偏好的用 户AOR列表。这些偏好可以包括指示符,该指示符标识将要应用于去往该用户的进入联系 的特定CRA。因此,除了包括用户配置表216之外,呼叫路由机构212还可以包括动态表220,一 个或者多个旧CRA 224,和一个或者多个扩展模块228 (或者新CRA)。旧CRA 224包括在呼 叫路由机构212升级之前(即在呼叫路由机构212上部署扩展模块228之前)存在于呼叫 路由机构212中的任何类型的CRA。扩展模块228可以包括可以由任何用户使用的新CRA,如果该用户更新用户配置 表216以指向并调用该扩展模块的话。更详细地,当扩展模块228被部署时,可以向其分配 唯一 ID。如果用户期望利用与该扩展模块228关联的CRA,那么用户就更新用户配置表216 中的他们的信息以包括该扩展模块的唯一 ID。因此,当呼叫路由机构212接收到针对去往 该用户的联系的联系解析请求时,呼叫路由机构212能够参考用户配置表216,确定用户想 调用扩展模块228的CRA而不是旧CRA 224,并且然后利用扩展模块228来处理接收到的联 系解析请求。在处理期间,扩展模块228的CRA可能需要确定哪个SIP设备232适合于将联系 路由给它。这个决定可以基于用户是否将特定SIP设备232注册到呼叫路由机构212。换 句话说,一些联系路由决定可以基于SIP设备232是否开启并注册到呼叫路由机构212。与 SIP设备232的活动相关的这个动态注册信息可以存储在动态表220中。因此,在处理过程 期间,扩展模块228的CRA可以适用于参考动态表220来确定应当将联系路由到何处。动态表220中的信息并不总是基于SIP设备232是否注册到呼叫路由机构212的,虽然它可以部分地基于这个考虑。相反,可以根据检测到的特定用户的存在活动性、一天中 的时间、一周中的日期、呼叫处理负荷、和可由任何CRA(即旧CRA 224或者新CRA)考虑的 其它动态参数来改变动态表220中的信息。根据本发明至少某些实施例,动态表220中的 信息可以响应于SIP设备232的状态改变(例如SIP设备232当前是否在SIP会话中被调 用,SIP设备当前使用的什么类型的通信媒介等)。这些变化可以由SIP设备232通过任何 类型的已知信令或者SIP消息报告给呼叫路由机构212。作为一个实例,SIP设备232可以 通过向呼叫路由机构212发送NOTIFY(通知)或者PUBLISH(公告)消息来向呼叫路由机 构212更新所述SIP设备232的状态信息。另外,动态表220可以响应于其他参数,例如另一个用户或者另一个用户设备的 存在状态。因此,特定用户的CRA算法可以包含允许其他用户的设备被包含到设备组中的 逻辑,该设备组作为特定用户的INVITE请求的目标参与到CRA算法中。换句话说,当尝试 到达第一不同的设备时,CRA算法可以决定提醒第二用户设备。例如,第一用户可以定义他 们的CRA算法以在特定日期的特定时间内(例如,为了联络到我,尝试在星期五的2点到3 点之间提醒第二用户的工作电话)提醒第二用户设备。如果第一用户知道他们将在特定时 间与第二用户会面,这就可以完成。而且,这种信息可以从存储在日程表应用等中的用户的 电子日程表中自动检索出来。现在参考图3,将根据本发明至少某些实施例说明更新用户联系解析偏好的示 意性方法。该方法开始于将新的扩展模块228部署到网络设备上,网络设备例如是呼叫 路由机构212(步骤304)。根据本发明至少某些实施例,扩展模块228是可热部署(hot employable)的,这意味着扩展模块228的代码可以加入到网络设备中,同时网络设备 仍然在运行并且同时该网络设备连接到其他网络设备。因此,不需要设备的停运时间 (downtime)以将扩展模块228部署到网络设备上。这在非常大的网络中尤其有用,因为如 果部署新的CRA需要网络停运时间,则整个网络运营会受到一个网络设备的停运时间的不 利影响,或者需要长时间来更新所有网络设备,由此延长了网络停运时间量并增加了产率 损失。本发明实施例避免了这样的负面影响。本领域技术人员可以理解,新CRA的部署通 常是由网络管理者来执行的,但也可以由非管理用户来执行。该方法继续以向一个或者多个用户通知新部署的扩展模块228(步骤308)。这个 通知可以由于新扩展模块228被部署的事实而自动发生。可选地,通知可以由网络管理者 在新扩展模块228被部署之后发起。而且,用户通知的范围(即被通知该更新的用户数量) 可以根据网络安全方面的考虑、用户是否订阅了接收这样的通知等而变化。而且,通知可以 以电子格式到达(例如通过电子邮件、SMS消息、即时消息(IM)等)或者以纸件格式到达。一旦接收到已经部署了新扩展模块228的通知,用户然后可以更新他们的偏好 116来包括进对新部署的扩展模块228的利用,尤其是对新扩展模块228的CRA的利用(步 骤312)。这种更新可以通过直接响应于该通知而被发起,或者用户可以通过网页选项界面 单独地与用户注册服务器112通信来更新他们的偏好116。更新用户偏好116使得呼叫路由机构212中的用户配置表216也被更新(步骤 316)。更详细地,当用户更新他们的联系解析偏好时,用户配置表216中针对该特定用户 的条目也被更新以反映出新的偏好。甚至更详细地,用户配置表中的条目可以包括新加入 的扩展模块228的标识符。如果用户直接响应于该通知,则该标识符可以自动地被输入表216,或者可能需要用户在更新他们的用户偏好116时手工输入该标识符。一旦用户配置表 216已经更新,任何后续接收的去往该用户的联系将调用新加入的扩展模块228。本领域技术人员可以理解,步骤312和316可以结合到一个步骤中,尤其是如果用 户直接更新用户配置表216而不是通过中间用户注册服务器112的话。然而,在具有很多 呼叫路由机构212的较大网络中,可能期望具有单个注册服务器112作为针对用户的单个 更新点。在这样的配置中,单个注册服务器112可以作为关于用户的偏好的与用户的接口, 然后注册服务器112可以向网络中其他呼叫路由机构212通知用户偏好的任何改变。现在参考图4,将根据本发明至少某些实施例说明处理进入联系解析请求的示意 性方法。该方法开始于呼叫路由机构212接收到联系解析请求(步骤404)。联系解析请求 可以包括被呼叫者的标识符。这个信息可以包含在联系解析请求的一个或者多个头部中。 尤其是联系解析请求与SIP INVITE消息关联时,消息和联系解析请求可以通过SIP头部中 的AOR来包括被呼叫者的标识。然而可以理解的是,进入联系解析请求并不一定需要以SIP 消息的形式。而是,进入联系解析请求可以对应于由模拟电话等发出的定期呼入呼叫,其通 过用户的AOR来标识特定通信设备而不是特定用户。可选地,呼叫路由机构212可以根据 用户的通信设备中的一个已经由该联系识别、以及标识信息已经包括在联系解析请求中的 事实来确定呼入联系解析请求是针对特定用户的。一旦识别了被呼叫者,则该方法继续,呼叫路由机构212参考用户配置表216来识 别该用户的联系解析偏好(步骤408)。更详细地,呼叫路由机构212适用于识别表216中 的用户的A0R,并且确定将要为该用户调用哪个CRA(步骤412)。CRA可以由与该CRA关联 的唯一 ID来标识。根据本发明至少某些实施例,标识出的CRA可以对应于通过扩展模块 228新加入到呼叫路由机构212的CRA。—旦得到CRA的标识符(或者更详细地扩展模块228的唯一 ID),则呼叫路由机 构212调用识别出的CRA,并将联系传送到该CRA(步骤416)。一旦CRA接收到该联系,则 CRA参考动态表220 (如果需要的话)来确定哪个(哪些)SIP设备232适合于将联系路由 给它,以及如何向这个(这些)设备提醒该联系。SIP设备232的适合性可以基于被调用的 CRA中定义的规则,以及SIP设备232是否注册到呼叫路由机构212。CRA的规则可以定义 最初提醒一个SIP设备232,并且如果用户没有在该SIP设备232上应答该联系,那么可以 提醒另一个SIP设备232 (串行分叉)。可选地,CRA的规则可以定义应当同时提醒两个或 者多个SIP设备232,并且首先响应该提醒的设备将获得该联系(并行分叉)。其他类型的 CRA也可以包括在扩展模块228中,并且本发明的实施例并不局限于在此所述的CRA实例。虽然上述流程图是关于特定事件顺序进行讨论的,然而应当理解,在对本发明的 操作没有实质性影响的情况下,可以对这个顺序进行改变。另外,事件的准确顺序不一定如 在示意性实施例中阐述的那样来进行。此处说明的示意性技术并不局限于详细说明的实施 例,而是可以应用于其他示意性实施例,并且每个所述特征可单独地分别请求保护。本发明的系统、方法和协议可以在除了所述通信设备之外或者替换所述通信设备 的专用计算机,编程微处理器或者微控制器和(一个或多个)外围集成电路元件,ASIC或 者其他集成电路、数字信号处理器、硬连线电子或者逻辑电路例如分立元件电路、可编程逻 辑器件例如PLD、PLA、FPGA、PAL、通信设备例如服务器、个人计算机、任何类似装置等上来实 现。通常,能够实现状态机(其进而能够实现这里所示的方法)的任何设备可以用于实现根据本发明的各种通信方法、协议和技术。而且,公开的方法可以容易地用利用对象的软件或者面向对象的软件开发环境来 实现,软件和开发环境提供了可用于不同的计算机或者工作站平台的可移植的源代码。可 选地,公开的系统可以利用标准逻辑电路或者VLSI设计而部分地或者全部地由硬件实现。 是软件还是硬件用于实现根据本发明的该系统依赖于使用的系统、特定功能、和特定软件 或硬件系统或微处理器或微计算机系统的速度和/或效率需求。在此说明的分析系统、方 法和协议可以利用任何已知的或者以后由本领域技术人员根据在此提供的功能描述以及 通信和计算机技术的常用基本知识开发出的系统或者结构、设备和/或软件来容易地以硬 件和/或软件实现。而且,公开的方法可以容易地以软件来实现,该软件可以存储在存储媒介上、在具 有控制器和存储器的协作的编程通用计算机、专用计算机、微处理器等上执行。在这些实例 中,本发明的系统和方法可以实现为嵌入到个人计算机的程序例如小应用程序、JAVA ,或 者CGI脚本,实现为驻存于服务器或者计算机工作站的源代码,实现为嵌入到专用通信系 统或者系统组件的例程等等。系统还可以通过将系统和/或方法物理地结合到软件和/或 硬件系统中来实现,例如通信设备或者系统的硬件和软件系统。因此很清楚,根据本发明实施例已经提供了用于创建和利用可插入联系解析算法 的系统、装置和方法。虽然结合一些实施例描述了本发明,很明显对本领域技术人员来说, 很多变更、修改和变化是可以的或者显而易见的。因此,期望包含在本发明的精神和范围之 内的所有这些变更、修改、等同体和变化。
权利要求
一种方法,包括在第一服务器处接收针对第一用户的联系解析请求;识别所述第一用户的联系解析偏好;确定所述第一用户的联系解析偏好利用了扩展模块作为联系解析的一部分;以及由所述第一服务器调用该扩展模块,并针对该请求将用户偏好选项应用于该扩展模块。
2.一种服务器,包括表,所述表包括用户联系解析偏好;以及扩展模块,其中,该服务器适合于接收与去往第一用户的联系有关的联系解析请求,并 针对该第一用户的联系解析偏好来参考所述表,然后,根据所述第一用户的联系解析偏好 来调用所述扩展模块以将所述第一用户的联系解析偏好应用于所述联系解析请求。
3.根据权利要求1或2的发明,其中所述第一用户的联系解析偏好被标识在存储于第 一服务器上的用户配置表中。
4.根据权利要求3的发明,其中,所述联系解析表包括可以由用户通过用户选项界面 来配置并重新配置的以用户为中心的数据。
5.根据权利要求3的发明,进一步包括将第一 SIP设备注册到该第一服务器上,其中该第一 SIP设备与该第一用户相关联;更新动态表来指示该第一 SIP设备已经注册到该第一服务器;将第二 SIP设备注册到该第一服务器上,其中该第二 SIP设备也与该第一用户相关联;以及更新所述动态表来指示该第二 SIP设备已经注册到该第一服务器,其中,该扩展模块 在处理该联系解析请求期间参考该动态表来确定是否在联系解析期间提醒所述第一 SIP 设备和第二 SIP设备中的一个或多个。
6.根据权利要求3的发明,其中,该用户配置表包括该第一用户的记录地址与该第一 用户的联系解析偏好之间的映射。
7.根据权利要求1或2的发明,其中,调用该扩展模块包括确定与该扩展模块关联的 标识符,并且利用所确定的标识符来弓I用该扩展模块。
8.根据权利要求1或2的发明,其中,该扩展模块是可热部署的,以使得在该第一服务 器在运行中并连接到通信网络时,该扩展模块被部署在该第一服务器上,其中该第一服务 器在部署之前不具有该扩展模块,该第一用户被通知该扩展模块的部署。
9.根据权利要求1或2的发明,其中该扩展模块确定以下所述的一个或者多个(i)是 否使该第一用户的SIP设备响铃;(ii)何时使该第一用户的SIP设备响铃;(iii)如何使该 第一用户的SIP设备响铃;(iv)是否使该第二用户的SIP设备响铃;(V)何时使该第二用户 的SIP设备响铃;以及(Vi)如何使该第二用户的SIP设备响铃。
10.一种利用处理器可执行指令进行了编码的计算机可读媒介,当所述指令被执行时 可操作来执行权利要求1的方法。
全文摘要
本发明涉及可插入的联系解析,提供了方法、设备和系统用于采用可插入的扩展并将其应用于唯一一组用户群体以处理他们的偏好和以用户为中心的提醒关系。更详细地,可插入的扩展允许用户将他们的个性化联系解析算法由服务器应用于由他们发起的或者发给他们的呼叫。联系解析算法可插入到任何服务器,并且不需要内置到服务器自身中。而且,多个用户可以参考和使用同一可插入联系解析算法。
文档编号H04L29/06GK101931619SQ20101018085
公开日2010年12月29日 申请日期2010年3月31日 优先权日2009年6月19日
发明者戈登·R·布鲁森, 缇伯·卢卡克, 钱德拉·拉维帕特 申请人:阿瓦雅公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1