用于转移差错恢复的技术的制作方法

文档序号:7732603阅读:129来源:国知局
专利名称:用于转移差错恢复的技术的制作方法
用于转移差错恢复的技术背景在电话学中,自动呼叫分发器(ACD)是将传入呼叫分发给呼叫中心代理的一组特 定终端的设备或系统。它通常是计算机电话集成(CTI)系统的一部分。路由传入呼叫是ACD系统的任务。ACD系统常见于处理来自无需与特定的人谈话 但尽快需要来自多个人(例如,客户服务代表)中的任一个的帮助的呼叫者的大量传入电 话呼叫的办公室中。ACD系统通常包括用于终端和交换机的硬件、电话线、以及用于路由策略的软件。 路由策略是告诉A⑶在该系统内如何处理呼叫的一组基于规则的指令。这通常是确定响应 给定传入呼叫的一个或多个最佳有空雇员的算法。为了帮助作出该匹配,请求附加数据并 审阅这些数据以查明客户为何呼叫。A⑶系统有时使用呼叫者的呼叫者标识(CID)或自动 编号标识(ANI)。在许多情况下,ACD系统使用交互式语音响应(IVR)系统来查明呼叫的原 因。ACD系统的自动化便利可为公司或企业显著降低成本,因为它减少了对人类干预 的需求。然而,用于处理客户的算法方法在路由策略的限制无法产生客户所追求的期望结 果时可能使客户服务承担风险。因此,对ACD系统及其底层技术的改进可导致改进的客户 服务和客户满意度。概述各实施例一般涉及通信系统。某些实施例尤其可涉及诸如呼叫中心等具有用于自 动将传入呼叫路由至一组所选呼叫终端的ACD系统的通信系统。ACD系统可利用作为转移 差错上下文(TEC)组件的一部分来实现的各种转移差错恢复技术来在外部呼叫终端被转 移至由ACD系统提供的各个内部呼叫终端时减少转移差错。例如,在一个实施例中,A⑶系统可包括上下文生成器模块、TEC模块、以及呼叫转 移模块。上下文生成器模块可用于记录关于第一呼叫终端和呼叫系统资源之间的第一呼叫 会话的上下文信息,并将该上下文信息与上下文标识符一起存储在上下文表中。TEC模块可 用于生成具有上下文标识符的TEC信息。呼叫转移模块可用于将TEC信息发送到第一呼叫 终端以供在转移失败事件的情况下使用。对其它实施例也予以描述并要求保护。提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概 念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定 所要求保护的主题的范围。附图简述

