增强计算机电话集成和交互的系统和方法

文档序号:7596102阅读:160来源:国知局
专利名称:增强计算机电话集成和交互的系统和方法
技术领域
本发明一般涉及集成计算机电话技术,尤其涉及增强计算机电话集成系统和方法,它允许服务器计算机与电话交换设备和客户机计算机进行接口,以无缝地集成电话和个人计算机的特点来提供丰富的用户控制计算机—电话集成。
背景技术
在现代生活中,个人计算机和电话是两种不可缺少的设备。个人计算机(PC)和电话都提供了瞬时地与世界上实际在任何地方的其它人进行通信的能力。另外,PC用它们处理信息和数据以向用户提供与这一信息和数据的交互的能力改革了现代社会。PC也具有控制其它设备的能力。例如,这一能力允许用户通过用户界面,通常为图形用户界面,远程地控制外围设备。然而,即使PC和电话通常在同一房间中存在,当前没有尝试来提供充分利用这两种设备的长处的该两种设备的有用集成。
已经多次尝试将电话与个人计算机集成,但是在市场上没有成功。这些失败部分地归结于产品设计的问题,包括,例如,较差的用户界面设计、对昂贵的额外的硬件的需求以及不切实际的用户期望。另外,这些产品不允许用户从不同于电话的物理位置的位置上访问该电话。
一个产品示例是MicrosoftPhone,它包括在Microsoft Windows95中。MicrosoftPhone是一种纯软件扬声器电话和应答机器,它允许用户将他们的计算机用作扬声器电话。然而,MicrosoftPhone需要计算机永远处于开机状态(这在Windows95时代是不切实际的期望),并且它是对Windows95的一个昂贵的额外特征,因为它需要额外的硬件。此外,MicrosoftPhone具有有限的功能。
尝试将电话与个人计算机集成的另一产品示例是IBMRealphone。IBMRealphone是根据标准商业电话模型化的电话拨号程序。Realphone界面是显示器上的商业电话图片。然而,一个问题是未合并电话和计算机的有利协同。例如,界面需要用户使用输入设备(如鼠标)来按下屏幕上的电话键区,并拨打期望的电话号码,犹如拨打真实的电话一样。然而,这类界面对用户来说较难、费力且耗时。
在呼叫中心环境中集成电话和计算机获得了较大的产品成功。例如,呼叫中心环境(如顾客支持和电话销售中心)经常包括提供电话信息的软件应用程序,电话信息如电话队列显示(队列中呼叫者的顺序)、有多少呼叫在等待的显示以及将呼叫路由到代表之处的能力。然而,为顾客服务听众设计了这些软件应用,较少或没有尝试来满足私人用户的需求或提供物理电话和软件界面的用户友好集成。对于呼叫中心听众,优先级是增加呼叫吞吐量并快速分配队列中的呼叫,而用户的体验并非如此。此外,用于呼叫中心环境的电话应用缺少对高质量用户体验苛求的终端用户所需要的功能和控制特征。
因此,需要一种增强的计算机电话集成系统和方法,它启用用户界面来允许用户使用个人计算机无缝地与电话进行交互。增强计算机电话集成系统和方法方便了各种各样的功能,并充分利用了计算机的处理能力来增强电话的能力。此外,增强的计算机电话集成系统和方法提供了个人计算机和电话之间的紧耦合,使得用户不察觉两者之间的任何分界,并方便了个人计算机特征的用户来提供丰富的用户控制计算机—电话集成。

发明内容
此处揭示的本发明包括一种增强的计算机电话集成系统,它方便了专用小交换机和计算机网络上的客户机计算机之间的交互和集成。增强电话(ET)服务器担当运行ET客户机软件的网络上的客户机计算机和处理企业的电话服务的专用小交换机(PBX)之间的代理的角色。一般而言,一个或多个ET客户机向ET服务器注册某一电话分机。一种典型的应用是令用户办公室中的电话与电话分机相连,并且所有的用户计算机都对该分机注册。ET服务器将电话行动请求(如放置电话呼叫)从注册的ET客户机转发到服务该电话分机的PBX上。此外,ET服务器将来自PBX的电话事件(如呼入)转送到所有注册的客户机。ET服务器方便了电话和个人计算机特征之间的无缝集成,以向用户提供丰富的用户控制计算机—电话集成。
ET系统和方法克服了集成PC和电话的现有尝试的缺点。具体地,ET服务器方便了ET客户机上各种各样功能的用户,调节了PC比普通电话显著地具有更强的处理能力和对各种数据的更强的访问的事实。当较大地扩展了电话的能力和功能,这一处理能力和数据访问适用于用户的优点。而且,ET服务器提供了个人计算机和电话之间的紧耦合,使得用户不察觉两者之间的任何分界。这一无缝集成以及增强的功能很大程度上简化并改进了用户体验。
ET系统和方法令用户能够位于不同于电话的物理位置,而仍能够从连接至ET服务器的ET客户机控制该电话。唯一的需求是ET客户机和ET服务器是网络连接的。由此,只要用户具有对网络的访问,他就能够实际上从任何地方控制该电话。设计ET系统和方法来控制并管理单个或多个电话,包括蜂窝电话、无线电话和台式电话。此外,这些电话可以位于不同的位置,如移动电话、家庭电话和工作电话。


