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

文档序号:7864974阅读:156来源:国知局
专利名称:使用智能端点提供电话服务的制作方法
技术领域
本发明一般地涉及电话通信,更具体地说涉及使用智能端点提供电话服务。
背景技术
随着通信技术的快速发展,语音服务和数据服务也在日益聚合。一个这样的示例是使用因特网协议(IP)技术来传输语音数据。这使得语音流量可利用分组通信协议的益处。类似地,其他技术在应用到电话系统时也可以提供益处,但是发现合适的技术并使用这些技术仍然是巨大的挑战。

发明内容
根据本发明,提供了多种技术,以使用智能端点提供电话服务。根据具体实施例,一个分布式系统提供电话服务,其中端点设备使用多个实现了电话服务的脚本来处理电话事件。更具体地说,这些脚本可以基于文本的语言来实现,并使用web客户端/web服务器环境来提供给端点。
本发明的实施例提供了各种技术优点。功能的分布性提供了灵活性。不同的组件可以根据能力和/或系统需求而处理或多或少的处理。功能的这一分布性包括将处理转移到端点中。将处理转移到端点中利用了这些设备越来越强的能力。例如,功能强大的处理设备的存在使得端点可提供诸如事件处理和应用服务等服务。根据系统需求,端点可以实现分布式功能中的任何适当的部分。例如,一个系统可利用中央web服务器来向远程web客户端提供脚本,而另一个系统可在端点内同时实现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用作为系统10的元件之间的通信的消息中继和/或翻译模块。
网络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中的每一个处,设备12使用网关32与外部网络相链接。在站点A,网关32链接到WAN 36和PSTN 34。在站点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可以通过PSTN 34建立并进行通信。
考虑站点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可访问所加载的网页来确定它是否包含用于所检测到的事件的事件处理者。如果是,则状态引擎80根据事件处理者内的指令来对事件进行响应。这样,在运行期间,状态引擎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的特定实施例,但是系统10可使设备12具有通过执行网页来提供电话服务器的元件的任何适当的组合和设计。因此,所示出的特定元件执行的功能可被适当地划分和组合,这些元件中的一些或全部的功能可由编码在介质中的逻辑来实现。而且,虽然提供了具体的示例来说明特定实施例的操作,但是这些示例仅仅是例示性的,不应限制所公开的原理的范围。
图5的方框图示出了实现设备12内的脚本处理的一组相关模式(schema)。这些模式包括web功能模式100,其与会话模式102、电话模式104、媒体模式106、桥模式108、用户界面模式110和SOAP模式112相链接。这些模式和形成所述模式的底层文本命令定义了电话服务创建置标语言。也就是说,所述模式定义了一种基于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使用上述过程处理该页面。
因此,前面的流程图以及伴随的描述示出了一种相对简单的方法,用于处理实现了提供电话服务的状态的网页。然而,该流程图只是提供来作为说明性的示例,系统10可使得设备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然后都进入已连接状态,在该状态中,在所述设备之间流式传送媒体,并向用户传送输入和输出。
然而,所述流程图和伴随的描述仅仅示出了一种示例性操作方法,系统10可使设备12加载并执行实现了各种状态来支持在设备12之间建立通信的任何适当的网页。因此,所描述的状态仅仅是示例性的,所加载的网页可规定附加的状态、较少的状态和/或不同的状态。
虽然已在若干实施例中描述了本发明,但是本领域内的普通技术人员可意识到多种改变和修正,本发明应包括这些落在所附权利要求的范围内的改变和修正。
权利要求
1.一种电话设备,包括可操作来产生音频输出的扬声器;可操作来接收来自用户的音频输入的麦克风;可操作来向所述用户提供信息的显示器;可操作来接收来自所述用户的指示的用户接口;可操作来耦合到基于分组的网络的网络接口;可操作来响应于原生命令而控制所述扬声器、麦克风、显示器以及网络接口的低级处理模块;以及可操作来加载包括多个文本命令的网页的状态引擎,所述文本命令的一部分指定了动作,而所述文本命令的其它部分指定了一个或多个事件处理者,所述状态引擎还可操作来解释所述文本命令,以确定所述原生命令中用于实现所述动作的多个所选择的命令,向所述低级处理模块提供所确定的原生命令,以及监视与所述事件处理者匹配的事件。
2.如权利要求1所述的电话设备,还包括维护多个网页的存储器,每个网页都实现了用于提供电话服务的状态。
3.如权利要求1所述的电话设备,还包括会议桥,其可操作来从通过所述网络接口处理的多个呼叫段接收分组,并会议式传播来自所述分组的语音信息以形成会议式呼叫。
4.如权利要求1所述的电话设备,还包括维护路由表的存储器;并且其中所述状态引擎还可操作来加载并执行一系列网页,所述网页产生多播发现消息以扩展所述路由表中的条目,所述条目将端点的网络地址映射到所述端点的电话号码。
5.如权利要求4所述的电话设备,其中所述网页包括拨号网页,所述事件处理者包括已拨数位事件处理者,该事件处理者提供了数位分析以确定已拨数位和所述路由表中的条目之间的匹配。
6.如权利要求1所述的电话设备,其中所述动作详细规定了电话服务中的特定状态的操作,并详细规定了对应于所述特定状态的输出,并且其中,响应于所确定的原生命令,所述低级处理模块使用所述扬声器和显示器中的至少一个来执行所述输出。
7.如权利要求1所述的电话设备,其中每个所述事件处理者都指定了指向所述网页上的位置的链接、响应动作以及指向另一个网页的链接中的至少一个,以响应检测到的事件。
8.如权利要求1所述的电话设备,其中所述状态引擎还可操作来检测与所述事件处理者之一相匹配的事件,其中所述匹配的事件处理者包括指向第二网页的链接;向web服务器请求所述第二网页;从所述web服务器接收所述第二网页,所述第二网页包括多个文本命令,所述第二网页的文本命令中的一部分指定了动作,而所述第二网页的文本命令中的其它部分指定了一个或多个事件处理者;并且解释所述第二网页的文本命令,以确定所述原生命令中用于实现所述第二网页的动作的多个所选择的命令,向所述低级处理模块提供所确定的原生命令,以及监视与所述第二网页的事件处理者匹配的事件。
9.如权利要求8所述的电话设备,其中请求所述第二网页包括访问本地存储器以确定所述第二网页是否维护在本地存储器中;以及如果不在所述本地存储器中,则使用所述网络接口将网页请求传送到远程web服务器。
10.如权利要求1所述的电话设备,其中所述网页实现了空闲状态,所述动作表明了用于使用所述显示器来提供电话功能的输出,所述事件处理者包括链接到拨号网页的摘机事件处理者。
11.如权利要求10所述的电话设备,其中所述状态引擎还可操作来检测用所述接口从所述用户接收的摘机事件;响应于所述摘机事件,向web服务器请求所述拨号网页;从所述web服务器接收所述拨号网页,所述拨号网页包括多个文本命令,所述拨号网页的文本命令中的一部分指定了动作,而所述拨号网页的文本命令中的其它部分指定了一个或多个事件处理者,所述动作表明了用于使用所述显示器来显示已拨数位以及用于产生并提供对应于已拨数位的拨号音的输出,所述事件处理者包括已拨数位事件处理者和用目的地地址标识的事件处理者;并且解释所述拨号网页的文本命令,以确定所述原生命令中用于实现所述拨号网页的动作的多个所选择的命令,向所述低级处理模块提供所确定的原生命令,以及监视与所述拨号网页的事件处理者匹配的事件。
12.如权利要求11所述的电话设备,其中所述状态引擎还可操作来检测用目的地地址标识的事件;请求所述用目的地地址标识的事件处理者中链接到的呼出网页;接收所述呼出网页,所述呼出网页包括多个文本命令,所述呼出网页的文本命令中的一部分指定了动作,而所述呼出网页的文本命令中的其它部分指定了一个或多个事件处理者,所述动作表明了对应于会话启动协议(SIP)邀请消息的命令,并表明了用于产生并提供振铃音频信号的输出,所述事件处理者包括已应答呼叫事件处理者;并且解释所述呼出网页的文本命令,以确定所述原生命令中用于实现所述呼出网页的动作的多个所选择的命令,向所述低级处理模块提供所确定的原生命令,以及监视与所述呼出网页的事件处理者匹配的事件。
13.如权利要求12所述的电话设备,其中所述状态引擎还可操作来产生所述SIP邀请消息;传送所述SIP邀请消息,以被由所述已拨数位标识出的端点接收和处理;接收由所述所标识出的端点产生的SIP连接消息;并且响应于所述SIP连接消息,请求所述已应答呼叫事件处理者中链接到的已连接网页。
14.一种用于提供电话服务的方法,包括提供可操作来响应于原生命令而控制扬声器、麦克风、显示器和网络接口的低级处理模块;加载包括多个文本命令的网页,所述文本命令的一部分指定了动作,而所述文本命令的其它部分指定了一个或多个事件处理者;解释所述文本命令,以确定所述原生命令中用于实现所述动作的多个所选择的命令;向所述低级处理模块提供所确定的原生命令;以及监视与所述事件处理者匹配的事件。
15.如权利要求14所述的方法,还包括维护多个网页,其中每个网页都实现了用于提供电话服务的状态。
16.如权利要求14所述的方法,还包括维护路由表;以及执行一系列网页,所述网页产生多播发现消息以扩展所述路由表中的条目,所述条目将端点的网络地址映射到所述端点的电话号码。
17.如权利要求16所述的方法,其中所述网页包括拨号网页,所述事件处理者包括已拨数位事件处理者,该事件处理者提供了数位分析以确定已拨数位和所述路由表中的条目之间的匹配。
18.如权利要求14所述的方法,其中所述动作详细规定了电话服务中的特定状态的操作,并详细规定了对应于所述特定状态的输出,并且其中,响应于所确定的原生命令,所述低级处理模块使用所述扬声器和显示器中的至少一个来执行所述输出。
19.如权利要求14所述的方法,其中每个所述事件处理者都指定了指向所述网页上的位置的链接、响应动作以及指向另一个网页的链接中的至少一个,以响应检测到的事件。
20.如权利要求14所述的方法,还包括检测与所述事件处理者之一相匹配的事件,其中所述匹配的事件处理者包括指向第二网页的链接;向web服务器请求所述第二网页;从所述web服务器接收所述第二网页,所述第二网页包括多个文本命令,所述第二网页的文本命令中的一部分指定了动作,而所述第二网页的文本命令中的其它部分指定了一个或多个事件处理者;解释所述第二网页的文本命令,以确定所述原生命令中用于实现所述第二网页的动作的多个所选择的命令;向所述低级处理模块提供所确定的原生命令;以及监视与所述第二网页的事件处理者匹配的事件。
21.如权利要求14所述的方法,其中所述网页实现了空闲状态,所述动作表明了用于使用所述显示器来提供电话功能的输出,所述事件处理者包括链接到拨号网页的摘机事件处理者。
22.如权利要求21所述的方法,还包括检测从所述用户接收的摘机事件;响应于所述摘机事件,请求所述拨号网页;接收所述拨号网页,所述拨号网页包括多个文本命令,所述拨号网页的文本命令中的一部分指定了动作,而所述拨号网页的文本命令中的其它部分指定了一个或多个事件处理者,所述动作表明了用于使用所述显示器来显示已拨数位以及用于产生并提供对应于已拨数位的拨号音的输出,所述事件处理者包括已拨数位事件处理者和用目的地地址标识的事件处理者;解释所述拨号网页的文本命令,以确定所述原生命令中用于实现所述拨号网页的动作的多个所选择的命令;向所述低级处理模块提供所确定的原生命令;以及监视与所述拨号网页的事件处理者匹配的事件。
23.如权利要求22所述的方法,还包括检测用目的地地址标识的事件;请求所述用目的地地址标识的事件处理者中链接到的呼出网页;接收所述呼出网页,所述呼出网页包括多个文本命令,所述呼出网页的文本命令中的一部分指定了动作,而所述呼出网页的文本命令中的其它部分指定了一个或多个事件处理者,所述动作表明了对应于会话启动协议(SIP)邀请消息的命令,并表明了用于产生并提供振铃音频信号的输出,所述事件处理者包括已应答呼叫事件处理者;解释所述呼出网页的文本命令,以确定所述原生命令中用于实现所述呼出网页的动作的多个所选择的命令;向所述低级处理模块提供所确定的原生命令;以及监视与所述呼出网页的事件处理者匹配的事件。
24.如权利要求23所述的方法,还包括产生所述SIP邀请消息;传送所述SIP邀请消息,以被由所述已拨数位标识出的端点接收和处理;接收由所述所标识出的端点产生的SIP连接消息;以及响应于所述SIP连接消息,请求所述已应答呼叫事件处理者中链接到的已连接网页。
25.一种用于提供电话服务的逻辑,所述逻辑编码在介质中,被执行时可操作来执行下述步骤与低级处理模块相接口,所述低级处理模块可操作来响应于原生命令而控制扬声器、麦克风、显示器和网络接口;加载包括多个文本命令的网页,所述文本命令的一部分指定了动作,而所述文本命令的其它部分指定了一个或多个事件处理者,其中所述网页实现了空闲状态,所述动作表明用于使用所述显示器来提供电话功能的输出,所述事件处理者包括链接到拨号网页的摘机事件处理者;解释所述文本命令,以确定所述原生命令中用于实现所述动作的多个所选择的命令;向所述低级处理模块提供所确定的原生命令;监视与所述事件处理者匹配的事件;检测从用户接收的摘机事件;响应于所述摘机事件,请求所述拨号网页;接收所述拨号网页,所述拨号网页包括多个文本命令,所述拨号网页的文本命令中的一部分指定了动作,而所述拨号网页的文本命令中的其它部分指定了一个或多个事件处理者,所述动作表明了用于使用所述显示器来显示已拨数位以及用于产生并提供对应于已拨数位的拨号音的输出,所述事件处理者包括已拨数位事件处理者和用目的地地址标识的事件处理者;解释所述拨号网页的文本命令,以确定所述原生命令中用于实现所述拨号网页的动作的多个所选择的命令;向所述低级处理模块提供所确定的原生命令;以及监视与所述拨号网页的事件处理者匹配的事件。
26.如权利要求25所述的逻辑,还可操作来执行下述步骤检测用目的地地址标识的事件;请求所述用目的地地址标识的事件处理者中链接到的呼出网页;接收所述呼出网页,所述呼出网页包括多个文本命令,所述呼出网页的文本命令中的一部分指定了动作,而所述呼出网页的文本命令中的其它部分指定了一个或多个事件处理者,所述动作表明了对应于会话启动协议(SIP)邀请消息的命令,并表明了用于产生并提供振铃音频信号的输出,所述事件处理者包括已应答呼叫事件处理者;解释所述呼出网页的文本命令,以确定所述原生命令中用于实现所述呼出网页的动作的多个所选择的命令;向所述低级处理模块提供所确定的原生命令;以及监视与所述呼出网页的事件处理者匹配的事件。
27.如权利要求26所述的逻辑,还可操作来执行下述步骤产生所述SIP邀请消息;传送所述SIP邀请消息,以被由所述已拨数位标识出的端点接收和处理;接收由所述所标识出的端点产生的SIP连接消息;以及响应于所述SIP连接消息,请求所述已应答呼叫事件处理者中链接到的已连接网页。
28.一种电话设备,包括用于产生音频输出的装置;用于接收来自用户的音频输入的装置;用于向所述用户提供信息的装置;用于接收来自所述用户的指示的装置;用于耦合到基于分组的网络的装置;用于响应于原生命令而控制扬声器、麦克风、显示器以及网络接口的装置;用于加载包括多个文本命令的网页的装置,所述文本命令的一部分指定了动作,而所述文本命令的其它部分指定了一个或多个事件处理者;以及用于解释所述文本命令以确定所述原生命令中用于实现所述动作的多个所选择的命令,向所述低级处理模块提供所确定的原生命令,以及监视与所述事件处理者匹配的事件的装置。
29.一种用于解释基于文本的脚本来提供电话服务的语言处理器,该语言处理器包括会话模式,其可操作来通过处理用于包括邀请、确认、取消以及再见在内的操作的文本命令,并通过处理用于包括邀请、确认、取消、再见以及稍候在内的事件的文本命令,从而支持通信会话的创建和管理;电话模式,其可操作来通过处理用于包括设置振铃音量、设置扬声器音量以及设置消息等待提示符在内的操作的文本命令,并通过处理用于包括摘机、挂机以及已拨数位在内的事件的文本命令,从而支持电话端点的管理和控制;以及web功能模式,其可操作来通过处理用于包括创建控制上下文、关闭控制上下文、设置定时器、设置变量以及加载网页在内的操作的文本命令,从而支持用于其他模式的控制流和信令。
30.如权利要求29所述的语言处理器,还包括媒体模式,其可操作来通过处理用于包括开始媒体流和停止媒体流在内的操作的文本命令,并通过处理用于包括媒体流开始和媒体流停止在内的事件的文本命令,从而支持媒体流的操纵。
31.如权利要求30所述的语言处理器,其中所述媒体模式还可操作来处理用于包括播放拨号音和播放所记录的消息在内的操作的文本命令,以及处理用于包括双音多频(DTMF)事件和媒体错误在内的事件的文本命令。
32.如权利要求29所述的语言处理器,其中所述web功能模式还可操作来处理用于包括发送上下文间信号、运行子例程以及管理例外在内的操作的文本命令。
33.如权利要求32所述的语言处理器,其中所述运行子例程操作允许所述语言处理器将执行从第一网页转移到第二网页,并且在所述第二网页完成后转移回到所述第一网页。
34.如权利要求29所述的语言处理器,其中所述web功能模式还可操作来处理用于包括创建窗口、提升窗口、降低窗口或关闭窗口在内的操作的文本命令。
35.如权利要求29所述的语言处理器,还包括用户界面模式,其可操作来通过处理用于包括显示文本框、选择窗口、选择线路以及选择保持在线会话在内的操作的文本命令,从而支持输出的显示。
36.如权利要求29所述的语言处理器,其中所述用户界面模式还可操作来处理用于包括显示标题、显示状态、显示软按钮以及显示提示在内的操作的文本命令,并处理用于包括软按钮被选择以及对提示的响应在内的事件的文本命令。
37.一种电话设备,包括可操作来产生音频输出的扬声器;可操作来接收来自用户的音频输入的麦克风;可操作来向所述用户提供信息的显示器;可操作来接收来自所述用户的指示的用户接口;可操作来耦合到基于分组的网络的网络接口;可操作来响应于原生命令而控制所述扬声器、麦克风、显示器以及网络接口的低级处理模块;以及用于将基于文本的脚本解释为原生命令的语言处理器,该语言处理器包括会话模式,其可操作来通过处理用于包括邀请、确认、取消以及再见在内的操作的文本命令,并通过处理用于包括邀请、确认、取消、再见以及稍候在内的事件的文本命令,从而支持通信会话的创建和管理;电话模式,其可操作来通过处理用于包括设置振铃音量、设置扬声器音量以及设置消息等待提示符在内的操作的文本命令,并通过处理用于包括摘机、挂机以及已拨数位在内的事件的文本命令,从而支持电话端点的管理和控制;以及web功能模式,其可操作来通过处理用于包括创建控制上下文、关闭控制上下文、设置定时器、设置变量以及加载网页在内的操作的文本命令,从而支持用于其他模式的控制流和信令。
38.如权利要求37所述的电话设备,其中所述语言处理器还包括媒体模式,其可操作来通过处理用于包括开始媒体流和停止媒体流在内的操作的文本命令,并通过处理用于包括媒体流开始和媒体流停止在内的事件的文本命令,从而支持媒体流的操纵。
39.如权利要求38所述的电话设备,其中所述媒体模式还可操作来处理用于包括播放拨号音和播放所记录的消息在内的操作的文本命令,以及处理用于包括双音多频(DTMF)事件和媒体错误在内的事件的文本命令。
40.如权利要求37所述的电话设备,其中所述web功能模式还可操作来处理用于包括发送上下文间信号、运行子例程以及管理例外在内的操作的文本命令。
41.如权利要求40所述的电话设备,其中所述运行子例程操作允许所述语言处理器将执行从第一网页转移到第二网页,并且在所述第二网页完成后转移回到所述第一网页。
42.如权利要求37所述的电话设备,其中所述web功能模式还可操作来通过处理用于包括创建窗口、提升窗口、降低窗口或关闭窗口在内的操作的文本命令,从而实现在所述显示器中显示输出。
43.如权利要求37所述的电话设备,其中所述语言处理器还包括用户界面模式,其可操作来通过处理用于包括显示文本框、选择窗口、选择线路以及选择保持在线会话在内的操作的文本命令,从而实现在所述显示器中显示输出。
44.如权利要求37所述的电话设备,其中所述用户界面模式还可操作来通过处理用于包括显示标题、显示状态、显示软按钮以及显示提示在内的操作的文本命令,从而实现所述显示器的输出,并通过处理用于包括软按钮被选择以及对提示的响应在内的事件的文本命令,解释通过所述用户接口而接收的输入。
45.一种用于解释基于文本的脚本来提供电话服务的方法,该方法包括提供会话模式,其可操作来通过处理用于包括邀请、确认、取消以及再见在内的操作的文本命令,并通过处理用于包括邀请、确认、取消、再见以及稍候在内的事件的文本命令,从而支持通信会话的创建和管理;提供电话模式,其可操作来通过处理用于包括设置振铃音量、设置扬声器音量以及设置消息等待提示符在内的操作的文本命令,并通过处理用于包括摘机、挂机以及已拨数位在内的事件的文本命令,从而支持电话端点的管理和控制;以及提供web功能模式,其可操作来通过处理用于包括创建控制上下文、关闭控制上下文、设置定时器、设置变量以及加载网页在内的操作的文本命令,从而支持用于其他模式的控制流和信令。
46.如权利要求45所述的方法,还包括提供媒体模式,其可操作来通过处理用于包括开始媒体流和停止媒体流在内的操作的文本命令,并通过处理用于包括媒体流开始和媒体流停止在内的事件的文本命令,从而支持媒体流的操纵。
47.如权利要求46所述的方法,其中所述媒体模式还可操作来处理用于包括播放拨号音和播放所记录的消息在内的操作的文本命令,以及处理用于包括双音多频(DTMF)事件和媒体错误在内的事件的文本命令。
48.如权利要求45所述的方法,其中所述web功能模式还可操作来处理用于包括发送上下文间信号、运行子例程以及管理例外在内的操作的文本命令。
49.如权利要求48所述的方法,其中所述运行子例程操作允许所述语言处理器将执行从第一网页转移到第二网页,并且在所述第二网页完成后转移回到所述第一网页。
50.如权利要求45所述的方法,其中所述web功能模式还可操作来处理用于包括创建窗口、提升窗口、降低窗口或关闭窗口在内的操作的文本命令。
51.如权利要求45所述的方法,还包括提供用户界面模式,其可操作来通过处理用于包括显示文本框、选择窗口、选择线路以及选择保持在线会话在内的操作的文本命令,从而支持输出的显示。
52.如权利要求45所述的方法,其中所述用户界面模式还可操作来处理用于包括显示标题、显示状态、显示软按钮以及显示提示在内的操作的文本命令,并处理用于包括软按钮被选择以及对提示的响应在内的事件的文本命令。
53.一种用于在端点内容宿电话应用的方法,该方法包括接收远程端点产生的呼叫邀请消息,所述远程端点请求语音通信会话;以及响应于所述呼叫邀请消息,将网页传送到所述远程端点,所述网页指定了由所述远程端点执行的用户接口命令,以向所述远程端点的用户提供信息。
54.如权利要求53所述的方法,其中所述用户接口命令表明了多个选项;并且所述网页还指定了对应于所述选项的多个事件处理者,每个所述事件处理者都可操作来响应于对应选项的选择而传送事件。
55.如权利要求54所述的方法,还包括响应于所述用户选择所述选项之一,从所述远程端点接收所选择的事件,所选择的事件表明了所选择的选项;标识所加载的网页中对应于所选择的事件的事件处理者;以及执行所加载的网页的所述事件处理者。
56.如权利要求54所述的方法,其中所述选项包括挂断选项和留言选项。
57.如权利要求56所述的方法,还包括传送呼叫连接消息到所述远程端点;建立与所述远程端点之间的所述语音通信会话;从所述远程端点接收对应于所述留言选项的选择的事件;标识消息提示;将所述消息提示传送到所述远程端点;通过所述语音通信会话接收来自所述远程端点的音频流;以及记录所述音频流。
58.如权利要求57所述的方法,其中所述消息提示包括音频文件。
59.如权利要求57所述的方法,还包括响应于接收所述事件,将第二网页传送到所述远程端点,所述第二网页包括用于将消息选项提供给所述用户的用户接口命令。
60.如权利要求53所述的方法,还包括识别所述远程端点的标识;基于所述远程端点的标识,定制所述用户接口命令以表明多个选项;以及定制所述网页以包括对应于所述选项的多个事件处理者,每个所述事件处理者都可操作来响应于对应选项的选择而传送事件。
61.如权利要求53所述的方法,还包括使用所加载的网页的呼叫邀请事件处理者来处理所述呼叫邀请消息,所述呼叫邀请事件处理者包括指向被呼网页的链接;加载所述被呼网页,该被呼网页控制表明进入呼叫的输出以及启动用于检测响应所述呼叫的失败的定时器;基于所述定时器的触发而接收超时事件;使用所述被呼网页的超时事件处理者来处理所述超时事件,所述超时事件处理者链接到未应答网页;加载所述未应答网页,该未应答网页指定了将所述网页传送到所述远程端点。
62.一种电话设备,包括可操作来产生音频输出的扬声器;可操作来接收来自用户的音频输入的麦克风;可操作来向所述用户提供信息的显示器;可操作来接收来自所述用户的指示的用户接口;可操作来耦合到基于分组的网络并接收远程端点产生的呼叫邀请消息的网络接口,所述远程端点请求语音通信会话;以及处理器,其可操作来响应于所述呼叫邀请消息,使用所述网络接口将网页传送到所述远程端点,所述网页指定了由所述远程端点执行的用户接口命令,以向所述远程端点的用户提供信息。
63.如权利要求62所述的电话设备,其中所述用户接口命令表明了多个选项;并且所述网页还指定了对应于所述选项的多个事件处理者,每个所述事件处理者都可操作来响应于对应选项的选择而传送事件。
64.如权利要求63所述的电话设备,其中所述网络接口还可操作来响应于所述用户选择所述选项之一,从所述远程端点接收所选择的事件,所选择的事件表明了所选择的选项;并且所述处理器还可操作来标识所加载的网页中对应于所选择的事件的事件处理者,并执行所加载的网页的所述事件处理者。
65.如权利要求63所述的电话设备,其中所述选项包括挂断选项和留言选项。
66.如权利要求65所述的电话设备,其中所述处理器还可操作来通过使用所述网络接口而传送呼叫连接消息到所述远程端点,建立与所述远程端点之间的所述语音通信会话;所述网络接口还可操作来从所述远程端点接收对应于所述留言选项的选择的事件;所述处理器还可操作来响应于所接收的留言消息事件,标识消息提示,并使用所述网络接口将所述消息提示传送到所述远程端点;并且所述电话设备的存储器可操作来接收来自所述远程端点的音频流并记录所述音频流。
67.如权利要求66所述的电话设备,其中所述消息提示包括音频文件。
68.如权利要求66所述的电话设备,其中所述处理器还可操作来响应于接收所述事件,使用所述网络接口将第二网页传送到所述远程端点,所述第二网页包括用于将消息选项提供给所述用户的用户接口命令。
69.如权利要求62所述的电话设备,其中所述处理器还可操作来识别所述远程端点的标识;基于所述远程端点的标识,定制所述用户接口命令以表明多个选项;并且定制所述网页以包括对应于所述选项的多个事件处理者,每个所述事件处理者都可操作来响应于对应选项的选择而传送事件。
70.如权利要求62所述的电话设备,其中所述处理器还可操作来使用所加载的网页的呼叫邀请事件处理者来处理所述呼叫邀请消息,所述呼叫邀请事件处理者包括指向被呼网页的链接;加载所述被呼网页,该被呼网页控制表明进入呼叫的输出以及启动用于检测响应所述呼叫的失败的定时器;基于所述定时器的触发而接收超时事件;使用所述被呼网页的超时事件处理者来处理所述超时事件,所述超时事件处理者链接到未应答网页;加载所述未应答网页,该未应答网页指定了将所述网页传送到所述远程端点。
71.一种用于在端点内容宿电话应用的逻辑,该逻辑编码在介质中,被执行时可操作来执行下述步骤接收远程端点产生的呼叫邀请消息,所述远程端点请求语音通信会话;以及响应于所述呼叫邀请消息,将网页传送到所述远程端点,所述网页指定了由所述远程端点执行的用户接口命令,以向所述远程端点的用户提供信息。
72.如权利要求71所述的逻辑,其中所述用户接口命令表明了多个选项;并且所述网页还指定了对应于所述选项的多个事件处理者,每个所述事件处理者都可操作来响应于对应选项的选择而传送事件。
73.如权利要求72所述的逻辑,还可操作来响应于所述用户选择所述选项之一,从所述远程端点接收所选择的事件,所选择的事件表明了所选择的选项;标识所加载的网页中对应于所选择的事件的事件处理者;以及执行所加载的网页的所述事件处理者。
74.如权利要求72所述的逻辑,其中所述选项包括挂断选项和留言选项。
75.如权利要求74所述的逻辑,还可操作来传送呼叫连接消息到所述远程端点;建立与所述远程端点之间的所述语音通信会话;从所述远程端点接收对应于所述留言选项的选择的事件;标识消息提示;将所述消息提示传送到所述远程端点;通过所述语音通信会话接收来自所述远程端点的音频流;以及记录所述音频流。
76.如权利要求75所述的逻辑,其中所述消息提示包括音频文件。
77.如权利要求75所述的逻辑,还可操作来响应于接收所述事件,将第二网页传送到所述远程端点,所述第二网页包括用于将消息选项提供给所述用户的用户接口命令。
78.如权利要求71所述的逻辑,还可操作来识别所述远程端点的标识;基于所述远程端点的标识,定制所述用户接口命令以表明多个选项;以及定制所述网页以包括对应于所述选项的多个事件处理者,每个所述事件处理者都可操作来响应于对应选项的选择而传送事件。
79.如权利要求71所述的逻辑,还可操作来使用所加载的网页的呼叫邀请事件处理者来处理所述呼叫邀请消息,所述呼叫邀请事件处理者包括指向被呼网页的链接;加载所述被呼网页,该被呼网页控制表明进入呼叫的输出以及启动用于检测响应所述呼叫的失败的定时器;基于所述定时器的触发而接收超时事件;使用所述被呼网页的超时事件处理者来处理所述超时事件,所述超时事件处理者链接到未应答网页;加载所述未应答网页,该未应答网页指定了将所述网页传送到所述远程端点。
80.一种电话设备,包括用于产生音频输出的装置;用于接收来自用户的音频输入的装置;用于接收来自所述用户的指示的装置;用于耦合到基于分组的网络以接收远程端点产生的呼叫邀请消息的装置,所述远程端点请求进行语音通信会话;以及用于响应于所述呼叫邀请消息,将网页传送到所述远程端点的装置,所述网页指定了由所述远程端点执行的用户接口命令,以向所述远程端点的用户提供信息。
全文摘要
一种系统包括通过执行网页中的脚本来提供服务和应用的电话设备。
文档编号H04M3/42GK1675912SQ03818787
公开日2005年9月28日 申请日期2003年8月7日 优先权日2002年8月7日
发明者迈克尔·H·麦克朗, 亨利·陈, 安德鲁·J·弗兰克, 理查德·B·普拉特, 罗纳德·D·希金斯, 詹姆斯·R·泰伊, 杰弗里·A·桑德斯 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1