使用智能端点提供电话服务的制作方法

文档序号:7683198阅读:87来源:国知局
专利名称:使用智能端点提供电话服务的制作方法
技术领域
本发明一般地涉及电话通信,更具体地说涉及使用智能端点提供电话 服务。
背景技术
随着通信技术的快速发展,语音服务和数据服务也在日益聚合。 一个 这样的示例是使用因特网协议(IP)技术来传输语音数据。这使得语音流 量可利用分组通信协议的益处。类似地,其他技术在应用到电话系统时也 可以提供益处,但是发现合适的技术并使用这些技术仍然是巨大的挑战。发明内容根据本发明,提供了多种技术,以使用智能端点提供电话服务。根据 具体实施例, 一个分布式系统提供电话服务,其中端点设备使用多个实现 了电话服务的脚本来处理电话事件。更具体地说,这些脚本可以基于文本 的语言来实现,并使用web客户端/web服务器环境来提供给端点。本发明的实施例提供了各种技术优点。功能的分布性提供了灵活性。 不同的组件可以根据能力和/或系统需求而处理或多或少的处理。功能的这 一分布性包括将处理转移到端点中。将处理转移到端点中利用了这些设备 越来越强的能力。例如,功能强大的处理设备的存在使得端点可提供诸如 事件处理和应用服务等服务。根据系统需求,端点可以实现分布式功能中 的任何适当的部分。例如, 一个系统可利用中央web服务器来向远程web7客户端提供脚本,而另一个系统可在端点内同时实现web服务器和web客 户端。web客户端/web服务器环境可实现集中式控制和服务的快速部署。例 如,web服务器内的更新将会几乎立即在端点提供的服务内体现出来。脚本化语言支持用于电话服务的设计和定制的开放标准。而且,这些 脚本可利用基于文本的语言(包括可扩展置标语言(XML))等技术。这 些脚本使得事件处理发生在端点内而不是集中式组件内。脚本化语言提供了可访问电话设备的足够低级的功能的开发环境,而 无需所述功能的任何具体实现。例如,脚本可以操纵呼叫段(call leg), 但不需要关心实现所述操作的底层机制。因此,开发来实现具体功能的脚 本可以用在不同设备上,而无需考虑所述设备使用来实现底层操作的具体 机制。根据下面的附图、说明及权利要求,本发明的其他技术优点对于本领 域内的技术人员来说是很清楚的。而且,虽然上面已列举了多个具体优 点,但是各种实施例可包括所列举的优点中的全部或一些,或不包括任何所述优点。