参考示出本发明的各方面的以下描述和附图,可以进一步理解本发明。结合附图阅读以下本发明的详细描述,可以清楚其它特征和优点,附图作为示例示出了本发明的原理。
现在参考附图,其中,相同的标号表示贯穿附图的对应部分图1示出了可驻留ET系统和方法的合适计算系统环境的一个示例。
图2所示是计算和电话环境之间的一般布置的框图。
图3是企业环境中ET系统和方法的典型实现的综览,并仅为说明目的示出。
图4A所示是ET服务器将PBX数据翻译成ET客户机所理解的较高级数据的框图。
图4B所示是ET服务器将ET客户机所理解的较高级数据翻译成PBX所理解的较低级PBX数据的框图。
图5是可以包含在交换数据库中的PBX专用信息的具体实现。
图6所示是ET方法的综览的一般流程图。
图7所示是电话分机控制过程的综览的一般流程图。
图8所示是ET客户机通知过程的综览的一般流程图。
具体实施例方式
在本发明的以下描述中,对附图作出引用,附图形成了本发明的一部分,并作为说明可实践本发明的一个具体示例而示出。可以理解,在不脱离本发明的范围的情况下可以使用其它实施例并作出结构上的变化。
I.介绍尽管电话和个人计算机是大多数人的日常生活的主要部分,两者大部分彼此不连接。有某些将这两种设备连接起来以在诸如电话销售和顾客服务中心的范围中使用的专门应用程序存在。然而,用于个人和家庭的应用程序并非容易地可用。本发明描述的增强电话(ET)系统和方法方便了运行在客户机计算机上的丰富的用户界面的使用。具体地,ET系统和方法通过与分机关联的电话事件的客户机计算机方便了电话和通知的客户机计算机控制。这一功能将计算机—电话带到了个人计算机桌面,以向用户提供集成计算机和电话特征用于一般使用的丰富的交互体验。
II.增强电话(ET)环境设计增强电话(ET)系统和方法以在组合的电信和计算环境中操作。具体地,ET系统和方法在计算装置,较佳地为服务器计算装置上实现。运行在服务器计算装置上的ET系统和方法与运行在客户机计算装置上的所有ET的实例在网络上进行通信,并且与专用小交换机(PBX)进行通信。ET系统和方法担当ET客户机和PBX之间的代理的角色。例如,ET系统和方法将来自客户机的请求转发到PBX,并且也将来自PBX的电话事件转送到适当的客户机。
以下讨论将提供可实现ET系统和方法的合适计算环境的简要综述。图1示出了可驻留ET系统和方法的合适计算系统环境100。计算系统环境100仅为合适的计算环境的一个示例,并非建议对本发明的使用或功能的范围的局限。也不应将计算环境100解释为对示例性操作环境100中示出的任一组件或其组合具有依赖或需求。
ET系统和方法可用于众多其它通用或专用计算系统环境或配置。适合使用ET系统和方法的众所周知的计算系统、环境和/或配置包括但不限于个人计算机、服务器计算机、手持式计算机、膝上或移动计算机或诸如蜂窝电话的通信装置、PDA、合并蜂窝电话和PDA、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、小型机、大型机、包括任一上述系统或设备的分布式计算环境等等。
ET系统和方法可在计算机可执行指令的一般上下文环境中描述,计算机可执行指令如由计算机执行的程序模块。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,执行特定的任务或实现特定的抽象数据类型。ET系统和方法也可以在分布式计算环境中实践,其中,任务由通过通信网络连接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和远程计算机存储媒质中,包括存储器存储设备。参考图1,用于实现ET系统和方法的示例性系统包括计算机110形式的通用计算装置。
计算机110的组件可包括但不限于,处理单元120、系统存储器130以及将包括系统存储器的各类系统组件耦合至处理单元120的系统总线121。系统总线121可以是若干种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线结构的本地总线。作为示例而非局限,这类结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子标准协会(VESA)本地总线以及外围部件互连(PCI)总线,也称为Mezzanine总线。
计算机110通常包括各种计算机可读媒质。计算机可读媒质可以是可由计算机110访问的任一可用媒质,包括易失和非易失媒质、可移动和不可移动媒质。作为示例而非局限,计算机可读媒质包括计算机存储媒质和通信媒质。计算机存储媒质包括以用于储存信息的任一方法或技术实现的易失和非易失,可移动和不可移动媒质,信息如计算机可读指令、数据结构、程序模块或其它数据。
计算机存储媒质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机110访问的任一其它媒质。通信媒质通常在诸如载波或其它传输机制的已调制数据信号中包含计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送媒质。
注意,术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信媒质包括有线媒质,如有线网络或直接连线连接,以及无线媒质,如声学、RF、红外和其它无线媒质。上述任一的组合也应当包括在计算机可读媒质的范围之内。
系统存储器130包括以易失和/或非易失存储器形式的计算机存储媒质,如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包括如在启动时帮助在计算机110内的元件之间传输信息的基本例程,通常储存在ROM 131中。RAM 132通常包含处理单元120立即可访问或者当前正在操作的数据和/或程序模块。作为示例而非局限,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。计算机110也可包括其它可移动/不可移动、易失/非易失计算机存储媒质。仅作示例,图1示出了对不可移动、非易失磁媒质进行读写的硬盘驱动器141、对可移动、非易失磁盘152进行读写的磁盘驱动器151以及对可移动、非易失光盘156,如CD ROM或其它光媒质进行读写的光盘驱动器155。
可以在示例性操作环境中使用的其它可移动/不可移动、易失/非易失计算机存储媒质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器141通常通过不可移动存储器接口,如接口140连接到系统总线121,磁盘驱动器151和光盘驱动器155通常通过可移动存储器接口,如接口150连接到系统总线121。
图1讨论并示出的驱动器及其关联的计算机存储媒质为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1中,示出硬盘驱动器141储存操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以与它们不同。这里对操作系统144、应用程序145、其它程序模块146和程序数据147给予不同的标号来说明至少它们是不同的副本。用户可以通过输入设备,如键盘162和指向设备161(通常指鼠标、轨迹球或触摸板)向计算机110输入命令和信息。
其它输入设备(未示出)可包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪、无线电接收器或电视或广播视频接收器等等。这些和其它输入设备通常通过耦合至系统总线121的用户输入接口160连接至处理单元120,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器191或其它类型的显示设备也通过接口,如视频接口190连接至系统总线121。除监视器191之外,计算机也包括其它外围输出设备,如扬声器197和打印机196,通过输出外围接口195连接。
计算机110可以在使用到一个或多个远程计算机,如远程计算机180的逻辑连接的网络化环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它公用网络节点,并通常包括许多或所有上述与计算机110相关的元件,尽管在图1中仅示出了存储器存储设备181。图1描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可包括其它网络。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接至LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或其它装置,用于通过WAN 173,如因特网建立通信。调制解调器172可以是内置或外置的,通过用户输入接口160或其它合适的机制连接至系统总线121。在网络化环境中,描述的与计算机110相关的程序模块或其部分可储存在远程存储器存储设备中。作为实例而非局限,图1示出了远程应用程序185驻留在存储器设备181中。
可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它装置。
还设计了ET系统和方法在电信环境中操作。图2所示是计算和电话环境之间的一般布置的总框图。图2示出了结合进计算和电话环境中的ET系统和方法的一种实现。在该实现中,ET系统和方法被实现为ET服务器200。ET服务器200与至少一个ET客户机210和至少一个专用小交换机(PBX)220进行双向通信。ET客户机210通过网络230与ET服务器200进行通信。电话设备240连接至PBX 220,PBX 220与ET服务器200进行双向通信。用户250通常在手边或附近具有电话设备240和ET客户机210。例如,用户250通常在办公室中同时具有电话设备240和ET客户机210。事实上,ET服务器200担当ET客户机210、电话设备240和PBX 220之间的代理和解释程序的角色。
III.增强电话(ET)系统ET系统和方法向与电话和ET客户机进行交互的用户提供了功能,使得向用户提供丰富的用户电话体验。用户可以使用其运行ET客户机软件的计算机来控制其电话,并通过计算机接收关于其电话的信息。这一电话和计算机的丰富集成和合并基于本发明所描述的ET系统和方法将信息从PBX传递到运行ET客户机软件的计算机,并且反之亦然的能力。
图3是企业环境中的ET系统和方法的典型实现的综述,并仅为说明目的示出。具体地,第一ET服务器300连接至第一专用小交换机(PBX)305。第一PBX 305连接至公用电话交换网(PSTN)310。企业(如公司、大学或政府机构)通常具有多个PBX,如图3所示的第二PBX 315、第三PBX 320以及第四PBX 325。这些PBX 315、320、325的每一个都连接至PSTN 310。关联的ET服务器连接至PBX 315、320、325的每一个,即第二ET服务器330、第三ET服务器335和第四ET服务器340。应当注意,可以使用更多或更少的ET服务器和PBX,取决于具体的企业的需求和规模。然而,通常对每一PBX有至少一个ET服务器。
第一电话(如扬声器电话)345连接至第一PBX 305,并由其服务。运行ET客户机软件的至少一个实例的第一ET客户机计算机350连接至第一ET服务器300。通常,这一连接是网络连接。第二ET服务器330通过网络连接连接至多个ET客户机355。运行ET客户机软件的至少一个实例的第三ET客户机计算机360通过网络连接连接至ET服务器335。另外,第二电话365连接至PBX 320并由其服务。
图3也示出了第一ET客户机350和第三ET客户机360之间的直接虚拟连接。ET服务器的用户数据传输特征方便了两个(或更多)ET客户机之间的这一直接虚拟连接。这一特征在下文有详细描述,但是基本地,在图3所示的情况中,基于请求,第一ET服务器30为第一ET客户机350向第三ET客户机360发送用户数据(如网络地址信息)。这使得第三ET客户机360和第一ET客户机350能够建立对等会话,而不需要通过任何ET通道。这一特征有用的一个实例是ET客户机屏幕共享特征,其中,一个用户可以与另一用户共享其屏幕。如果用户和呼叫者处于呼叫中,并且如果两个呼叫者在企业网络上,则启用屏幕共享。客户机之间的直接虚拟连接可用的第二实例是用于ET客户机的简易传输特征。简易传输特征允许用户在呼叫中发送文件,并允许用户在呼叫中与用户所选择的任何人共享该文件的多个副本。
图3所示的第四ET服务器340管理与服务器340通信的数据库内所包含的各种信息源,并方便了它们对ET客户机用户的使用。这些源包括个人数据库、企业数据库和公用数据库。个人数据库包括应用特定数据库(如电子邮件、Outlook、即时消息通信和日历数据库),企业数据库包括公司的层次等级、公司地址、日历数据库和图片数据库,而公用数据库包括公用因特网站点和在线电话簿。根据内容的性质,数据库可驻留在ET服务器或ET客户机上,或驻留在两者之上。例如,个人地址簿和日历信息(来自个人数据库)可驻留在ET客户机上(如用户的个人计算机),而公司层次等级(来自企业数据库)可驻留在ET服务器上。
在图3中,示出个人数据库驻留在第三客户机360和交换服务器370上。示出公司数据库驻留在企业目录服务器375上。企业目录服务器375与第四ET服务器340以及其它ET服务器300、330、335的每一个进行通信。如后文详细解释的,这为每一ET服务器提供了企业目录的ET版本的周期性更新。ET服务服务器380包含ET特定数据库,如ET记录和服务器状态。另外,ET服务服务器380包含图片数据库(用于向ET客户机提供其它用户的图片)。应当注意,ET服务器300、330、335、340,ET客户机345、355、360,交换服务器370,企业服务器375以及ET服务服务器380都进行网络通信。
每一ET服务器将来自ET客户机的较高级电话数据和命令翻译成PBX数据和命令(或事件)。类似地,ET服务器通过将来自PBX的PBX事件翻译成可转发到ET客户机的较高级电话事件来反转这一过程。这通常通过使用允许对PBX的编程访问的PBX专用软件开发工具来实现。编程访问可在PBX的各种品牌和模型之间不同。在ET系统和方法的一个工作实例中,PBX由Intecom制造,并且ET服务器使用Intecom的开放应用接口(OAI)工具包来连接至Intecom PBX。这一OAI工具包除获取由PBX服务的电话/分机的事件之外,还允许对电话/分机的控制。应当注意,本发明描述的增强计算机电话集成系统和方法也可以在其它品牌的PBX和电话系统上实践。
尽管分机通常用来标识电话和关联的电话线,然而仅有分机是不够的。通常,分机需要被映射到PBX专用的信息(如端口等等)。为方便ET服务器200自和至PBX专用信息的翻译,需要使用PBX专用的信息来标识电话分机。ET服务器200构造了将分机映射到这一PBX专用信息的数据库。该数据库被称为交换数据库,在ET服务器200启动时创建,并周期性地被刷新。在一个较佳实施例中,每天一次(如每天晚上)更新交换数据库。
ET服务器200将来自ET客户机的数据翻译成PBX的数据,反之亦然。一般而言,ET客户机数据是较高级数据,PBX数据是较低级数据。较低级数据是从PBX接收并向其发送的数据。较低级数据是PBX理解的形式和语言。较高级数据是直到考虑电话时概念上发生的数据。
作为示例而非局限,假定用户想要将呼叫从其分机(x7374)放置到另一分机(x9811)。ET服务器200方便了用户的ET客户机和PBX之间的信息的交换和翻译。在这一情况下,ET客户机将发送较高级命令,以“将分机7384上的呼叫放置到分机9811上”。ET服务器200将来自ET客户机的较高级请求翻译成等效的较低级命令“切换端口001.2.12.5上的扬声器电话、令线路7384摘机、将线路7384、端口001.2.12.5、UGP 4上的呼叫放置到呼叫号9811”。反之,当由PBX接收电话事件(如呼入)并将其发送到ET客户机时,发生同样的事情。
PBX的较低级数据通常是复杂数据结构的形式,并且ET服务器200通常需要从较低级数据结构中提取出一个或多个参数。这些参数然后被映射到较高级事件。这些参数通常是PBX专用数据。换言之,特定的PBX需要并用作输入和输出的参数取决于PBX的式样和品牌。一旦ET服务器200知道了特定PBX需要的PBX专用数据,服务器200使用该知识来获取从较高级数据到较低级数据的翻译或转换所需要的参数,并且反之亦然。
一旦执行了翻译,服务器向预期的接收者提供数据和命令的翻译。在上述示例中,在ET服务器200翻译了较低级命令之后,它然后向ET客户机通知ET客户机理解的较高级命令的格式的事件。可选地,在ET服务器200翻译了较高级命令之后,它然后向PBX通知PBX理解的较低级命令格式的事件。应当注意,若干较低级命令可以组合成单个较高级命令。类似地,单个较低级命令可生成两个或多个较高级命令。
图4A所示是ET服务器200将PBX数据400翻译成ET客户机210可以理解的较高级数据410的框图。具体地,PBX 200接收事件(如呼入)并将该事件发送到预期的电话和ET服务器200。PBX事件由ET服务器200作为较低级PBX数据400接收。ET服务器200包括翻译模块420,它将较低级PBX数据翻译成用于ET客户机210的较高级数据,反之亦然。ET服务器200也包括交换数据库430(下文讨论),它方便了翻译模块420的翻译。翻译模块420的输出是可被ET客户机210理解的较高级数据410。
图4B所示是ET服务器200将ET客户机可理解的较高级数据410翻译成PBX可理解的较低级PBX数据400的框图。类似于图4A,来自ET客户机210的较高级数据410由翻译模块420使用交换数据库430来翻译。其结果是PBX 220可理解的较低级PBX数据400。ET服务器200的这一翻译过程通过令ET服务器200在两者之间传递信息允许PBX 220和ET客户机210互相进行通信。
图5是可以包含在交换数据库中的PBX专用信息的具体实现。用以填充交换数据库500的数据从PBX作为较低级PBX数据400获取。具体地,如作为对IntecomPBX专用的数据的一种实现的图5所示,对于每一电话,交换数据库包含以下数据。在第一列中,列出了由PBX服务的电话分机。在图5所示的示例中,分机是五位数的分机。对于每一分机,在第二列中列出了端口。在本示例中,端口包括指示电话和PBX之间的物理连接的四个数字。作为示例,这包括PBX的机箱、架、卡和电路。在第三列中,列出了用户组(UGP)。用户组是具有相同行为的电话的类。通常,使用数字来命名用户组,使得例如,用户组可以被命名为用户组“4”、用户组“52”和用户组“96”。用户组描述电话的组及其特征区别。例如,一个用户组可以是一组大厅电话,而另一个用户组可以是一组个人电话。可以许可个人电话的用户组作出无限制的长途呼叫,而这可以在大厅电话的用户组中被禁止。每一电话的其它信息在PBX上可用,但是根据PBX的类型和品牌,这是ET服务器200作为ET客户机和PBX之间的翻译器所需要的所有东西。
IV.增强电话(ET)方法和特征ET服务器200的主要功能是当由ET客户机计算机请求时控制电话分机,并向ET客户机通知分机上的电话事件。如本说明书中所使用的,术语“电话分机”可以指连接至PBX的电话分机和连接至该分机的电话。图6所示是ET方法的综览的一般流程图。最初,ET服务器上线,并挂连到PBX(框600)。这一到PBX的挂连通过从PBX交换数据库中下载所有适当的数据来执行。这允许每一ET服务器从ET服务器所服务的PBX上获取交换数据库信息。应当注意,ET服务器可以已经在线,并在周期的基础上从PBX上接收更新的交换数据库信息。下一步,在ET客户机计算机上安装ET客户机软件(框610)。这一ET客户机软件包含用户界面,它集成了计算机和电话特征,并允许ET客户机计算机与ET服务器进行通信。ET客户机和用户界面在2003年5月20日提交的Cadiz等人的名为“允许使用个人计算机的电话的用户交互和控制的增强电话计算机用户界面(EnhancedTelephony Computer User Interface Allowing User Interaction and Control ofTelephone Using a Personal Computer)”的共同待批的申请号10/445,395中有描述。
ET客户机然后执行服务发现步骤。由于在企业的ET系统中通常有多个ET服务器,该服务发现向每一ET服务器查询服务与ET客户机关联的分机的ET服务器(框620)。更具体地,服务发现步骤查询每一服务器来检查连接至服务器的PBX是否服务所期望的分机。如果不是,则ET客户机查询下一ET服务器,直到找到正确的PBX及其关联的ET服务器。下一步,ET客户机向ET服务器(下文讨论)注册,使得PBX和ET服务器可以将正确的ET客户机与对应的电话分机关联(框630)。应当注意,对一个特定的分机可以有若干个ET客户机。一旦注册了ET客户机,ET服务器可以如ET客户机所请求的控制关联的分机(框640)。此外,ET服务器可以向(多个)ET客户机通知该分机上的电话事件,如呼入(框650)。
电话分机的ET服务器控制ET服务器的主要功能之一是当由ET客户机计算机请求时控制电话分机。可以使用ET服务器在给定的电话分机上执行以下行动·摘起电话(摘线,接通扬声器电话)·挂起电话(挂线,切断扬声器电话)·放置呼叫,如需要则摘线·保持当前呼叫·结束保持当前呼叫·取消正在进行的行动,如传输·启动电话会议呼叫·将一个呼叫者加入到现存的会议呼叫中·发送双音多频(DTMF)。DTMF是允许电话与PBX进行通信的音调·打开或关闭电话的“请勿打扰”(DND)模式。DND模式指所有呼入直接到达语音邮件而不让目标电话响铃·打开或关闭电话的呼叫转移模式·在电话的屏幕上显示文本·在应答呼叫之前(盲传输)或之后(正常传输)传输当前或输入呼叫。盲传输在电话响铃时出现,而正常传输在电话被应答之后出现。
图7所示是电话分机控制过程的综览的一般流程图。电话分机控制过程由ET服务器执行,以在PBX上执行电话行动。过程由从ET客户机接收请求用于要执行的电话行动开始(框700)。下一步,执行安全测量来确保安全事务。这些安全测量在图7中注明。一般而言,安全测量因至少两个原因而重要。首先,安全测量确保一个人只能控制其被授权控制的电话。第二,安全测量确保一个人实际上是其所声称的人。这避免人们假装是其它人并控制其电话。这些安全测量在下文讨论。应当注意,在一些实施例中,可以排除安全测量。
安全测量包括以下过程。最初,验证ET客户机(框710)。这意味着当连接至ET服务器时,该ET客户机向ET服务器提供验证凭证。如果没有这些凭证,ET服务器将拒绝由ET客户机作出的任一请求。下一步,基于该验证,在企业目录中查找与该ET客户机关联的分机(框720)。ET企业目录在下文详细讨论。从该目录,ET服务器可确定ET客户机是否被授权联系期望的分机或外部电话号码。ET服务器然后授权该请求(框730)。下一步,ET服务器检查来确保ET客户机已注册(框740)。这些安全测量帮助防止其它人的非授权使用。
在安全测量之后,ET服务器确保与ET客户机关联的分机上的电话在适当的状态(框750)。例如,如果呼叫已在分机上进行,则无法放置该呼叫。ET服务器然后将期望的电话行动翻译成PBX可理解的较低级PBX数据(框760)。PBX然后执行由ET客户机所请求的期望的电话行动(框770)。
电话事件的ET服务器通知ET服务器也向注册某一分机的ET客户机通知属于该分机的电话事件(如呼入)。这一ET客户机通知过程允许ET客户机通过用户界面与用户交互。例如,当接收呼入时,ET客户机的用户界面向用户提供呼入通知。
以下是从ET服务器转发到向给定分机注册的ET客户机的电话相关事件的列表·电话被摘起·电话被挂起·从电话启动呼出·呼入,电话响铃·呼入中止,电话不再响铃·电话应答呼入·当前呼叫被保持·当前呼叫被结束保持·启动会议呼叫·呼叫者加入会议
·呼叫者离开会议·电话被置入“请勿打扰”(DND)模式·电话被取消DND模式·电话被置入呼叫转移模式·电话被取消呼叫转移模式上述事件的一些包含另外的信息。例如,呼入事件包含关于呼叫者的信息,如呼叫者标识(ID)和呼叫者名字。注意,事件将被发送到ET客户机,而不管该事件是否由电话上的直接行动(如用户摘起话机并通过电话的拨号盘拨号)引起,或者它是否通过ET客户机的用户界面启动(如,ET客户机告诉ET服务器放置呼叫)。
图8所示是ET客户机通知过程的综览的一般流程图。该客户机通知过程由ET服务器执行,以向注册的ET客户机通知属于给定分机的电话事件。过程由ET服务器从PBX接收电话事件开始(框800)。该通知由ET服务器作为较低级PBX数据接收。使用交换数据库来确定电话事件的参数,如期望的分机和事件类型(框810)。下一步,基于该电话事件更新分机的电话状态(框820)。作出检查来确定是否有任何ET客户机注册该分机(框830)。使用ET企业目录,执行反向电话号码查找来确定呼入者的身份(框840)。然后由ET服务器向给定分机的每一注册ET客户机通知电话事件(框850)。
ET客户机注册为使上述ET客户机通知机制起作用,ET服务器必须知道运行的ET客户机以及如何达到它们。由此,需要ET客户机将其自身向ET服务器注册以接收电话事件。因此,当ET客户机启动,它联系ET服务器并使用以下信息来注册(a)使用ET客户机的电话的分机;(b)向其发送通知的ET客户机的回叫URL(远程端点和IP地址);(c)用户和运行ET客户机的机器的名字;以及(d)版本信息。在注册之后,ET服务器试图向对某一分机注册的所有客户机通知该分机的电话事件。
ET服务器为ET服务器所服务的所有分机跟踪所有ET客户机。ET客户机也负责将其自身解除注册。另外,为避免失时效的客户机,服务器可在若干情况下解除ET客户机的注册。例如,如果ET客户机不再可达或者该ET客户机在某一时间段之后未更新其注册,则可由ET服务器将该ET客户机解除注册。
ET企业目录通常,企业具有包含关于员工及其分机,以及诸如办公室位置和职称等其它类型信息的数据库。然而,为向请求ET客户机提供快速服务,对企业数据库的搜索通常不够快。为克服这一问题,ET系统和方法包括ET企业目录。ET企业目录包含与企业数据库一样多的信息。然而,ET企业目录被标准化并作出索引,使得可以快速地访问信息并由此向ET客户机快速提供该信息。这允许用户通过ET用户界面快速获取期望的信息。
ET企业目录包含来自企业数据库的信息。使用来自官方企业数据库的供给周期性地(如在每周的基础上)更新ET企业目录。ET企业目录用于至少三个目的(1)反向电话号码查找(如呼叫者ID);(2)从ET客户机搜索;以及(3)向控制/监视电话分机授权。以下每一个人和实体(如会议室)的数据可以包含并保持在ET企业目录中·名·姓·别名/昵称·电话号码·职称·经理·部门·办公室位置反向电话号码查找即使企业数据库通常可用,它们未完全满足ET系统和方法需求。具体地,ET服务器需要一种方法来对照企业数据库执行反向电话号码查找。例如,当接收呼入电话并要将呼叫者ID信息解析为企业数据库中的雇员或条目时,需要这一查找。
为基于电话号码执行查询,创建ET企业服务器。ET服务器分析并标准化ET企业目录中的所有电话号码,并以标准化形式保持它们被索引。在ET服务器的存储器中主含ET企业目录是有利的,因为呼叫者ID(通常仅是电话号码)可以在它被从PBX接收时被快速地转换,而不需要另外的服务器往返过程。
ET客户机搜索请求ET企业目录也处理来自ET客户机的搜索。为容纳快速搜索,分析ET客户机访问模式,使得可以为最佳性能调节ET企业目录的索引和存储器内数据结构。具体地,当仅已知人名的一部分,或者当已知诸如办公室位置和职称等其它数据时,优化ET企业目录用于人们的查找。该目录将返回所有可能的匹配,以给用户对找出正确的人的较好的选择。
授权分机ET企业目录的第三个用处是授权。当ET客户机试图向ET服务器注册来监视某一分机时,或者当ET客户机试图控制某一分机时,咨询ET企业目录来确保该请求是授权的。具体地,在通过验证核实了其身份之后,查找作出该请求的人的电话号码。仅当在ET企业目录中列出的电话号码(分机)与该请求中指定的分机匹配时,ET服务器向这一请求授予给定分机的授权。
安全特征非授权访问和使用永远都是一个关心的问题。为缓和这一问题,ET服务器如下解决安全和私密性问题。首先,使用验证和授权来确保人们仅控制并监视其自己的电话,或他们被特别授权来控制并监视的电话。这避免例如雇员X能够监视或控制他或她的经理的电话的情形。第二,使用ET客户机和ET服务器之间的安全连接。这确保没有可访问网络的第三方能够检查并理解在某一ET客户机和ET服务器之间流动的数据。
这避免了这一情形可对网络进行检查以找出谁在呼叫某一分机、谁从某一分机进行呼叫或者谁是某一用户正在ET服务器上主含的ET企业目录中查找的人。最后,为检测潜在的拒绝服务攻击(DoS),每一ET服务器具有性能计数器,它反映每秒的请求数、连接的客户机数以及其它数据。监视这些计数器来确保它们处于适当的范围之内。为检测其它失败或可由安全破坏导致的事件,ET服务器生成所有其活动的记录输出,并将错误和警告消息写入系统的事件记录中。
用户数据传输如上所述,直接虚拟连接有益于ET客户机的屏幕共享特征和简易传输特征。ET服务器的用户数据传输特征允许在一个或多个ET客户机之间建立直接虚拟连接。这在ET客户机之间建立了对等关系。ET服务器方便了这一通信和发现功能。一个ET客户机可以请求向另一ET客户机发送数据,其中,另一ET客户机由其分机标识。发送客户机将相继地联系ET服务器,直到找到服务给定分机的那一个。服务器然后将该数据转发到注册目的地分机的(多个)客户机。如果对给定分机注册了一个以上ET客户机,则通知所有的客户机。由于这涉及若干网络往返过程,理想地,该机制应当仅用于服务发现,其中,第一客户机通过服务器向其它(多个)客户机发送其自己的URL或远程端点,然后切换到对等通信模型。
例如,当在使用ET时启动屏幕共享时,并且当在与某人通电话时,用户数据传输特征是有用的。在这一情况下,A方在他/她的ET客户机上的UI中选择屏幕共享选项。该客户机现在需要建立与B方的ET客户机的联系。具体地,客户机A需要试图使用其自己的URL或远程端点向客户机B发送用户数据。然而,客户机A所知道的关于客户机B的所有知识是它所处理的分机(如,B方的分机),而不是机器名或地址。为到达客户机B的计算机,客户机A各个挨次地联系每一ET服务器,直到它找到处理B方的分机的服务器。一旦找到,ET服务器然后将用户数据转发到客户机B。通过ET用户界面,客户机B可向用户显示确认对话框,指示A方请求屏幕共享会话。如果B方接受,则客户机B现在直接联系客户机A,而不需要通过服务器,并且通信以对等的方式继续以协调屏幕共享。
电话状态ET服务器对它所服务的每一分机保存状态。ET服务器对每一分机识别以下电话状态(a)电话是否挂机或摘机;(b)是否正在呼叫该分机;(c)该分机是否正在作出呼叫;(d)是否保持呼叫;以及(e)该分机是否在会议呼叫中。
例如,如果分机为挂机或摘机或者如果该分机在呼叫中。电话状态用于确保在给定的分机上执行正确的命令。作为示例,如果用户摘起话机并通过ET客户机的用户界面放置呼叫,则该线不再需要由ET服务器摘线,并且扬声器电话(假定电话是扬声器电话)不再需要切换。类似地,如果电话正在响铃,则摘线将应答该电话而非仅对电话摘机。需要对电话分机保存正确的状态并相应地调节对电话和PBX的命令,来确保平滑的操作。
可以向ET客户机或其它客户机计算机展现电话分机的状态。例如,当电话的当前状态未知时,ET客户机在启动过程中从中获益。也可以向可帮助用户更有效地到达另一个人的其它系统展现这一状态信息。作为示例,如果这一系统检测到有另一个人正在通话中,则向用户作出某些推荐,如稍后回叫或者检查用户的日历信息以找出可用性。
ET客户机相关特征ET系统和方法也包括令ET客户机能够与ET服务器交互的特征。现在描述这些特征。
服务发现如上所述,当ET客户机启动时,它必须确定用户的分机,并且必须连接到正确的ET服务器。所有ET服务器的列表储存在客户机上(注册表中),并使用ET客户机应用程序来安装。第一步是试图连接ET企业目录来确定用户的分机。所有ET服务器上的目录是相同的。如果可能,ET客户机将试图连接以前服务过该用户的分机的ET服务器(如果已知)。否则,客户机随机地选取一个服务器。ET客户机然后从目录请求用户的分机。客户机然后试图找到并连接到服务该用户的分机的服务器。客户机然后尝试列表上的每一服务器,直到它找到服务接受该客户机注册的用户的分机的那一个。一旦注册,客户机将记住它连接到哪一服务器,使得可以加快将来的启动步骤。在这些步骤之后,客户机成功地向ET服务器注册并完成服务发现过程。
检测网络变化ET客户机将注视网络中的变化,尤其是对IP地址列表的变化。监视网络变化可获得更好的用户体验,因为ET客户机的状态可根据客户机的连接快速切换到“服务中”或“不在服务”。只要出现变化,客户机将试图检查其向服务器的注册。这有益于连接丢失或者建立的两种典型的情形。作为示例,介绍这两种典型的情形。
在第一中情形中,运行ET客户机的笔记本计算机处于无线网络的范围之外。例如,当用户离开建筑物时会出现这一情况。在这一情况下,客户机不再到达服务器,并且向用户报告服务运转中断。服务器最终将该客户机解除注册,因为不再使用该服务器检查或更新其注册。
在第二种情形中,运行ET客户机的计算机被带入具有对ET服务器的访问的无线网络的范围之内。可选地,运行ET客户机的计算机被连接到网络,如使用虚拟专用网(VPN)来连接到企业网络。在这一情况下,客户机检测到这一网络变化、向ET服务器注册并向用户报告恢复的服务。
查验间隔检测网络变化并非总是以确定ET客户机和服务器之间的网络连接中的中断就足够了。为填补这一缺口,定义了查验间隔。查验间隔是查验(或用ET服务器核对)之间的时间间隔。查验间隔指示客户机它将以怎样的频率检查并更新其向服务器的注册。在注册过程中从服务器获取查验间隔。这一检查和更新给予ET服务器ET客户机仍为活动的指示。它也允许客户机检测服务器是否因为某些原因而停机。例如,客户机计算机可以关闭,而没有机会向服务器解除注册。或者,服务器可由于诸如维护或网络问题等原因而变得不可用。仅在客户机上检测这类网络变化不能捕捉到这些情况。查验间隔设置的长度可以基于通常连接到该ET服务器的ET客户机的数量(为避免服务器过负荷客户机请求)。在一个较佳实施例中,查验间隔大约为几分钟。
本发明的各方面描述如下一种用于使用增强电话服务器来控制电话分机的计算机实现的过程,它包括接收来自与电话分机关联的客户机的电话行动的请求,该客户机与服务器进行网络通信;将电话行动翻译成可被服务该电话分机的专用小交换机理解的较低级数据;以及如所请求的在专用小交换机上执行该电话行动。
如上所述的计算机实现的过程,它还包括通过令客户机向服务器呈交凭证来验证请求的客户机。
如上所述的计算机实现的过程,它还包括生成一包含企业人员的名字和信息以及该客户机的已授权分机的增强电话企业目录。
如上所述的计算机实现的过程,它还包括在增强电话企业目录中执行查找来确定该客户机是否请求已授权的分机。
如上所述的计算机实现的过程,它还包括确保该客户机已向服务器注册,使得该电话分机与该客户机关联。
一种用于使用与客户机进行网络通信的增强电话服务器向客户机通知与该客户机关联的分机上的电话事件的方法,它包括从服务该电话分机的专用小交换机处接收电话事件;使用交换数据库来确定电话事件参数;使用电话事件参数来执行反向电话号码查找;以及使用反向电话号码查找来通知每一注册该电话分机的客户机。
如上所述的方法,其特征在于,交换数据库包含关于由专用小交换机服务的每一电话分机的专用小交换机信息。
如上所述的方法,其特征在于,执行反向电话号码查找还包括生成一包含企业人员名字和联系信息的增强电话企业目录;以及使用该增强电话企业目录确定呼入者的身份。
如上所述的方法,其特征在于,电话事件参数包括电话分机和电话事件的类型。
为说明和描述目的呈现了本发明的以上描述。并非将本发明穷尽或限制在所揭示的精确形式上。根据上述教导,许多修改和变化都是可能的。本发明的范围并非由本发明的详细描述限制,而是由所附权利要求书限制。
权利要求
1.一种增强计算机电话集成系统,其特征在于,它包括一连接至计算机网络的增强电话服务器;一通过所述计算机网络与所述增强电话服务器进行通信的增强电话客户机;以及一与所述增强电话服务器进行通信的专用小交换机;其中,所述增强电话服务器方便了所述客户机向所述专用小交换机发出的请求,并将来自所述专用小交换机的电话事件中继到所述客户机。
2.如权利要求1所述的增强计算机电话集成系统,其特征在于,它还包括一驻留在所述服务器上的翻译模块,它将所述专用小交换机所理解的较低级数据翻译成所述客户机所理解的较高级数据。
3.如权利要求2所述的增强计算机电话集成系统,其特征在于,它还包括一方便所述翻译模块的翻译的交换数据库。
4.如权利要求3所述的增强计算机电话集成系统,其特征在于,所述交换数据库包含由所述专用小交换机服务的电话分机的列表。
5.如权利要求3或4所述的增强计算机电话集成系统,其特征在于,所述交换数据库包含关于由所述专用小交换机服务的分机的物理连接的信息。
6.如权利要求5所述的增强计算机电话集成系统,其特征在于,所述交换数据库中的信息包括由所述翻译模块用于执行所述翻译的PBX专用参数。
7.如权利要求6所述的增强计算机电话集成系统,其特征在于,所述翻译模块从所述较低级数据中提取所述PBX专用参数,以将所述较低级数据翻译成较高级数据。
8.如权利要求5-7中任一项所述的增强计算机电话集成系统,其特征在于,所述信息包括以下的至少一个(a)端口号;(b)机箱号;(c)架号;(d)卡标识;(e)电路标识。
9.如权利要求3-8中任一项所述的增强计算机电话集成系统,其特征在于,所述交换数据库包含由所述专用小交换机服务的每一分机的用户组。
10.一种使用增强电话服务器来方便客户机和专用小交换机(PBX)之间的交互的方法,其特征在于,它包括向所述增强电话服务器注册所述客户机,以将由所述专用小交换机服务的电话分机与所述客户机相关;将来自所述客户机的电话请求翻译成可由所述专用小交换机理解的较低级数据;以及将所述专用小交换机上的电话分机的电话事件翻译成可由所述客户机理解的较高级数据。
11.如权利要求10所述的方法,其特征在于,将来自所述客户机的电话请求翻译成较低级数据还包括从一交换数据库获取所述专用小交换机理解所述电话请求所需要的PBX专用参数。
12.如权利要求10或11所述的方法,其特征在于,将所述专用小交换机上的电话分机的电话事件翻译成较高级数据还包括从一交换数据库获取PBX专用参数,以将所述PBX专用参数转化成所述较高级数据。
13.如权利要求10-12中任一项所述的方法,其特征在于,所述注册还包括向所述增强电话服务器发送所述电话分机和所述客户机的网络联系信息。
14.如权利要求10-13中任一项所述的方法,其特征在于,它还包括,如果出现以下情况的至少一个,令所述增强电话服务器解除所述客户机的注册(a)所述客户机不再可达;(b)所述客户机在某一时间段之后未更新其注册。
15.如权利要求14所述的方法,其特征在于,所述时间段约为一小时。
16.如权利要求10-15中任一项所述的方法,其特征在于,它还包括生成一包含所述企业雇员及其雇员信息的增强电话企业目录,其中,所述增强电话企业目录驻留在所述增强电话服务器上。
17.如权利要求16所述的方法,其特征在于,它还包括标准化所述增强电话企业目录并对其作出索引,使得可以快速地搜索所述目录。
18.如权利要求16或17所述的方法,其特征在于,它还包括使用所述增强电话企业目录执行反向电话号码查找来确定呼入者的身份。
19.如权利要求16-18中任一项所述的方法,其特征在于,它还包括基于来自所述客户机的请求执行所述增强电话企业目录的搜索。
20.如权利要求16-19中任一项所述的方法,其特征在于,它还包括使用所述增强电话企业目录授权来自所述客户机的请求,以使用另一电话分机。
21.如权利要求10-20中任一项所述的方法,其特征在于,它还包括基于请求将所述客户机的用户数据传输到第二客户机,使得可以在所述客户机和所述第二客户机之间建立一直接虚拟连接。
22.如权利要求10-20中任一项所述的方法,其特征在于,它还包括确定所述电话分机的状态。
23.如权利要求22所述的方法,其特征在于,它还包括使用所述增强电话服务器向另一客户机通知所述电话分机的状态。
24.如权利要求23所述的方法,其特征在于,它还包括基于所述电话分机的状态作出推荐。
25.如权利要求23或24所述的方法,其特征在于,它还包括确定所述电话分机的状态是“摘机”,并基于所述状态作出推荐。
26.如权利要求25所述的方法,其特征在于,它还包括推荐以下的至少一个(a)呼叫者在稍后的时间回叫;(b)呼叫者检查用户的日历信息,以找出用户可用的时间。
27.一种增强计算机电话集成系统,其特征在于,它包括与计算机网络进行通信的多个增强电话服务器;通过所述计算机网络与所述多个增强电话服务器进行通信的多个增强电话客户机,使得所述多个增强电话客户机的每一个由所述多个增强电话服务器中的至少一个服务;以及与所述多个增强电话服务器中的至少一个进行通信的多个专用小交换机,使得所述多个增强电话服务器中的每一个服务所述多个增强电话客户机中的至少一个以及所述多个专用小交换机中的至少一个,以方便客户机向专用小交换机发出的请求,并将来自所述专用小交换机的电话事件中继到所述客户机。
全文摘要
一种增强计算机电话集成系统方便了专用小交换机(PBX)与计算机网络上的客户机计算机的交互和集成。增强电话(ET)服务器连接至PBX以及用户计算机上的ET客户机的所有运行实例。ET服务器担当ET客户机和PBX之间的代理的角色。ET客户机向ET服务器注册某一电话分机。ET客户机然后可以将来自该注册的ET客户机的电话行动请求(如放置电话呼叫)转发到服务该电话分机的PBX。此外,ET服务器可将来自PBX的电话事件(如呼入)转送到所有注册的客户机。ET服务器方便了电话和个人计算机特征的无缝集成,以向用户提供丰富的用户控制计算机-电话集成。
文档编号H04M3/42GK1595952SQ200410068588
公开日2005年3月16日 申请日期2004年8月27日 优先权日2003年8月29日
发明者A·那林, J·J·卡迪兹, A·古普塔, G·杰安克, M·波勒 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1