用于对等混合通信的系统和方法

文档序号:7893825阅读:126来源:国知局
专利名称:用于对等混合通信的系统和方法
用于对等混合通信的系统和方法本申请是2005年3月29日提交的发明名称为“用于对等混合通信的系统和方法”的中国专利申请200580026102. X的分案申请。
背景技术
目前的基于分组的通信网络一般可分为对等网络和客户机/服务器网络。传统的对等网络支持各端点之间的直接通信,而不使用中间设备(如,主机或服务器)。每个端点可使用存储在每个端点上的凭证和地址信息直接对其它端点发起请求并对来自其它端点的请求作出响应。然而,由于传统的对等网络将整个网络的端点信息(如,地址和凭证)分布并存储在各不安全端点上,所以这种网络固有地具有増加的安全风险。尽管客户机/服务器模型通过将凭证和地址信息本地化地存储在服务器上来解决对等模型中固有的安全问题,但是客户机/服务器网络的缺点在于服务器可能不能充分地支持试图与其通信的客 户机的数量。由于所有的通信(甚至两个客户机之间的通信)必须经过服务器,所以服务器可能很快变成系统的瓶颈。因此,需要ー种解决这些问题的系统和方法。


图I是混合对等系统的ー个实施例的简化网络示图。图2a示出可用在图I的系统内的接入服务器架构的ー个实施例。图2b示出可用在图I的系统内的端点架构的ー个实施例。图2c示出图2b的端点架构内的、可用于蜂窝网络连接的组件的一个实施例。图2d示出传统软交換机配置以及两个端点。图2e示出传统软交换机配置以及三个端点和媒体桥。图2f示出具有两个端点的本公开内容的一个实施例,姆个端点都包括软交换机。图2g示出具有三个端点的本公开内容的一个实施例,姆个端点都包括软交换机。图3a是示出当发起呼叫时图2b的各组件的交互的顺序图。图3b是示出当接收呼叫时图2b的各组件的交互的顺序图。图4是示出对图I的端点进行认证并且该端点与另一端点进行通信的示例性过程的顺序图。图5是示出图I的端点确定另一端点的状态的示例性过程的顺序图。图6是示出图I的接入服务器帮助一端点建立与另一端点的通信的示例性过程的顺序图。图7是示出图I的端点请求将其添加到当前在线的另一端点的好友列表中的示例性过程的顺序图。图8是示出图I的端点请求将其添加到当前离线的另一端点的好友列表中的示例性过程的顺序图。图9是示出图I的端点在它要离线之前请求将其添加到当前也离线的另一端点的好友列表中的示例性过程的顺序图。图10是示出图I的端点可将语音邮件发送到在线的另一端点的示例性过程的顺序图。图11是示出图I的端点可将语音邮件发送到离线的另一端点的示例性过程的顺序图。图12是对等系统的另ー实施例的简化示图,该对等系统耦合到该对等系统外部的目的地。图13是示出图12的端点可直接与对等系统外部的目的地联系的示例性过程的顺序图。图14是端点可下载并使用路由表的方法的一个实施例的流程图。 图15是示出外部设备可与图12的对等系统内的端点建立联系的示例性过程的顺序图。图16是端点可提供交互式语音应答功能的方法的一个实施例的流程图。图17是可在端点上提供搭线窃听(wiretap)功能的方法的一个实施例的流程图。图18是示出端点可将数据流传输到一个或多个其它端点的示例性过程的顺序图。图19是示出端点可与一个或多个好友端点进行私人交易的示例性过程的顺序图。图20是示出端点可与一个或多个其它端点进行公共交易的示例性过程的顺序图。图21是示出端点可与其它端点建立会议电话的示例性过程的顺序图。
具体实施例方式本公开g在ー种用于对等混合通信的系统和方法。应该理解,以下公开提供了许多不同的实施例或示例。为了简化本公开,以下只描述了组件和布置的特定示例。当然,这些仅仅是示例,而并不g在限制。另外,本公开可能在各示例中重复參考标号和/或字母。该重复是为了简化和清晰的目的,其本身并不表示所讨论的各实施例和/或配置之间的关系O參考图1,示出了对等混合系统100的一个实施例。系统100包括接入服务器102,接入服务器102经由分组网络108耦合到端点104和106。使用预先定义的且可公开获得的(即,非专有的)通信标准或协议(如,由互联网工程任务组(IETF)或国际电信联盟-电信标准部门(ITU-T)定义的那些通信标准或协议)来实现接入服务器102、端点104和端点106之间的通信。例如,信令通信(如,会话建立、管理和拆除)可使用诸如会话启始协议(SIP)的协议,而实际数据业务量可使用诸如实时传输协议(RTP)的协议来进行通信。如将在以下示例中所看见的,标准通信协议的使用使得端点104和106能够与使用相同标准的任何设备通信。通信可包括,但是不限于,语音呼叫、即时消息、音频和视频、电子邮件和任何其它类型的资源传送,在所述任何其它类型的资源传送中,资源表示任何数字数据。在以下描述中,媒体业务量通常基于用户数据报协议(UDP),而认证基于传输控制协议/互联网协议(TCP/IP)。然而,应该理解,这些用于示例的目的,并且除了 UDP和TCP/IP之外还可使用其它协议,或者可使用其它协议代替m)P和tcp/ip。接入服务器102、端点104和端点106之间的连接可包括有线和/或无线通信信道。在以下描述中,应该理解,术语“直接”是指在端点104和106之间或者在任一端点和接入服务器之间的ー个或多个通信信道中不存在端点或接入服务器。因此,即使其它设备(如,路由器、防火墙和其它网络元件)位于接入服务器102、端点104和106之间,它们也是直接连接。另外,与端点、位置或服务的连接可能是基于预订的,即,仅当端点具有当前的预订时,该端点才能进行接入。此外,以下描述可能互換地使用术语“用户”和“端点”,但是应该理解,“用户”可使用多个端点中的任何ー个端点。因此,如果端点登录到网络,则应该理解,用户正经由该端点登录,并且该端点表示在网络上使用该用户身份的用户。接入服务器102存储用户的简档信息、对当前哪个用户在线进行跟踪的会话表,以及将端点地址与每个在线用户匹配的路由表。简档信息包括每个用户的“好友列表”,其识别事先被同意与该用户通信的其它用户(“好友”)。当用户登录时,好友列表上的在线用户将显现,随后登录的好友将直接通知该用户他们在线(如相对于图4所描述的)。接入服务器102将相关的简档信息和路由表提供给端点104和106中的每ー个,以使得这些端 点可相互直接通信。因此,在本实施例中,接入服务器102的一个功能是用作为了使一端点与其它端点进行通信而由该端点所需的信息的存储位置,并用作用于请求、语音邮件等的临时存储位置,如随后将更详细地描述的。另外參考图2a,示出了图I的接入服务器102的架构200的一个实施例。架构200包括可由硬件和/或软件提供、并可组合到单个硬件平台中或分布在多个硬件平台之间的功能。为了例示的目的,将以下示例中的接入服务器描述为单个设备,但是应该理解,该术语等同地应用于其中存在赋予接入服务器的至少一部分功能的任何类型的环境(包括分布式环境)。在本示例中,该架构包括web服务202 (如,基于由XML、SOAP、. NET,MONO提供的功能),web服务器204(使用,例如,Apache或IIS),和用于存储和检索路由表208的数据库206 (使用,例如,mySQL或SQLServer),简档210以及ー个或多个会话表212。STUN (UDP对NAT(网络地址转换)的简单穿越)服务器214的功能也出现在该架构200中。如已知的,STUN为用于帮助处于NAT防火墙或路由器后面的设备进行它们的分组路由的协议。架构200还可包括重定向服务器216,用于处理在系统100外部发起的请求。可将STUN服务器214和重定向服务器216中的一个或两个合并到接入服务器102中,或者STUN服务器214和重定向服务器216中的一个或两个可以是单机设备。在本实施例中,服务器204和重定向服务器216都与数据库206耦合。參考图2b,示出了图I的端点104(其可与端点106相似或相同)的架构250的一个实施例。应该理解,术语“端点”可指具有所描述的功能中的ー些或所有功能的许多不同的设备,包括计算机、VoIP电话、个人数字助理、蜂窝电话或具有IP栈(基于其可运行所需协议)的任何其它设备。架构250包括位于图形用户界面(GUI) 254和操作系统256之间的端点引擎252。GUI 254向端点引擎252提供用户访问,而操作系统256提供如本领域的技术人员已知的底层功能。端点引擎252可包括支持执行端点104的操作所需的功能的多个组件和层。例如,端点引擎252包括软交换机258、管理层260、加密/解密模块262、特征层264、协议层266、声音至文本引擎268、文本至声音引擎270、语言转换引擎272、网络外连接模块274、来自其它网络的连接模块276、包括P商务代理和P商务中介的P商务(如,对等商务)引擎278,和蜂窝网络接ロ模块280。这些组件/层的每个可进一歩分为多个模块。例如,软交换机258包括呼叫控制模块、即时消息(頂)控制模块、资源控制模块、CALEA(对法律实施法案的通信协助)代理、媒体控制模块、对等控制模块、信令代理、传真控制模块和路由模块。管理层260包括以下模块存在(如,网络存在)模块、对等管理(检测对等端和向对等端通知在线)模块、防火墙管理(导航和管理)模块、媒体管理模块、资源管理模块、简档管理模块、认证模块、漫游模块、传真管理模块,和媒体播放/记录管理模块。加密/解密模块262提供对输出分组的加密和对输入分组的解密。在本示例中,カロ密/解密模块262在源而不是网络处提供应用级加密。然而,应该理解,在一些实施例中,加密/解密模块262可在网络处提供加密。
特征层264提供对各种特征的支持,所述各种特征诸如语音、视频、IM、数据、语音邮件、文件传输、文件共享、类5特征、短消息服务(SMS)、交互式语音应答(IVR)、传真和其它资源。协议层266包括端点所支持的协议,包括SIP、HTTP、HTTPS、STUN、RTP、SRTP和ICMP。应该理解,这些仅是示例,并且可支持更少或更多的协议。声音至文本引擎268将由端点(如,经由麦克风或网络)接收的声音转换为文本,文本至声音引擎270将由端点接收的文本转换为声音(如,经由扬声器输出),语言转换引擎272可被配置为将入站或出站信息(文本或声音)从ー种语言转换为另ー种语言。网络外连接引擎274可用于处理端点和外部设备之间的连接(如相对于图12描述的),来自其它网络的连接模块276处理来自外部设备的呼入连接尝试。蜂窝网络接ロ模块280可用于与无线网络交互。另外參考图2c,更详细地示出了蜂窝网络接ロ模块280。虽然没有显示在图2b中,但是端点架构250的软交换机258包括用干与蜂窝网络接ロ模块280通信的蜂窝网络接ロ。另外,蜂窝网络接ロ模块280包括各种组件,诸如呼叫控制模块、信令代理、媒体管理器、协议栈和设备接ロ。应该指出,在一些实施例中,这些组件可对应于端点架构250内的层,并且可将这些组件直接合并到端点架构中。參考图2d,示出了传统软交换机架构以及两个端点282和284,两个端点282和284中的任何一个都不包括软交换机。在本示例中,外部软交换机286保持与端点282的第一信令支线(leg)(点划线)和与端点284的第二信令支线(点划线)。软交换机286链接这两个支线,以在端点282和284之间传送信令信息。可经由媒体网关287在端点282和284之间传送媒体业务量(实线)。另外參考图2e,示出了图2d的传统软交换机架构以及第三端点288,第三端点288也不包括软交换机。这样外部软交换机286保持与端点288的第三信令支线(点划线)。在本示例中,正在进行会议电话。然而,由于没有端点包括软交换机,所以对于媒体业务量,需要与每个端点连接的媒体桥290。因此,每个端点最多同时具有两个连接——与用于信令的软交换机的ー个连接,与用于媒体业务量的媒体桥的另ー个连接。參考图2f,在一个实施例中,与图2d和2e的传统架构不同,两个端点(如,图I的端点104和106)分别包括软交换机(如,图2b的软交换机258)。每个端点都能够建立和保持与另一端点的信令和媒体业务量连接(都是虚拟和物理支线)。因此,由于该模型使用分布式软交换方法来处理端点之间的直接通信,所以不需要外部软交换机。另外參考图2g,示出了端点104和106与另一端点292,端点292也包含软交换机。在该示例中,通过作为主机的端点104进行会议电话。为了实现这个,包括在端点104中的软交换机使得端点104能够支持与端点292的直接信令和媒体业务量连接。端点104然后可将媒体业务量从端点106转发到端点292和从端点292转发到端点106。因此,端点104可支持与多个端点的多个连接,并且如图2f,不需要外部软交换机。再次參考图2b,在操作中,软交换机258使用由底层提供的功能来处理与其它端点和接入服务器102的连接并处理端点104所需要的服务。例如,如以下相对于图3a和3b更详细地描述的,呼入和呼出呼叫可利用端点架构250内的多个组件。 參考图3a,顺序图300示出了端点104可使用架构250的各个组件发起对端点106的呼叫的示例性过程。在步骤302之前,用户(未显示)经由GH 254发起呼叫。在步骤302中,GUI 254将消息传送到(软交换机258的)呼叫控制模块以进行呼叫。呼叫控制模块在步骤304中与对等控制模块(软交換机258)联系,对等控制模块检测对等端(如果还没有进行检測),进入路由信息的路由表(软交換机258),并执行类似的操作。应该理解,没有示出所有的交互。例如,对等控制模块可利用(管理层260的)对等管理模块来进行对等检測。呼叫控制模块然后在步骤306中识别该呼叫的路由,并在步骤308中将消息发送到(协议层266的)SIP协议层以进行呼叫。在步骤310中,(使用加密/解密模块262)对出站消息进行加密,在步骤312中,经由OS 256将该消息发送到网络。在发送消息之后并且在接收到响应之前,呼叫控制模块在步骤314中指示媒体控制模块(软交換机258)建立所需的近端媒体。媒体控制模块在步骤316中将该指示传送到(管理层260的)媒体管理器,媒体管理器处理近端媒体的建立。另外參考图3b,在步骤352中,端点106接收端点104在步骤312中发送的消息(图3a),并将该消息从OS传送到SIP协议层。在步骤354中对该消息进行解密,在步骤356中,将呼叫提供给呼叫控制模块。呼叫控制模块在步骤358中将呼入呼叫通知给GUI,在步骤360中GUI接收识别(如,用户)是接受该呼叫还是拒绝该呼叫的输入。在本示例中,在步骤362中,接受呼叫,GUI将接受传送到呼叫控制模块。呼叫控制模块在步骤364中与对等控制模块联系,对等控制模块在步骤366中识别对呼叫端点的路由并将该路由返回给呼叫控制模块。在步骤368和370中,呼叫控制模块通知SIP协议层呼叫已被接受并且使用加密/解密模块对消息进行加密。然后在步骤372中经由OS将接受消息发送到网络。在本示例中,在呼叫控制模块将接受消息传送到SIP协议层之后,可能进行其它步骤以使端点106为呼叫做准备。例如,呼叫控制模块在步骤374中指示媒体控制模块建立近端媒体,媒体控制模块在步骤376中指示媒体管理器开始监听呼入的媒体。呼叫控制模块还指示媒体控制模块建立远端媒体(步骤378),媒体控制模块在步骤380中指示媒体管理器开始发送音频。返回到图3a,OS接收由端点106发送(步骤372)的消息,在步骤318中将其传送到SIP协议层,并在步骤320中对其进行解密。在步骤322中将(表明呼叫已被接受的)消息传送到呼叫控制模块,并在步骤324中将其从呼叫控制模块传送到GUI。呼叫控制模块然后在步骤326中指示媒体控制模块建立远端媒体,媒体控制模块在步骤328中指示媒体管理器开始发送音频。以下附图是示出接入服务器102可与端点104和106通信的各示例性功能和操作的顺序图。应该理解,这些示图不是穷举的,并且为了使所描述的方面清晰,可能从这些示图中去除了各步骤。參考图4 (并使用作为示例的端点104),顺序图400示出了端点104可通过接入服务器102进行认证然后与端点106进行通信的示例性过程。如将描述的,在认证之后,端点104和106之间的所有通信(信令和媒体业务量)直接发生,而无需接入服务器102的任何干渉。在本示例中,应该理解,在该顺序开始时没有任一端点在线,并且端点104和106是“好友”。如上所述,好友是事先都已同意相互通信的端点。在步骤402中,端点104将注册和/或认证请求消息发送到接入服务器102。如果端点104没有通过接入服务器102注册,则接入服务器将接收该注册请求(如,用户ID、密 码和电子邮件地址),并将创建该端点的简档(未显示)。然后将用户ID和密码用于在随后的登录期间对端点104进行认证。应该理解,用户ID和密码可使得用户能够从任何端点认证,而不是仅从端点104认证。一经认证,接入服务器102就更新驻存于服务器上的会话表,以指示当前与端点104相关联的用户ID在线。接入服务器102还检索与端点104当前使用的用户ID相关联的好友列表,并使用会话表识别好友中的哪些在线(如果有的话)。当端点106当前离线时,好友列表将反映该状态。接入服务器102然后在步骤404中将简档信息(如,好友列表)和路由表发送到端点104。路由表包含好友列表的在线成员的地址信息。应该理解,步骤402和404表示建立连接和断开连接,该连接是在端点104接收到简档信息和路由表之后断开的。在步骤406和408中,端点106和接入服务器102重复如针对端点104所描述的步骤402和404。然而,由于当端点106被认证时,端点104在线,所以发送给端点106的简档信息将反映端点104的在线状态,并且路由表将识别如何直接与端点104联系。因此,在步骤410中,端点106将消息直接发送到端点104以通知端点104端点106现在在线。这还向端点104提供了与端点106直接通信所需的地址信息。在步骤412中,可在端点104和106之间直接建立ー个或多个通信会话。參考图5,顺序图500示出了对端点(如,端点104)进行认证的示例性过程。另夕卜,在认证之后,端点104可确定它是否可与端点106通信。在本示例中,当顺序开始时,端点106在线。在步骤502中,端点104将请求发送到图2的STUN服务器214。如已知的,STUN服务器确定设备(端点104位于其后面的设备(即,防火墙、路由器等))所使用的出站IP地址(如,外部地址)、外部端口和NAT类型。NAT类型可以是,例如,全锥形(cone)、受限锥形、端口受限锥形或对称。由于这些是本领域已知的,所以这里将不对其进行更详细的描述。STUN服务器214在步骤504中将STUN响应与所收集的关于端点104的信息一起发送回端点104。在步骤506中,端点104将认证请求发送到接入服务器102。该请求包含从STUN服务器214接收的关于端点104的信息。在步骤508中,接入服务器102通过将相关简档和路由表发送到端点104来对该请求作出响应。简档包含每个在线好友的外部IP地址、端口和NAT类型。在步骤510中,端点104发送消息以通知端点106它的在线状态(当端点106已在线时),在步骤512中,端点104等待响应。在其间没有从端点106接收到响应的超时时间段到时之后,端点104将端点106的状态从“在线”(如由下载的简档信息所表明的)变为“不可到达”。在可视的好友列表上可使用与每个好友相关联的图标的顔色表明好友的状态。例如,当登录时,可用蓝色图标表示在线好友,可用红色图标表示离线好友。如果接收到对于一好友的通知消息的响应,则表示该好友的图标可从蓝色变为绿色,以表示好友的在线状态。如果没有接收到响应,则图标保持蓝色以表明好友是不可到达的。虽然没有显示,但是在步骤514之后从端点106发送并由端点104接收的消息将表明端点106现在是可到达的并将使端点104将端点106的状态变为在线。类似地,如果端点104随后将消息发送到端点106并接收到响应,则端点104将端点106的 状态变为在线。应该理解,另外的实施例可实现另选的NAT穿越技木。例如,可使用单个净荷技术,在单个净荷技术中,使用TCP/IP分组来穿越UDP受限的防火墙或路由器。另ー示例包括双净荷的使用,在双净荷中,将m)P分组插入到tcp/ip分组中。此外,应该理解,可使用除STUN之外的协议。例如,可使用诸如互联网连接建立(ICE)或使用中继NAT的穿越(TURN)这样的协议。參考图6,顺序图600示出了接入服务器102可帮助端点104建立与端点106 (为好友)的通信的示例性过程。在提供帮助之后,接入服务器102不再參与,这些端点可直接通信。在本示例中,端点106在NAT设备后面,只有当端点106已发送出消息吋,NAT设备才让消息进入(向着端点106)。除非绕过该过程,否则端点104将不能够与端点106连接。例如,端点104将不能通知端点106它现在在线。在步骤602中,端点106将请求发送到图2的STUN服务器214。如前所述,STUN服务器确定端点106的出站IP地址、外部端口和NAT类型。STUN服务器214在步骤604中将STUN响应与收集的关于端点106的信息一起发送回端点106。在步骤606中,端点106将认证请求发送到接入服务器102。该请求包含从STUN服务器214接收的关于端点106的信息。在步骤608中,接入服务器102通过将相关简档和路由表发送到端点106来对该请求作出响应。在本示例中,接入服务器102将与端点106相关联的NAT类型识别为在允许输入进站分组之前要求发送出站分组的类型。因此,接入服务器102指示端点106将定期的消息发送到接入服务器102以建立和保持通过NAT设备的针孔(pinhole)。例如,端点106可在NAT设备的超时时间段之前发送消息以重置超时时间段。以这种方式,可不确定地使针孔保持打开。在步骤612和614中,端点104将STUN请求发送到STUN服务器214,STUN服务器如前所述作出响应。在步骤616中,端点104将认证请求发送到接入服务器102。接入服务器102检索端点104的好友列表,并将端点106识别为与将阻止来自端点104的通信的NAT类型相关联。因此,在步骤618中,接入服务器102将帮助消息发送到端点106。该帮助消息指示端点106将ー消息发送给端点104,该消息为端点104打开NAT设备中的针孔。为了安全目的,由于接入服务器102具有端点104的STUN信息,所以可将端点106所打开的针孔具体地限制于与该STUN信息相关联的端点。此外,接入服务器102对于不在端点106的好友列表上的端点,不请求这样的针孔。
接入服务器104在步骤620中将简档和路由表发送到端点104。在步骤622中,端点106将消息(如,ping分组)发送到端点104。端点104然后可对该消息作出响应,并通知端点106它现在在线。如果端点106没有在预定义的时间段内接收到来自端点104的回复,则它可关闭针孔(这可简单地通过不发送另ー消息并使针孔超时来发生)。因此,可使用帮助消息来克服由NAT设备所引起的困难,然后所述两个端点之间的通信可在无需接入服务器102的干渉的情况下发生。參考图7,顺序图700示出了端点106可请求将其添加到端点104的好友列表中的示例性过程。在本示例中,端点104和106在整个过程期间都保持在线。在步骤702中,端点104如前所述将注册和/或认证请求消息发送到接入服务器102。一经认证,接入服务器102就更新驻存在服务器上的会话表以表明当前与端点104相关联的用户ID在线。接入服务器102还检索与端点104当前使用的用户ID相关联的好友列表,并使用会话表来识别好友中的哪些在线(如果有的话)。由于端点106当前不在好友列表上,所以它将不出现。接入服务器102然后在步骤704中将简档信息和路由表发送到 端点104。在步骤706和708中,端点106和接入服务器102重复如针对端点104描述的步骤702和704。由于端点104和106不是好友,所以由接入服务器102发送到端点106的简档信息将不包括端点104。在步骤710中,端点106将请求将其添加到端点104的好友列表中的消息发送到接入服务器102。接入服务器102在步骤712中确定端点104在线(如,使用会话表),并在步骤714中将端点104的地址发送到端点106。在步骤716中,端点106将请求将端点106添加到端点104的好友列表中的消息直接发送到端点104。端点104在步骤718中对端点106作出许可或拒绝的响应,端点104还在步骤720中用该响应更新接入服务器102。例如,如果响应准予许可,则端点104通知接入服务器102,以使得接入服务器可修改两个端点的简档以反映新的关系。应该理解,可采用各种其它动作。例如,如果端点104拒绝请求,则接入服务器102可不对端点106(对于端点104)的另ー请求作出响应,直到已过去某ー时间段。应该理解,可针对好友列表执行许多不同的操作。例如,可删除、阻止/不阻止好友,可更新好友状态,并且可更新好友简档。对于阻止/不阻止,以及状态和简档更新,首先由请求该动作的端点(如,端点104)将消息发送到接入服务器102。在接入服务器102进行更新之后,端点104将消息发送到受该动作影响的对等端(如,端点106)。可如下处理好友删除。如果端点104的用户想删除好友列表上的当前与在线端点106相关联的联系,则端点104将首先通知接入服务器102正在删除该好友。接入服务器102然后更新这两个用户的简档,使得任一方的好友列表都不将另一用户显示为好友。应该指出,在该实例中,一个用户的单方动作将改变另ー用户的简档。端点104然后可将消息直接发送到端点106以实时地从端点106的好友列表中去除该好友(端点104的用户)。因此,即使端点106上的用户在线,也将从端点106的好友列表中去除端点104的用户。參考图8,顺序图800示出了端点106可请求将其添加到端点104的好友列表中的示例性过程。在本示例中,端点104—直不在线,直到端点106进行了其请求之后。在步骤802中,端点106如前所述将注册和/或认证请求消息发送到接入服务器102。一经认证,接入服务器102就更新驻存在服务器上的会话表以表明当前与端点106相关联的用户ID在线。接入服务器102还检索与端点106当前使用的用户ID相关联的好友列表,并使用会话表识别好友中的哪些在线(如果有的话)。接入服务器102然后在步骤804中将简档信息和路由表发送到端点106。在步骤806中,端点106将请求将其添加到端点104的好友列表中的消息发送到接入服务器102。接入服务器102在步骤808中确定端点104离线,并在步骤810中临时存储请求消息。在步骤812和814中,端点104和接入服务器102重复如对端点106所描述的步骤802和804。然而,当接入服务器102将简档信息和路由表发送到端点104时,它还发送端点106的请求(包括端点106的地址信息)。在步骤816中,端点104直接对端点106作出许可或拒绝的响应。端点104然后在步骤818中用响应的结果更新接入服务器102,并且还指示接入服务器删除临时存储的请求。參考图9,顺序图900示出了端点106可请求将其添加到端点104的好友列表中的示例性过程。在本示例中,端点104—直不在线,直到端点106已进行其请求之后,并且端点106不在线地接收端点104的响应。在步骤902中,端点106如前所述将注册和/或认证请求消息发送到接入服务器。一经认证,接入服务器102就更新驻存于服务器上的会话表以表明当前与端点106相关的用户ID在线。接入服务器102还检索与端点106当前使用的用户ID相关联的好友列表,并使用会话表识别好友中的哪些在线(如果有的话)。接入服务器102然后在步骤904中将简档信息和路由表发送到端点106。在步骤906中,端点106将请求将其添加到端点104的好友列表中的消息发送到接入服务器102。接入服务器102在步骤908中确定端点104离线,并在步骤910中临时存储请求消息。在步骤912中,端点106通知接入服务器102它要离线。在步骤914和916中,端点104和接入服务器102重复如前面针对端点106所述的步骤902和904。然而,当接入服务器102将简档信息和路由表发送到端点104时,它还发送端点106的请求。端点104在步骤918中将其响应发送到接入服务器102,并且还指示接入服务器删除临时存储的请求。在端点106的下一认证过程之后,它的简档信息将包括作为好友的端点104 (假设端点104准予许可)。參考图10,顺序图1000示出了端点106可存储端点104的语音邮件的示例性过程。在本示例中,端点106在线,但是其无法进行呼叫。在步骤1002中,端点104将请求在两个端点之间建立呼叫的呼叫请求消息发送到端点106。在步骤1004中,端点106以表明它忙碌并且不能进行呼叫的消息作出响应。在步骤1006中,在记录语音邮件(未显示)之后,端点104将语音邮件发送到接入服务器102,接入服务器102在步骤1008中临时存储语音邮件。随后,在步骤1012中将语音邮件发送到端点106之前,端点104在步骤1010中将消息(如,消息等待指示符(MWI))发送到端点106。端点106在步骤1014中接收语音邮件(如,在结束前一呼叫之后),并在步骤1016中指示接入服务器102以删除临时存储的语音邮件。应该理解,端点106可对语音邮件执行许多不同的动作,包括保存、转发、答复等。
參考图11,顺序图1100示出了端点106可从端点104接收语音邮件的示例性过程。在本示例中,当记录并发送语音邮件时,端点106离线。在步骤1102中,端点104确定端点106离线。如前所述,可基于以下事实作出这样的确定,即,当端点104被认证时端点106不在线(如由来自接入服务器102的简档信息所表明的),并且自此还没有登录(如相对于图4所描述的将此通知给端点104)。由于端点106离线,所以端点104在步骤1104中将记录的语音邮件发送到接入服务器102,接入服务器102在步骤1106中临时存储该语音邮件。端点106如前所述在步骤1108中通过接入服务器102进行认证,接入服务器在步骤1110中将相关的简档信息和路由表发送到端点106。除了在认证之后正常发送到端点106的信息之外,接入服务器10 2发送诸如消息等待指示符的消息,以向端点106通知所存储的语音邮件。在步骤1112和1114中,端点106检索记录的语音邮件,并指示接入点102从服务器中删除该语音邮件。參考图12,在另ー实施例中,将图I的系统100示出为构成更大系统1200的一部分的“本地(home)系統”。该本地系统包括已通过接入服务器102注册的所有端点。除了本地系统100之外,示出了若干外部(相对于本地系统100而言)设备,包括外部端点1202(如,支持SIP的端点,诸如SIP电话、计算机、个人数字助理、家电,或者商务或住宅的自动控制系统)。另外的外部设备包括都与PSTN 1208耦合的网关1204和IPPBX 1206。网关1204还耦合到蜂窝网络1210,蜂窝网络1210包括无线电接入网络、核心网和其它蜂窝网络组件(未显示)。在本示例中,网关1204和IPPBX 1206都包括使得它们能够直接与基于SIP的端点104和106进行通信的非专有接ロ(如,SIP接ロ)。应该理解,系统1200的各部分可包括有线和/或无线接口和组件。接入服务器102使用用户提供的凭证对本地系统100内的端点104和106进行认证(如前所述)。如下,通信可直接在端点104、106和本地系统100外部的设备之间发生。接入服务器102用作路由表存储器。如前所述,路由表包含端点104、106与本地网络100内的好友进行连接所需的信息。在本示例中,该路由表(或另一路由表)还包含端点104、106与外部设备连接所需的信息。与外部设备、位置或服务的连接可以是基于预订的,S卩,特定端点的路由表仅具有关于该端点当前预订的外部设备的地址信息。例如,与端点104相关联的简档可具有表示是否对该端点预订了诸如PSTN呼叫计划的服务的标志。參考图13,顺序图1300示出了端点104可直接与图12的系统1200内的外部端点1202联系的示例性过程。端点1202在线,端点104具有与端点1202联系的权限(如,预订)。虽然本示例将SIP用于信令并将RTP用于媒体业务量,但是应该理解,可使用其它协议。在步骤1302中,端点104如前所述将认证请求消息发送到接入服务器102。在认证之后,接入服务器102在步骤1304中将简档信息和路由表发送到端点104。在端点104已被认证之后,该端点的用户对端点1202发起呼叫(如,VoIP呼叫)。在步骤1306中,端点104对由用户键入的数执行数字收集和分析。由于端点104包含路由表和软交换机,所以该端点能够直接对端点1202进行识别并发起呼叫。在步骤1308中,端点104和106建立呼叫。例如,端点104可将SIP INVITE消息直接发送到端点1202。端点104必须提供端点1202所需要的任何凭证。端点1202用2000K消息作出响应,端点104用ACK消息作出响应。端点104和1202然后可使用RTP会话进行VoIP呼叫(步骤1310)。在RTP会话完成之后,在步骤1312中进行呼叫拆除。因此,如在前面的本地系统100中的端点之间的示例中所描述的,在认证期间下载简档和路由表之后,端点104直接与端点1202(或网关1204或IPPBX 1206)联系,而无需接入服务器102的干渉。可以以与端点1202相同的方式与另一外部端点1212联系,尽管将需要通过网关1204和蜂窝网络1210对该通信进行路由。与对于端点1202 —祥,端点104可直接与端点1212联系,而无需接入服务器102的干渉。參考图14,方法1400示出了利用接入服务器102的路由表进行外部通信的ー个可能的事件顺序。该方法从步骤1402开始于端点(如,端点104)通过接入服务器102进行认证吋。端点104在步骤1404中依赖于如下因素来下载ー个或多个路由表,这些因素诸如端点104是否预订了相关服务(如,是否允许端点104对本地网络外部进行呼叫)。以原始数据格式下载路由表,并且端点104在步骤1406中处理该原始数据以在步骤1408中生成最佳路由规则。此时,端点104可使用这些路由规则来与其它端点通信。可在接入服务器102上改变路由表。例如,将新的服务区或新的预订选项变成可接入的。然而,除非端点104注销并返回,否则该端点将不会知道这些改变。因此,接入服务器102在步骤1410中将改变已发生的通知发送到路由表。在步骤1412中,端点104确定是否对于端点上的路由表进行了改变。例如,如果端点104正好登录上来,则它可具有更新的路由表。另选的或另外的,该通知可能并不表明哪些路由表已改变,并且端点104将需要确定它所使用的路由表中的任ー个是否已改变。如果路由表已改变,则端点104在步骤1414中确定该改变较大还是较小。如果改变很大,则该方法返回到步骤1404,在步骤1404中,下载路由表。如果改变很小,则该方法继续到步骤1416,在步骤1416中,端点104更新其路由表(如,端点104仅下载已改变的信息)。应该理解,可能需要一些处理来为新信息插入到现存的路由规则中作准备。如果要对外部设备发起呼叫(步骤1418),则端点104在步骤1420中确定该呼叫是否与其路由规则匹配。如果匹配,则端点104在步骤1422中使用这些路由规则来将该呼叫路由到合适的网关或端点。如果不匹配,则端点104没有充足的信息对呼叫进行路由(步骤1424)并结束呼叫过程。參考图15,顺序图1500示出了外部端点1202可使用SIP消息传送来尝试建立与图12的系统1200内的端点104的联系的示例性过程。在步骤1502中,端点1202将SIPINVITE消息发送到重定向服务器(如,图2a的重定向服务器216)。重定向服务器216在步骤1504中访问数据库(如,图2a的数据库206),并获得端点104的联系信息。该信息还可包括端点104所需要的凭证(如,用户名和密码)。如果需要凭证,则重定向服务器216在步骤1506中将请求凭证的消息发送到端点1202。端点1202在步骤1508中通过将包含这些凭证的SIP INVITE发送到重定向服务器216来对该凭证请求作出响应。重定向服务器216然后在步骤1510中将重定向消息与关于端点104的地址信息一起发送到端点1202。在步骤1512中,端点1202然后可利用SIP INVITE消息直接与端点104联系。如果端点104不可获得(如,离线),则重定向服务器216可将端点104不可获得的消息发送到端点1202。 再次參考图12,在本示例中,本地系统100包括资源服务器1214。虽然资源服务器1214可以是接入服务器102的一部分,但是为了例示的目的,将其分离为独立的服务器。为了识别访问权利和类似的问题,接入服务器102和资源服务器1214可相互通信(未显示)。资源服务器1214存储各资源并将各资源分发给端点104和106。如前所述,资源表示任何类型的数字数据。在操作中,端点(如,端点104)可将资源存储在资源服务器1214上以备端点106以后检索,或者可将资源直接传送到端点106。此外,资源服务器1214可将资源分发给端点106以及其它端点。以这种方式,资源服务器1214可用作临时或永久存储器。在一些实施例中,资源服务器1214可基于端点104和106提供的凭证来限制访问。例如,如果端点104仅具有对于某些资源的凭证,则资源服务器可限制该端点对这些资源的访问。端点和资源服务器之间的通信可如以上相对于两个端点所描述的那样直接发生。应该理解,可使用上述端点和/或接入服务器来实现许多不同的方法。以下作为示例描述各方法,但是应该理解,许多其它方法或方法的变型也是可以的。在一个实施例中,可实现端ロ旋转方法,该方法允许改变/旋转用于监听通信的端ロ以提供增强的安全性。旋转可在端ロ操作的空闲时间期间发生。例如,当检测到空闲时间时,选择随机的未使用端ロ。随后,端点向接入服务器通知新的路由信息,并将对等通知发送到所有在线的好友以通知它们端ロ/路由信息的改变。 在另ー实施例中,可通过端点进行无线呼叫。例如,可实现这样的方法,该方法允许从对等混合系统中的端点直接到3G或者任何类似的无线网络的直接接ロ(如,使用图2b的蜂窝网络接ロ 280)。当激活端点吋,无线模块向无线网络通知它的存在。此时,可将呼叫发送到无线网络和从无线网络接收呼叫。端点还可将呼叫从无线端桥接到网络的IP端。例如,如果端点经由无线接ロ从无线电话接收到呼叫,则该端点的用户可选择将呼叫路由到网络的IP端上的任何好友端点。该桥接功能为端点的另一能力。类似地,可将在IP端接收的呼叫桥接到无线端。參考图16,在另ー实施例中,可与交互式语音应答(IVR)(如,由图2b的特征层264提供的IVR支持)一起使用方法1600,以当开启自动出席时自动地处理呼叫。自动出席提供这样的功能,即,当用户忙碌或没有出席參与呼叫或其它形式的通信时,允许用户执行其它任务。方法1600可代表用户自动地終止呼叫,并执行如由用户所定义的其它任务(如,留下消息或将消息路由到另ー目的地)。在本示例中,当端点(如,端点104)接收到呼叫时,方法1600从步骤1602开始。在步骤1604中,确定是否激活了自动出席(如,IVR功能是否开启)。如果没有激活自动出席,则该方法继续到步骤1606,在步骤1606中,正常地处理呼叫。如果激活自动出席,则在步骤1608中接受呼叫并开始IVR功能。在步骤1610中,连接呼叫。參考图17,在又一实施例中,方法1700可用于在端点(如,端点104)上提供搭线窃听功能。例如可由图2b的软交换机258的CALEA代理提供这样的功能。该方法从步骤1702开始于端点104进行呼叫或接收到呼叫吋。如果如在步骤1704中所确定的,端点正被窃听,则该方法将继续到步骤1706,在步骤1706中,将呼叫的开始记入日志。方法1700然后继续到步骤1708,在步骤1708中,建立该呼叫。如果端点没有被窃听,则该方法跳过步骤1706并直接进行到步骤1708。在步骤1710中,确定是否要捕捉与呼叫相关联的媒体。如果要捕捉,则在步骤1712中捕捉媒体并将其安全地流传输到指定的执法机构。该方法然后继续到步骤1714,在步骤1714中,在结束呼叫之后进行呼叫拆除。如果不捕捉媒体,则该方法直接从步骤1710进行到步骤1714。在步骤1718中,将呼叫的结束记入日志(如果如在步骤1716中所确定的,搭线窃听被激活),在步骤1720中,端点104返回到空闲状态。在本示例中,当捕捉到日志信息时,还可将该日志信息安全地流传输到执法机构。在另ー实施例中,漫游(Find me Follow me)方法可用于为对等混合环境中的端点同时提供多个会话。可在多个位置中对端点进行签到,以使其接入所提供的服务并以对等方式与作为好友的其它端点直接通信。在该方法中,当一个端点试图联系他/她的好友时,如果该好友在多个位置被签到,则发起方好友将消息送出到该好友的所有签到的位置。当端点从多个签到位置中的任何一个作出响应时,丢弃对其它端点的请求,并且与已接受通信请求的端点继续进行通信。參考图18,在又一实施例中,顺序图1800示出了端点104可实时地一次或同时将数据流传输到ー个或多个其它好友端点106和292 (图2g)的示例性过程。分别在步骤1802和1804中,发起端点(如,端点104)将对数据流的请求发送到端点106和292。接收到该请求的端点可用接受或拒绝该请求的消息作出响应(步骤1806和1808)。一旦该请求被接受(如在步骤1810中所示),就将数据流送出到已接受对该数据流的请求的所有好友(步 骤1812和1814)。在終止端点106和292上,用户选择可进行数据流的处理以使用该数据的应用。应该理解,端点可自动地选择ー些应用以用于识别或预定义的数据类型。然后相关端点处理这些流(步骤1816和1818)。分别在步骤1820和1822中,端点104将终止流的请求送出到端点106和292。端点106和292分别在步骤1824和1826中停止它们的处理。在另ー实施例中,一种用于智能IM (如由Richardson, TX的Damaka, Inc.开发)或增强型IM的方法可用于通过实时采用文本至声音识别系统将发送到端点和由端点接收的文本数据转换为声音。可从网络或本地地接收文本数据,以转换为用于播放的声音/语音信号。例如可通过图2b的文本到声音引擎270提供这样的功能。在另ー实施例中,ー种方法通过实时采用声音到文本系统将发送到端点和由端点接收的声音/语音数据转换为文本形式。可从网络或本地地接收声音/语音数据,以用于转换为由用户处理的文本数据。例如可通过图2b的声音至文本引擎268提供这样的功能。在一个实施例中,ー种方法可用于对正由端点发送/接收的文本数据提供校正服务(如,拼写检查)。在另ー实施例中,ー种方法可提供这样的功能,即,允许用户经由搜索引擎搜索万维网或互联网以找到与由端点发送/接收的文本数据相关的附加信息。在又一实施例中,ー种方法可提供使用ー个或多个语言转换引擎(如,图2b的语言转换引擎272)对由端点发送/接收的文本数据执行语言转换的功能。在又一实施例中,ー种方法可提供使得能够在端点上对由端点接收的文本数据建档以备以后检索的功能。例如,数据库(如,SQL)引擎可用于存储由端点从好友接收的数据并对其编索引以备快速检索。然后可使用标准的查询接ロ来存储/检索显示给用户的数据。在另ー实施例中,ー种方法可用于提供SMS功能。例如可通过图2b的特征层264的SMS特征提供这样的功能。例如,当端点登录到网络时,可与路由表一起下载SMS表。如果端点具有移动设置,则端点可能能够直接经由SMS功能进行通信。參考图19,在另ー实施例中,顺序图1900示出了端点104可向由端点106和292(图2g)表示的好友发起私人交易(如,销售报价或开始拍卖过程)的示例性过程。分别在步骤1902和1904中,端点104将包含销售ー个或多个商品的报价的消息发送到端点106和292。分别在步骤1906和1908中,端点106和292可返回接受或拒绝报价或进行还价的消息。在步骤1910中,端点104的用户可回顾接收的消息并接受一个,拒绝两个,用附加的还价对所述ー个或两个进行答复等。该过程(报价、答复、回顾)可一直继续,直到最终接受或拒绝该报价。在本示例中,由于交互在好友之间发生,所以实际的财务交易可能不以电子形式进行。參考图20,在又一实施例中,顺序图2000示出了端点104可发起公共交易(如,报价或开始拍卖过程)的示例性过程。在步骤2002中,端点104将投递销售品的消息发送到接入服务器102。该消息包含这样的信息,诸如待售商品的描述、拍卖的开始价格和开始/结束日期。在步骤2004中,端点106 (在本示例中它不是好友)从服务器获得销售信息。获得的信息包括端点104的“替代ID”和相关联的地址信息。可分配给端点104以专用于销售的替代ID使得端点106能够直接与端点104联系,而无需获得端点104的用户的实际ID。因此,当销售结束时,端点106将不再能够与端点104联系。在步骤2006中,端点106利用投标将消息直接发送到端点104。在步骤2008中,端点104利用该投标和投标者信息更新接入服务器上的信息。虽然没有显示,但是好友端点也可对所投递的商品投标。在步骤2010中,端点104的用户回顾投标,选择赢家(如果赢家存在),并直接通知赢家(步骤2012)。在步骤2014中,处理销售交易。在本示例中,由于交易可在不是好友的多方之间发生,所以可经由结算所的第三方实现交易。然而,如果好友赢得销售,则多方可恢复到私人交易。另外,应该理解,任何方(无论他们是否是好友)可如期望地安排交易。在一些实施例中,该过程可包括直接或间接通知未决投标的有关方,向有关方通知接受/拒绝投标等。销售者还可接受任何期望的投标(如,不仅是最高投标),并且可随时结束投标。如果当投标发生时端点离线(如,如果当发送步骤2006的消息时端点104离线或者如果当发送步骤2012的消息时端点106离线),则如前所述,当端点登录时,可在认证期间下载消息。參考图21,在又一实施例中,顺序图2100示出了端点104可发起与其它端点(如,端点106和1202,在本示例中,端点106和1202都为端点104的好友)的会议电话的示例性过程。应该指出,端点106和1202可以相互是好友或者相互不是好友。分别在步骤2102和2104中,端点104将加入会议电话的请求发送到端点106和1202。端点106和1202分别在步骤2106和2108中通过接受或拒绝该请求作出响应。在本示例中,端点106和1202接受请求(如由步骤2110所示的)。端点104然后可分别在步骤2112和2114中将媒体(如,文本或语音信息)发送到端点106和1202。端点104在步骤2116中接收呼入的媒体(如,来自端点106),并在步骤2118中将该呼入媒体发送到端点1202。在本示例中,不是组播该信息,而是由端点104通过使用与每个端点的分离对等连接来主持会议电话。由于端点106和1202经由端点104在会议电话中连接并且不直接相互通信,所以端点106和1202不必为好友。因此,本示例中的端点104可具有与会议电话相关联的两个路由条目端点106的一个路由条目和端点1202的另一路由条目。在其它实施例中,也可使用组播将数据从端点104传输到端点106和 1202。应该理解,相对于图21描述的过程可应用于其它场景。例如,端点104可用作多玩家游戏的主机。然后可由端点将到来的数据分发给与所主控的游戏相关联的其它端点。尽管前面的描述显示和描述了ー个或多个实施例,但是本领域的技术人员应该理解,在不脱离本公开的精神和范围的情况下,可进行形式和细节上的各种改变。例如,可组合或者进ー步分割在特定顺序图内示出的各步骤。另外,可将在ー个示图中描述的步骤合并到另ー示图中。例如,可将图5的STUN请求/响应步骤合并到没有显示该过程的示图 中。此外,可由硬件和/或软件提供描述的功能,并且可将描述的功能分布或组合到单个平台中。另外,可以以不同于所例示的方式来实现特定示例中描述的功能,但是该功能仍然包含于本公开内容内。因此,应该以宽泛的方式与本公开内容一致地解释权利要求。
权利要求
1.一种用于在使用非专有协议的对等网络中建立和保持第一端点和第二端点之间的通信会话的计算机实现方法,该方法包括 在认证过程期间由第一端点从接入服务器检索简档和路由表,其中,所述简档将第二端点识别为第一端点具有与其通信的许可的端点,所述路由表包含使第一端点直接与第二端点通信所需的地址信息;和 使用所述地址信息将通知消息从第一端点直接发送到第二端点,以向第二端点通知第一端点在线。
2.如权利要求I所述的方法,还包括 使用所述地址信息将请求消息从第一端点直接发送到第二端点,以请求建立通信会话; 由第一端点直接从第二端点接收响应消息;和 如果响应消息授予许可,则第一端点直接与第二端点建立通信会话,其中,所有的信令和媒体业务量消息被直接从第一端点发送到第二端点和从第二端点发送到第一端点。
3.如权利要求I或2所述的方法,还包括 基于所述简档识别第二端点是否在线;和 仅当第二端点在线时,才发送所述通知消息。
4.如权利要求1、2或3所述的方法,还包括 在认证过程之前,将STUN(UDP对NAT (网络地址转换)的简单穿越)请求从第一端点发送到STUN服务器;和 在认证过程期间,使用响应于STUN请求而从STUN服务器接收的信息。
5.如权利要求4所述的方法,还包括 由接入服务器确定第二端点是在将阻止它接收由第一端点发起的消息的设备后面;指示第二端点将消息定期性地发送到接入服务器,以保持经过所述设备的第一通信信道;和 在将简档和路由表发送到第一端点之前,指示第二端点经由第一通信信道将消息发送到第一端点,以为第一端点打开经过所述设备的第二通信信道,其中,第一端点的通知消息可通过第二通信信道穿越所述设备到达第二端点。
6.如权利要求5所述的方法,其中,如果在预定时间段内没有接收到第一端点的通知消息,则第二端点关闭第二通信信道。
7.如权利要求1、2、3、4、5或6所述的方法,还包括 等待从第二端点发送的响应于所述通知消息的响应消息;和 如果在预定时间段内没有接收到响应消息,则在第一端点处修改第二端点的状态以反映无响应。
8.如权利要求1、2、3、4、5、6或7所述的方法,还包括 使用所述地址信息将请求消息从第一端点直接发送到第二端点,以请求建立语音呼叫; 由第一端点直接从第二端点接收响应消息,其中,所述响应消息指示第二端点当前不能接受请求; 在第一端点处记录语音邮件;和发送所述语音邮件以存储在第二端点和接入服务器两者上。
9.如权利要求8所述的方法,还包括 在第二端点接收所述语音邮件;和 将用于从接入服务器删除所述语音邮件的指示从第二端点发送到接入服务器。
10.如权利要求I所述的方法,还包括 由第一端点确定第二端点当前在线; 在第一端点处记录语音邮件; 发送所述语音邮件以存储在接入服务器上; 在第二端点的认证过程期间,由第二端点从接入服务器接收消息等待指示符;和 由第二端点从接入服务器检索所述语音邮件。
11.如权利要求I所述的方法,还包括 将指示第一端点不再具有与第二端点通信的许可的删除消息从第二端点发送到接入服务器; 在接入服务器上更新第一端点的简档以反映没有许可; 将指示第一端点不再具有与第二端点通信的许可的删除消息从第二端点直接发送到第一端点;和 当接收到所述删除消息吋,实时删除存储在第一端点处的与第二端点相应的信息。
12.一种用于建立和保持第一端点和第二端点之间的关系的计算机实现方法,该方法包括 将请求第二端点的联系信息的请求消息从第一端点发送到接入服务器; 由接入服务器确定第二端点是在线还是离线; 如果第二端点在线,则由第一端点从接入服务器接收所述联系信息; 将请求将第一端点添加到与第二端点相关联的好友列表中的请求消息从第一端点直接发送到第二端点; 由第一端点直接从第二端点接收接受或拒绝所述请求的响应消息;和将用于通知接入服务器所述请求是被接受还是被拒绝的消息从第二端点发送到接入服务器。
13.如权利要求12所述的方法,还包括如果所述请求被接受,则更新与第一端点和第ニ端点中的每个相关联的简档信息以反映所述关系。
14.如权利要求12所述的方法,还包括 如果第二端点离线,则存储从第一端点发送到接入服务器的请求消息; 在第二端点的认证过程期间,将所述请求消息从接入服务器发送到第二端点,其中,所述认证过程指示第二端点即将在线; 将是接受还是拒绝所述请求的响应消息从第二端点直接发送到第一端点;和 将用于通知接入服务器结果是被接受还是被拒绝的消息从第二端点发送到接入服务器。
15.如权利要求12所述的方法,还包括 如果第二端点离线,则存储从第一端点发送到接入服务器的请求消息; 当第二端点即将在线时,由接入服务器确定第一端点离线;在第二端点的认证过程期间,将请求消息从接入服务器发送到第二端点;和 将接受或拒绝所述请求的响应消息从第二端点发送到接入服务器。
16.ー种用于对等通信的系统,该系统包括 接入服务器,耦合到基于分组的通信网络; 第一端点,经由所述通信网络耦合到接入服务器;和 第二端点,经由通信网络耦合到接入服务器和第一端点,所述第二端点具有这样的软交換机,该软交換机被配置为使用先前从接入服务器获得的路由信息直接与第一端点建立通信信道,其中,第一端点和第二端点之间的信令和媒体业务量通信使用非专有协议并且不经过接入服务器。
17.如权利要求16所述的系统,其中,第一端点和第二端点之间的信令通信使用会话启始协议(SIP),并且其中,媒体业务量通信使用实时传输协议(RTP)。
18.如权利要求16或17所述的系统,其中,接入服务器包括 web服务层,被配置为向第一端点和第二端点提供web服务; web服务器层,被配置为支持web服务层;和 数据库层,被配置为存储和管理以下内容 至少ー个会话表,识别第一端点和第二端点是否在线; 第一简档和第二简档,分别用于第一端点和第二端点,其中,每个简档识别这样的其它端点,与该简档相关联的端点具有与所述其他端点通信的许可;和 第一路由表和第二路由表,分别用于第一端点和第二端点,其中,姆个路由表包含与该路由表相关联的端点与该端点的简档中的其它端点直接通信所需的地址信息。
19.如权利要求16、17或18所述的系统,其中,第二端点还包括端点引擎,所述端点引擎具有以下组件 软交换机; 管理层,可访问软交換机,并被配置为管理由第二端点提供的多个服务; 特征层,可访问管理层和软交換机,并被配置为支持对于提供由管理层管理的服务而目所需的功能;和 协议层,被配置为提供用于支持由特征层提供的功能和与第一端点的通信的多个协议。
20.如权利要求16、17、18或19所述的系统,其中,接入服务器、第一端点和第二端点形成本地网络,并且其中,所述系统还包括该本地网络外部的至少ー个设备。
21.如权利要求20所述的系统,其中,在发起与第一端点或第二端点的联系之前,所述外部设备必须通过接入服务器进行注册。
22.如权利要求20所述的系统,其中,第二端点被配置为使用软交换机与所述外部设备直接连接,并且其中,第二端点必须在建立连接的同时提供所述外部设备所请求的凭证。
23.ー种直接在两个端点之间通信的系统,该系统包括 第一端点,耦合到第一通信网络; 接入服务器,耦合到第二通信网络;和 第二端点,分别经由第一通信网络和第二通信网络耦合到第一端点和接入服务器,所述第二端点具有这样的软交换机,该软交換机被配置为使用先前从接入服务器获得的路由信息直接与第一端点建立通信信道,其中,第一端点和第二端点之间的信令和媒体业务量通信使用非专有协议并且不经过接入服务器。
24.如权利要求23所述的系统,其中,第一通信网络为公共交换电话网络(PSTN)。
25.如权利要求23所述的系统,其中,第一通信网络为蜂窝网络。
26.如权利要求23、24或25所述的系统,其中,当接入服务器对第二端点进行认证时,以路由表的形式从接入服务器获得路由信息。
27.如权利要求23、24、25或26所述的系统,还包括重定向服务器,其被配置为从指向第二端点的第一端点接收请求,井向第一端点提供第二端点的地址信息,其中,第一端点可在不涉及接入服务器的情况下与第二端点联系。
28.如权利要求27所述的系统,其中,重定向服务器被配置为在向第一端点提供第二端点的地址信息之前执行第一端点的认证。
全文摘要
公开了一种用于对等通信的改进系统和方法。在一个示例中,该方法包括在认证过程期间由第一端点从接入服务器接收简档和路由表。简档将第二端点识别为第一端点具有与其通信的许可的端点。路由表包含第一端点直接与第二端点进行通信所需的地址信息。第一端点使用该地址信息将通知消息直接发送到第二端点,以向第二端点通知第一端点在线。
文档编号H04L12/28GK102685214SQ201210112418
公开日2012年9月19日 申请日期2005年3月29日 优先权日2004年6月29日
发明者拉米什库马尔·拉维库马尔, 斯瓦库马尔·拉维库马尔, 萨提什·冈达巴苏拉 申请人:达马卡公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1