专利名称:全冗余呼叫记录的制作方法
全冗余呼叫记录
北旦 冃尔
尤其允许用户记录语音消息的语音邮件系统在现代社会中已变得无处 不在。语音邮件系统在工作环境中已经用了多年。该技术已被证明十分有 用,以致对其的需求已经移动到个人消费市场。许多移动电话服务计划现 在包括语音邮件服务作为标准特征。
传统上,语音邮件系统采用了专有技术。例如,语音邮件系统可能是 由单个厂商设计、安装、并维护的。系统可包括被专门开发来用于特定语
音邮件安装并且是该厂商专有的硬件和软件。
已经有了在设计语音邮件系统时不用专有硬件和软件而使用标准硬件 组件和市场上可获得的软件的趋势。
概述
在此处所描述的主题中, 一种系统提供冗余呼叫服务,尤其是冗余语 音记录。 一 种说明性系统可包括用于接收呼叫的网关和用于服务这些呼口 L] 的多个服务器。
在 一 说明性系统中,示例性网关被编程成接收语音呼叫并将这些呼叫 传递给多个服务器。网关可被编程成以诸如例如电路交换协议等第-J办议 接收呼叫,并以诸如例如网际协议等第二协议传递该呼叫。在一示例性实 施例中,网关可被编程成选择两个或更多服务器来提供冗余语音记录。
第 一 示例性服务器通信上与网关相耦合。第 一 示例性服务器1' J以是例 如统一消息收发服务器。第一示例性服务器可以用计算机可读指令来编程, 来对从网关接收语音呼叫、记录语音消息、以及存储该语音消息进行管理。
第二示例性服务器通信上与网关相耦合,并且还通信上与第一示例性 服务器相耦合。第二示例性服务器也可以是例如统一消息收发服务器。第 二示例性服务器可以用计算机可读指令来编程,以对从网关接收呼叫、记 录语音消息、监控第一服务器所执行的任务、以及在第一服务器未能及时完成任务的情况下承担对该呼叫的责任进行管理。
当在网关处接收到呼叫时,第一示例性服务器和第二示例性服务器被标识为负责服务该呼叫。第一示例性服务器被分配为主要负责服务该呼叫,而第二示例性服务器被分配为辅助负责服务该呼叫。网关将该呼叫传递给第一服务器和第二服务器两者。第一服务器通过执行与所需呼叫请求相关联的适当的任务来服务该呼叫。如果第一服务器未能及时地完成与服务该呼叫相关联的任务,则第二服务器可以承担服务该呼叫的责任并完成必要的任务。
第一服务器可以通过例如检索和播放问候、启动对语音消息的记录、完成对语音消息的记录、以及存储所记录的语音邮件来服务呼叫。第二服务器可以监控第一服务器在完成这些任务时的状态,并且如果第一服务器未能及时完成任务,则第二服务器可以承担服务该呼叫的责任。此外,尽管第一服务器从事完成各种任务,但第二服务器可以同时执行相同的任务。例如,在第一服务器记录语音消息时,第二服务器也可以记录该消息。如果第一服务器未能及时完成对语音消息的记录和/或存储,则第二服务器可以承担对该呼叫的责任并完成对该语音消息的记录和/或存储。
提供本概述以便以简化的形式介绍将在以下说明性实施例的详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。以下也描述了其它特征。
附图简述
以上概述以及以下说明性实施例的附加描述在结合附图阅读时能够被更好地理解。可以理解,所公开的系统和方法的可能的实施例不限于所描绘的这些。
图1是其中可以实现此处所描述的主题的各方面的说明性计算布置的网络图。
图2是用于提供冗余呼叫服务的过程的流程图。
图3是用于接收要向其提供冗余呼叫服务的呼叫的过程的流程图。图4是结合提供冗余呼叫服务的过程来同步主服务器以及辅服务器的过程的流程图。
图5是用于执行关于冗余呼叫服务的任务的过程的流程图。图6是用于在呼叫服务时提供冗余的过程的流程图。
图7是可用其部署此处所描述的主题的各方面的计算系统的框图。
说明性实施例的详细描述
概览
此处公开的主题针对用于提供冗余呼叫服务,尤其是冗余语音邮件记录的系统和方法。 一种说明性系统可包括用于接收呼叫的网关和用于服务这些呼叫的多个服务器。
当在网关处接收到呼叫时,第一服务器和第二服务器被标识为负责服务该呼叫。第一服务器被分配为主要负责服务该呼叫,而第二服务器被分配为辅助负责服务该呼叫。网关将该呼叫传递给第一服务器和第二服务器两者。第一服务器通过执行与所需呼叫请求相关联的适当的任务来服务该呼叫。如果第一服务器未能及时地完成与服务该呼叫相关联的任务,则第二服务器可以承担服务该呼叫的责任并完成必要的任务。
尽管第一服务器从事完成各种任务,但第二服务器可以同时执行相同的任务。例如,在第一服务器记录语音消息时,第二服务器也可以记录该消息。如果第一服务器未能及时完成对语音消息的记录和/或存储,则第二服务器可以承担对该呼叫的责任并完成对该语音消息的记录和/或存储。
所公开的功能可以用商用软件和标准硬件来实现。例如,在所公开的系统和方法的一实施例中,服务器可以实现为统一消息收发服务器。此外,统一消息收发服务器可以在标准计算硬件上实现,并可以使用已制定的连网技术和协议来通信。
示例计算布置
图1示出适于提供冗余呼叫处理的示例性计算布置100。如图所示,计算布置100在通信上与网络108相耦合。网络108适用于传递语音呼叫,并且可以是适于语音信号和/或数据的移动的任何类型的网络。例如,网络108可以是公共交换电话网、因特网、或适于传递语音信息的任何其它网络,
或可包括其全部或部分。网络108可包括可以使用不同技术的离散网络的组合。例如,网络108可包括局域网(LAN)、广域网(WAN)、或其组合。网络108可包括无线、有线线路、或其组合。
网络108经由通信链路106与交换机IIO进行接口,以向计算布置100传递语音呼叫。交换机110可以是可用于从网络108向计算布置100交换呼叫的任何类型的设备。在一示例性实施例中,交换机IIO可以是例如公共分支交换(PBX)交换机。交换机110经由通信链路130来与网关120传递信息,通信链路130可以使用例如适于传递呼叫信息的任何合适的网络拓扑结构。
计算布置IOO包括网关120和服务器140、 142和144。网关120适用于提供到包括计算布置100中的服务器140、 142和144在内的各机器的接入点。网关120可包括适于向多个服务器140、 142和144路由所有信息的
任何计算设备。在一示例实施例中,网关120适用于从交换机110以第一协议接收呼叫信息,并以另一协议将其传递给服务器140、 142禾U/或144。例如,网关120可以是适用于以诸如例如时分多路复用(TDM)协议等电路交换协议从交换机IIO接收语音呼叫,并使用诸如例如网际协议等分组交换协议将呼叫传递给服务器140、 142禾U/或144的网际协议语音(VoIP)网关。在-- 示例实施例中,网关120和交换机110的功能可以组合在同一设备中。
网络150在网关和服务器140、 142和144之间提供通信链路。网络150可以是适于在网关120和服务器140、 142和/或144之间提供通信的任何通信链路。网络150可包括例如适用于以网际协议格式传递数据的光纤网络。此外,网络150可包括诸如例如WAN、 LAN、和/或因特网等网络的组件。
服务器140、 142和144是适用于提供冗余语音记录的计算设备。服务器140、 142和144中的每一个都可以是用计算机可读指令编程来如此处所描述地操作以提供冗余语音服务的任何合适的计算设备。在一示例实施例中,服务器140、 142和144可被编程来用作适用于将不同的消息流集成到单个收件箱中的统一消息收发(UM)服务器。例如,服务器140、 142和144可被编程成接收电子邮件、传真、语音、视频等,并使其可用于从多个设备类型中检索。注意,尽管在图1中描绘了三个服务器140、 142和144,但布置100中可包括任何数量的多个服务器。
网关120和服务器140、 142和144适用于使用任何数量的协议来彼此通信。网关120和服务器140、 142和144之间的通信可以使用例如会话发起协议(SIP)和实时协议(RTP)来发生。
在一示例性实施例中,当在网关120处接收到呼叫后,标识服务器140、142和/或144中的至少一个来主要负责服务呼叫请求。服务器140、 140和144中的至少第二个被标识为辅助负责服务该请求。呼叫被转发到被标识为主要负责服务该呼叫的一个或多个服务器。同样,呼叫被转发到被标识为辅助负责服务该呼叫的一个或多个服务器。如果负有主要责任的一个或多个服务器未能以及时的方式服务该呼叫,则一个或多个辅服务器承担对该呼叫的责任并完成服务,包括记录和保存任何语音消息。
冗余呼叫服务方法
图2是用于提供冗余呼叫记录的过程的流程图。在步骤210处,网关120从交换机IIO接收呼叫。该呼叫可以例如源于网络108。
在步骤212处,标识多个服务器212来服务该呼叫。在一说明性实施例中,服务该呼叫包括提供冗余语音消息记录。该步骤可包括标识主要负责接收呼叫的第 一 服务器和标识辅助负责接收该呼叫的第二服务器。标识哪一 (些)服务器主要负责以及哪一 (些)辅助负责可以用任何数量的方式来实现。在一示例实施例中,网关120可被编程成选择服务器140、 142和144中的一个来用作主服务器并选择另一个来用作辅服务器。在另一示例实施例中,网关120可以标识服务器140、 142和144中的一个来用作主服务器。被标识为主服务器的服务器随后标识将用作辅服务器的服务器。出于说明的目的,服务器140可被标识为主服务器,而服务器142可被标识为辅服务器。网关120和服务器140、 142和144之间的、用于在用于服务呼叫的设备之间确立关系的通信可以使用SIP来进行。
在步骤214处,网关120分叉呼叫并将该呼叫传递给被标识为主要负
10责服务该请求的第一或主服务器140和被标识为辅助负责的第二或辅服务器142。
在步骤216处,在辅服务器142处确定主服务器140是否未能及时完成与服务呼叫相关联的步骤。例如,辅服务器142确定主服务器140是否未能及时检索问候,播放问候,记录语音消息,和/或将所记录的语音消息存储到存储。辅服务器142可以通过监控主服务器140的状态来确定任务是否被及时完成。这一监控可以用任何数量的方式来实现,包括例如与主服务器140进行关于其最新近活动的通信。
如果主服务器140未能及时执行任务,则在步骤218处,第二服务器140承担服务呼叫的责任。例如,如果第一服务器140未能在规定时间段内播放所记录的问候,则在步骤218处,第二服务器142承担服务呼叫的责任。例如,如果第一服务器140未能及时指示其已经保存了语音消息,则在步骤218处,第二服务器142承担服务呼叫的责任。承担对呼叫的责任可包括向主服务器140发送消息以丢弃该呼叫和/或向网关120发送消息以从主服务器丢弃该呼叫。
在歩骤220处,完成对该呼叫的服务。在一说明性实施例中,完成对呼叫的服务包括完成对语咅消息的记录,包括存储语音记录以供稍后取回。因此,如果在步骤216处,确定主服务器140及时执行了服务呼叫的所有任务,则在步骤220处,主服务器140完成呼叫记录。然而,如果在步骤216处确定主服务器140未能及时完成与服务呼叫相关联的任务,并且在步骤218处辅服务器142承担了责任,则在步骤220,辅服务器142完成呼叫记录。这可包括例如存储所记录的语音消息。
阁3是提供用于接收要向其提供冗余呼叫服务的呼叫的过程的流程图。在歩骤310处,在网关120处接收呼叫。在步骤312处,网关120标识至少第一服务器来主要负责服务呼叫。出于说明的目的,服务器140可被标识为主服务器。可以理解,可将超过一个服务器标识为主要负责服务呼叫。例如,可以分配若干服务器来主要负责执行关于服务呼叫的各种任务。
在步骤314处,至少第二服务器被标识为辅助负责。出于说明的目的,服务器142可被标识为辅服务器。第二服务器可以用任何数量的方式来标
识。例如,在一个可能的实施例中,网关120可以将服务器标识为辅助负
责服务呼叫。在一替换实施例中,被标识为主服务器的服务器可以标识辅 服务器。可以理解,可将超过一个服务器标识为辅助负责服务呼叫。例如, 可以分配若干服务器来在主服务器失败的情况下执行关于监控和服务呼叫 的各种任务。
在步骤316处,网关120将呼叫传递给被标识为主服务器140和辅服 务器142的服务器。网关120和服务器140、 142之间的通信可以使用诸如 例如SIP等协议来进行。
图4是结合提供冗余呼叫服务的过程来同步主服务器和辅服务器的过 程的流程图。如图所示,在步骤410处,在主140和辅142服务器处接收 来自网关120的、服务呼叫的请求。
在步骤414处,主服务器140和辅服务器142彼此同步,以使每一个 都准备好执行其各自的关于服务呼叫的任务。主服务器140和辅服务器142 可以结合同步来彼此通信。可以使用诸如例如会话发起协议(SIP)等标准 协议来在服务器之间进行通信。在 一实施例中,SIP可被用来在服务器之间 建立信令信道,以在呼叫的持续时间内使用。
在歩骤416处,主服务器140和辅服务器142向网关120确认它们可 用于服务传入的呼叫。与网关120的通信可以使用SIP协议来进行,并使 用RTP协议来传递媒体或呼叫信息。在步骤418处,在主服务器140和辅 服务器142中的每一个处接收呼叫。
图5是执行关于服务对其请求了冗余服务的呼叫的任务的过程的流程 图。在一示例性实施例中,提供冗余语音邮件记录。在步骤512处,主服 务器140检索并开始播放所记录的、对呼叫所针对的电话号码的问候。同 样在歩骤512处,主服务器140将其状态更新为已经开始问候。主服务器 140可以用任何数量的方式来更新其状态,以使主服务器所执行的任务的状 态可由辅服务器142获得。例如,主服务器140可以与辅服务器142通信, 以告知已经开始播放问候。这一通信可以使用SIP协议来进行。在另一示 例实施例中,主服务器140可以更新存储器中的、可由辅服务器142访问的位置,以指示问候已经开始。
在步骤514处,主服务器140完成播放所记录的问候,并将其状态更
新为己经完成播放问候。所更新的状态被传递给辅服务器142。
在步骤516处,主服务器140启动对语音消息的记录,并将其状态更 新为已经启动了对消息的记录。启动对消息的记录可包括例如向呼叫者指 示系统准备好接收语音记录。这可以例如通过向呼叫者传递某一音调来实 现。所更新的状态被传递给辅服务器142。辅服务器142将同样启动对任何 消息的记录。
在步骤518处,主服务器140完成对语音消息的记录,并将其状态信 息更新为已经完成了对消息的记录。所更新的状态被传递给辅服务器142。
在步骤520处,主服务器140存储所记录的消息,并将其状态更新为 已经完成存储所记录的消息。所更新的状态被传递给辅服务器142。主服务 器140可以用适于保存所记录的消息以供稍后取回的任何方式来存储所记 录的消息。
图6是用于在服务语音邮件记录时提供呼叫冗余的过程的流程图。在 步骤610处,辅服务器142监控主服务器140的、对于任务的及时完成的 状态。辅服务器142可以例如通过接收来自主服务器140的、关于已经完 成的任务的通信来监控状态。这一通信可以例如使用SIP协议来进行.。在 另一示例实施例中,辅服务器142可以例如通过检査存储器中的、其中记 录主服务器140的状态的位置来监控状态。
在步骤612处,辅服务器142确定状态是否指示主服务器140已经及 时地检索并播放了问候。例如,辅服务器142可被编程成预期所记录的问 候应在接收到呼叫之后的预定时间长度内检索到。类似地,辅服务器142 可被编程成预期所记录的问候的播放应在接收到呼叫之后的预定时间长度 之前完成。如果辅服务器142确定主服务器140的状态指示其尚未及时检 索和/或播放问候,则在歩骤622处,辅服务器142承担完成呼叫的控制或 责任。如果要承担对呼叫的控制,则辅服务器142可以采取任何数量的步 骤来确保该呼叫被正确地服务,包括例如指示主服务器140丢弃该呼叫并 在服务器142处检索和播放所记录的问候。辅服务器142随后可以执行服务语音邮件的其余步骤。如果在步骤612处,辅服务器142确定主服务器 140及时地检索到并播放了问候,则在步骤610处,辅服务器142继续监控 任务的及时完成。
在步骤614处,辅服务器142确定状态是否指示主服务器140已经及 时地启动了对语音消息的记录。例如,辅服务器142可被编程成检査语音 消息记录的启动在接收到呼叫之后或在完成问候之后的特定时间长度之前 开始。如果辅服务器142确定主服务器140的状态指示主服务器140尚未 及时启动消息记录,则在步骤622处,辅服务器142承担完成呼叫的控制 或责任。如果要承担对呼叫的控制,则辅服务器142可以采取任何数量的 步骤来确保该呼叫被正确地服务,包括例如指示主服务器140丢弃该呼叫 并在服务器142处启动对消息的记录。辅服务器142随后可以执行服务语 音邮件的任何其余步骤。
如果在步骤614处,辅服务器142确定主服务器140及时地启动了对 语音消息的记录,则在步骤616处,辅服务器142开始记录该消息。此后, 在歩骤610处,辅服务器142继续监控任务的及时完成。
在歩骤618处,辅服务器142确定状态是否指示主服务器140已经及 时地完成了对语音消息的记录和存储。例如,辅服务器142可被编程成检 査在接收到呼叫之后在完成问候之后的特定时间长度之前,语音消息记录 已完成并且语音邮件已被存储。辅服务器142可以知道语音邮件记录应在 其从网关120接收到关于该呼叫的信令之前完成。主服务器140和辅服务 器142两者都对网关120对话,并且独立地通知两者记录可以结束。
如果辅服务器142确定主服务器140的状态指示主服务器140尚未及 时完成记录和存储语音消息,则在步骤622处,辅服务器142承担完成呼 叫的控制或责任。如果要承担对呼叫的控制,则辅服务器142可以采取任 何数量的歩骤来确保该呼叫被正确地服务,包括例如指示主服务器140丢 弃该呼叫并在服务器142处完成记录和存储该语音消息。辅服务器142随 后可以执行服务语音邮件的任何其余步骤。
如果在步骤618处,辅服务器142确定消息已被及时记录和存储,则 在步骤620处,辅服务器142丢弃其所记录的该消息的副本。
14示例计算环境
图7描绘可在示例性计算布置100中使用的示例计算环境720。可以 用多种方式来使用示例计算环境720,以实现所公开的用于此处所描述的冗 余呼叫服务的方法。例如,计算环境720可用作提供冗余呼叫服务的计算 机服务器140、 142、 144。在一示例实施例中,计算环境720可用作网关 120。
计算环境720只是合适的计算环境的一个示例,并且不旨在对此处所 公开的主题的使用范围或功能提出任何限制。也不应该将计算环境720解 释为对示例操作环境720中示出的任一组件或其组合有任何依赖性或要求。
此处所描述的主题的各方面可与众多其它通用或专用计算系统环境或 配置一起操作。适用于此处所描述的主题的公知的计算系统、环境和/或配 置的示例包括,但不限于,个人计算机、服务器计算机、手持式或膝上型 设备、便携式媒体设备、多处理器系统、基于微处理器的系统、机顶盒、 可编程消费电子产品、网络PC、小型机、大型计算机、包括上述系统或设 备中的任 一 个的分布式计算环境等。
用于实现此处所描述的主题的各方面的示例系统包括计算机741形式 的通用计算设各。计算机741的组件可以包括,但不限于,处理单元759、 系统存储器722和将包括系统存储器在内的各种系统组件耦合至处理单兀 759的系统总线721。系统总线721可以是几种类型的总线结构中的任何一 种,包括存储器总线或存储控制器、外围总线、以及使用各种总线体系结 构中的任一种的局部总线。作为示例而非局限,这样的体系结构包括工业 标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA (EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连 (PCI)总线(也称为夹层(Mezzanine)总线)。
计算机741通常包括各种计算机可读介质。计算机可读介质可以是能 山计算机741访问的任何可用介质,而且包含易失性和非易失性介质、可 移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机 存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指 令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,
RAM、 ROM、 EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能 盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设 备、或能用于存储所需信息且可以由计算机741访问的任何其它介质。通 信介质通常以诸如载波或其它传输机制等己调制数据信号来体现计算机可 读指令、数据结构、程序模块或其它数据,并包括任意信息传送介质。术 语"已调制数据信号"包括其一个或多个特征以在信号中编码信息的方式 被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,诸如 有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其它无 线介质。上述中任一组合也应包括在计算机可读介质的范围之内。
系统存储器722包括易失性和/或非易失性存储器形式的计算机存储介 质,如只读存储器(ROM) 723和随机存取存储器(RAM) 760。基本输入 /输出系统724 (BIOS)包括如在启动时帮助在计算机741内的元件之间传 输信息的基本例程,它通常储存在ROM 723中。RAM 760通常包含处理单 兀7 5 9可以立即访问和/或目前正在其上操作的数据和/或程序模块。作为示 例而非限制,图7不出了操作系统725、应用程序726、其它程序模块727 和程序数据728。
计算机741还可以包括其它可移动/不可移动、易失性/非易失性计算机 存储介质。仅作为示例,图7示出了从不可移动、非易失性磁介质中读取 或向其写入的硬盘驱动器738,从可移动、非易失性磁盘754中读取或向其 写入的磁盘驱动器739,以及从诸如CD ROM或其它光学介质等可移动、 非易失性光盘753中读取或向其写入的光盘驱动器740。可以在该示例操作 环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括 但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固 态ROM等等。硬盘驱动器738通常由不可移动存储器接口,诸如接口734 连接至系统总线721,磁盘驱动器739和光盘驱动器740通常由可移动存储 器接口,诸如接口 735连接至系统总线721。
以上讨论并在图7中示出的驱动器及其相关联的计算机存储介质为计 算机741提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。在图7中,例如,硬盘驱动器738被示为存储操作系统758、应用程序 757、其它程序模块756和程序数据755。注意,这些组件可以与操作系统 725、应用程序726、其它程序模块727和程序数据728相同,也可以与它 们不同。操作系统758、应用程序757、其它程序模块756和程序数据755 在这里被标注了不同的标号是为了说明至少它们是不同的副本。用户可以 通过输入设备,诸如键盘751和定点设备752 (通常指的是鼠标、跟踪球或 触摸垫)向计算机741输入命令和信息。其它输入设备(未示出)可以包 括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些和其它输 入设备通常由耦合至系统总线的用户输入接口 736连接至处理单元759,但 也可以由其它接口和总线结构,诸如并行端口、游戏端口或通用串行总线 (USB)连接。监视器742或其它类型的显示设备也经由接口,诸如视频 接口 732连接至系统总线721。除监视器以外,计算机还可以包括其它外围 输出设备,诸如扬声器744和打印机743,它们可以通过输出外围接口 733 连接。
因此,已经公开了用于提供冗余呼叫服务的系统。在所公开的实施例 中,该系统在语音呼叫的服务的整个持续时间期间提供兀余,并且尤其是 在语音邮件记录期间提供冗余。本技术领域人员将理解,可以使用该系统 来在除语音邮件记录之外的场景中提供冗余。例如,可以使用冗余呼叫服 务系统来服务打入来检查语音邮件的语音邮件用户。确实,可以使用所公 开的用于在主服务器和辅服务器之间共享密钥状态转换的系统和方法来向 火多数(即使不是全部)交互式语音响应(IVR)服务提供冗余。
应该理解,此处描述的各种技术可以结合硬件或软件,或在适当时以 两者的组合来实现。因此,此处所描述的主题的方法和装置或其特定方面 或部分可采取包含在诸如软盘、CD-ROM、硬盘驱动器或任何其它机器可 读存储介质等有形介质中的程序代码(即,指令)的形式,其中当程序代 码被加载到诸如计算机等机器内并由其执行吋,该机器成为用于实现此处 所描述的主题的装置。在程序代码存储在介质的情况下,情况可以是所述 程序代码存储在共同执行所述动作的一个或多个介质上,即该一个或多个 介质一起包含执行该动作的代码,但是(在超过一个单个介质的情况下)
17不需要在任何特定介质上存储代码的任何特定部分。在程序代码在可编程 计算机上执行的情况下,计算设备通常包括处理器、该处理器可读的存储 介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备、 以及至少一个输出设备。 一个或多个程序可以例如,通过使用API、可重 用控件等来实现或利用结合此处所描述的主题来描述的过程。这样的程序 优选地用高级过程语言或面向对象编程语言来实现,以与计算机系统通信。 然而,如果需要,该程序可以用汇编语言或机器语言来实现。在任何情形 中,语言都可以是编译语言或解释语言,且与硬件实现相结合。
尽管示例实施例可涉及在一个或多个独立计算机系统的上下文中利用 此处所描述的主题的各方面,但此处所描述的主题不受此限制,而是可以 结合任何计算环境,诸如网络或分布式计算环境来实现。此外,此处所描 述的主题的各方面可在多个处理芯片或设备中或跨多个处理芯片或设备实 现,且存储可类似地跨多个设备来实现。这样的设备可以包括,个人计算 机、网络服务器、手持式设备、超级计算机、或集成在诸如汽车和飞机等 其它系统中的计算机。
尽管用对结构特征禾I /或方法动作专用的语言描述了本主题,但可以理 解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反, 上述具体特征和动作是作为实现权利要求的示例形式公开的。
权利要求
1.一种至少部分地在计算系统上执行的记录语音消息的方法,包括接收呼叫;标识多个服务器(140、142)来服务所述呼叫;将所述呼叫传递给所述多个服务器(140、142)中的每一个;在所述多个服务器(140、142)中的每一个处记录语音消息;以及如果所述多个服务器中的第一个(140)未能及时执行关于记录所述呼叫的任务,则在所述多个服务器中的第二个(142)处服务所述呼叫。
2. 如权利要求1所述的方法,其特征在于,标识多个服务器来服务所 述呼叫包括标识至少第一服务器(140)和第二服务器(142)来服务所述 呼叫。
3. 如权利要求2所述的方法,其特征在于,还包括将所述第一服务器 (140)标识为主要负责服务所述呼叫并将所述第二服务器(142)标识为辅助负责服务所述呼叫。
4. 如权利要求1所述的方法,其特征在于,标识多个服务器来服务所 述呼叫包括在网关(120)处将第一服务器(140)标识为主要负责服务所 述呼叫,并将至少第二服务器(142)标识为辅助负责服务所述呼叫。
5. 如权利要求l所述的方法,其特征在于,标识多个服务器(142)来 服务所述呼叫包括在网关(120)处,将第一服务器(140)标识为主要负责服务所述呼 叫;以及在所述第一服务器(140)处,将至少第二服务器(142)标识为辅助 负责服务所述呼叫。
6. 如权利要求1所述的方法,其特征在于,在所述多个服务器的第二 个(142)处服务所述呼叫包括记录语音消息和对所述语音消息的存储进行管理。
7. 如权利要求1所述的方法,其特征在于,还包括 在所述多个服务器中的所述第一个(140)处,对所呼叫的号码的问候的检索进行管理;在所述多个服务器中的所述第一个(140)处,对所述问候的播放进行 管理;在所述多个服务器中的所述第一个(140)处,对所述语音消息的记录 的启动进行管理;在所述多个服务器中的所述第一个(140)处,对所述语音消息的记录 的完成进行管理;以及在所述多个服务器中的所述第一个(140)处,对所述语音消息的存储 进行管理。
8. 如权利要求7所述的方法,其特征在于,还包括 在所述多个服务器中的所述第二个(142)处,监控在所述多个服务器中的所述第一个(140)处执行的关于服务所述呼叫的任务;在所述多个服务器中的所述第二个(142)处,标识在所述多个服务器中的所述第一个(140)处未能及时执行任务;以及在所述多个服务器中的所述第二个(142)处,响应于标识在所述多个服务器中的所述第一个(140)处未能及时执行任务,在所述第二服务器 (142)处承担服务所述电话呼叫的责任。
9. 如权利要求8所述的方法,其特征在于,标识在所述多个服务器中的所述第一个(140)处未能及时执行任务包 括标识未能及时对所述语音消息的记录的完成进行管理,以及承担服务所述电话呼叫的责任包括对记录所述语音消息和存储所述语 音消息的完成进行管理。
10. 如权利要求8所述的方法,其特征在于,标识在所述多个服务器中的所述第 个(140)处未能及时执行任务包 括标识未能及时对所述语音消息的存储进行管理,以及承担服务所述电话呼叫的责任包括对存储所述语音消息的完成进行管理。
11. --种用于语音消息记录的系统,包括网关(120),所述网关(120)适用于向多个服务器(140、 142)传 递语音呼叫;通信上与所述网关(120)相耦合的第一服务器(140),所述第一服 务器(140)包括用于从所述网关(120)接收语音呼叫、记录语音消息、 以及存储所述语音消息的计算机可读指令;以及通信上与所述网关(120)和所述第一服务器(140)相耦合的第二服 务器(142),所述第二服务器(142)包括用于从所述网关(120)接收所 述呼叫、记录所述语音消息、监控所述第一服务器(140)所执行的任务、 以及在所述第一服务器(140)未能及时完成任务的情况下承担对所述呼叫 的责任的计算机可读指令。
12. 如权利要求ll所述的系统,其特征在于,所述第二服务器(142) 包括用于在所述第一服务器(140)未能及时完成对所述语音消息的存储的 情况下存储所述语音消息的计算机可读指令。
13. 如权利要求ll所述的系统,其特征在于,所述第一服务器(140) 和所述第二服务器(142)是统一消息收发服务器。
14. 如权利耍求11所述的系统,其特征在于,所述网关(120)适用 于选择所述第一服务器(140)和所述第二服务器(142)来接收所述呼叫。
15. 如权利要求11所述的系统,其特征在于,所述第一服务器(140) 包括用于选择所述第二服务器(142)的计算机可读指令。
16. —个或多个具有所存储的信息的计算机可读存储介质,包括 用于在第一服务器(140)处执行服务电话呼叫的任务的计算机可读指令;用于在第二服务器(142)处监控所述第一服务器(140)所执行的任 务的计算机可读指令;用于在所述第二服务器(142)处标识在所述第一服务器(140)处未 能及时执行任务的计算机可读指令;以及用于响应于标识在所述第一服务器(140)处未能及时执行任务,在所 述第二服务器(142)处承担服务所述电话呼叫的责任的计算机可读指令。
17. 如权利要求16所述的一个或多个计算机可读介质,其特征在于, 所述用于在第二服务器(142)处标识在所述第一服务器(140)处未能及 时执行任务的计算机可读指令包括用于在第二服务器(142)处标识未能及时执行以下各项中的至少一个的指令呈现所记录的问候;开始记录消息;以及完成对消息的记录。
18. 如权利要求16所述的一个或多个计算机可读介质,其特征在于, 所述用于响应于标识在所述第一服务器(140)处未能及时执行任务在所述 第二服务器(142)处承担服务所述电话呼叫的责任的计算机可读指令包括 用于完成所述呼叫的计算机可读指令。
19. 如权利要求16所述的一个或多个计算机可读介质,其特征在于, 还包括用于在所述第二服务器(142)处同时执行在所述第一服务器(140) 处所执行的任务的计算机可读指令。
20. 如权利要求19所述的一个或多个计算机可读介质,其特征在于, 所述用于在所述第二服务器(142)处同时执行在所述第一服务器(140) 处所执行的任务的计算机可读指令包括在所述第二服务器(142)处记录消 息。
全文摘要
一种系统提供冗余电话呼叫处理。网关接收呼叫,并且将第一服务器标识为主要负责服务该呼叫以及将第二服务器标识为辅助负责服务该呼叫。网关将该呼叫传递给第一服务器和第二服务器两者。第一服务器启动对语音消息的记录。第一服务器和第二服务器记录该语音消息。如果第一服务器未能以及时的方式指示其已完成并存储了该语音消息,则第二服务器存储所记录的语音消息。
文档编号H04M1/64GK101663881SQ200880012616
公开日2010年3月3日 申请日期2008年4月7日 优先权日2007年4月20日
发明者C·N·迪德库克 申请人:微软公司