图1示出了 A⑶系统的一个实施例。图2示出TEC首部的一个实施例。图3示出了通信系统的一个实施例。图4示出了逻辑流程的一个实施例。图5A示出了第一消息流的一个实施例。图5B示出第二消息流的一个实施例。
图6示出了计算系统体系结构的一个实施例。图7示出了制品的一个实施例。详细描述各实施例可包括被安排成执行特定无关或相关操作、功能或服务的多个互连结 构。这些结构可包括物理结构、逻辑结构或两者的组合。物理或逻辑结构可以使用硬件元 素、软件元素或两者的组合来实现。然而,参考特定硬件或软件元素的对各实施例的描述旨 在作为示例而非限制。使用硬件还是软件元素来实际地实施一实施例的决定取决于多个外 部因素,诸如所需计算速率、功率电平、热容忍度、处理周期预算、输入数据率、输出数据率、 存储器资源、数据总线速度、以及其他设计或性能约束。此外,物理或逻辑结构可具有对应 的物理或逻辑连接以便在这些结构之间以电子信号或消息的形式传递信息。连接可包括如 适于信息或特定结构的有线和/或无线连接。值得注意的是,任何对“一个实施例”或“一 实施例”的引用都意味着结合该实施例所描述的特定的特征、结构、或特性被包括在至少一 个实施例中。出现在说明书中各个地方的短语“在一实施例中”不必全都指的是同一实施 例。各实施例涉及用于自动化呼叫系统的转移差错恢复的技术。诸如ACD系统等自动 化呼叫系统通常需要将来自外部呼叫终端的传入呼叫转移至由ACD系统提供的各个内部 呼叫终端,诸如举例而言以便进行客户服务操作。这些转移差错恢复技术允许ACD系统从 转移失败事件中恢复。转移失败事件包括其中未完成到目标呼叫终端的呼叫转移的事件。 转移失败事件的示例可包括而不限于,来自目标呼叫终端的忙信号、目标呼叫终端完成呼 叫连接失败、完成与目标呼叫终端的呼叫连接并到达语音邮件或统一消息收发系统、完成 与非预期呼叫终端的呼叫连接,等等。这些转移差错恢复技术允许A⑶系统和转移到的呼叫终端以减少A⑶系统的复杂 性的方式从转移失败事件中恢复。这些转移差错恢复技术还减少或消除对转移到的呼叫终 端的操作员重启用ACD系统进行的整个呼叫过程的需求。结果,这些转移差错恢复技术可 提高操作员、设备或网络的可承受性、可伸缩性、模块性或可扩展性。图1示出了 A⑶系统100的框图。A⑶系统100可将传入呼叫分发给呼叫中心代 理的一组特定终端。它常常被实现为CTI系统的一部分。例如,A⑶系统100可包括用于 为公司或企业服务的呼叫中心的CTI系统的一部分。在各实施例中,A⑶系统100可包括能够发起或终止诸如分组交换网络和/或电 路交换网络等各种类型的网络之间的呼叫的各种组件、设备或系统。在前一种情况下,ACD 系统可以使用一个或多个网际协议语音(VoIP)信令协议来建立VoIP呼叫,这些VoIP信令 协议是由因特网工程任务组(IETF)标准组织定义并公布的信令协议,诸如如IETF系列RFC 3261、3265、3853、4320及其后代、修订版和变体所定义的会话发起协议(SIP)。一般而言, SIP信令协议是用于创建、修改、以及终止与一个或多个参与者的会话的应用层控制和/或 信令协议。这些会话包括网际协议(IP)电话呼叫、多媒体分发、以及多媒体会议。此外, VoIP呼叫可使用数据或媒体格式协议来建立,诸如IETF RFC3550及其后代、修订版和变体 所定义的实时传输协议(RTP)和实时传输控制协议(RTCP)。RTP/RTCP标准定义用于通过 分组交换网络传递多媒体信息(例如,音频和视频)的统一或标准化分组格式。尽管某些 实施例可利用作为示例而非限制的SIP和RTP/RTCP协议,但可以理解,也可如给定实现所需地使用其他VoIP协议。除了上述通用VoIP协议之外,A⑶系统100可以专门实现各种呼叫转移协议,诸如 2003年4月的题为“会话发起协议(SIP)引用方法”的IETF RFC3515( “SIP引用规范”) 及其后代、修订版和变体。SIP引用规范是请求接收者引用请求中所提供的资源的SIP扩 展。它提供允许将所引用请求的结果通知给发送该引用的一方的机制。该机制可用于启用 包括呼叫转移在内的许多应用。尽管某些实施例涉及作为示例而非限制的SIP引用规范, 但这些转移差错恢复技术也可适用于其他转移机制或技术。在图1所示的实施例中,A⑶系统100包括A⑶系统的各部分,包括通信地耦合 到外部呼叫终端的呼叫控制模块Iio以及IVR模块120。IVR模块120可以通信地耦合到 TEC组件130。IVR模块120和TEC组件130可以通信地耦合到上下文数据库134。TEC组 件130包括通信地耦合到TEC模块142的上下文生成器模块132。TEC组件130可以通信 地耦合到呼叫转移模块150。呼叫转移模块150可以通信地耦合到呼叫控制模块110,以及 耦合到呼叫控制模块110的外部呼叫终端。尽管如图1所示的ACD系统100的所示实施例包含以特定拓扑结构排列的特定元 素,但可以理解,ACD系统100可包括以不同拓扑结构排列的更多或更少的元素并且仍然落 在各实施例的范围内。此外,ACD系统100的各个元素可通过可用于交换信息以协调彼此 之间的操作的各种信号线来耦合。该信息可被实现为分配给各种信号线的信号。在这些分 配中,每一个消息都是信号。然而,其他实施例可另选地采用数据消息。这些数据消息可以 跨各个连接发送。示例性连接包括并行接口、串行接口和总线接口。A⑶系统100可包括呼叫控制模块110。呼叫控制模块110通常可被安排成管理对 于ACD系统100的呼叫流操作。在电话学中,呼叫控制指的是电话交换机中提供其主要功 能的软件。呼叫控制模块110解码寻址信息并将电话呼叫从一个端点路由至另一个端点。 它还创建可用于使标准交换操作适应用户需求的特征。这些特征的常见示例是呼叫转移、 呼叫等待、呼叫转发、不要打扰等。A⑶系统100可包括IVR模块120。IVR模块120可包括通常被安排成管理呼叫者 和机器接口之间的交互式对话的呼叫系统资源。在电话学中,IVR指的是允许计算机使用 普通电话呼叫来检测语音和按钮音的电话技术。IVR模块120可以用预先记录的或动态生 成的音频来响应以便进一步指示呼叫者如何继续。IVR模块120可用于控制其中该接口可 被分解成一系列简单的菜单选择的几乎任何功能。呼叫者拨打由IVR模块120应答的电话 号码。IVR模块120执行绑定到所拨打号码信息服务(DOTS)的应用程序。作为该应用程序 的一部分,预先记录的音频文件或动态生成的文本-语音(TTS)音频解释对呼叫者可用的 选项。呼叫者被给予使用双音多频(DTMF)声调或口述单词来选择选项的选择。语音识别 通常用于执行更复杂的事务并简化应用程序菜单结构。A⑶系统100可包括呼叫转移模块150。呼叫转移模块150通常可被安排成管理对 ACD系统100的呼叫转移操作。尽管被示为单独的模块,但可以理解,由呼叫转移模块150 提供的操作、功能或服务可被实现为呼叫控制模块110的集成部分。各实施例在此上下文 中不受限制。呼叫转移是使得用户能够通过拨打所需位置来将现有呼叫重新定位至另一电话 或话务台的电信机制。所转移的呼叫作通告或不作通告。如果通告所转移的呼叫,则将即
6将到来的转移通知给所需方/分机。这通常通过使呼叫者不挂断并拨打所需方/分机来完 成;该所需方/分机然后得到通知并且如果他们选择接受该呼叫,则将该呼叫转移给他们。 常用于通告转移的其他术语包括监督和热转移。另一方面,不通告转移在不通知所需方/ 分机即将到来的呼叫的情况下转移。它被自动转移到他们的线路。常用于不通告转移的其 他术语包括无监督、冷和盲转移。尽管具有这两个能力,但呼叫控制模块110和IVR模块120通常执行不通告转移 以促进ACD系统100的自动化特质。由此,可能发生其中IVR模块120从呼叫者接受信息 并基于该信息来请求呼叫控制模块110将该呼叫转移至所需方的特定呼叫终端的情况。因 此,存在所需方没空的可能性,因此导致转移失败事件。在常规呼叫系统中,这可迫使呼叫 者重新拨打公司的主号码,重新连接到IVR模块120,参与和IVR模块120的另一交互式对 话,并且然后重新连接到相同或不同方以获得服务。呼叫转移问题有时通过使ACD系统100的呼叫控制元素保持在信令路径中直到转 移操作已成功完成来解决。例如,ACD系统100可实现担当SIP呼叫的两端的用户代理的 背靠背用户代理(B2BUA)。B2BUA可跟踪正在转移的呼叫的状态并将任何变更通知给呼叫 转移者(例如,发起转移方)。然而,对B2BUA的使用增加呼叫控制操作的复杂性,以及消耗 资源以监视和跟踪呼叫转移操作直到完成,由此减少对其他传入呼叫可用的资源。这对于 其中ACD系统100为相对较大量的传入呼叫服务的应用而言可能特别低效。为了解决这些和其他问题,A⑶系统100可实现减少或消除诸如B2BUA解决方案 中的对ACD系统100将资源专用于监视呼叫转移操作的需求的各种转移差错恢复技术。相 反,转移者可以在呼叫转移动作被接受后结束呼叫支路。此外,被转移者始终保持对呼叫的 完全控制。这些和其他优点可以例如使用TEC组件130来实现。TEC组件130通常可被安排成实现允许呼叫者和A⑶系统100在转移失败事件的 情况下恢复的各种转移差错恢复技术。TEC组件130可记录并存储关于呼叫者和诸如IVR 模块120等呼叫系统资源之间的交互式对话的上下文信息。TEC组件130还可用TEC信息 生成TEC首部,包括被称为上下文标识符的对上下文信息的引用。TEC组件130然后可经由 呼叫转移模块150将TEC信息提供给呼叫者的呼叫终端,以供在自动响应转移失败事件时 使用。TEC组件130可被安排成记录并存储关于呼叫者和诸如IVR模块120等呼叫系统 资源之间的交互式对话的上下文信息。如此处所使用的,术语“上下文信息”可以指关于设 备或系统在执行给定任务时的状态或条件的任何信息。一般而言,只要设备或系统执行任 务,该设备或系统就分配资源并生成通常对该任务唯一的数据。如果任务在完成前中断,则 该任务可能需要再次从开头启动,由此表示在该中断之前执行的工作的完全丢失。记录并 存储上下文信息允许任务在一个时间点中断,并且一将来时间点继续,而不必重启整个任 务。保存上下文信息允许设备或系统再现任务已被中断时的状态或条件以继续任务上的工 作。在这种情况下,TEC组件130可以在呼叫转移操作之前记录并存储关于呼叫会话的上 下文信息,由此允许ACD系统100在转移失败事件的情况下再现关于后续呼叫会话的上下 文。上下文信息的示例可包括但不限于关于以下内容的任何信息呼叫会话细节、客户机、 设备、设备能力、呼叫方之间的通信、呼叫连接、呼叫会话、呼叫历史、呼叫转移的先前的目 标呼叫终端、差错信息、呼叫者偏好、呼叫者规则、呼叫者位置、呼叫者标识、生物测定信息、呼叫者个人信息(例如,姓名、地址、联系号码等)、媒体类型、媒体参数、呼叫号码优先权、 关键字、应用程序、应用程序数据,等等。各实施例在此上下文中不受限制。TEC组件130还可被安排成生成TEC信息144,且该TEC信息144包括对应于上下 文信息的上下文标识符。如此处所使用的,术语“TEC信息”可以指适用于在转移失败事件 的情况下允许转移差错恢复操作的任何信息。更具体而言,TEC信息144可允许呼叫者的呼 叫终端响应于转移失败事件而自动重新连接到诸如IVR模块120等呼叫系统资源。此外, TEC信息144可包括上下文标识符,该上下文标识符允许ACD系统100从与呼叫者的先前呼 叫会话中检索上下文信息,并为该呼叫者生成关于后续呼叫会话的上下文以减少或消除先 前执行的数据收集操作。在一般操作中,呼叫控制模块110可从第一呼叫终端中接收传入呼叫102-1。呼叫 控制模块110管理呼叫流,并将传入呼叫102-1连接到诸如IVR模块120等呼叫系统资源。 这为第一呼叫终端和IVR模块120之间的第一呼叫会话建立第一呼叫连接。IVR模块120可用于通过向第一呼叫终端发送语音提示并从该第一呼叫终端接收 操作员命令来管理关于第一呼叫会话的交互式对话。IVR模块120执行绑定到拨打号码 DNIS的应用程序。作为该应用程序的一部分,预先记录的音频文件或动态生成的TTS音频 解释对呼叫者可用的各个选项。呼叫者被给予使用DTMF声调或口述单词来选择选项的选 择。语音识别通常用于执行更复杂的事务并简化应用程序菜单结构。一旦IVR模块120从 呼叫者收集到足够的信息以确定转移的目标呼叫终端,IVR模块120就可向呼叫控制模块 110发送转移请求。在第一呼叫终端和IVR模块120之间的第一呼叫会话期间,TEC组件130可发起 TEC操作以生成TEC信息144。在图1所示的实施例中,TEC组件130可包括上下文生成器 模块132和TEC模块142。上下文生成器模块132可被安排成记录关于第一呼叫终端和诸如IVR模块120等 呼叫系统资源之间的第一呼叫会话的上下文信息140-1-n。上下文信息140-1-n可包括例 如提供给呼叫者的语音提示、和呼叫者响应于该语音提示而给予的响应以及其他信息。上 下文信息140-1-n还可包括诸如呼叫者记录或简档的关于呼叫者的信息,这些呼叫者记录 或简档具有诸如帐号、优先权信息、呼叫者偏好等的呼叫者信息。这些和其他类型的上下文 信息可用于为呼叫会话建立通用上下文的快照,且具体而言是呼叫者和IVR模块120在IVR 模块120发起转移操作之前到达的交互式对话中的一个点。上下文生成器模块132可存储 各自具有对应的上下文标识符138-1-m的上下文信息140-1-n,上下文标识符138-1-m和上 下文信息140-1-n —起形成上下文数据库134的上下文表133中的上下文记录136_l_p。TEC模块142可被安排成生成具有上下文标识符138-1-m和其他信息的TEC信息 144。TEC信息144可包括在转移差错事件后联系的资源标识符、定义转移差错事件的差错 码、对应于来自先前呼叫会话的上下文信息的上下文标识符以及其他信息等等。TEC模块 142可将TEC信息144转发给呼叫转移模块150。呼叫转移模块150接收TEC信息144,并将TEC信息144发送到第一呼叫终端以 供在转移失败事件的情况下使用。如上所述,一旦IVR模块120从呼叫者收集到足够的信 息以确定转移的目标呼叫终端,IVR模块120就可向呼叫控制模块110发送转移请求。呼 叫控制模块110从IVR模块120接收该转移请求。呼叫控制模块110在准备转移传入呼叫
8102-1时可执行各种呼叫控制操作,诸如对要转移到的目标呼叫终端进行查号。呼叫控制 模块110将控制指示发送到呼叫转移模块150。控制指示可包括例如将第一呼叫终端转移 到第二呼叫终端的转移指令。呼叫转移模块150从呼叫控制模块110接收该转移指令,从 TEC模块142接收TEC信息144,并且按照转移请求将第一呼叫终端转移到第二呼叫终端。呼叫转移模块150从呼叫控制模块110接收转移指令,从TEC模块142接收TEC信 息144,并且将转移消息发送到第一呼叫终端。在某些实施例中,转移消息可包括如由SIP 引用规范定义的REFER(引用)消息。REFER消息104-1可包括TEC信息144以及其他信 息。更具体而言,TEC信息144可包括如参考图2更详细地描述的TEC首部。图2示出了数据结构200的一个实施例。数据结构200可包括例如REFER消息 104。REFER消息104可包括对诸如A⑶系统100等自动化呼叫系统转移呼叫的转移机制。 REFER消息104是如由IETF RFC 3261定义的SIP方法。REFER消息104指示如由请求统 一资源标识符(URI)标识的接收者应使用请求中所提供的联系信息来联系第三方。由该指 向(Refer-To) URI标识的资源使用针对该URI类型的普通机制来联系。例如,如果URI是指 示INVITE (邀请)的SIP URI (使用例如方法=INVITE URI参数),则SIP UA将使用SIP 标准中所定义的用于发送INVITE的所有普通标准来发出新INVITE。在图2所示的实施例中,REFER消息104可包括指向首部的引用(RTH) 220。RTH 220是如由SIP标准定义的请求首部(请求-首部)。它通常只出现在REFER请求中。它 提供符合以下格式的用于引用的统一资源定位符(URL)指向=(〃指向〃 /〃 r" )HC0L0N(名称-地址/地址-规范)*(半通用-参 数)·该URL是除了标识资源之外还提供用于通过描述其主要接入机制或网络位置来 获取资源的表示或对其采取动作的技术的URI。除了 RTH 220之外,REFER消息104可包括TEC首部(TCH) 230。TCH230可包括用 于TEC信息144的数据结构。在图2所示的实施例中,TCH 230可包括一个或多个资源标 识符232、一个或多个差错响应码234、以及一个或多个上下文标识符138-1-m。TCH 230可 包括适用于转移差错恢复操作的其他类型的信息,并且各实施例在此上下文中不受限制。资源标识符232可表示关于响应于转移失败事件而将呼叫转发到的资源或目的 地的联系信息。该联系信息可包括关于资源的任何类型的联系信息,诸如电话号码、网络地 址、媒体访问控制(MAC)地址、电子邮件(email)地址、SIP地址、URI、URL、以及对应于资源 的任何其他唯一标识符。该资源可包括适用于处理转移差错恢复操作的任何资源,包括在 转移差错事件之前发起呼叫转移的转移者。例如,资源标识符232可包括诸如IVR模块120 等传入呼叫转移者的SIP地址,如下所示 <sip:acdi 公司 A. com>在另一示例中,资源标识符232可包括被特别设计成处理转移差错恢复操作的专 用呼叫系统资源。差错响应码234可包括定义自动发起转移差错恢复操作的转移差错事件的可配 置差错范例或差错码的列表。例如,差错响应码234可包括各种SIP差错码,如下所示响应码="4xx,5xx,6xx”在该示例中,对于所有400、500和600类SIP差错响应,TCH 230将指示呼叫终端将呼叫转发给aCd@公司A. com。差错响应码234可由用户或A⑶系统100来配置。上下文标识符138-1-m可包括对应于存储在TEC组件130的上下文数据库134中 的上下文信息的一个或多个上下文标识符。上下文标识符138-1-m可包括任何唯一标识 符,它的示例如下所示上下文=3xAB251d9e上下文标识符138-1-m可以与呼叫请求一起发送以用A⑶系统110发起后续呼叫 会话。ACD系统110可使用上下文标识符138-1-m来检索关于与外部呼叫终端的先前呼叫 会话的上下文信息,并针对与外部呼叫终端的后续呼叫会话为ACD系统110还原先前呼叫 会话的上下文。再次参考图1,在呼叫者侧,第一呼叫终端可从呼叫转移模块150接收包括REFER 消息104-1的一部分的TCH 230形式的TEC信息144。该第一呼叫终端可包括用于检测转 移失败事件并使用包含在TCH 230中的TEC信息144来发起第一呼叫终端和A⑶系统100 的呼叫系统资源之间的第二呼叫会话。A⑶系统100可接收传入呼叫102-2以便在第一呼叫终端和诸如IVR模块120等 呼叫系统资源之间建立第二呼叫会话。上下文生成器模块132可从第一呼叫终端接收上 下文标识符,并从上下文数据库134的上下文表133中检索对应于上下文标识符138-1-m 的上下文信息140-1-n。上下文生成器模块132可将上下文信息140-1-n发送到IVR模块 120。或者,A⑶系统100中的除了上下文生成器模块132之外的某一其他元素可检索上下 文信息140-1-n,诸如IVR模块120。在这种情况下,可能需要通知上下文生成器模块132 记录来自第二呼叫会话的上下文信息,并更新适当的上下文信息140-1-n。IVR模块120可接收上下文信息140-1-n,并基于该上下文信息140-1-n来确定 对该第一呼叫终端的后续处理事件。例如,IVR模块120可从上下文信息140-1-n中确定 来自第一呼叫终端的第一传入呼叫102-1未被成功转移到第二呼叫终端,并因此IVR模块 120可确定将第二传入呼叫102-2从第一呼叫终端转移到诸如第三呼叫终端等另一内部呼 叫终端。如同第一呼叫会话,上下文生成器模块132可记录来自第一呼叫终端和IVR模块 120之间的第二呼叫会话的上下文信息。上下文生成器模块132然后可以用来自第二呼叫 会话的上下文信息来更新来自第一呼叫会话的上下文信息140-1-n。上下文生成器模块 132可将已更新的上下文信息140-1-n存储在具有与第一呼叫会话相同的上下文标识符 138-1-m的适当上下文记录136-1-p中。图3示出了通信系统300的一个实施例。在各实施例中,通信系统300可被实现 为无线通信系统、有线通信系统、或两者的组合。在被实现为无线通信系统时,通信系统300 可包括适于通过无线通信介质通信的组件和接口,诸如一个或多个天线、发射机、接收机、 收发机、放大器、滤波器、控制逻辑等等。通信介质的示例可以包括使用无线频谱的诸如射 频(RF)频谱等各部分来实现的无线共享介质。当被实现为有线通信系统时,通信系统300 可包括适用于通过有线通信介质进行通信的组件和接口,诸如输入/输出(I/O)适配器、将 I/O适配器与对应的有线通信介质相连接的物理连接器、网络接口卡(NIC)、盘控制器、视 频控制器、音频控制器等等。有线通信介质的示例可以包括电线、电缆、金属导线、印刷电路 板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤等等。
如图3所示,通信系统300可包括多个呼叫终端3ΙΟ-1-r。呼叫终端310_l_r可包 括能够经由分组交换网络320与A⑶系统100建立VoIP呼叫连接的任何物理或逻辑通信 设备。呼叫终端310-1-r的示例可以包括但不限于数字电话、分组电话、VoIP电话、具有数 据通信能力的蜂窝电话、计算机、个人计算机、膝上型计算机、手持式计算机、移动计算机、 服务器、工作站、电器、网络设备等。例如,在一个实施例中,呼叫终端310-1-r可被实现为 VoIP呼叫终端,其被实现为SIP用户代理。然而,各实施例在此上下文中不受限制。第一呼叫终端310-1可表示外部呼叫终端,而呼叫终端310-2-r可表示由A⑶系 统100提供的内部呼叫终端。第一呼叫终端310-1可经由分组交换网络320发起与A⑶系 统100的第一呼叫连接330-1。分组交换网络320的示例可包括因特网。通过与第一呼叫 终端310-1的呼叫者的交互式对话,A⑶系统100可确定将呼叫连接330-1转移到第二呼 叫终端310-2,经由具有TCH 230的REFER消息104来相应地通知第一呼叫终端310-1,并 释放呼叫连接330-1。假设该呼叫转移失败,第一呼叫终端310-1的TEC模块302检测到转移差错事件, 并引用来自TCH 230的TEC信息144。TEC模块302可利用TEC信息144来执行客户机侧 转移呼叫恢复操作。例如,TEC模块302可以使用REFER消息104-1的TCH 230中的资源标 识符232来自动与A⑶系统100建立呼叫连接。在另一示例中,TEC模块302可呈现用户 选项列表,诸如连接到A⑶系统100、连接到公司中的不同号码、终止转移差错恢复操作等。 这可以为被转移者提供通过程序来选择用于处理转移失败事件的所需选项的可能性。因为先前已经释放第一呼叫连接330-1,所以第一呼叫终端310-1发起与A⑶系 统100的第二呼叫连接330-2,并将上下文标识符138-1-m发送到A⑶系统100。A⑶系统 100的TEC组件130接收该上下文标识符138-1-m,检索对应的上下文信息140-1-n,并为通 过第二呼叫连接330-2传送的第二呼叫会话构建通过第一呼叫连接330-1传送的第一呼叫 会话的上下文。基于该重新构造的上下文,A⑶系统100可确定将第一呼叫终端310-1转 移到第三呼叫终端310-3,经由具有TCH 230的REFER消息104来相应地通知第一呼叫终端 310-1,并释放呼叫连接330-2。这些转移差错恢复操作可以在任何数量的周期中继续直到 第一呼叫终端310-1成功连接到内部呼叫终端310-1-r而不发生转移失败事件。用于上述实施例的操作可参考一个或多个逻辑流程来进一步描述。可以理解,除 非另外指明,否则代表性的逻辑流程不一定要按所呈现的次序或者按任何特定次序来执 行。而且,关于逻辑流程描述的各种活动可按串行或并行的方式执行。视给定一组设计和 性能约束所需,逻辑流程可使用所述实施例的一个或多个硬件元素和/或软件元素或替换 元素来实现。例如,逻辑流程可被实现为供逻辑设备(例如,通用或专用计算机)执行的逻 辑(例如,计算机程序指令)。图4示出了逻辑流程400的流程框图。逻辑流程400可表示由在此所描述的一个 或多个实施例所执行的操作中的部分或全部。逻辑流程400可在框402记录关于与第一呼叫终端的第一呼叫会话的上下文信 息。例如,TEC组件130的上下文生成器模块132可检测到来自第一呼叫终端310-1的传 入呼叫102-1或得到该呼叫的通知,并发起记录操作以记录关于第一呼叫终端310-1和IVR 模块120之间的第一呼叫会话的上下文信息140-1-n。逻辑流程400可在框404存储该上下文信息与上下文标识符。例如,TEC组件130的上下文生成器模块132可使用唯一上下文标识符138-1-m来存储从与第一呼叫终端 310-1的第一呼叫会话中记录的上下文信息140-1-n。上下文标识符138-1-m可用于为与 第一呼叫终端310-1的将来或后续呼叫会话检索上下文信息140-1-n。逻辑流程400可在框406生成具有上下文标识符的转移差错上下文信息。例如, TEC模块142可生成TCH 230。TEC模块142可以直接从上下文生成器模块132接收上下文 标识符138-1-m,或经由上下文数据库134间接接收上下文标识符138-1-m,并且在TCH 230 中包括上下文标识符138-1-m。TEC模块142可将TCH 230发送给呼叫转移模块150。逻辑流程400可在框408将转移差错上下文信息发送到第一呼叫终端以供在转移 失败事件的情况下使用。例如,呼叫转移模块150可从呼叫控制模块110接收转移指令,并 从TEC模块142接收TCH,并生成REFER消息104-1。呼叫转移模块150可将REFER消息 104-1发送到第一呼叫终端310-1,并释放用于传入呼叫102-1的呼叫连接。图5A示出了第一消息流500的一个实施例。消息流500可表示通信系统300的各 个元件之间的消息流。如图5A所示,假设呼叫者Alice(爱丽丝)呼叫公司A的总机号码并 且公司A的A⑶系统100接受该呼叫。Alice可使用呼叫终端310-1来经由分组交换网络 320通过发送INVITE消息(例如,总机号码@公司A. com)发起与A⑶系统100的第一呼叫 连接330-1,如箭头502所指示。ACD系统100接收INVITE消息,并向呼叫终端310-1发送 2000K(确定)消息,如箭头504所指示。呼叫终端310-1发送如箭头506所示的ACK(确 认)消息,并且建立第一呼叫连接330-1。呼叫连接330-1的端点可包括A⑶系统100的 IVR 模块 120。通过与第一呼叫终端310-1的呼叫者的交互式对话,IVR模块120在框508作出 将呼叫连接330-1转移至第二呼叫终端310-2处的Bob (鲍勃)的转移判定。A⑶系统100 通过如箭头510所指示地向第一呼叫终端310-1发送REFER消息104-1来相应地通知第 一呼叫终端310-1。该REFER消息可包括具有对应于呼叫终端310-2的资源标识符的RTH 220和TCH 230。呼叫终端310-1向ACD系统100发送202ACCEPTED (已接受)消息,如箭 头512所指示。A⑶系统100通过如箭头514所指示地向呼叫终端310-1发送BYE (再见) 消息来释放呼叫连接330-1。呼叫终端310-1通过如箭头516所指示地向A⑶系统100发 送2000K消息来确认该呼叫释放。呼叫终端310-1通过如箭头518所指示地发送INVITE消息(例如,bobi公司 A. com)来对呼叫终端310-2发起新呼叫。假设Bob当前正使用呼叫终端310-2来进行电话 呼叫。在这种情况下,呼叫终端310-2向呼叫终端310-1发送486BUSY(忙)消息,如箭头 520所指示。呼叫终端310-1接收486BUSY消息,并且呼叫终端310-1的TEC模块302将 该486BUSY代码与来自TCH 230的差错码进行比较。如果存在匹配,则呼叫终端310-1检 测到对于呼叫终端310-2处的Bob的转移失败事件。呼叫终端310-1向呼叫终端310-2发 送ACK消息,如箭头522所指示。图5B示出了消息流500的继续。如图5B所示,因为差错码486是差错响应码234 的一部分,所以呼叫终端310-1通过如箭头522所指示地向A⑶系统100发送具有上下文标 识符138-1-m的另一 INVITE消息(例如,总机号码@公司A. com)来自动发起与A⑶系统 100的第二呼叫连接330-2。A⑶系统100向呼叫终端310-1发送2000K消息,如箭头524 所指示。呼叫终端310-1向ACD系统100发送ACK消息,如箭头526所指示。ACD系统100
12在框527检索上下文信息。检索到的上下文信息可还原关于通过呼叫连接330-1的第一呼 叫会话的原始呼叫上下文,诸如IVR模块120所提供的基于DTMF的菜单中的位置,由此允 许Alice避免必须从自动化脚本的开头启动与IVR模块120的交互式对话。A⑶系统100 的IVR模块120然后在框528基于在框528检索到的上下文信息来作出将呼叫连接330-2 转移到第三呼叫终端310-3处的Mary的新判定。如同图5A所示的消息流500,A⑶系统100将转移到目标呼叫终端310_3处的Mary 通知给Alice并释放呼叫连接330-2。这可使用与参考相应的箭头510、512、514和516描 述的消息相似的参考箭头530、532、534和536描述的消息来实现。值得注意的差别在于发 送包含具有对应于呼叫终端310-3而非呼叫终端310-2的资源标识符的RTH 220的REFER 消息104-2,并且TCH 230包括已更新的上下文标识符138-l_m。呼叫终端310-1通过如箭头538所指示地发送INVITE消息(例如,maryi公司 A. com)来对呼叫终端310-3发起新呼叫。假设Mary有空并应答该呼叫。呼叫终端310-3 接收该INVITE消息,并向呼叫终端310-1发送2000K消息,如箭头540所指示。呼叫终端 310-1如箭头542所指示地发送ACK消息,并且呼叫连接330-3在Alice和Mary的呼叫终 端310-1、310-3之间建立。一旦呼叫转移已成功完成,A⑶系统100和呼叫终端310-1就可通过删除上下文 信息144以便为来自其他呼叫者或其他呼叫会话的上下文信息腾出空间来执行例程记录 维护。在一替换实施例中,A⑶系统100可以按避免对第一呼叫终端310-1响应于转移失 败事件而重新建立与A⑶系统100的呼叫连接的需求的方式生成TEC信息144。例如,TEC 模块142可生成具有另一目标呼叫终端而非A⑶系统100的资源标识符232的TCH 230。 在第一呼叫会话期间,IVR模块120可确定用于转移呼叫终端310-1以供处理的多个目标 呼叫终端310-2、310-3。TEC模块142然后可生成具有对应于呼叫终端310-3而非A⑶系 统100的资源标识符232的TCH 230。TEC模块302可以响应于转移失败事件而直接连接 到呼叫终端310-3,由此避免呼叫A⑶系统100的需求。图5A和5B示出了用于无人照看(unattended)转移情况的消息流500。然而,在 某些实施例中,A⑶系统100可被安排成执行Alice和Bob之间的有人照看(attended)的 转移。在这种情况下,A⑶系统100在如箭头510、512、514和516所指示的消息交换之前, 即在将Alice所使用的呼叫终端310-1连接到Bob所使用的呼叫终端310-2之前与呼叫终 端310-2处的Bob建立连接。图6进一步示出了计算系统体系结构610的框图。计算系统体系结构610可表 示适用于实现各实施例中的部分或全部的计算体系结构。在基本配置中,计算系统体系 结构610通常包括至少一个处理单元632和存储器634。存储器634可以使用能够存储 数据的任何机器可读的或计算机可读介质来实现,包括易失性和非易失性存储器。例如, 存储器634可以包括只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双数据 率 DRAM (DDRAM)、同步 DRAM (SDRAM)、静态 RAM (SRAM)、可编程 ROM (PROM)、可擦除可编程 ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、诸如铁电聚合物存储器等聚合物存储器、 奥氏存储器、相变或铁电存储器、硅_氧化物_氮化物_氧化物_硅(S0N0S)存储器、磁卡 或光卡、或适于存储信息的任何其它类型的介质。如图6所示,存储器634可以存储各种软件程序,诸如一个或多个应用程序636-1-s和附带数据。计算系统体系结构610还可具有除其基本配置之外的附加特征和/或功能。例 如,计算系统体系结构610可以包括可移动存储638和不可移动存储640,这些存储还可以 包括如前所述的各种类型的机器可读的或计算机可读的介质。计算系统体系结构610还可 具有一个或多个输入设备644,如键盘、鼠标、笔、语音输入设备、触摸输入设备、测量设备、 传感器等。计算系统体系结构610还可包括一个或多个输出设备642,诸如显示器、扬声器、 打印机等。计算系统体系结构610还可包括允许计算系统体系结构610与其它设备进行通信 的一个或多个通信连接646。通信连接646可以包括各种类型的标准通信元件,如一个或 多个通信接口、网络接口、网络接口卡(NIC)、无线电、无线发射机/接收机(收发机)、有线 和/或无线通信介质、物理连接器等。通信介质通常以诸如载波或其他传输机制等已调制 数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任意信息传送介 质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或 更改的信号。作为示例而非限制,通信介质包括有线通信介质和无线通信介质。有线通信 介质的示例可以包括导线、电缆、金属线、印刷电路板(PCB)、背板、交换光纤、半导体材料、 双绞线、同轴电缆、光纤、经传播的信号等。无线通信介质的示例可以包括声学、射频(RF) 频谱、红外和其它无线介质。此处使用的术语机器可读介质和计算机可读介质旨在包括存 储介质和通信介质两者。图7示出了适用于存储包括逻辑流程400在内的用于各实施例的逻辑的制品700 的图示。如图所示,制品700可包括存储逻辑704的存储介质702。存储介质702的示例可 包括能够存储电子数据的一种或多种类型的计算机可读存储介质,包括易失性存储器或非 易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器 等。逻辑704的示例可包括各种软件元素,诸如软件组件、程序、应用软件、计算机程序、应 用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、 方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机 代码段、文字、值、符号、或其任意组合。例如,在一个实施例中,制品700和/或计算机可读存储介质702可存储包括可执 行计算机程序指令的逻辑704,这些指令在被计算机执行时使该计算机执行根据所述实施 例的方法和/或操作。可执行计算机程序指令可包括任何合适类型的代码,诸如源代码、已 编译代码、已解释代码、可执行代码、静态代码、动态代码等。可执行计算机程序指令可根 据用于指示计算机执行特定功能的预定义的计算机语言、方式或句法来实现。这些指令可 使用任何合适的高级、低级、面向对象、可视、已编译和/或已解释编程语言来实现,诸如C、 C++、Java、BASIC、Perl、Matlab、Pascal、Visual BASIC、汇编语言等。各实施例可以使用硬件元素、软件元素或两者的组合来实现。硬件元素的示例可 以包括如先前关于逻辑设备所提供的任何示例,且还可以包括微处理器、电路、电路元件 (例如,晶体管、电阻器、电容器、电感器等等)、集成电路、逻辑门、寄存器、半导体器件、芯 片、微芯片、芯片组等等。软件元素的示例可以包括软件组件、程序、应用软件、计算机程序、 应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函 数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、文字、值、符号、或其任意组合。确定一实施例是否使用硬件元素和/或软件元 素来实现可视给定实现所需根据任何数量的因素而变化,这些因素如所需计算速率、功率 级、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及 其它设计或性能约束。某些实施例可使用表述“耦合的”和“连接的”及其派生词来描述。这些术语不必 旨在互为同义词。例如,某些实施例可使用术语“连接的”和/或“耦合的”来描述以指示 两个或更多元素彼此有直接的物理或电接触。然而,术语“耦合的”还可以意味着两个或更 多元素彼此不直接接触,而仍彼此合作或交互。要强调的是,提供了本公开的摘要以符合37 C.F.R. 1.72(b)节,该节要求使读者 能快速确定本技术公开的特性的摘要。提交摘要的同时要明白,将不用它来解释或限制权 利要求的范围或含义。另外,在前面的详细描述中,可以看到,出于将本公开连成一个整体 的目的而将各种特征组合在一起放在单个实施例中。此公开方法将不被解释为反映所要求 保护的实施例要求比每个权利要求中明确陈述的更多特征的意图。相反,如以下权利要求 书所反映的,本发明的主题决不在于单个公开实施例的所有特征。从而,据此将所附权利要 求结合进详细描述中,其中每个权利要求独立地代表一个单独的实施例。在所附权利要求 书中,术语“包括”和“其中”分别用作术语“包含”和“其特征在于”的易懂的英文等价词。 而且,术语“第一”、“第二”、“第三”等等只用作标记,而不旨在将数字要求强加于其对象上。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权 利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为 实现权利要求的示例形式公开的。
权利要求
一种方法,包括记录(402)关于与第一呼叫终端的第一呼叫会话的上下文信息;存储(404)所述上下文信息与上下文标识符;生成(406)具有所述上下文标识符的转移差错上下文信息;以及将所述转移差错上下文信息发送(408)到所述第一呼叫终端以供在转移失败事件的情况下使用。
2.如权利要求1所述的方法,其特征在于,所述转移差错上下文信息包括具有资源标 识符、一组差错码和所述上下文标识符的第一转移差错上下文首部。
3.如权利要求1所述的方法,其特征在于,包括将所述第一呼叫终端转移到第二呼叫 终端。
4.如权利要求1所述的方法,其特征在于,包括由所述第一呼叫终端检测转移失败事件。
5.如权利要求1所述的方法,其特征在于,包括建立与所述第一呼叫终端的第二呼叫 会话。
6.如权利要求1所述的方法,其特征在于,包括从所述第一呼叫终端接收所述上下文 标识符。
7.如权利要求1所述的方法,其特征在于,包括检索对应于所述上下文标识符的上下 3Cfn 息。
8.如权利要求1所述的方法,其特征在于,包括基于所述上下文信息来确定对所述第 一呼叫终端的后续处理事件。
9.如权利要求1所述的方法,其特征在于,包括基于所述上下文信息来将所述第一呼 叫终端转移到第三呼叫终端。
10.如权利要求1所述的方法,其特征在于,包括用来自所述第二呼叫会话的上下文信 息来更新关于所述第一呼叫会话的上下文信息。
11.一种包括含有指令的存储介质的制品,所述指令在被执行时使得系统能够 记录关于与呼叫终端的呼叫会话的上下文信息;存储所述上下文信息与上下文标识符; 生成具有所述上下文标识符的转移差错上下文信息;将所述转移差错上下文信息发送到所述呼叫终端以供在转移失败事件中使用;以及 将所述呼叫终端转移到另一呼叫终端。
12.如权利要求11所述的制品,其特征在于,还包括指令,所述指令如果被执行则使所 述系统能够建立与所述呼叫终端的后续呼叫会话; 从所述呼叫终端接收所述上下文标识符; 检索对应于所述上下文标识符的上下文信息;以及 基于所述上下文信息来确定对所述呼叫终端的后续处理事件。
13.如权利要求11所述的制品,其特征在于,还包括如果执行则使所述系统能够用来 自所述后续呼叫会话的上下文信息来更新所述上下文信息的指令。
14.一种系统,包括上下文生成器模块(132),所述上下文生成器模块可用于记录关于第一呼叫终端 (310-1)和呼叫系统资源之间的第一呼叫会话(202-1)的上下文信息(140),并将所述上下 文信息与上下文标识符(138) —起存储在上下文表(133)中;耦合到所述上下文生成器模块的转移差错上下文模块(142),所述转移差错上下文模 块可用于生成具有所述上下文标识符的转移差错上下文信息(144);以及耦合到所述转移差错上下文模块的呼叫转移模块(150),所述呼叫转移模块可用于将 所述转移差错上下文信息发送到所述第一呼叫终端以供在转移失败事件的情况下使用。
15.如权利要求14所述的系统,其特征在于,所述转移差错上下文模块可用于生成包 括具有资源标识符(232)、一组差错码(234)和所述上下文标识符的第一转移差错上下文 首部(230)的转移差错上下文信息。
16.如权利要求14所述的系统,其特征在于,包括作为所述呼叫系统资源的交互式语音响应模块(120),所述交互式语音响应模块可用 于通过向所述第一呼叫终端发送语音提示并从所述第一呼叫终端接收操作员命令来管理 关于所述第一呼叫会话的交互式对话;耦合到所述交互式语音响应模块和所述呼叫转移模块的呼叫控制模块(110),所述呼 叫控制模块可用于从所述交互式语音响应模块接收转移请求,并向所述呼叫转移模块发送 将所述第一呼叫终端转移到第二呼叫终端的控制指示;以及可用于将所述第一呼叫终端转移到第二呼叫终端(310-2)的呼叫转移模块。
17.如权利要求16所述的系统,其特征在于,所述第一呼叫终端用于从所述呼叫转移 模块接收所述转移差错上下文信息,检测转移失败事件,并使用所述转移差错上下文信息 来发起所述第一呼叫终端和所述呼叫系统资源之间的第二呼叫会话(102-2)。
18.如权利要求17所述的系统,其特征在于,所述上下文生成器模块用于从所述第一 呼叫终端接收所述上下文标识符,从所述上下文表中检索对应于所述上下文标识符的上下 文信息,并将所述上下文信息发送到所述交互式语音响应模块。
19.如权利要求18所述的系统,其特征在于,所述交互式语音响应模块用于接收所述 上下文信息,并基于所述上下文信息来确定对所述第一呼叫终端的后续处理事件。
20.如权利要求19所述的系统,其特征在于,所述上下文生成器模块用于用来自所述 第二呼叫会话的上下文信息来更新关于所述第一呼叫会话的上下文信息。
全文摘要
描述了用于转移差错恢复的技术。一种系统可包括上下文生成器模块,该模块可用于记录关于第一呼叫终端和呼叫系统资源之间的第一呼叫会话的上下文信息,并将该上下文信息与上下文标识符一起存储在上下文表中。该系统可包括耦合到上下文生成器模块的转移差错上下文模块,该转移差错上下文模块可用于生成具有上下文标识符的转移差错上下文信息。该系统可包括耦合到转移差错上下文模块的呼叫转移模块,该呼叫转移模块可用于将转移差错上下文信息发送到第一呼叫终端以供在转移失败事件的情况下使用。对其它实施例也予以描述并要求保护。
文档编号H04L12/66GK101939975SQ200980104560
公开日2011年1月5日 申请日期2009年1月19日 优先权日2008年2月7日
发明者A·拉加万, A·斯特雷贝尔, M·特罗姆斯多夫, R·拉玛纳坦 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1