悬停呼叫的制作方法

文档序号:7676710阅读:181来源:国知局

专利名称::悬停呼叫的制作方法悬停呼叫背景网际协议语音(VOIP)是允许用户使用宽带因特网连接而非传统电话线来进行电话呼叫的技术。一些使用VOIP的服务可能只允许用户呼叫同样使用VOIP的其他人;然而,许多服务还允许用户呼叫有电话号码一包括本地、长途、移动和国际号码一的任何人。尽管一些服务仅在计算机或特殊VOIP电话上工作,但是其它服务允许通过适配器来使用传统电话。为鼓励使用VOIP,技术提供方已经寻求了使得VOIP更方便且使用更高效的方式。例如,某些VOIP应用程序的提供方已经开发了通过加亮在网页中找到的电话号码并关联发起电话呼叫的超链接来标识因特网上的内容中的潜在电话号码的技术。然而,上述加亮电话号码的技术遭受几个用户体验问题。例如,有时加亮是侵入性的,并且使得网页难以阅读。另外,对加亮的使用增加了网页的呈现时间,因为执行加亮的软件需要解析整个页面以找到并识别所有电话号码、关联到这些电话号码的超链接、并加亮电话号码。概述此处描述的技术通过响应于用户悬停在用户界面内容内的电话号码上或选择该电话号码来自动化电话呼叫而方便了对通信系统的使用。当用户悬停在网页(或其它界面)上的一电话号码(或语音通信目标的其它指示)上时,该电话号码将被加亮并且将向用户提供使用加亮的号码来进行呼叫的机会。如果用户点击(或以其它方式选择)该加亮的电话号码,则该电话号码将被提供给使用该号码来进行电话呼叫的VOIP应用程序(或其它通信应用程序)。如果用户移开而没有点击该加亮的电话号码,则加亮将消失。在替换实施例中,用户可选择网页(或其它界面)中的文本,并且如果在所选文本中有电话号码,则该电话号码可被自动提供给VOIP应用程序以便于进行呼叫。在另一实施例中,该系统找出内容中的电话号码并用启用此处描述的行为的超链接替换这些电话号码。一个实施例包括响应于用户悬停在内容上或附近来确定该内容是否是目标的指示、响应于该确定来标识该目标的指示、接收对该目标的指示的选择、以及响应于接收对该目标的指示的选择使用该目标的指示来建立语音连接。另一实施例包括确定内容是否是目标的指示,包括规范化该内容、将规范化的内容与规范化的模式进行匹配、以及将该内容与同规范化的模式相关联的原始模式进行匹配。该目标的指示响应于用户悬停在内容上或附近在该内容中可视地标识。响应于接收对该目标的指示的选择使用该目标的指示建立语音连接。另一实施例包括在用户界面中显示来自存储设备的内容、接收对内容子集的选择、确定该内容子集是否包括目标的正确指示、以及使得使用该目标的正确指示和通信接口建立数据网络上的语音连接。此处所描述的技术可以使用硬件、软件、或硬件和软件两者的组合来实现。所使用的软件被储存在一个或多个处理器可读存储设备上,包括硬盘驱动器、CD-ROM、DVD、光盘、软盘、磁带驱动器、RAM、ROM、闪存或其它合适的存储设备。该软件可用于对一个或多个处理器编程以执行此处所描述的功能。在替换实施例中,部分或全部软件可以用专用硬件来替换,包括自定义集成电路、门阵列、FPGA、PLD和专用计算机。能够执行此处所描述的功能的示例装置包括与存储设备和通信接口通信的一个或多个处理器。提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。附图简述图1是提供网络上的语音通信的系统的一个实施例的框图。图2是客户机设备上的组件的一个实施例的框图。图3是客户机设备上的组件的一个实施例的框图。图4是描述计算系统的一个实施例的框图。图5是描述用于响应于用户悬停在电话号码的指示上而发起通信的过程的一个实施例的流程图。图6是描述用于识别电话号码的过程的一个实施例的流程图。图7是描述实现VOIP连接的过程的框图。图8是描述用于响应于用户悬停在电话号码的指示上而发起通信的过程的一个实施例的流程图。图9是描述用于响应于用户选择包括电话号码的内容而发起通信的过程的一个实施例的流程图。图10是描述用于响应于用户选择包括电话号码的内容而发起通信的过程的一个实施例的流程图。图11是描述用于响应于用户悬停在电话号码的指示上而发起通信的过程的一个实施例的流程图。图12是客户机设备上的组件的一个实施例的框图。图13是描述用于向网页添加超链接的过程的一个实施例的流程图。图14A和14B示出了在添加超链接之前和之后的网页的一部分。图15是描述用于响应于用户悬停在电话号码的指示上而发起通信的过程的一个实施例的流程图。图16是描述由通信系统响应于超链接执行的过程的一个实施例的流程图。图17是描述由通信系统响应于超链接执行的过程的一个实施例的流程图。详细描述此处描述的技术通过响应于用户悬停在用户界面内容内的电话号码上和/或选择该电话号码来自动化语音连接而方便了对通信系统的使用。当用户悬停在网页(或其它界面)上的一电话号码(或语音通信目标的其它指示)上时,该电话号码将被加亮并且将向用户提供使用加亮的号码来进行呼叫的机会。如果用户点击(或以其它方式选择)该加亮的电话号码,则该电话号码将被自动提供给使用该号码来进行呼叫的VOIP应用程序(或其它通信应用程序)。如果用户移开而没有点击该加亮的电话号码,则加亮将消失。在替换实施例中,用户可选择网页(或其它界面)中的文本,并且如果在所选文本中有电话号码,则该电话号码可被自动提供给VOIP应用程序以便于进行呼叫。在某些实施例中,该系统找出内容中的电话号码并用启用以上描述的行为的超链接替换这些电话号码。图1是描绘提供网络上的通信(例如,VOIP)的、可如此处所描述地自动化电话呼叫的发起的系统的一个实施例的框图。图1描绘了与因特网12通信的客户计算设备IO。客户计算设备10可以是任何合适的计算设备,包括个人计算机、笔记本计算机、手持式设备、移动电话等等。客户计算设备10包括允许通过因特网12通信的软件和/或硬件。例如,客户计算设备可以包括通过网络接口通信的VOIP软件应用程序。图l还示出了经由因特网12(或其它手段)与接口16通信的计算设备14。接口16也经由直接通信链路、因特网12或另一装置与电话网络18通信。计算设备14可以是能够与其它计算设备通信的任何类型的计算设备。电话网络18包括公知的传统电话网络和/或蜂窝电话网络。接口16包括提供传统电话网络18和因特网12的数据网络之间的接口的硬件和软件。例如,接口16可以是接收经由因特网12的VOIP通信并将这些通信传输到传统电话网络18,以及将来自电话网络18的语音通信传输到因特网12上的VOIP通信的一个或多个计算机。构想了客户计算设备14的用户将使用VOIP技术向计算设备14上的另一用户或向电话网络18上的常规或无线电话的用户进行电话呼叫。在其它实施例中,进行电话呼叫的用户可以使用具有适配器的电话而非客户计算设备10。图2是描绘驻留在客户计算设备10上的各种组件的框图。在一个实施例中,客户计算设备10包括浏览器30(例如,来自微软公司的InternetExplorer或另一浏览器)以及SoftPhone(软电话)40。在一个实施例中,SoftPhone40是能实现VOIP的软件应用程序。在其它实施例中,SoftPhone40将实现可用于建立语音连接或包括语音通信的其它类型的连接的其它通信协议。SoftPhone40可以是包括即时消息通信、电子邮件、文件共享和其它服务在内的通信应用程序的一部分。浏览器30包括插件32、URL标记(URLMoniker)34和LiveCall(实况呼叫)处理程序36。插件32是由浏览器加载并在其中运行的软件模块。当加载一网页时,浏览器调用浏览器插件来执行功能。当用户悬停在文本串上时,浏览器30调用浏览器插件32来处理该文本串。URL标记34接收实现浏览器30内的用户界面的代码中的URL,并查找用于这些URL的适当的协议处理程序。LiveCall处理程序36是协议处理程序的一个示例。如以下所讨论的,此处所描述的技术的某些实施例的一方面是新超链接。该超链接被称为LiveCall超链接。LiveCall处理程序36是用于LiveCall超链接的处理程序。关于LiveCall超链接的更多细节将在以下讨论。SoftPhone40包括认证管理器42,它是在使用SoftPhone40之前认证用户的软件模块。在某些实施例中,认证管理器42还验证用户被授权来执行用户所请求的动作。图2示出了与插件32和LiveCall处理程序36通信的认证管理器42。在认证了用户之后,认证管理器42将控制传递到解析器44或另一模块。解析器44是将URL解析成各种分量的软件模块。解析器44将这些分量传送到信号和语音引擎46、业务智能48、呈现逻辑50和超链接重定向器52。信号和语音引擎46也与认证管理器42通信,其提供用于发起并维持VOIP电话呼叫的引擎。信号和语音引擎46与地址簿58通信。在一个实施例中,地址簿58储存与用户相关联的各个人的联系信息。地址簿58可以是个人信息管理应用程序或专用于SoftPhone40的数据存储的一部分。业务智能48是储存关于SoftPhone40对业务智能应用程序的使用的信息的数据存储。呈现逻辑50提供用于SoftPhone40的用户界面。超链接重定向器52可用于基于URL中的命令或信息来重定向呈现逻辑50或浏览器30。在一个实施例中,超链接重定向器52与浏览器30通信。图2构想了其中在用于浏览器30中显示的网页的代码中使用了包括一个或多个电话号码的内容,且用户正使用SoftPhone40来经由因特网12或其它网络进行VOIP呼叫的环境。在另一实施例中,电话号码可以在除浏览器之外的应用程序中使用的内容中。例如,电话号码可以在文字处理文档、电子表格、或任何其它应用程序中使用。图3提供了其中与SoftPhone40的软件模块间通信是经由API进行的以使来自应用程序(包括浏览器和除浏览器之外的软件应用程序)的电话号码用于触发与SoftPhone40的通信的系统的框图。图3示出了包括SoftPhone40、浏览器30、Windows外壳60、应用程序64和监控程序66的客户计算设备10A。SoftPhone40和浏览器30包括图2所描绘的组件。Windows外壳60是用于操作系统的界面。在一个实施例中,客户计算设备10A上的应用程序可以利用可访问性API(应用程序接口),它是改进可访问性帮助对运行在微软Windows上的应用程序的工作的方式的基于COM的技术。它提供了被结合到操作系统以及COM接口中的动态连接库以及提供用于展示关于用户界面元素的信息的可靠方法的应用程序编程元素。可访问性API在本领域中是已知的,并且被内置到Windows操作系统中。应用程序64可以是具有能显示超链接的用户界面的任何应用程序。监控程序66是与应用程序64以及SoftPhone40通信以实现此处所描述的某些功能的软件模块。图4示出了可用于实现图1-3所示的各种组件的合适的通用计算环境100的一个示例。例如,计算系统100可用于实现用户客户计算设备10、计算设备14或接口16。计算系统100只是合适的计算环境的一个示例,并不旨在对此处所描述的技术的使用范围或功能提出任何限制。也不应该把计算系统100解释为对示例性操作环境100中示出的任一组件或其组合有任何依赖性或要求。在此描述的技术可运行于多种通用或专用计算系统环境或配置。适合使用的公知的计算系统、环境和/或配置的示例包括但不限于,个人计算机、服务器计算机、手持式或膝上型设备、个人数字助理、电话(有线、无线或蜂窝)、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、微型计算机、大型计算机、包括任何以上系统或设备的分布式计算环境等等。本系统可在诸如程序模块等由计算机执行的计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。本系统也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。参见图4,一示例性系统包括计算机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中的元件之间传递信息的基本例程,它通常被存储在ROM131中。RAM132通常包含处理单元120可以立即访问和/或目前正在其上操作的数据和/或程序模块。作为示例而非局限,图4示出了操作系统134、应用程序135、其它程序模块136和程序数据137。计算机110也可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图4示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器141,对可移动、非易失性磁盘152进行读写的磁盘驱动器151,以及对诸如CDROM或其它光学介质等可移动、非易失性光盘156进行读写的光盘驱动器155。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器141通常由不可移动存储器接口,诸如接口140连接至系统总线121,磁盘驱动器151和光盘驱动器155通常由可移动存储器接口,诸如接口150连接至系统总线121。以上讨论和在图4中示出的驱动器及其相关联的计算机存储介质提供了对用于对处理器编程以执行此处所描述的方法的计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图4中,示出硬盘驱动器141储存操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以与它们不同。操作系统144、应用程序145、其它程序模块146和程序数据147在这里被标注了不同的标号是为了说明至少它们是不同的副本。用户可以通过输入设备,诸如键盘162和定点设备161(通常指鼠标、跟踪球或触摸垫)向计算机20输入命令和信息。其它输入设备(未示出)可以包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些和其它输入设备通常由耦合至系统总线的用户输入接口160连接至处理单元120,但也可以由其它接口或总线结构,诸如并行端口、游戏端口或通用串行总线(USB)连接。监视器191或其它类型的显示设备也经由接口,诸如视频接口190连接至系统总线121。除监视器以外,计算机也可以包括其它外围输出设备,诸如扬声器197和打印机196,它们可以通过输出外围接口190连接。计算机IIO可使用至一个或多个远程计算机,如远程计算机180的逻辑连接在网络化环境下操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见的网络节点,且通常包括上文相对于计算机110描述的许多或所有元件,尽管在图4中只示出存储器存储设备181。图4中所示逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可以包括其它网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接至LAN171。当在WAN网络环境中使用时,计算机IIO通常包括调制解调器172,或用于通过WAN173,如因特网建立通信的网络接口或其它装置。调制解调器172可以是内置或外置的,它可以通过用户输入接口160或其它适当的机制连接至系统总线121。在网络化环境中,相对于计算机IIO所描述的程序模块或其部分可被储存在远程存储器存储设备中。作为示例而非局限,图4示出了远程应用程序185驻留在存储器设备181上。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其它手段。如上所述,此处描述的技术的一个特征是通过响应于用户悬停在用户界面内容内的电话号码上或选择该电话号码来自动化呼叫。图5提供了用于实现该特征的方法的一个实施例。在图5的步骤400中,内容被显示在用户界面中。在一个示例中,内容是显示在浏览器30中的网页。在其它实施例中,其它内容可被显示在其它应用程序中。在步骤402,系统将等待悬停事件。在一个实施例中,用于客户计算设备10的操作系统可以在用户悬停在用户界面中的内容上时生成悬停事件。例如,如果用户悬停在浏览器中的文本上,则将通知插件32有一悬停事件,并且将所悬停的文本提供给插件32。在一个示例实现中,浏览器30将跟踪悬停并以适当的OnMouseOver()(当鼠标在上方时)通知插件32。如果没有悬停事件,则插件32将等待直到有悬停事件。当用户的确悬停在文本上时,则执行步骤404。在某一实施例中,为生成悬停事件,用户需要直接悬停在内容上,而在其它实施例中,悬停事件可以在用户直接悬停在内容上或附近(在预定的短距离内)时发生。在步骤404,插件32确定与内容相关联的国家码。例如,插件32可以查看与网页相关联的URL以查看其是否标识了国家码。或者,插件32可以进行对域名的反向IP地址査找。不同国家具有不同的IP地址范围。在另一实施例中,浏览器语言和编码类型可指示国家。InternetExplorer具有指定并读取网页的语言的API。某些网页将具有指示起源语言和国家的HTML代码。在某些实施例中,该信息可以在HTML标题中。在某些实施例中,不能确定国家码。在步骤406,插件32执行电话号码识别功能。对电话识别功能的输入包括被悬停的原始输入串和(可任选的)国家码。电话识别功能的输出包括(l)原始输入串是否包括电话号码的布尔判决,(2)规范化模式的电话号码,以及(3)原始模式电话号码。电话识别函数的更多细节将在下文中参考图6来描述。在步骤408,如果被悬停的文本不包括电话号码,则该过程循环回到步骤402并等待另一悬停事件。如果被悬停的文本的确包括电话号码(步骤408),则在步骤410,插件32经由一API来指示浏览器30加亮该电话号码。在步骤412,插件32使得一工具提示被显示。该工具提示指示用户能点击加亮的号码以进行对该号码的电话呼叫。此时,用户可做至少两个动作用户可从加亮的号码移开,或者用户可通过点击它(或通过某一其它选择手段)来选择加亮的号码。如果用户选择加亮的号码,则在步骤416中,插件32启动SoftPhone40,将加亮的电话号码传递给SoftPhone40,并指示浏览器30移除加亮。在步骤418,SoftPhone40建立与加亮的电话号码的通信。例如,信号和语音引擎46使用本领域中已知的技术来创建使用适当协议(例如,VOIP)与加亮的电话号码的语音连接。如果用户从加亮的电话号码移开而没有选择它(步骤414),则在步骤420,插件32指示浏览器30移除对电话号码的加亮,并且该过程循环回到步骤402以测试是否发生了另一悬停事件。图6是描述电话号码识别功能(见图5的步骤406)的一个实施例的流程图。该功能试图将输入模式与一组储存的模式之一进行匹配。每一国家具有其普及的电话号码格式。为了公式化模式,国家码被表示为"C",数字是"D",字母数字(数字和字母)是"A",而定界符是"?"。定界符用于使得电话号码更能被人类阅读。例如,"("、")"、"-"、"."、"/"和空格是流行的定界符。例如,电话号码l-800-FOR-PIZZA可被公式化为"CD3A3A4"。该模式具有可任选的国家码,后跟三位数的地区码,后跟七位数的电话号码。国家码一般是可任选的。要匹配的电话号码可被规范化,即,移除所有定界符。这将简化模式匹配。然而,定界符提供了关于地区码的暗示,因为地区码是仅以数字而非字母写成的。有两种电话号码模式原始模式和规范化模式。原始模式是可直接用于匹配原始电话号码的模式。规范化模式是可用于匹配规范化电话号码的模式。例如,在美国,格式可以是以下之一<table>tableseeoriginaldocumentpage17</column></row><table>对于某些国家,地区码和电话号码不总是具有相同的长度。在这一情况下,模式将被写为范围。例如,"CD1-4A6-9"表示地区码可具有1到4位数,并且本地电话号码可具有6个数字/字母到9个数字/字母。在图6的步骤450中,接收原始输入串。在某些实施例中,还接收国家码。如果接收了国家码(步骤452),则访问并使用用于该特定国家码的数据库。如果国家码不可用,则在步骤456中使用美国数据库(或其它默认数据库)。在步骤458,规范化原始输入串。在步骤460,该功能试图将规范化的原始输入与所选数据库中的一组规范化模式进行匹配。如果找到匹配(步骤462),则在步骤466试图将该原始输入串与同匹配的规范化模式相关联的任何原始模式进行匹配。如果没有找到匹配,则该功能在步骤464返回假,这意味着在输入串中没有找到任何电话号码。如果在步骤466中匹配原始输入串的尝试找到了匹配(步骤468),则该过程在步骤470返回真,这指示在输入串中找到电话号码。规范化模式和匹配的原始模式都也在步骤470返回。如果没有找到匹配(步骤468),则该过程在步骤472返回假,这指示在输入串中没有找到电话号码。图7是描绘由LiveCall超链接(例如,LiveCall:+14257069606)实现PC-电话呼叫的一个示例的框图,该示例可以作为图5的步骤418的一部分来实现。图7描绘了客户计算设备IO(经由因特网12)与接口16的呼叫信令服务器481通信,而接口16本身(经由因特网12)与电话公司提供方482的呼叫信令服务器483通信。呼叫信令服务器483与电话公司提供方482的公共交换电话网("PSTN")网关484通信。PSTN网关484经由因特网12与客户计算设备IO通信并经由PSTN485与电话486通信。客户计算设备10中的SoftPhone40向呼叫信令服务器481发送呼叫信令消息(包括电话号码)(见490)。呼叫信令服务器481认证用户,并将该呼叫信令消息路由到适当的电话公司提供方482(见491)。当电话公司提供方482处的呼叫信令483接收该呼叫信令消息时,它向适当的PSTN网关484授权并终止该呼叫(见492)。PSTN网关484将该呼叫路由到目的地电话线(见493)。当用户在目的地电话线处拿起电话486时,将在SoftPhone40(在客户机设备10中)、PSTN网关484和PSTN电话486之间建立语音流(见494和495)。电话386可以是PSTN电话或移动/蜂窝电话。在移动/蜂窝电话的情况下,PSTN网关、PSTN网络和PSTN电话可以分别用移动网关、移动网络和移动电话来替换。在另一实施例中,PSTN电话可以用移动网关、移动网络和移动电话来替换。在一个实现中,对呼叫信令使用SIP(会话发起协议)。图8描绘了执行用于除浏览器之外的应用程序的悬停呼叫过程的替换实施例。图8的过程也可用于浏览器。所监控的应用程序将利用可访问性API。该实施例与图3的环境相关联,其包括处理由可访问性API提供的串的监控程序66。注意,在某些实施例中,监控程序66可以是如图3所描绘的其自己的进程,或者它可以是应用程序64的一部分。在某些实施例中,监控程序66还直接与Windows外壳60通信。在图8的步骤500,在应用程序64的用户界面中显示相关内容。在步骤502,系统将等待悬停事件。当存在文本上的悬停事件时,监控程序66接收该被悬停的文本并且执行步骤504。注意,采用可访问性API,监控程序66接收单词。如果未找到单词,则监控程序66可要求整个句子、整行或多行。如果文字是来自浏览器的,则监控程序66在步骤504向浏览器请求国家码。否则,监控程序66向操作系统查询国家码。在某些实施例中,国家码将不可用。在步骤506,监控程序66执行电话号码识别功能并向其传递来自应用程序64的被悬停的文本。如果该文本中没有电话号码(步骤508),则该过程循环回到步骤504并等待另一悬停事件。如果该文本中有电话号码(步骤508),则在步骤510,监控程序66通过可访问性API(或通过另一API)査询鼠标悬停的当前位置,并指示操作系统(经由API)加亮该电话号码。在一替换实施例中,监控程序66可以直接与应用程序64通信并告知应用程序64加亮该文本。在步骤512,监控程序66(经由API)显示一工具提示以指示用户可点击加亮的号码来发起电话呼叫。如果用户从加亮的文本移开,则监控程序66移除对该电话号码的加亮并且该过程循环回到步骤502。如果用户通过点击或其它用于选择的手段选择了加亮的文本,则监控程序66启动SoftPhone40(如果尚未启动),将加亮的电话号码传递给SoftPhone40,并移除加亮。在步骤520,SoftPhone40建立与加亮的电话号码的语音通信。在步骤520之后,该过程循环回到步骤502并等待另一悬停事件。以上讨论涉及响应于用户悬停在内容上来自动化电话呼叫。在另一替换方案中,电话呼叫可以响应于用户选择内容来自动化。图9是描述一个这样的实施例的流程图。在步骤600,如上所述在用户界面中显示内容。在步骤602,用户选择文本并且该文本被提供给插件32。在一个实施例中,用户可通过使用鼠标或其它定点设备加亮文本来选择文本。在步骤604,插件32如上所述确定国家码。在步骤606,插件32调用电话识别功能。如果未找到电话号码(步骤608),则该过程循环回到步骤602并等待用户选择更多文本。如果找到电话号码(步骤608),则插件32在步骤610经由API指示浏览器30加亮该电话号码。在某些实施例中,电话号码不被加亮。在步骤612,插件32使得一工具提示被显示。该工具提示指示用户能点击该电话号码以进行对该号码的电话呼叫。如果用户从该电话号码移开步骤(614),则在步骤616,插件32指示浏览器30移除对该电话号码的加亮,该过程循环到步骤602并等待用户选择文本。如果用户通过点击或以其它方式选择来选择(步骤614)该电话号码,则在步骤618,插件32启动SoftPhone40(如有必要),将加亮的电话号码传递给SoftPhone40,并指示浏览器32移除加亮。在步骤620之后,SoftPhone40建立与加亮的电话号码的语音通信。在步骤620,该过程循环返回并在步骤602再次等待用户选择文本。关于图9的讨论构想了所选内容在浏览器中。图IO描述了用于响应于用户在不同应用程序中选择文本来自动化电话呼叫的过程,这些不同应用程序包括是和不是浏览器的应用程序(见图3的环境)。在步骤700,在用户界面中显示内容。在步骤702,用户选择文本。如果文本是从浏览器选择的,则监控程序66向浏览器请求国家码。如果文本是来自除浏览器之外的应用程序的,则监控程序66向操作系统査询国家码。在某些情况下,国家码将不可用。在步骤706,监控程序66调用电话识别功能。如果没有找到电话号码(步骤708),则该过程循环返回并在步骤702等待下一文本被选择。如果找到电话号码(步骤708),则监控程序66查询鼠标的当前位置并经由可访问性API或另一API加亮该电话号码。在步骤712,监控程序66使得一工具提示被显示。该工具提示向用户指示用户可点击加亮的号码来进行呼叫。如果用户从加亮移开而没有选择(步骤714),则监控程序66在步骤716移除对电话号码的加亮并且该过程循环回到步骤702以等待下一用户选择。如果用户的确选择了加亮的文本(步骤714),则在步骤718,监控程序66启动SoftPhone40,将加亮的电话号码传递给SoftPhone40,并从应用程序64的用户界面移除加亮。在步骤720,SoftPhone40建立与加亮的电话号码的通信。在步骤720之后,该过程在步骤702等待用户选择文本。注意,上述悬停呼叫和选择呼叫技术都是在不编辑网页的代码也不修改网页的情况下执行的。这两个过程都没有减慢网页的呈现。另一组过程可以通过在用户悬停之前改变内容的外观来自动化呼叫。因此,响应于用户悬停,可发起电话呼叫。图11是描述响应于用户悬停在用户界面内容中的电话号码上来自动化呼叫的另一实施例的流程图。在步骤550,插件32读取网页的全部代码的副本。在步骤552,插件32使用图6的电话识别功能来找出代码中的电话号码。在步骤554,插件32确定并储存电话号码在网页中所处的位置的坐标(例如,x、y坐标)。在一个实施例中,所储存的坐标包括该电话号码的左上角和右下角,以创建该用户界面中定位到电话号码的范围。在步骤556,插件32使用浏览器的API来指示浏览器30加亮该电话号码。在步骤558,该系统等待鼠标点击。当存在鼠标点击,则该系统确定鼠标点击是否在该电话号码的范围之一之内。构想了网页可包括多个电话号码。如果在步骤558标识的鼠标点击在步骤560中是在范围之一内,则插件32启动SoftPhone40,将加亮的电话号码传递给SoftPhone40,并从浏览器30中移除加亮。在步骤564,SoftPhone40建立与加亮的电话号码的语音通信。图12-17公开了使用超链接来向用户提供响应于悬停在电话号码上而发起电话呼叫的能力的一组实施例。图12示出浏览器30与SoftPhone40和浏览器助手对象(BHO)900通信。浏览器助手对象是进程内组件对象模型(COM)组件,并且可被用于允许定制InternetExplorer浏览器来创建该浏览器的专门化版本。BHO可用于检测浏览器的典型事件或安装监控InternetExplorer中的消息和动作的挂钩。当用户将一新页面加载到诸如InternetExplorer等浏览器中时,用于该网页的代码被加载到用于该浏览器的数据结构(例如,IMarkupContainer(标记容器)接口)中。从该数据结构中,呈现该网页。图12的实施例使用BH0900以在内容被加载到数据结构中之后,但是在其被呈现之前访问该数据结构,以找出该内容中的电话号码并添加用于该电话号码的LiveCall超链接(以下讨论)。当启动InternetExplorer时,它检査Windows注册表以确定是否有任何BHO。当用户安装SoftPhone40时,BHO对象卯0也将被安装在用户的硬盘上,并且将改变注册表以列出该BHO对象。另外,将对InternetExplorer注册LiveCall超链接。图12的BHO900包括至少三个服务IWebBrowser2(web浏览器2)902、IMarkupServices(标记服务)904和RegisterForDirtyRange(注册脏范围)906。IWebBrowser2902抛出事件,包括当文本完成下载时的Dispid—DocumentComplete(显示id—文档完成)和当用于特定网页的所有东西(文本和图像)都己完成下载时的Dispid—DownloadComplete(显示id—下载完成)。IMarkupServices904用于允许在IWebBrowser2902抛出的上述两个事件之一发生时访问RegisterForDirtyRange卯6。RegisterForDirtyRange指示内容的新|^本以及内容中是否有改变。该系统然后使用指向已改变的部分的IMar化upContainer来访问用于该浏览器的数据结构中的新内容。该系统然后审阅该麥A内容以标识新内容中的任何电话号码。如果找到电话号码,则编辑上述数据结构以对每一电话号码添加LiveCall超链接。:LiveCall超链接允许应用程序开发者指定用于从网页或应用程序发出VOIP呼叫的可扩展地址。呼叫的类型包括PC-电话呼叫和PC-PC呼叫。PC-电i舌畔叫起源于PC,并在电话,包括固定线路电话或移动电话处终止。pc-pc呼叫^^舌语音、视频和可任选文本聊天。该呼叫起源于PC并在PC处终止。LiveCall超链接中的目标地址的类型包括电话号码、联系人(例如,地址簿中的耳关1^人)、计算机名(例如JohnDoePC)或IP地址(例如,124.38.110.25)。用于LiveCall超链接的句法为LiveCaK参数〉。为向电话号码进行呼叫,可使月以下参数Phone:可以是本地、国内长途或国际号码的电话号码Local:本地电话号码National:国内长途号码Direct:直拨,即原始数字Contact:在场或地址簿中的联系人一些示例包括(1)LLveCalI:+I4257069606;使用电话号码+14257069606发出PC-电话呼叫。(2)LLveCall:Phone-7069606;使用电话号码7069606发出PC-电话呼叫,该号码可以是本地电话号码、国内电话号码或国际电话号码。SoftPhone40将基于其位寶设置来解析该电话号码。(3)LiveCall:Phone-PIZZAUSA;使用电话号码74992872(PIZZAUSA)发出PC-电话tJ乎叫。(4)LiveCall:Local=7069606;使用本地电话号码7069606发出PC-电话呼叫。(5)LiveCall:Nationa=1425706%06;使用国内长途电话号码14257069606发出PC-电话呼叫。(6)UveCall:Direct=911;使用按原样的数字发出PC-电话呼叫。(7)LiveCall:Contact=JohnDoe@hotmail.com;使用关于JohnDoe的联系人信息(或地址簿)中的默认电话号码发出PC-电话呼叫。为向计算机进行呼叫,可使用以下参数(1)Online:在线在场ID;以及(2)Host:计算机名或IP地址。一些示例包括(1)LiveCall:Online=JohnDoe@hotmail.com;使用在线在场ID发出PC-PC呼叫。(2)LiveCall:Host=JohnDoePC;使用目的地机器的计算机名发出PC-PC呼叫。(3)LiveCall:Host=124.38.110.25;使用目的地机器的IP地址发出PC-PC呼叫。LiveCall超链接中的源参数"Src"指示其中点击或执行了该LiveCall超链接的源上下文。该信息对于业务智能是有用的。源参数可以与其它参数组合。LiveCall超链接中的参数通过"&"符号来串接。考虑以下示例(1)LiveCall:Phone=7069606&Src=Messenger/Contact/Home;4吏用在Messenger(即时消息通信)的联系人中列出的家庭电话号码来发出PC-电话呼叫。(2)LiveCall:Online=JohnDoe@hotmail.com&Src=Messenger/Bud(ly;使用在Messenger的伙伴列表中列出的在线在场ID发出PC-PC呼叫。(3)UveCall:Signup&Src=Hotmail/Ads;转到登录页面以开始登录过程,其中该超链接在Hotmail(基于web的电子邮件服务)的广告部分中列出。图13是描述用于添加LiveCall超链接的一个实施例的流程图。在步骤1002,下载新内容。该新内容可以是整个新网页或网页的一部分,其生成以上讨论的事件之一。数据被加载到上述数据结构中。在步骤1004,向BHO900通知来自IWebBrowser2卯2的抛出Dispid—DocumentComplete禾P/或Dispid—DownloadComplete的新内容。RegisterForDirtyRange服务906提供指向该新内容的指针。BHO900在步骤1006访问单词、句子、标点符号之间的文本、空格之间的文本或其它分组内容,并且在步骤1008多次调用电话号码识别功能(见图6)来找出任何电话号码。如果没有找到电话号码(步骤1010),则在步骤1014,该网页然后如最初预期地那样呈现。如果找到电话号码(步骤1010),则在步骤1012改变该数据结构以移除每一电话号码并用LiveCall超链接来替换它们。随后,在步骤1014呈现页面。注意,所添加的LiveCall超链接可包括源(Src)参数来标识向其添加了LiveCall超链接的内容。图14A描绘了包括两个电话号码的网页(例如,搜索结果)的一部分。图14B描绘了在执行了图13的过程以添加LiveCall超链接之后呈现的网页的同一部分。注意,出现在图14B中的两个电话号码被加了下划线。当用户悬停在加下划线的电话号码上时,它们将改变颜色。在其它实施例中,该超链接不会改变电话号码的外观,并且当用户悬停在该电话号码上时,该号码然后被加下划线和/或改变其颜色。图15是描述用于响应于用户悬停在电话号码上来发起电话呼叫的过程的一个实施例的流程图。在浏览器根据图13的过程呈现了网页之后,该系统在步骤1102等待悬停事件。当用户悬停在一超链接上时,浏览器在步骤1104加亮它。在一个实施例中,该超链接可以改变颜色,添加下划线,或同时进行两者。如果用户选择该超链接(步骤1106),则浏览器查看该超链接是否向浏览器注册。如果已注册,则该注册告知浏览器要调用哪一程序。浏览器然后调用SoftPhone40(步骤1108)并向其传递超链接的内容,在这一情况下该内容包括电话号码。图16是描述响应于用户点击或以其它方式选择网页、文档、文件或其它用户界面中的LiveCall超链接(见图15的步骤1108)时执行的过程的一个实施例的流程图。超链接通常被表达为统一资源定位符(URL)。在步骤1200,将所选LiveCall超链接的URL传递给URL标记34(见图2)。在步骤1202,URL标记34基于该UR1中的标题信息(例如,"LiveCall:")来査找适当的协议处理程序。在步骤1204,URL标记34将该URL传递给适当的协议处理程序。在LiveCall超链接的情况下,该URL被传递给LiveCall处理程序36。在步骤306,LiveCall处理程序36向用户确认用户希望执行该URL。在某些实施例中,步骤306是可任选的并且可以被跳过。在步骤1208,LiveCall处理程序36启动SoftPhone40。在某些实施例中,如果SoftPhone40己经在运行,则它无需被再次启动。SoftPhone40包括含有用于拨号的键区、电话号码显示区域、显示呼叫历史的区域、显示服务供应商信息的区域、显示电话呼叫信息的区域、以及(可任选的)显示web或网络内容的区域的图形用户界面。在步骤1210,LiveCall处理程序36将URL传递给SoftPhone40。在一个实施例中,该URL最初被传递给认证管理器42。如果用户未被认证(步骤1212),则认证管理器42将认证用户。在一个实施例中,这将包括提供其中用户可提供用户名和口令的登录屏幕。如果用户未正确认证,则图16的过程终止。在认证了用户之后,认证管理器42将验证用户是否被授权来执行该超链接中所标识的功能(步骤1216)。注意,如果用户先前已被认证(见步骤1212),则步骤1214将被跳过,并且该过程前进到步骤316以确定用户是否被授权。在步骤1218,将表示超链接的URL传递给解析器44,后者将检查URL的句法并将该URL分解成各个分量。在步骤1220,解析器44将适当的分量发送给信令和语音引擎46、业务呈现逻辑50和超链接重定向器52。在一个实施例中,任何命令(例如,帐户维护)和被呼叫者将被传递给信号和语音引擎46,命令将被传递给呈现逻辑50,而命令和超链接将被传递给超链接重定向器52。在步骤1222,解析器44将数据(例如,所有分量,包括源的指示)保存在业务智能数据存储48。在步骤1224,信令和语音引擎46使用地址簿58来解析任何参数。例如,如果目标是由联系人或计算机名来标识的,则地址簿58将用于将该联系人转换成电话号码或将计算机名转换成IP地址。在步骤1226,信令和语音引擎46建立与URL的目标的语音连接。图17是描述响应于当在图3的实施例中操作时选择了LiveCall超链接而执行的过程的一个实施例的流程图。S卩,超链接在使用API的应用程序中。在步骤1350,应用程序向API发出命令。例如,向Windows外壳60发出ShellExecute()(外壳执行)或ShellExecuteEX()。在步骤1352,Windows外壳60査找适当的协议处理程序。如果找到协议处理程序(步骤1354),则Windows外壳60在步骤1360启动该协议处理程序。例如,可启动LiveCall处理程序36。协议处理程序可以与浏览器30分开或作为浏览器30的一部分存在。在操作之前,LiveCall协议处理程序需要被注册。对注册协议处理程序有两种实现可能。一种是向Windows外壳注册协议处理程序。另一种是向浏览器注册协议处理程序。向浏览器注册协议处理程序的一个优点是该协议处理程序能够执行明智的检査来确保用户在实际启动应用程序之前有确认URL的执行的机会。这对于保护用户在访问网站时免遭URL的浏览即执行(drive-byexecution)是重要的。在步骤1362,将该URL传递给协议处理程序。在步骤1364,协议处理程序启动SoftPhone40,如果其尚未被启动。在步骤1366,协议处理程序将URL传递给SoftPhone40。在步骤366之后,该过程在图16的步骤1212处继续。如果Windows外壳68没有找到适当的协议处理程序(步骤1354),则Windows外壳60在步骤1370要求浏览器30定位适当的协议处理程序。如果浏览器30能够找到适当的协议处理程序,则它在步骤1374将该URL传递给URL标记34。在步骤1376,该过程在图16的步骤1202处继续。如果在步骤1372没有找到适当的协议处理程序,则向步骤1380返回出错。尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。本发明的范围旨在由所附权利要求书来定义。权利要求1.一种用于发起通信的方法,包括响应于用户悬停在内容上或附近,确定(406、506、606、706)所述内容是否是目标的指示;响应于所述确定,标识(410、510、610、710)所述目标的所述指示;接收对所述目标的所述指示的选择(414、514、614、714);以及响应于所述接收对所述目标的所述指示的所述选择,使用所述目标的所述指示建立(418、520、620、720)语音连接。2.如权利要求l所述的方法,其特征在于所述目标的所述指示是电话号码;所述标识包括加亮(410、510、610、710)所述电话号码;所述接收选择包括用户使用定点设备点击(414、514、614、714)浏览器中所述加亮的电话号码;所述建立语音连接包括将所述电话号码提供给VOIP应用程序(416、518、618、718)并使用所述VOIP应用程序来向所述电话号码进行电话呼叫;以及所述确定和标识的步骤是在不修改所述内容的代码的情况下执行的。3.如权利要求l所述的方法,其特征在于,所述确定内容是否是目标的指示包括接收文本;以及自动确定(406、506、606、706)所述文本是否包括正确格式化的电话号码。4.如权利要求l所述的方法,其特征在于,所述确定内容是否是目标的指示包括接收文本;确定国家码(452);标识对应于所述确定的国家码的数据库(454);以及使用所述数据库来确定确定所述文本是否包括正确格式化的电话号码(458、460、462、466、468)。5.如权利要求l所述的方法,其特征在于,所述确定内容是否是目标的指示包括接收数据;规范化所述数据(458);将所述规范化的数据与各自与一个或多个原始模式相关联的一组规范化模式中的一特定规范化模式进行匹配(460);将所述接收到的数据与同所述特定规范化模式相关联的原始模式进行比较(466);以及将所述接收到的数据与同所述特定规范化模式相关联的所述原始模式之一进行匹配(466)。6.如权利要求l所述的方法,其特征在于所述确定内容是否是目标的指示包括接收关于浏览器的、被悬停的数据,确定国家码,将所述数据和所述国家码提供给电话号码识别功能,指示所述浏览器加亮的在所述浏览器中所述数据,以及提供一工具提示以指示用户可点击所述加亮的数据;以及所述自动建立所述语音连接包括指示通信应用程序进行VOIP电话呼叫。7.如权利要求l所述的方法,其特征在于所述目标的所述指示是在不编辑源代码的情况下在浏览器中的网页上标识的。8.如权利要求l所述的方法,其特征在于,所述确定内容是否是目标的指示包括;从应用程序接收文本;向操作系统请求国家码(450);标识(454)对应于所述确定的国家码的数据库;使用所述数据库来确定所述文本是否包括正确格式化的电话号码(458、460、462、466、468);以及确定与所述用户悬停相关联的当前位置。9.如权利要求l所述的方法,其特征在于所述目标的所述指示是在不是浏览器的应用程序的界面内标识的。10.如权利要求l所述的方法,其特征在于所述确定内容是否是目标的指示包括接收数据,确定国家码(450),标识对应于所述确定的国家码的数据库(454),规范化所述数据(458),将所述规范化的数据与各自与一个或多个原始模式相关联的一组规范化模式中的一特定规范化模式进行匹配(460),将所述接收的数据与同所述特定规范化模式相关联的原始模式进行比较(466),以及将所述接收到的数据与同所述特定规范化模式相关联的所述原始模式之一进行匹配(466);以及所述自动建立语音连接包括指示VOIP通信应用程序使用与所述特定规范化模式相关联的所述原始模式中的所述一个来进行电话呼叫。11.一种或多种处理器可读存储设备,所述处理器可读存储设备上包含有代码,所述代码用于对所述一个或多个处理器编程以执行一种方法,所述方法包括确定(406、506、606、706、852、1008)内容是否是目标的指示,包括规范化(458)所述内容,将所述规范化的内容与一规范化模式进行匹配(460),以及将所述内容与同所述规范化模式相关联的原始模式进行匹配(466);响应于用户悬停在所述内容上或附近,可视地标识(410、510、610、710、1004)所显示的内容内的所述目标的所述指示;接收对所述目标的所述指示的选择(414、514、614、714、1106);以及响应于所述接收对所述目标的所述指示的所述选择,使用所述目标的所述指示建立语音连接(418、520、620、720、1108)。12.如权利要求ll所述的一种或多种处理器可读存储设备,其特征在于,所述确定内容是否是目标的指示还包括确定国家码是否可用(450);以及标识对应于所述国家码的数据库(454),所述归一化模式和所述原始模式来自对应于所述国家码的所述数据库。13.如权利要求1所述的一种或多种处理器可读存储设备,其特征在于:所述目标的所述指示是电话号码;所述内容包括网站的一部分;所述建立所述语音连接是使用VOIP应用程序来执行的;以及所述确定至少部分地通过利用BHO来执行。14.如权利要求ll所述的一种或多种处理器可读存储设备,其特征在于:所述目标的所述指示是电话号码;所述方法还包括向所述内容添加超链接;所述超链接包括所述目标的所述指示的源的指示;以及所述建立所述语音连接包括将所述源的所述指示储存在数据存储中。15.如权利要求ll所述的一种或多种处理器可读存储设备,其特征在于:所述确定是在所述用户悬停在所述内容上或附近之后执行的。16.—种计算设备,包括存储设备(130、141、152、156、181),所述存储设备储存代码(134、135、136、144、145、146、185);通信接口(170、172);以及与所述存储设备和所述通信接口通信的一个或多个处理器(120),所述代码包括对所述一个或多个处理器编程以在用户界面中显示(400、500、700、1014)内容并接收对所述内容的子集的选择(402、414、502、514、602、614、702、714、1102、1106)的指令,所述一个或多个处理器确定所述内容的所述子集是否包括目标的标识,所述一个或多个处理器使得使用所述目标的所述指示和所述通信接口通过数据网络建立语音连接。17.如权利要求16所述的计算设备,其特征在于所述用户界面是由浏览器(30)来提供的。18.如权利要求16所述的计算设备,其特征在于所述代码对所述一个或多个处理器编程以通过规范化所述内容的所述子集(458),将所述内容的所述规范化的子集与各自与一个或多个原始模式相关联的一组规范化模式中的一特定规范化模式进行匹配(460),将所述内容的所述子集与同所述特定规范化模式相关联的原始模式进行比较,以及将所述内容的所述子集与同所述特定的规范化模式的所述原始模式之一进行匹配(466),来确定所述内容的所述子集是否包括所述目标的所述标识。19.如权利要求18所述的计算设备,其特征在于-所述一个或多个处理器(120)使得通过用与所述特定的规范化模式相关联的所述原始模式中的所述一个执行VOIP通信程序(40)来建立语音连接。20.如权利要求16所述的计算设备,其特征在于所述存储设备储存VOIP通信程序(40)和用户应用程序(64);所述一个或多个处理器通过执行所述VOIP通信程序来建立所述语音连接;以及所述用户界面是由所述用户应用程序提供的。全文摘要当用户悬停在网页(或其它界面)上的一电话号码(或语音通信目标的其它指示)上时,该电话号码将被加亮并且将向用户提供使用加亮的号码来进行呼叫的机会。如果用户点击加亮的电话号码,则该电话号码将被提供给通信应用程序以便于进行电话呼叫。如果用户移开而没有点击该加亮的电话号码,则加亮将消失。在替换实施例中,用户可选择网页(或其它界面)中的文本,并且如果在所选文本中有电话号码,则该电话号码可被自动提供给通信应用程序以便于进行呼叫。在另一实施例中,该系统找出内容中的电话号码并用启用上述行为的超链接替换这些电话号码。文档编号H04M3/42GK101438549SQ200780016109公开日2009年5月20日申请日期2007年4月17日优先权日2006年5月4日发明者L-C·楚,P·K·温帕莱拉,P·里拉比索申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1