为了更完整地理解本发明及其优点,可参考下面的说明,同时结合附 图,其中图1示出了根据本发明特定实施例的通信系统,其包括提供电话服务的web客户端和web服务器;图2示出了一种示例性通信系统的方框图,该系统具有使用各种网络和元件来与其他web客户端通信的web客户端和一个web服务器; 图3的方框图示出了所述系统的示例性web客户端的通信; 图4的方框图示出了所述系统的web客户端的示例性功能组件; 图5的方框图示出了 web客户端内处理脚本以提供电话服务的模块的分布;图6示出了启动语音会话的示例性脚本;图7的流程图示出了处理脚本以提供电话服务的方法;并且 图8的流程图示出的事件、消息传递和输出用于使得电话设备建立电 话通信。
具体实施方式
图1示出了一般地表示为10的通信系统,其包括电话设备12、服务 器14和呼叫代理(call proxy) 16,其中设备12、服务器14和呼叫代理 16使用网络而互连并进行通信。 一般地,设备12通过执行脚本来提供电 话服务。每个脚本在加载时在设备12内实现一种状态,并提供对电话事 件的处理。设备12通过加载其他脚本来进入新状态。所述脚本使用链接 来在状态之间发展,并且设备12和服务器14使用web客户端/web服务器 环境来实现脚本的加载和执行。例如,每个脚本可以是可扩展置标语言 (XML)网页,其实现了电话服务的特定状态,并链接到实现其他状态的 其他网页。设备12通过执行特定网页,并响应于合适的事件而向服务器 14请求并从其接收其他网页,从而进行操作。设备12代表用于通过执行实现了状态的脚本而提供电话服务的硬件 (包括控制逻辑)的任何适当的组合和设计。下面参考图4更详细地论述 示例性设备12的具体功能模块。服务器14和呼叫代理16还代表操作来支 持设备12提供的电话服务的硬件和/或控制逻辑的任何适当的组合和设 计。在所示出的实施例中,服务器14包括存储器20,其维护的网页可响 应于适当的请求而传递给设备12。呼叫代理16用作为系统IO的元件之间 的通信的消息中继和/或翻译模块。网络18代表支持设备12、服务器14和呼叫代理16之间的通信的组 件的任何适当的组合和设计。例如,网络18可包括局域网(LAN)、广 域网(WAN)、公共交换电话网络(PSTN)的元件、部分因特网以及其 他适当的通信网络中的组件。因此,虽然示出了一个相对简单的实施例, 但是系统10包括的设备12、服务器14和呼叫代理16可使用任意数量和 类型的通信链路而互连。例如,设备12可使用PSTN的部分来与其他设备 12互连,同时使用基于web的通信网络链接到服务器14。下面参考图2来示出并描述一个特定实施例,其示出了元件之间的具体链路。为了提供电话服务,设备12加载并执行实现了电话服务器的状态的网页。每个网页包括用基于文本的语言编写的脚本,其操纵设备12的低级功能来实现特定状态。每个脚本包含用于设备输出和/或设备操作的指 令。设备输出包括提供给用户的任何信息,例如声音、光和显示。例如,脚本可导通闪烁发光二极管(LED)来表示等待中的语音邮件消息。设备 操作操纵设备12的操作和与其他元件的通信。设备操作可以产生到服务 器14、呼叫代理16和其它设备12的消息。设备操作还可控制内部操作, 例如在会议桥(conference bridge)内链接多个呼叫段、将呼叫段路由到话 筒或启动定时器。脚本还包括事件处理者,其指定设备12对各种事件的响应。事件包 括来自用户、其他设备12、服务器14和呼叫代理16的输入以及内部事 件。事件处理者可链接到该脚本内的另一个位置,链接到另一个网页,或 处理事件。通过链接到其他网页,在设备12响应于事件而获取并加载新 网页时,所述事件可将设备12驱动到新状态。例如,考虑实现使设备12空闲以及响应拨打号码的用户的网页。在 适当的初始化之后,设备12加载实现空闲状态的网页。在此状态下,网 页中的脚本可提供各种输出,例如特征显示,适当的话还有等待指示的消 息。响应于用户拿起听筒,设备12使用所加载的网页("空闲页")来 处理这一摘机(off-hook)事件。空闲页于是尝试发现与摘机事件相匹配 的事件处理者。在这一示例中,空闲页中的"摘机事件处理者"连接到用 于拨号的另一个网页。因此响应于该事件,设备12获取并加载拨号网 页,并执行所加载的网页中的脚本。拨号网页中的新脚本控制诸如拨号音产生器的激活的设备操作,以及 若干设备输出,例如通过话筒提供所产生的拨号音,并在显示器上可视化 地表明摘机状态。所述脚本还包括用于响应拨号数位的事件处理者。例 如,所述事件处理者可以对于每个数位显示所拨的数位,初始化超时定时 器,并对所拨数位的序列进行数位分析。识别出要呼叫的号码后,数位事 件处理者然后链接到另一个用于联系被呼方的网页。按照这种方式,设备12的状态响应于事件而发展。然而,前面的示例仅仅是例示性的,不应限制用于使用网页来实现设备12内的类似功能的技术的范围。操作期间,服务器14和呼叫代理16支持设备12。服务器14提供网 页的集中式存储库,以供设备12使用。服务器14响应于网页请求,将网 页从存储器20传送给设备12。将网页集中在服务器14内有利于进行快速 更新和升级部署,还有各种其他优点。呼叫代理16作为设备12之间以及设备12和其他类型的电话装备之间 的通信的中介。为了执行这一中介,呼叫代理16将事件中继到设备12并 中继来自设备12的事件,需要的话则在各种协议之间进行翻译。根据特 定的实施例,呼叫代理16处理会话启动协议(SIP)订阅和通知例程,以 与设备12通信,同时还处理与其他装备例如传统的电话之间的传统电话 信令。例如,呼叫代理16可使用与设备12的SIP消息传递以及与传统电 话设备的传统的电话消息传递,来支持设备12和另一个设备之间的电话 呼叫,同时进行所述协议之间的各种翻译。根据特定的实施例,呼叫代理 16还可通过建立并维护用于导向呼叫的路由表来支持通信。这些路由表允 许呼叫代理16将所拨的数位匹配到用于抵达与所拨数位相关联的端点的 地址。然而,虽然本图和前面的描述示出了功能在设备12、服务器14和呼 叫代理16之间的一种具体划分,但是系统10可包括功能在各种组件之间 的任何适当的分布,只要设备12通过加载并执行实现状态的网页来提供 电话服务。因此,服务器14和/或呼叫代理16的功能中的一些或全部可被 包含到一个或多个设备12中。例如,设备12可本地维护用于多种服务的 网页,而服务器14维护实现较复杂的服务或用于周期性更新设备12的网 页。而且,设备12可建立并维护路由表,并提供呼叫代理16的其他功 能。图2示出了一般地表示为30的系统内的设备12和服务器14的特定设 计,所述系统使用网关32、 PSTN 34、 WAN 36以及因特网38来链接设备 12和服务器14。在标记为A和B的两个站点40中的每一个处,设备l2 使用网关32与外部网络相链接。在站点A,网关32链接到WAN 36和PSTN34。在站点B,网关32链接到PSTN 34和因特网38。因此,系统 30示出了这样一个具体实施例,其中设备12使用各种网络而链接到服务 器14,还通过不同网络链接到彼此。网关32代表操作来路由和/或翻译通信的网络装备例如路由器或交换 机。在所示出的实施例中,每个站点40包括将设备12链接到各种网络的 网关32。每个站点40还包括呼叫代理16,用于将消息导向到PSTN 34和 处理从PSTN 34接收的消息。然而,虽然示出为分立的元件,但是每个网 关32都可实现呼叫代理16的全部或一些功能,或者每个设备12都可实现 这些功能的一些或全部。在操作期间,设备12通过从本地存储库或服务器14获取网页来加载 并执行网页。因此,如本图所示,设备12可使用任何适当的通信链路例 如通过WAN 36或因特网38来获取网页。通过执行这些网页,设备12建 立与彼此以及与其他类型的端点的通信会话。然而,虽然设备12可使用 一个通信网络来获取网页,但是利用这些网页而建立的实际通信会话可通 过不同的网络而发生。例如,虽然设备12可通过基于web的网络与服务 器14通信,但是设备12可以通过PSTN34建立并进行通信。考虑站点A内的设备12 (设备A)向站点B内的设备12 (设备B) 发出呼叫。为了实现拨号和连接的各种状态,设备A和设备B向服务器 14请求网页,设备A通过WAN 36进行请求,而设备B通过因特网38进 行请求。设备A和设备B之间的通信然后可通过PSTN 34进行。例如, 所加载的网页可控制在设备A和设备B之间通过PSTN 34传送的各种信 令。然而,系统30和前面的描述及示例仅示出了用于互连设备12的一个 特定实施例,不应限制在此公开的原理的范围。图3的方框图示出了辅助于设备12内的呼叫处理的各种元件的交 互。这些元件包括客户端50,其运行在设备12、服务器14和呼叫代理16 内。如本图所示,客户端50可从其自身、用户52、呼叫代理16和另一个 web客户端54接收事件。web客户端50还产生事件并将之传送到其自 身、另一个web客户端54和呼叫代理16。 web客户端50还产生传递到用 户52的输出。为了获得网页,客户端50传送网页请求到服务器14,并作为响应而 接收所请求的网页。例如,响应于接收到的连接请求事件,当前加载的网 页的事件处理者可表明用于处理所述连接请求的新网页。因此,响应于连 接请求,web客户端50通过向服务器14请求并加载网页来驱动到新状 态。web客户端50向web服务器14请求并加载网页,并响应于各种事件 而进行其他活动。如本示例所示,这些事件可来自用户52、呼叫代理16 以及其他web客户端54。 web客户端50从用户52接收诸如摘机和挂机 (on-hook)、所拨数位以及功能选择等事件。客户端50从呼叫代理16接 收从其他设备12中继来的事件、来自传统电话设备的事件以及其他适当 的事件。例如,web客户端50可从呼叫代理16接收进入呼叫的SIP通 知。web客户端50还可接收直接来自其他web客户端54的事件。例如, 其他web客户端54可将呼叫通知消息直接传送给web客户端50。因此, 设备12可在没有集中式控制的情况下进行操作,以向用户提供电话服 务。web客户端50还产生事件和其他消息并传送到其他元件,例如web 服务器14、呼叫代理16、其他web客户端54以及用户52。如前所述, web客户端50通过产生并传送网页请求来从web服务器14获得网页。为 了与其他设备12和/或其他类型的电话设备通信,web客户端50传送事件 到呼叫代理16。例如,响应于从呼叫代理16接收的呼叫通知事件,web 客户端50可将连接消息回传到呼叫代理16,这发生在从用户52接收到摘 机事件后。在通过呼叫代理16与其他设备通信之外,web客户端50还可 将事件直接传送到其他web客户端54。 web客户端50还可产生用于其自 身处理的事件。例如,web客户端50可设置可产生事件的定时器。例如, 在从用户52接收所拨的数位时,web客户端50可设置定时器。如果在接 收到所拨数位后但在表明实际电话号码前定时器超时了 ,则web客户端50 可接收一个定时器事件,并作为响应而产生快速忙音,向用户52表明超 时。如前所述,web客户端50、服务器14和呼叫代理16提供的功能可适当地进行划分或组合,只要设备12保持使用实现了状态的一系列网页来提供电话服务这一功能。因此,在web客户端50之外,设备12可包括服 务器14和/或呼叫代理16的功能中的一些或全部。因此,本图所示的交互 中的一些或全部可能发生在设备12内。图4的方框图示出了设备12的示例性功能组件,包括用户接口模 块、处理模块、存储器60和网络接口 62。用户接口模块包括扬声器64、 麦克风66、显示器68和用户输入接口 70。处理模块包括电话功能支持模 块72、会议桥74、介质处理模块76、状态引擎80和低级处理模块82。用户接口使得可与设备12的用户交换信息。扬声器64产生音频信 号,麦克风66接收并处理来自用户的音频信号。通过显示器68,设备12 将信息提供给用户。例如,显示器68可包括LED、图形显示器以及其他 用于可视化地显示或以其他方式提供信息的设备。用户输入接口 70代表 用于从用户接收音频信号之外的输入的任何适当的元件。例如,用户输入 接口 70可包括数位键盘、引用显示器68的若干部分的按钮、点选设备以 及其他适当的输入接口。网络接口 62使得可在设备12和其他装备之间进行通信。例如,网络 接口 62可链接到网关32,并提供基于分组的语音通信。然而,系统10可 使得设备12使用任何适当的技术和协议来耦合到任何适当的通信装备。 因此,网络接口 62支持任何适当的无线和/或有线通信协议。存储器60代表任何适当的数据存储元件,在所示出的实施例中,其 维护代码84、配置数据86、应用88和网页90。代码84代表由设备12的 各个元件执行来实现各种特征和功能的逻辑。例如,代码84可包括状态 引擎80用来解释和执行脚本的逻辑。配置数据86代表设备12在初始化和 运行期间使用的设置和其他信息。例如,配置数据86可标识一个特定的 服务器14,设备12应向其请求网页。应用88包括设备12用来本地容宿 电话应用的介质和/或程序。例如,应用88可包括介质处理软件,例如语 音识别程序。应用88内维护的介质可包括各种数据,例如用户记录的用 于语音邮件应用的提示、来自其他用户的消息以及其他适当的信息。设备 12结合适当的网页来使用应用88内的信息,从而本地容宿诸如语音邮件和自动客服等电话应用。网页90代表本地维护的网页,用于状态引擎80 的执行。例如,设备12可在存储器60内维护经常使用的网页的有限集 合,然后通过网络接口 62向服务器14请求其他网页。低级处理模块82提供对设备12的操作的底层管理和控制。例如,响 应于来自状态引擎80的命令,低级处理模块82可将来自网络接口 62的呼 叫段链接到设备12内的其他模块。低级处理模块82响应于特定设备12原 生(native)的命令来提供其功能。也就是说,各种设备12可使用不同类 型的命令来操作。介质处理模块76提供对信号的操纵和增强。根据特定的实施例,介 质处理模块76包括用于压縮、回音消除、静音检测以及其他适当的信号 处理的数字信号处理功能。会议桥74在设备12内支持具有多方之间的通 信的会议。例如,状态引擎80可控制低级处理模块82来将来自网络接口 62的多个呼叫段链接到会议桥74。会议桥74然后可对所述多个呼叫段执 行会议功能。这使得设备12可支持会议,这在传统上是由中央服务器提 供的功能。功能支持模块72处理电话基础设施原语,例如定时器、拨号 音产生以及其他支持功能。状态引擎80通过加载并执行具有基于文本的脚本的网页来管理并控 制设备12的操作。由于这些脚本可实现设备输出和设备操作,因此状态 引擎80包括输出处理模块92和操作处理模块94。运行期间,状态引擎 80加载并执行网页,根据需要这些网页是从存储器60或服务器14获取 的。在执行所加载的网页的脚本内详细地描述的活动时,输出处理模块92 处理与各种用户接口交互的命令,而操作处理模块94处理指示各种处理模块的操作的命令。然而,由于一些命令可同时涉及处理和接口模块,因 此,输出处理模块92和操作处理模块94可协作来实施命令所要求的过 程。例如,这些模块可协作来使用扬声器64建立来自所接收的呼叫段的 信息的输出。在执行网页内的脚本时,状态引擎80还使用网页内的事件处理者来 处理事件。例如,在检测到事件时,状态引擎80可访问所加载的网页来 确定它是否包含用于所检测到的事件的事件处理者。如果是,则状态引擎1580根据事件处理者内的指令来对事件进行响应。这样,在运行期间,状态引擎80用作为增强的web浏览器,用于通过执行脚本来驱动所述显示、 功能和呼叫控制。在运行期间,设备12可加载并执行实现了诸如消息传递、个人助 理、自动客服、"旅馆化办公"(hoteling)以及紧急访问响应等电话应用 的各种状态的网页。通过执行这些网页,设备12提供本地容宿的电话应 用。消息传递应用支持多种功能,例如语音邮件、文本消息传递和其他适 当的功能。个人助理应用使得一个或多个端点可智能地响应各种电话和消 息传递事件。例如,个人助理应用可允许用户指定规则和响应来定制特定 设备12对于事件(例如进入的呼叫)的操作。自动客服应用提供多种服 务,例如对机构的多个分机的目录的语音访问。旅馆化办公应用支持的服 务使得用户不再需要拥有基本的端点例如设备12中的一个基本设备。紧 急访问响应应用允许设备12适当地与各种紧急服务交互,例如紧急911 服务。无论应用的类型如何,使用一系列网页来实现电话服务提供了灵活 性,这一灵活性使得所述应用可以容宿在任何适当的装备内,例如设备 12、各种网络内的网关以及其他具有适当功能的装备。为了在设备12内提供电话应用而无需服务器,设备12可支持多种操 作。无需中央服务器的帮助,端点和其他支持装备应处理各种功能来提供 容错性。例如,如果系统10内的设备12向用户提供本地容宿的语音邮件 服务,则特定设备12不可用时可能会在设备12不可用期间导致关联用户 的语音邮件服务的丧失。为了克服这一问题,呼出端点设备12 (或提供对 设备12的访问的网关)可检测到设备12的不可用,并提供过渡性语音邮 件服务。例如, 一个设备12的用户向另一个不可用的设备12发出呼叫。在检 测到被呼设备的不可用时,呼出设备提示用户,以获得以后传递给该不可 用设备的语音邮件消息。呼出设备12然后存储该语音邮件消息,直到被 呼设备12可用,此时传递该消息。为了执行诸如这些的功能,设备12支持"存在"和"活跃度"知 觉。存在表示一个用户或服务对于用户的可用性。例如,特定用户可与多个设备12相关联。该用户只有在所有关联设备12都不可用时才是不"存 在"的。活跃度表示特定设备12的可用性。为了支持鲁棒而复杂的电话应用到用户的传递,设备12允许用户与 多个设备12关联和/或通过例如登录等技术而漫游到其他设备12。例如, 如果用户有工作电话和家庭电话,则这两个电话都可运行实现了处理进入 呼叫的规则的个人助理。这些规则可指定多种动作,例如振铃类型、转接 规则以及其他适当的操作。然而,这些电话中只有一个例如工作电话才可 被指定为用于消息传递等功能的主控应用。因此,当接收呼叫时,两个电 话的响应方式类似,但是如果呼叫未被回应,则只有主控应用电话才提供 语音邮件。如果主控电话不可到达,则其他关联电话之一可临时接替为主 控应用。为了实现这一让退(fallback)功能,设备12使用活跃度知觉。根据特定实施例,设备12在有其他设备12的请求时进行控制以支持 应用的端点容宿。例如,呼出设备12可发送网页到被呼设备12,以控制 提供给用户的显示。类似地,呼出设备12可发送呼叫控制网页到被呼设 备12。系统10可使设备12使用任何适当的技术来交换这些网页。例如, 设备12可使用超文本传输协议(HTTP)来将网页直接传送给其他设备 12。可选择地或另外,设备12可交换到网页的链接。例如,响应于从被 适当验证的设备12接收到链接,接收设备12可从本地存储器或远程服务 器14适当地加载被标识的网页。例如,考虑一个端点向另一个端点发出呼叫。在检测到来自呼出端点 的呼叫邀请消息时,被呼端点开始振铃,并根据指定了自动应答前的等待 时间的用户配置来设置定时器。当定时器触发时,被呼端点应答所述呼 叫,并将网页传送到呼出端点。该网页可包括下述信息,例如用于将各种 消息传递选项提供给呼出端点的用户的用户接口命令。被呼端点可以基于 呼出端点的标识来定制这些选项。例如,如果是好友发出的呼叫,则所述 选项可允许呼出端点在另一个位置联系被呼用户,而对于其他人,所述选 项只允许呼出端点留下语音邮件消息。按照这种方式,端点可通过经由交 换网页、链接、脚本或其他适当的控制命令来控制彼此的操作,从而支持 多种应用。然而,尽管所示出的实施例和前面的描述关注于包括特定元件的设备12的特定实施例,但是系统IO可使设备12具有通过执行网页来提供电话服务器的元件的任何适当的组合和设计。因此,所示出的特定元件执行的 功能可被适当地划分和组合,这些元件中的一些或全部的功能可由编码在 介质中的逻辑来实现。而且,虽然提供了具体的示例来说明特定实施例的 操作,但是这些示例仅仅是例示性的,不应限制所公开的原理的范围。图5的方框图示出了实现设备12内的脚本处理的一组相关模式 (schema)。这些模式包括web功能模式100,其与会话模式102、电话 模式104、媒体模式106、桥模式108、用户界面模式110和SOAP模式 H2相链接。这些模式和形成所述模式的底层文本命令定义了电话服务创 建置标语言。也就是说,所述模式定义了一种基于web的语言的语法,用 于脚本化电话端点例如设备12的操作。该语言利用了 web模型和web技 术来支持电话服务开发和部署。无论是被本地访问还是通过服务器14远 程访问,所述语音都使得设备12的功能可被完全脚本化。因此,尽管不 同设备12内的低级功能的底层操作可能不同,但是这些设备12可使用公 共的网页。例如,如前所述,设备12可包括个人计算机、无线设备、个 人数字助理和其他适当的装备。因此,用来在这些设备内处理和支持电话 服务的的实际机制可能大不相同。然而,所述公共的语言和模式定义使得 每个设备12都可使用公共的网页集来提供电话服务,尽管它们的底层有所差异。每个模式定义了用于访问设备12的各种低级功能的原语。例如,所 述模式可提供用于下述功能的原语创建软按钮、显示列表、启动多播会 话、测试本地状态变量、通过数组的循环、创建元件集合、将会话的介质 桥接到扬声器或文件、创建私语模态介质连接、执行对数字的数位分析、 存储会话标识符或播放快速忙音。这些原语可通过脚本内基于文本的标签 (tag)来访问。所示出的模式中的每一个都支持各种类型的电话服务。 一般地,每个 模式处理用于命令和事件的标签和标签组。会话模式102支持通信会话的 创建和管理。会话模式102可通过处理对应于会话启动协议(SIP)操作的标签来提供与SIP通信的互操作性。根据特定的实施例,会话模式102处理支持下述操作的标签注册、邀请、转邀请(refer-invite)、重邀请、 信息、答应、确认、取消、再见、错误、重定向、代理(proxy)、通知和 订阅。而且,会话模式102可处理用于下述事件的标签邀请、答应、确 认、取消、再见、稍候(hold)、重邀请、转邀请、信息、错误、重定 向、通知和订阅。参考操作和事件二者来处理类似的标签显示出了这些命 令的双重属性。例如,邀请另一个端点参与语音会话的操作可能会使设备 12将SIP邀请消息传送到所标识的端点。另一方面,用于邀请的事件响应 从另 一个端点接收到的邀请消息。电话模式104支持对设备12的管理和控制。根据特定的实施例,电 话模式104处理用于下述命令的标签设置振铃类型、设置振铃音量、设 置扬声器音量、设置麦克风音量以及设置消息等待提示符。而且,电话模 式104处理用于下述事件的标签电话机状态(hook status)(摘机或挂 机)以及拨号。媒体模式106支持对底层媒体流的操纵。根据特定的实施例,媒体模 式106处理用于下述命令的标签开始和停止媒体流,以及播放拨号音和消息。另外,媒体模式106处理用于下述事件的标签流事件(例如媒体流的开始和停止)、双音多频(DTMF)事件、媒体时序事件以及媒体错 误。桥模式108辅助于媒体的混合与分离。根据特定的实施例,桥模式 108处理用于分割、合并和监视媒体流的标签。分割命令规定了从会议分 割媒体。所分割的媒体可以是单程或往返流。例如,往返选择可代表为通 信会话而建立的双向流,或者麦克风或扬声器流。单程流可以是源(例如 麦克风或文件)或沉没点(例如扬声器或文件)。合并命令规定了将媒体 合并到会议。监视命令规定了在具体线路的上下文内或设备12的上下文 内的会议混合规则。根据特定的实施例,桥模式108支持用于静监视、私语和会议的监视命令。用户界面模式110处理支持设备12的输出显示的标签。例如,用户接口模式110可处理用于显示文本框、窗口选择器、上下文选择器、线路选择器、会话选择器以及保持在线(on-hold)会话选择器的标签。用户界 面模式110还可支持用于诸如标题显示、状态显示、软按钮、提示、查询 等命令以及其他适当的界面命令的标签。设备12所处理的模式还可被扩展来提供对任意数量的功能和协议的 支持。例如,在所示出的实施例中,互相关的模式包括SOPA模式112, 其支持简单对象访问协议(SOAP)操作。SOAP模式112例如可提供基于 文本的标签和SOPA操作之间的映射,以允许使用相对简单的基于文本的 命令来添加复杂的功能,例如股票自动收报机。虽然模式102到112中的每一个都提供了对特定类型的操作和事件的 支持,但是web功能模式100提供了基线操作,并规定了各种模式之间的 交互。例如,web功能模式100可支持定时器、循环、条件语句、线程、 变量和其他运行支持。运行期间,web功能模式100规定了控制流和信令 钩子(hook),以与其他子模式一起实现多种应用和功能。根据特定的实 施例,web功能模式100处理用于下述命令的标签创建和关闭控制上下 文,创建和关闭线路,发送用于上下文间通信的用户定义的信号,子例 程,例外,定时器,加载页面,管理窗口 (创建、提升、降低或关闭窗 口),分配或释放变量,设置或检查变量,以及诊断分析。另外,web功 能模式100处理用于下述事件的标签用户定义的信号以及非法网页的通 知。例如,响应于创建上下文命令,web功能模式100可处理用于电话通 信会话的上下文的创建。在此上下文内,web功能模式100还处理变量、 子例程、定时器、页面加载以及其他基线操作。所述附图以及前面的描述演示了多个处理功能在多个模式之间的一种 示例性分布,同时强调了一种基于web的语言在实现电话服务方面的强大 功能。所述语言提供了灵活性和可扩展性,其中一定程度的抽象允许访问 相对低级的设备操作而不会限制底层硬件或这些操作的实现。所示出的特 定示例提供了多种功能在多个模式之间的一种具体分布,然而,该示例的 提供仅仅是作为一个示例,不应限制所公开的原理的范围。图6示出了脚本120,脚本120被设备12执行时可启动语音会话。在 所示出的实施例中,脚本120包括实现各种动作的活动部分122以及实现事件处理者的事件处理部分124。在活动部分122中,脚本120包括邀请 目的方参与语音会话以及启动呼叫定时器的命令。在事件处理者部件124 中,脚本120提供用于诸如成功的连接或连接期间的错误等事件的事件处 理者。然而,虽然脚本120示出了使用特定命令来启动语音会话的一种特 定方法,但是所提供的示例仅仅是例示性的,不应限制所公开的原理的范 围。图7的流程图示出了设备12处理网页来提供电话服务的方法。设备 12在步骤150进行初始化。例如,在接通电源时,设备12可加载标识了 远程服务器14上的设置和初始网页的代码和配置。设备12在步骤152取 得初始页面。如前所述,设备12可本地维护提供电话服务时使用的一些 或全部网页。因此,该初始页面可以在设备12内被维护,并指定了启动 过程和其他适当的初始化例程。设备12在步骤154禁用事件处理。这防止了事件干扰脚本的执行。 设备12在步骤156执行所加载的网页上的脚本,以执行所要求的活动。 在执行脚本内详细规定的活动后,设备12在步骤158安装该网页的事件 处理者,并在步骤160启用事件处理。这样,运行期间,设备12将经常 从开始到结束地执行脚本内的活动而没有中断或延迟。设备12在步骤162监视事件。检测到事件后,设备12的处理可在步 骤164禁用事件处理,然后在步骤166使用来自所加载的网页的事件处理 者来处理该事件。如前所述,选择来处理事件的事件处理者可执行多个动 作来处理该事件,链接到所加载的网页内的另一个位置,和/或链接到另一 个网页。如果设备12在步骤168确定事件处理者指示了一个新页面,则 设备12在步骤170取得该新页面。在取得并加载新网页后,设备12使用 上述过程处理该页面。因此,前面的流程图以及伴随的描述示出了一种相对简单的方法,用 于处理实现了提供电话服务的状态的网页。然而,该流程图只是提供来作 为说明性的示例,系统IO可使得设备12使用任何适当的技术来处理实现 电话服务状态的网页。因此,该流程图中的许多步骤可同时发生和/或以与 所示出的顺序不同的顺序发生。而且,设备12可使用具有附加的步骤、较少的步骤和/或不同的步骤的方法,只要所述方法是适当的。例如,在该流程图中,事件处理的禁用和启用防止所接收的事件干扰 脚本内活动的执行。然而,使用网页来实现电话服务的所述语言可包括对多上下文的管理和控制,并可使用每个上下文内的子状态。为了实现所述 的各种上下文和子状态,所述语言可使用嵌套的网页执行。例如,在执行 第一网页的活动期间,可通过执行两个或更多的嵌套网页来实现用于第一 网页的多个子状态。子状态提供了用于管理与电话应用相关联的内在复杂 性的机制。电话停泊功能的一种示例性实现示出了使用子状态处理来提供电话停 泊功能。第一网页规定了所述停泊功能的一般控制,而两个子状态网页实 现用于下述功能的处理1)获得适当的号码以"停泊"电话呼叫,以及 2)将所述电话呼叫转接到所选择的号码。这样,在执行期间,设备12将 从主控页面分支转移到"获取停泊号码"网页,在完成"获取停泊号码" 网页的执行后,将分支转移到所述转接网页。这一类使用低级网页构建模 块的服务实现可重用实现模块化服务的网页。例如,所述转接网页可处理 转接事件,并且如前面的示例所示,转接网页可作为子状态而被包含在其 他服务内。图8的流程图示出了在建立通信会话期间两个设备12 (设备A和设备 B)的状态和事件。启动后,设备A和设备B都经过初始化状态进入空闲 状态。例如,通过加载并执行一个或多个网页,设备A和B到达等待事件 的空闲状态。这一空闲状态由指定了用于响应各种状况的事件处理者的网 页提供。设备A在180接收到摘机通知。例如,设备A接收到该摘机通知是因 为用户从支架上拿起了听筒。设备A使用空闲网页事件处理者处理摘机事 件,并标识处理该事件的拨号网页。这样,设备A通过取得并加载适当的 网页来进入拨号状态。在拨号状态中,设备A在182接收数位,并在184 提供反馈。例如,用户可使用键盘来拨出数位,作为响应,设备A可产生 拨号音并显示所拨号码。在拨号状态期间,设备A还可使用从用户接收的 数位来执行数位分析。确定设备A己拨出标识了设备B的数位后,设备A加载呼出网页, 该网页实现了用于联系设备B的活动以及用于处理响应的事件。在脚本执 行期间,呼出网页规定了将SIP邀请消息发送到设备B。另夕卜,在呼出网 页的执行期间,设备A可在186向用户提供反馈,例如振铃音。在向设备 B发送了 SIP邀请消息后以及向用户提供合适的反馈的同时,设备A等待 来自设备B的响应或超时事件。设备B接收到SIP邀请消息,并使用所加载的空闲网页的事件处理者 来处理该事件。在所示出的实施例中,设备B内的空闲网页的事件处理者 链接到用于处理邀请消息的被呼网页。因此,设备B加载用于处理被呼状 态的网页。执行被呼网页时,设备B通过向设备A传送SIP振铃消息来答 复来自设备A的邀请消息。在执行被呼网页期间,设备B还在188提供振 铃。响应于所述振铃,设备B的用户应答所述呼叫,在步骤190提供摘机 事件。响应于该事件,设备B的被呼网页传送SIP连接消息例如SIP OK 消息到设备A。设备A和设备B然后都进入已连接状态,在该状态中,在 所述设备之间流式传送媒体,并向用户传送输入和输出。然而,所述流程图和伴随的描述仅仅示出了一种示例性操作方法,系 统IO可使设备12加载并执行实现了各种状态来支持在设备12之间建立通 信的任何适当的网页。因此,所描述的状态仅仅是示例性的,所加载的网 页可规定附加的状态、较少的状态和/或不同的状态。虽然己在若干实施例中描述了本发明,但是本领域内的普通技术人员 可意识到多种改变和修正,本发明应包括这些落在所附权利要求的范围内 的改变和修正。
权利要求
1.一种用于在端点内容宿电话应用的方法,该方法包括接收远程端点产生的呼叫邀请消息,所述远程端点请求语音通信会话;以及响应于所述呼叫邀请消息,将网页传送到所述远程端点,所述网页指定了由所述远程端点执行的用户接口命令,以向所述远程端点的用户提供信息。
2. 如权利要求l所述的方法,其中 所述用户接口命令表明了多个选项;并且所述网页还指定了对应于所述选项的多个事件处理者,每个所述事件 处理者都可操作来响应于对应选项的选择而传送事件。
3. 如权利要求2所述的方法,还包括响应于所述用户选择所述选项之一,从所述远程端点接收所选择的事件,所选择的事件表明了所选择的选项;标识所加载的网页中对应于所选择的事件的事件处理者;以及 执行所加载的网页的所述事件处理者。
4. 如权利要求2所述的方法,其中所述选项包括挂断选项和留言选项。
5. 如权利要求4所述的方法,还包括 传送呼叫连接消息到所述远程端点; 建立与所述远程端点之间的所述语音通信会话; 从所述远程端点接收对应于所述留言选项的选择的事件; 标识消息提示;将所述消息提示传送到所述远程端点;通过所述语音通信会话接收来自所述远程端点的音频流;以及 记录所述音频流。
6. 如权利要求5所述的方法,其中所述消息提示包括音频文件。
7. 如权利要求5所述的方法,还包括响应于接收所述事件,将第二网页传送到所述远程端点,所述第二网页包括用于将消息选项提供给所述 用户的用户接口命令。
8. 如权利要求l所述的方法,还包括 识别所述远程端点的标识;基于所述远程端点的标识,定制所述用户接口命令以表明多个选项;以及定制所述网页以包括对应于所述选项的多个事件处理者,每个所述事 件处理者都可操作来响应于对应选项的选择而传送事件。
9. 如权利要求l所述的方法,还包括使用所加载的网页的呼叫邀请事件处理者来处理所述呼叫邀请消息, 所述呼叫邀请事件处理者包括指向被呼网页的链接;加载所述被呼网页,该被呼网页控制表明进入呼叫的输出以及启动用 于检测响应所述呼叫的失败的定时器;基于所述定时器的触发而接收超时事件;使用所述被呼网页的超时事件处理者来处理所述超时事件,所述超时 事件处理者链接到未应答网页;加载所述未应答网页,该未应答网页指定了将所述网页传送到所述远 程端点。
10. —种用于在端点内容宿电话应用的电话设备,包括 可操作来耦合到基于分组的网络并接收远程端点产生的呼叫邀请消息的网络接口,所述远程端点请求语音通信会话;以及处理器,其可操作来响应于所述呼叫邀请消息,使用所述网络接口将 网页传送到所述远程端点,所述网页指定了由所述远程端点执行的用户接 口命令,以向所述远程端点的用户提供信息。
11. 如权利要求10所述的电话设备,其中所述用户接口命令表明了多个选项;并且所述网页还指定了对应于所述选项的多个事件处理者,每个所述事件 处理者都可操作来响应于对应选项的选择而传送事件。
12. 如权利要求ll所述的电话设备,其中所述网络接口还可操作来响应于所述用户选择所述选项之一,从所述 远程端点接收所选择的事件,所选择的事件表明了所选择的选项;并且所述处理器还可操作来标识所加载的网页中对应于所选择的事件的事 件处理者,并执行所加载的网页的所述事件处理者。
13. 如权利要求11所述的电话设备,其中所述选项包括挂断选项和 留言选项。
14. 如权利要求13所述的电话设备,其中所述处理器还可操作来通过使用所述网络接口而传送呼叫连接消息到 所述远程端点,建立与所述远程端点之间的所述语音通信会话;所述网络接口还可操作来从所述远程端点接收对应于所述留言选项的 选择的事件;所述处理器还可操作来响应于所接收的留言消息事件,标识消息提 示,并使用所述网络接口将所述消息提示传送到所述远程端点;并且所述电话设备的存储器可操作来接收来自所述远程端点的音频流并记 录所述音频流。
15. 如权利要求14所述的电话设备,其中所述消息提示包括音频文件。
16. 如权利要求14所述的电话设备,其中所述处理器还可操作来响 应于接收所述事件,使用所述网络接口将第二网页传送到所述远程端点, 所述第二网页包括用于将消息选项提供给所述用户的用户接口命令。
17. 如权利要求10所述的电话设备,其中所述处理器还可操作来识别所述远程端点的标识;基于所述远程端点的标识,定制所述用户接口命令以表明多个选项;并且定制所述网页以包括对应于所述选项的多个事件处理者,每个所述事 件处理者都可操作来响应于对应选项的选择而传送事件。
18. 如权利要求10所述的电话设备,其中所述处理器还可操作来 使用所加载的网页的呼叫邀请事件处理者来处理所述呼叫邀请消息,所述呼叫邀请事件处理者包括指向被呼网页的链接;加载所述被呼网页,该被呼网页控制表明进入呼叫的输出以及启动用 于检测响应所述呼叫的失败的定时器;基于所述定时器的触发而接收超时事件;使用所述被呼网页的超时事件处理者来处理所述超时事件,所述超时 事件处理者链接到未应答网页;加载所述未应答网页,该未应答网页指定了将所述网页传送到所述远 程端点。
19. 一种用于在端点内容宿电话应用的系统,该系统包括 用于接收远程端点产生的呼叫邀请消息的装置,所述远程端点请求语音通信会话;以及用于响应于所述呼叫邀请消息而将网页传送到所述远程端点的装置, 所述网页指定了由所述远程端点执行的用户接口命令,以向所述远程端点 的用户提供信息。
20. 如权利要求19所述的系统,其中 所述用户接口命令表明了多个选项;并且所述网页还指定了对应于所述选项的多个事件处理者,每个所述事件 处理者都可操作来响应于对应选项的选择而传送事件。
21. 如权利要求20所述的系统,还包括用于响应于所述用户选择所述选项之一而从所述远程端点接收所选择 的事件的装置,所选择的事件表明了所选择的选项;用于标识所加载的网页中对应于所选择的事件的事件处理者的装置;以及用于执行所加载的网页的所述事件处理者的装置。
22. 如权利要求20所述的系统,其中所述选项包括挂断选项和留言 选项。
23. 如权利要求22所述的系统,还包括 用于传送呼叫连接消息到所述远程端点的装置; 用于建立与所述远程端点之间的所述语音通信会话的装置; 用于从所述远程端点接收对应于所述留言选项的选择的事件的装置;用于标识消息提示的装置;用于将所述消息提示传送到所述远程端点的装置;用于通过所述语音通信会话接收来自所述远程端点的音频流的装置;以及用于记录所述音频流的装置。
24. 如权利要求23所述的系统,其中所述消息提示包括音频文件。
25. 如权利要求23所述的系统,还包括用于响应于接收所述事件而 将第二网页传送到所述远程端点的装置,所述第二网页包括用于将消息选 项提供给所述用户的用户接口命令。
26. 如权利要求19所述的系统,还包括 用于识别所述远程端点的标识的装置;用于基于所述远程端点的标识来定制所述用户接口命令以表明多个选 项的装置;以及用于定制所述网页以包括对应于所述选项的多个事件处理者的装置, 每个所述事件处理者都可操作来响应于对应选项的选择而传送事件。
27. 如权利要求19所述的系统,还包括用于使用所加载的网页的呼叫邀请事件处理者来处理所述呼叫邀请消 息的装置,所述呼叫邀请事件处理者包括指向被呼网页的链接;用于加载所述被呼网页的装置,该被呼网页控制表明进入呼叫的输出 以及启动用于检测响应所述呼叫的失败的定时器;用于基于所述定时器的触发而接收超时事件的装置;用于使用所述被呼网页的超时事件处理者来处理所述超时事件的装 置,所述超时事件处理者链接到未应答网页;用于加载所述未应答网页的装置,该未应答网页指定了将所述网页传 送到所述远程端点。
全文摘要
本发明公开了使用智能端点提供电话服务。一种用于在端点内容宿电话应用的方法包括接收远程端点产生的呼叫邀请消息,所述远程端点请求语音通信会话;以及响应于所述呼叫邀请消息,将网页传送到所述远程端点,所述网页指定了由所述远程端点执行的用户接口命令,以向所述远程端点的用户提供信息。
文档编号H04M1/253GK101262514SQ200810006110
公开日2008年9月10日 申请日期2003年8月7日 优先权日2002年8月7日
发明者亨利·陈, 安德鲁·J·弗兰克, 杰弗里·A·桑德斯, 理查德·B·普拉特, 罗纳德·D·希金斯, 詹姆斯·R·泰伊, 迈克尔·H·麦克朗 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1