相关申请的引用:本申请要求以下权益:2005年6月29日递交、标题为“A System forPersonal Switching and Routing(个人切换和路由***)”的美国临时申请No.60/694,674;2005年7月20日递交、标题为“A Method for a User Provisioned Communication Client WithPresence(用于具有存在性的使用者规定的通信客户方法)”的美国临时申请No.60/700,749;2005年8月8日递交、标题为“A Method for a Set of Personalized Extensions(用于个性化扩展集的方法)”的美国临时申请No.60/706,047;2005年9月20日递交、标题为“Personalized Extensions(个性化扩展)”的美国临时申请No.60/718,305;2005年12月3日递交、标题为“VoIP Service Extensions(VoIP服务扩展)”的美国临时申请No.60/749,580;2006年1月30日递交、标题为“VoIP Thin Client(瘦VoIP客户装置)”的美国临时申请No.60/762,901;以及2006年2月6日递交、标题为“A Method for Correlating aCaller with a Callee(用于将呼叫方和被叫方关连的方法)”的美国临时申请No.60/765,198,所有上述申请通过引用被完全包括在本文中。该申请还在标题为“A system for a local accessto a mobile network(本地接入移动网络的***)”的美国临时申请No.60/644,57l和标题为“Local Access to a Mobile Network(到移动网络的本地接入)”的美国专利申请No.11/333,533中找到支持,并且上述申请通过引用被包括。
用于传送语音信息的***已经投入使用一段时间了,并且通常包括电话通信***。使用传统电话的通信***和方法(包括模拟和数字***)已经演进为使用各种通信网络。这些网络和支持***包括“简易老式电话业务”(POTS)、公共交换电话网络(PSTN)、蜂窝移动电话网络及其他。近来,已经使用因特网来将实时或接近实时的语音通信信号从一个点运载到另一点。路由、交换、桥接和其他打包并递送来自语音通信的数据的方法虽然正在使用中,但持续演进着。需要更有效、更低成本并且更高质量的通信***和使用该***的方法,本公开提供这样的通信***和方法。
发明内容
本公开总地涉及用于在两个或更多个耦合到通信***的通信装置之间建立和维持通信的***和方法。一些具体的方面涉及多个通信装置之间的通信,每一个所述通信装置耦合到各自的网络。其他方面涉及通过在耦合到网络的***上维护并方便地提供(facilitate)的联系方列表来建立这样的通信。
图1图示一种网络,该网络具有多条路径,用于通过该网络或在该网络上的信息通信。事实上,多于一个的网络可以通过本领域技术人员已知的方式(例如路由,桥接,等等)耦合。最后效果是建立一具有多个互连组件的***,所述多个互连组件可以交换数据以在其间传送信息。
在现代通信***中,数据通常本来就是数字的,但是这里的讨论并不限于此。例如,电子信号,脉冲,用于调制通信信号的光学、声学和其他电磁装置可以被用于横跨(across)一个或多个网络的一个或更多个支路(leg)传送信息。所述信号可以基本上实时地横跨所述一个或多个网络移动(travel),其中与其相关联的仅有传播延迟。可替换地,所述信号可以被所述一个或多个网络上的居间组件中断,被缓冲、储存、路由、桥接等等,这在传播中引入其他延时(latency)或延迟。
通信***的一个目标是允许两个或更多个设备或它们的使用者通常跨互相之间的某个地理或逻辑距离来交换信息。其实施例为硬连线或无线的电话。另一个实施例为在因特网上交换消息的一对通信的对等计算机。因特网通信是成熟的,并且提供用于数据转移的协议,例如因特网协议(IP)。
图1具体地示出几种互连网络和设备,所述互连网络和设备在两个或更多个耦合到所述网络和设备的集合的通信设备之间提供电话(例如语音)通信。所述互连的网络和设备包括公共交换电话网络(PSTN)11、基于因特网协议的话音传输(VoIP)网络31和无线网络51。
PSTN 11是互连的公共电话网络的集合,所述公共电话网络主要设计用于语音通信。它还包括专用分支交换机(PBX)***20的集合,所述PBX***为电话10的集合提供交换功能性。PBX***通常用于办公室或校园环境。当电话10在PBX网络上登记时,通常为电话10指派一标识符(例如一分机)。PBX和PSTN网络的其他成员可以使用合适的分机访问电话10。
无线网络51向无线电话60递送语音和数据信息。无线电话60是小而轻的设备,通过发射无线电信号来与其他设备进行通信。不幸的是,无线电话通信仍旧是昂贵的,尤其是当用于进行长途或国际呼叫时。
VoIP网络31基于因特网协议递送语音和数据。它们提供一种免费或者非常廉价的方式来将语音信号从一处传输到另一处。VoIP网络31还被用于为其他通信网络提供中间连接。例如,图1示出PSTN网络11在VoIP网络31上与无线网络51通信。电话10将语音信号发送到PBX 20。PBX 20将该信号转发到PSTN/VoIP网关30。PSTN/VoIP网关30将该信号转发到VoIP/移动网关40。VoIP/移动网关将该信号转发到移动网关交换中心(GMSC)50。GMSC 50将该信号传输到目的无线电话60。一些中间连接未在该信号流图中示出。
VoIP网络31还支持在支持VoIP的(VoIP enabled)计算机35和45之间的语音通信。支持VoIP的计算机35使用网络标识符(例如IP地址、使用者姓名或联系方访问码)连接到支持VoIP的计算机45。在建立连接之后,支持VoIP的计算机35(通过使用图1中未示出的服务器)在VoIP网络上直接或间接地将数字化的语音信号转移到支持VoIP的计算机45。在一个实施方案中,支持VoIP的计算机45将数字信号转换回模拟信号,并且将其呈递给使用者。一些中间连接未在该信号流图中示出。
多个VoIP服务提供商使用不同的通信协议和软件应用来将数字化语音信号从支持VoIP的一台计算机传输到另一台计算机。因此,一个VoIP软件应用可以难以或者完全不能与另一个VoIP软件应用通信。例如,第一网络的成员可能难以与第二网络的成员通信。
VoIP网络31还提供廉价的方式来在支持VoIP的计算机35与驻留在PSTN网络11和无线网络51上的电话之间建立语音通信。各种VoIP服务提供商通过将一个网络的通信协议翻译为另一个网络的通信协议来桥接VoIP网络、PSTN网络和无线网络之间的通信。例如,VoIP服务的消费者为从支持VoIP的计算机向PSTN或无线电话进行电话呼叫的选项付账。类似地,一些消费者为在他们的VoIP电话设备上接收来自PSTN或无线电话的电话呼叫的选项付账。
当PSTN或无线网络的成员发起目标为支持VoIP的计算机的通信时,需要适当地将信号递送到目标所在的支持VoIP的计算机。一般来说,PSTN或无线电话设备使用常规电话号码,所述电话号码最终被翻译为合适的支持VoIP的计算机的地址。该地址可以表现为IP地址、使用者姓名、电子邮件地址,或由服务提供商指派给该支持VoIP的计算机的联系方访问码。
本文描述的一个或更多个实施方案提供一种用于在第一和第二设备之间建立通信的方法,所述方法包括:在服务器处,从在网络上耦合到所述服务器的所述第一设备接收通信请求;在所述服务器处,从所述第一设备接收呼叫方标识码,所述呼叫方标识码标识所述第一设备或所述第一设备的使用者;在所述服务器处,从所述第一设备接收字母数字码,所述字母数字码标识所述第二设备的被叫方使用者;在所述服务器处,将所述字母数字码与储存在所述服务器的被叫方地址相关联,所述呼叫方标识和所述字母数字码以及所述被叫方地址全部与所述服务器可访问的联系方列表相关联;以及响应于所述通信请求和所述字母数字码以及相关联的被叫方地址,所述服务器在所述第一设备和与所述被叫方地址相关联的所述第二设备之间建立所述通信,从而所述第一设备和所述第二设备在所述网络上进行通信。
其他实施方案涉及这样的方法,所述方法还包括从所述服务器向所述第一设备提供对应于所述联系方列表并且包括指示所述联系方列表中至少一个联系方的存在状态的信息的信息。
其他实施方案涉及这样的方法,其中所述存在状态包括当前连接到通信网络的状态。
其他实施方案涉及这样的方法,其中所述存在状态包括允许状态,所述允许状态指示与所述第二设备的通信是可允许的。
其他实施方案涉及这样的方法,其中所述服务器在所述第一和第二设备之间运载来自语音通信信号的数据。
其他实施方案涉及这样的方法,其中所述服务器将所述被叫方地址传递到第二服务器,所述第二服务器在所述第一和第二设备之间运载来自语音通信信号的数据。
其他实施方案涉及这样的方法,所述方法还包括在第二服务器处从所述第一设备接收电话呼叫,在所述第二服务器从所述服务器获得目的地信息之后,所述电话呼叫被所述第二服务器分发到所述电话呼叫的目的地,所述目的地信息包括被叫方网络地址。
其他实施方案涉及这样的方法,其中将所述字母数字码与所述被叫方地址相关联的操作包括从与所述第一设备的使用者相关联的联系方列表中查找在所述服务器上所述字母数字码所代表的使用者的网络地址。
其他实施方案涉及这样的方法,其中所述查找操作包括在向所述服务器提供地址查找服务的地址服务器上查找所述网络地址。
其他实施方案涉及这样的方法,所述方法还包括认证来自所述第一设备的联系方列表更新请求。
其他实施方案涉及这样的方法,所述方法还包括认证来自所述第一设备的所述通信请求。
其他实施方案涉及这样的方法,其中所述字母数字码包括标准ASCII字符中任意的多个字符。
其他实施方案涉及这样的方法,其中所述字母数字码由字母范围“A”到“Z”中的多个字符构成。
其他实施方案涉及这样的方法,其中所述字母数字码由选自字母范围“A”到“Z”以及整数范围“0”到“9”的数字中的多个字符构成。
其他实施方案涉及这样的方法,其中所述方法在第一移动通信设备和第二移动通信设备之间提供通信。
其他实施方案涉及用于在第一设备和第二设备之间建立通信的方法,包括从所述第一设备接收包括第一设备标识信息的联系方更新请求;响应于所述联系方更新请求,向所述第一设备发送与所述第一设备标识信息相关联的联系方列表,所述联系方列表包括用于所述联系方列表中每个联系方的联系方标识符;从所述第一设备接收连接请求,所述连接请求标识至少一个联系方标识符;将所述联系方标识符映射到所述第二设备的地址;以及使用所述第二设备的所述地址来在所述第一设备和所述第二设备之间建立通信。
其他实施方案涉及这样的方法,所述方法还包括认证来自所述第一设备的所述联系方更新请求。
其他实施方案涉及这样的方法,所述方法还包括认证来自所述第一设备的所述连接请求。
其他实施方案涉及这样的方法,所述方法还包括向所述第一设备指示所述联系方列表中的哪些联系方目前可用于通信。
其他实施方案涉及这样的方法,其中指示哪些联系方目前可用的操作还包括参考针对所述联系方的存在信息来确定哪些联系方目前可用于通信。
其他实施方案涉及这样的方法,所述方法还包括建立到所述第一设备的数字通信连接,所述联系方列表在所述数字通信连接上被传递。
其他实施方案涉及这样的方法,其中建立所述数字通信连接的操作包括在与SIP兼容的信道上建立所述数字通信连接。
其他实施方案涉及这样的方法,所述方法还包括在所述第一和第二设备之间建立语音通信连接。
其他实施方案涉及这样的方法,其中建立所述语音通信连接的操作包括在与SS7兼容的信道上建立语音通信连接。
其他实施方案涉及这样的方法,其中建立所述语音通信连接的操作包括使用电话通信标准协议建立语音通信连接。
其他实施方案涉及这样的方法,其中所述第一设备包括无线电话通信设备。
其他实施方案涉及这样的方法,其中所述第二设备包括基于IP的语音通信设备。
其他实施方案涉及这样的方法,所述方法还包括将所述联系方标识符和与所述第二设备相关联的IP地址进行关连。
其他实施方案涉及这样的方法,所述方法还包括将所述联系方标识符和与所述第二设备相关联的电话号码进行关连。
其他实施方案涉及这样的方法,所述方法还包括耦合至少两个网络以在所述第一和第二设备之间建立所述通信,所述至少两个网络至少包括PSTN。
其他实施方案涉及这样的方法,所述方法还包括耦合至少两个网络以在所述第一和第二设备之间建立所述通信,所述至少两个网络至少包括IP网络。
其他实施方案涉及这样的方法,所述方法还包括耦合至少两个网络以在所述第一和第二设备之间建立所述通信,所述至少两个网络至少包括蜂窝通信网络。
其他实施方案涉及这样的方法,所述方法还包括在耦合到通信网络的服务器上更新所述联系方列表,所述通信网络又可以耦合到所述第一设备。
其他实施方案涉及这样的方法,所述方法还包括在耦合到通信网络的服务器上更新所述联系方列表,所述通信网络又可以耦合到所述第二设备。
其他实施方案涉及这样的方法,其中建立所述通信的操作包括在第一与PSTN兼容的网络和第二与基于IP的语音兼容的网络之间桥接通信。
其他实施方案涉及这样的方法,所述方法还包括维护与所述第一设备的第一对等使用者相关联的多个联系方列表,所述多个联系方列表被保持在对应的多个数据库中,每个数据库包括对应的联系方列表。
其他实施方案涉及这样的方法,其中所述多个数据库耦合到多个服务器。
其他实施方案涉及这样的方法,所述方法还包括将所述第一设备的连接请求重新引导到被调适为用于处理所述第一设备和所述设备之间的通信的多个服务器之一。
其他实施方案涉及这样的方法,所述方法还包括通过至少一个耦合到与所述第一设备相关联的第一网络以及与所述第二设备相关联的第二网络两者的服务器重新引导在所述第一和第二设备之间交换的语音通信分组。
其他实施方案涉及这样的方法,其中所述至少一个服务器基于第一通信协议与所述第一网络通信,并且基于第二通信协议与所述第二网络通信。
其他实施方案涉及这样的方法,其中所述方法在第一移动通信设备和第二移动通信设备之间提供通信。
其他实施方案涉及用于在第一设备和第二设备之间建立通信的***,所述***包括:通信端口,所述通信端口被调适为从所述第一设备接收包括第一设备标识信息的联系方更新请求;数据储存单元,所述数据储存单元储存与所述第一设备标识信息相关联的联系方列表,所述联系方列表包括用于所述联系方列表中每个联系方的联系方标识符;耦合到所述通信端口并且耦合到所述数据储存单元的处理器,所述处理器经由所述通信端口接收所述联系方更新请求,并且通过经由所述通信端口将来自所述联系方列表的信息发送到所述第一设备来响应所述联系方更新请求;所述处理器还被调适为经由所述通信端口从所述第一设备接收连接请求,所述连接请求标识至少一个联系方标识符;所述处理器还被调适为将所述联系方标识符与所述第二设备的地址相关联;以及所述处理器还被调适为使用所述第二设备的所述地址来在所述第一设备和所述第二设备之间建立通信。
其他实施方案涉及这样的***,其中所述处理器被设置在服务器上,所述服务器被调适为在通信信道上与所述第一和第二设备通信。
其他实施方案涉及这样的***,其中所述处理器被设置在服务器上,所述服务器被调适为在第一通信信道上与所述第一设备通信并且在第二通信信道上与所述第二设备通信。
其他实施方案涉及这样的***,其中所述第一通信信道包括移动网络,并且所述第二通信信道包括基于IP的语音(VoIP)网络。
其他实施方案涉及这样的***,所述***还包括被调适为与所述第二设备通信的第二通信端口。
其他实施方案涉及这样的***,其中所述处理器包括运行第一过程的服务器,所述第一过程使用第一通信协议与所述第一设备通信,并且使用第二通信协议与所述第二设备通信。
其他实施方案涉及这样的***,其中所述处理器被调适为用于在所述第一设备、所述第二设备和第三设备之间建立通信。
其他实施方案涉及这样的***,所述***还包括储存在所述数据储存设备中的数据结构,所述数据结构包括对应于所述联系方的信息,并且还包括对应于所述联系方的状态的信息。
其他实施方案涉及这样的***,其中所述状态包括在网络上的存在状态。
其他实施方案涉及这样的***,其中所述方法在第一移动通信设备和第二移动通信设备之间提供通信。
此外,其他实施方案涉及用于在耦合到移动网络的第一设备和耦合到数据网络的第二设备之间提供通信的***,所述***包括:至少通过使用移动通信协议的所述移动通信网络耦合到所述第一设备的第一服务器计算机;耦合到所述第一服务器计算机的第一数据储存装置,所述数据储存装置具有与所述第一设备相关联的联系方列表,所述联系方列表包括对应于多个联系方的信息,并且所述联系方列表对应于第一设备标识信息;至少通过数据网络耦合到所述第一服务器计算机的第二计算机;以及耦合到所述第二计算机的第二数据储存装置,所述数据储存装置具有储存于其上并且可用于在所述第一服务器计算机和所述第二计算机之间建立通信连接的数据;所述第二计算机还被配置为适于使用基于因特网协议的语音(VoIP)通信来与第三计算机通信。
其他实施方案涉及用于在耦合到移动电话网络的第一移动电话设备和耦合到数据网络的第二通信设备之间建立通信的信令***,所述信令***包括:用于在所述第一移动电话设备和服务器之间信令通信的第一通信装置;耦合到所述服务器的数据储存和检索装置,用于储存和维护与所述第一移动电话设备相关联的多个联系方的服务器联系方列表;移动联系方列表,所述移动联系方列表与所述服务器联系方列表相关连,并且指示所述服务器联系方列表中的状态信息,所述移动联系方列表是所述第一移动电话设备可访问的,以向所述服务器提供从所述移动联系方列表中选择的一个或更多个联系方;以及用于根据所述服务器处的地址关连在所述第二通信设备和所述服务器之间信令通信的第二通信装置,所述地址关连将在所述移动电话网络上接收的所述选择的一个或更多个联系方与所述第二通信设备的对应数据网络地址相关连。
其他实施方案涉及用于在网络上通信的装置,所述装置包括:用于在所述装置上的储存联系方列表的数据储存组件;允许从所述储存的联系方列表感知联系方的状态的显示器;允许输入选择以从所述储存的联系方列表至少选择所述联系方的选择器;以及发射器,所述发射器在所述网络上发射来自所述装置的通信请求信号,所述通信请求信号包括对应于至少以下项的信息:所述装置呼叫方标识码的标识,以及用于所述联系方的标识,所述用于所述联系方的标识包括用于与所述联系方相关联的目的地的直接拨入(DID)码。
其他实施方案涉及这样的装置,其中所述装置包括在无线蜂窝通信网络上通信的移动设备。
其他实施方案涉及这样的装置,其中所述显示器包括提供对来自所述联系方列表的多个联系方的视觉显示并且允许感知所述联系方的存在状态的屏幕。
其他实施方案涉及这样的装置,其中所述选择器包括被构造为从使用者接收输入以从所述储存的联系方列表选择所述联系方的硬件使用者接口部件。
其他实施方案涉及这样的装置,所述装置还包括允许在所述网络上从服务器接收联系方列表信息的接收器。
其他实施方案涉及这样的装置,其中所述联系方的所述状态包括所述联系方用于通信的可用性状态。
其他实施方案涉及这样的装置,其中所述联系方的所述状态包括所述联系方指示所述联系方是否可以被呼叫的允许状态集。
其他实施方案涉及这样的装置,其中所述发射器包括数字发射特征,所述发射特征发射包括以下项的数字信息:所述装置呼叫方标识码的标识,以及用于所述联系方的所述标识。
下面给出本发明或多个发明所提供的各种特征和优点,以及用于实现本发明的优选***和方法。
具体实施方式
本文描述的方法和装置总地涉及在耦合到通信网络的多个通信设备之间建立语音通信,并且由此涉及使呼叫方(发起呼叫者)和被叫方(呼叫方所发起的呼叫的对象)相关联。
多种通信网络(例如VoIP、PSTN和无线网络)的使用者采用多种通信设备来与它们的联系方进行通信。例如,支持VoIP的计算机是访问VoIP网络上的联系方所必需的,而移动或蜂窝电话被用来访问无线和PSTN网络上的联系方。在一些情况下,储存在一个通信设备上的联系方列表不可以从另一个通信设备访问。例如,通常不可以从PSTN或无线电话设备访问被储存在支持VoIP的计算机中、指示哪些联系方在线而哪些不在线(例如存在状态)的活跃(live)或活动(active)或动态联系方列表。本文描述的各个实施方案提供可以整合储存在不同通信设备上的联系方并且使所述联系方从单个设备可访问的方便解决方案。
图2根据本文公开的一个或更多个实施方案图示用于在两个使用者(可以是人)U1和U2之间建立和实施通信的***。处于无线通信中的使用者U1拥有或操作的第一设备D1具有在无线通信频率或信道(例如在蜂窝网络中使用的那些)上的无线接入点WAX。无线接入点WAX包括天线以及接收机/发射机硬件和软件,以使得能够将信息发送到无线设备D1以及从无线设备D1接收信息。无线接入点WAX耦合到基站BS,所述基站包括处理器和通信端口,以进行处理以及与无线接入点WAX和耦合到基站BS的一个或更多个网络上的一个或更多个点的数据交换。因此,基站BS可以被视为计算机装置或网络装置或通信装置或服务器,并且对此以及对耦合到本文描述的各种网络的其他组件的命名不限于或并非特定为排除提供相同或等同功能性的组件的其他形式。
基站BS耦合到服务器SVR,所述服务器SVR可以为具有处理器和耦合到其的储存介质的专用通信服务器。基站BS和服务器SVR互相直接或间接耦合,并且被配置为在诸如通用分组无线***(GPRS)或其他数字通信信道的适当信道上交换数据。
基站BS还耦合到介质网关MGW,例如SIP介质网关。基站BS和介质网关MGW被设置和配置为基于电路交换(CS)或SS7协议交换信息。在一些实施方案中介质网关MGW可以为SIP介质网关。
此外,介质网关MGW和服务器SVR互相直接耦合或通过附图中未示出的其他网络组件耦合,从而它们可以使用时域复用(TDM)或IP或另一适当或等同的协议进行通信。
服务器SVR基于IP或类似的或其他合适的协议耦合到第二设备D2。服务器SVR和第二设备D2通常可以基于因特网连接的一个或更多个支路、其他中间路由器、网关(gate)、服务器以及在附图中未示出的可以居于服务器SVR和第二设备D2之间的联网组件相耦合。使用者U2拥有和/或操作第二设备D2。
通过如图2所覆盖的示例性实施方案中所示那样设置和配置的***或者那些在功能上等同于该***的***,可以在设备D1和D2以及它们的使用者U1和U2之间建立并维持通信。这样的通信可以由任一方发起。这样的通信可以基本上是基本上实时进行的基于语音(语言)的通信或与其近似的通信,从而在使用者U1和U2之间的“现场(live)”对话是可能的。语言和语音通信***的其他功能(例如发语音消息、转发、语言识别、归档等等)有可能使用该***和基于该***的具有辅助和补充组件的***,并非所有所述组件在附图中示出,但是一旦理解了本***和其所使用的方法,本领域技术人员可以理解和调适所述组件。
在一个或更多个实施方案中,使用者U1向使用者U2发起语音通信“呼叫”。因此在该场景中,使用者U1为“呼叫方”而使用者U2为“被叫方”。该序列以第一设备D1处的动作开始。该动作可以为对设备D1的特征(例如按钮、旋钮、开关、触摸板或触摸屏的区域,或者软件特征)的驱动(actuation)。该动作还可以包括作用于设备D1的语音驱动或其他类型的驱动,例如设备D1上软件和/或硬件命令的语音识别驱动。
已经被使用者U1作用并且与无线接入点WAX无线通信的设备D1适于在横跨连接D1和WAX的无线连接上交换信号和数据。在网格化的(gridded)蜂窝***中,设备D1可以是配备有GPRS能力的蜂窝电话,并且当所述设备在所述网格的小区(cell)之间被转移或切换(handoff)时,所述设备可以从一个无线接入点跳跃(hop)到另一个无线接入点。
随后设备D1和/或使用者U1在设备D1和服务器SVR之间的通信通道或网络的部分上“登录(log on)”到服务器SVR。该过程一般为本领域技术人员所已知,并且包括许多认证步骤中的任何步骤,从而服务器SVR可以以可接受的确定度来确定设备D1和/或其使用者U1的身份。这可以包括认证序列,设备D1和/或使用者U1可以通过所述认证序列向服务器SVR提供使用者姓名或密码。同样地,设备D1的身份可以通过序列号或标识处理器的其他编码硬件和/或软件策略、密钥或者设备D1上的软件或其他令牌传输。服务器SVR可以直接在查找表上从设备D1/使用者U1查找认证登录信息,或者可以使用认证服务器或者服务器SVR上的或者耦合到服务器SVR或者服务器SVR可访问的客户软件来查找。
设备D1和服务器SVR之间的通信可以通过设备D1拨打(电话呼叫)预定的电话号码来实现,所述电话呼叫在介质网关MGW处由被编程为将该通信递送或路由或桥接到服务器SVR的过程进行应答。这可以被归纳为与此处描述的模式不同的模式,以包括预定电话号码以外的标识码。
服务器SVR还可以从设备D1接收要求属于设备D1或使用者U1的最新(up-to-date)联系方列表的请求。即,如在该文献中其他地方所描述的,可以在服务器SVR上保留或者使服务器SVR可访问与使用者U1或设备D1相关联的联系方列表,所述列表可以随时间变化,并且是可编辑和可更新的。设备D1可以在每次登录时请求该联系方列表,或者可以由设备D1周期性地请求或“拉回(pull)”,或者由来自使用者U1的显式请求动作来请求。可替换地,该联系方列表可以在设备D1或使用者U1还未曾请求或拉回该联系方列表的情况下由服务器SVR推送(push)到设备D1。一旦登录和认证了,联系方列表或来自联系方列表的信息就留给设备D1,所述信息标识至少一个联系方以及与该联系方的属性相关的联系方信息。该联系方信息可以例如是姓名、电话号码、地址、网络标识符或其他信息,并且所述联系方可以是人、个体或者具有共同关联性的一组人。
在一个或更多个实施方案中,从服务器SVR提供给设备D1的联系方列表反映出目前的或近似目前的状态,例如网络存在状态(network presence state)。因此,例如如果在服务器SVR上U1的联系方列表中使用者U1有几个联系方或“好友(buddy)”,则在作为联系方列表信息的部分递送到设备D1的信息中,可以更新和指示反映每个联系方当前是否连接到网络的连接状态。具有ON/OFF(登录/注销)标记或数字的特殊字段可以例如指示联系方列表中的每个联系方当前是否登录到它们的网络并且U1因此是否有可能可联络它们。如果一联系方是从网络注销的,或者他或她的设备D2是未连接的,则这可以指示使用者U1可能不能够向该联系方发起呼叫。在一些特定实施方案中,例如通过使未连接到通信网络的其他联系方的标识符在设备D1上的联系方显示中“灰隐(gray out)”来防止使用者U1试图呼叫所述联系方。设备D1向服务器SVR表明其身份的一种方式是向服务器SVR提供指示呼叫源(D1)的呼叫方ID。
为了向另一方或联系方建立呼叫,呼叫方(U1)从在设备D1上的联系方列表或其对应信息选择一个或更多个被叫方。使用者U1可以使用按钮、滚轮、触摸屏、触摸板、语音识别电路和软件或其他方式来滚动或引导(navigate)在设备D1上的联系方列表。随后使用者U1可以从显示在设备D1上的他或她的联系方列表中选择所选的一个或更多个被叫方。所选择的联系方通常是呈字母数字(alphanumeric)码形式而非***数字,所述字母数字形式为用于该联系方的姓名或缩写或句柄(handle)。呼叫方U1通常不知道被叫方U2的网络地址。相反,呼叫方U1将被叫方U2的姓名(例如“史密斯先生”)递送到网络和服务器SVR。网络上的服务器SVR随后使用查找表、算法、码或其他实现相同或等同功能的转换或数据库操作来使用于被叫方U2的字母数字码与U2的网络地址相关。
一旦已经在服务器SVR处建立起关联以标识被叫方U2的网络地址,则服务器SVR可以桥接设备D1和设备D2之间的呼叫。设备D2通常是支持基于IP的语音(VoIP)的计算机或在功能上类似的设备。在该情况下,服务器SVR和第二设备D2之间的通信是基于IP协议的,并且通常是在因特网上进行的。对于使用因特网的通信,一个或更多个中间网关、路由器、网桥可以操纵和处理流向VoIP第二设备D2或由VoIP第二设备D2流出的通信分组(packet)和数据。
注意,在一设备或组件被要求使用多于一种类型的协议与多于一种类型的设备进行通信的情况下,所述设备或组件可能需要建立多于一个过程或端口,每个端口操纵与所述多于一种的协议或端口中的一个的通信。因此,例如在附图中所示出的服务器和网关SVR和MGW的情况下,这些设备至少与IP端口和协议通信,并且与电话(CS/SS7,GPRS/数字)端口和协议通信。这方面取决于所采用的组件和一个或多个网络的构造和设置,而并非意图是对***性质的一般的完全描述。
因为服务器SVR通常具有关于通信的端点(end point)的信息,所以有可能使用服务器SVR来实现TDM-到-IP或者IP-到-IP或者桥接两个或更多个通信端口即相关联协议的其他通信。允许在附图的***的一个或更多个组件上运行的客户软件可以被用来完成设备D1和D2之间的通信连接的建立。
现在参照图3,图示另一个示例性实施方案,所述实施方案允许使用设备D1的呼叫方和使用设备D2的被叫方之间的通信。
在用于认证设备和使用者的组件、网络和协议的性质方面,以及在向所述设备提供并维护联系方列表(“好友列表”)、存在状态信息或网络存在状态信息方面,图3的***以基本上类似于图2的方式进行工作。然而,在图3所示的实施方案中,不是通过服务器SVR来桥接语音呼叫信息的,而是通过介质网关MGW来发送所述语音呼叫信息(语言数据)。
图3中的服务器SVR仍旧查找或检索(retrieve)用于从呼叫方设备所发送的字母数字(姓名)信息确定网络地址的联系方列表。然而,在这里使服务器SVR从处理以及操纵语音通信信息的带宽开销中解放。相反,向服务器SVR通知呼叫方意图呼叫一指名的被叫方;服务器SVR随后确定适当的被叫方网络地址(例如IP地址),并且将该被叫方网络地址提供给介质网关MGW。之后,介质网关MGW使用接收的被叫方网络地址在设备D1和D2之间建立语音信道通信。
图4图示一个用于连接两个通信设备的***,使用与如下所描述的相同或类似的原理,所述***可以扩展到多于两个设备。所述设备可以被视为“对等体(peer)”,并且连接两个期望使用语音通信进行通信的使用者或用户。在该实施方案中,第一通信设备是调适为用于在PSTN网络上通信的电话,而第二通信设备是调适为用于使用基于IP协议的语音在数据网络上通信的计算机。
对等通信设备意图要联络任何或所有类型的设备和装置,所述设备和装置被构造为根据本文所描述的方法和***提供通信,并且希望存在可以用作这种通信的基础的各种通信架构和协议。例如,一种类型的对等设备是电话。电话打算一般地包括发射和/或接收声学信息(例如语音会话信息)的有线和无线或移动或蜂窝或其他类型的设备。可以被调适用于当前概念的现代电话包括模拟和数字电话。电话可以通过双绞线连接或通过高速因特网连接或通过具有例如到所述电话的USB接口的计算机或适配器耦合到通信网络。所述连接还可以通过中间适配器、连接、服务器、网络中心(hub)或交换机和路由器建立。例如,蜂窝电话设备通过使用无线的无线电波信号从耦合到基站蜂窝网络的所述基站接收以及向所述基站发射信号来进行与网络的通信。
参照图4,第一对等电话150在PSTN(网络)140上连接到服务器110,并且建立与支持VoIP的计算机160的通信。在PSTN 140上第一对等电话150和服务器之间的连接是如ITU-T组织所创建的各种标准所规定的那样进行的,所述标准例如包括规定电话号码寻址策略的E.163/E.164协议。连接的典型PSTN支路包括将(例如在8kHz)数字化的语音信号运载到第一对等电话150或从第一对等电话150运载,并且使用7号信令***(“SS7”)协议(有时被称为公共信道7号信令***)通过电话网络交换所述数字化信号。
图4中图示的设置允许第一对等电话设备150的电话使用者(例如移动电话使用者)登录进(或登录到)服务器110并被认证。第一对等电话150可以配备有惯常的数字小键盘(keypad),所述数字小键盘能够针对这样的目的在电话网络上递送字母数字字符或符号。例如,第一对等电话150的使用者输入可以被服务器110验证或认证的使用者姓名和/或密码,所述服务器110将输入的第一对等电话150的认证或标识信息与储存在服务器110上或储存在其相关联的数据库或查找表中的用于已知用户的标识信息集进行比较。同样地,服务器110可以识别所储存的与第一对等电话150相关联的硬件和/或软件码或标识信息,例如向服务器110标识第一对等电话150的呼叫方ID、用于移动电话的用户身份模块(“SIM”)卡、电话硬件的处理器序列ID号或者软件或固件许可序列号。
一旦服务器110已经认证或识别了第一对等电话150的身份,服务器110准备好如在该整篇文献中描述的那样并且如将为本领域技术人员所理解的那样向第一对等电话150提供通信和相关服务。
服务器110的一个特征和服务是保持、更新、维护和向客户分发联系方列表信息。在其他情境(context)和通信应用中已知联系方列表为一种保持与一个或更多个联系方相关的信息列表或表的方式。联系方可以是使用者或用户有时想要与其通信的个体人或实体(entity)或机器,并且通过访问联系方列表来发现和使用与正在联系的一个或更多个联系方相关联的信息来进行所述通信。联系方列表一般包括多个项,所述项通常以诸如数据库的数据结构储存在诸如计算机存储器或磁带或光学介质的储存装置中。联系方以及与联系方相关联的联系方信息可以按需被访问、删除、编辑、创建或搜索。
联系方信息可以包括组织的数据结构,所述数据结构具有与联系方列表中每个实体或人(联系方)相关联的项。所述项可以包括诸如联系方姓名、电话号码、住宅或工作邮政地址的联系方信息,并且在本情境下具体地可以包括一个或更多个标识该联系方可以被联络的网络位置的网络地址。在本情境下更具体地,所述网络地址可以唯一地标识所述联系方。即,一联系方可以与一网络地址相关联而没有其他实体或机器与该网络地址相关联。可替换地,联系方可以是与一组个体、实体或机器联系的快捷方式(shortcut),从而与这样的联系方建立通信导致该通信发布到所述组的每个可用成员。可替换地,联系方可以具有网络地址,所述网络地址是准唯一的(pseudo-unique),并且可以指示任何耦合到与该网络地址相关联的终端连接的通信设备。有时,用于端接通信连接的方法随在具体的通信信道中采用的硬件和协议的性质而不同。
服务器110的另一项功能或服务可以是便利两个对等设备之间的通信链路的建立或维持和管理所述通信链路。例如,服务器110可以建立桥接PSTN 140和数据网络120的通信。在一些实施方案中,这是在服务器110处的两个通信接口上进行的,一个端口用于使用第一与PSTN兼容的通信协议(例如SS7)与PSTN 140交换信息,而第二端口用于使用第二与数据网络兼容的通信协议(例如TCP)与数据网络120交换信息(有时为VoIP通信)。
数据网络120可以例如是因特网,而第二与数据网络兼容的通信协议例如可以是因特网协议(IP)或相关协议。运行在处理器上并执行储存在服务器110上或耦合到服务器的计算机可读介质中的指令的客户或服务器软件可以实现在所述通信端口上的通信。可以使用硬件和/或软件来在第一(PSTN)网络140和第二(数据)网络120之间耦合通信信号和其中包括的信息。
根据一个或更多个实施方案,第一对等电话150从服务器110接收完整的或部分联系方列表或从所述联系方列表所得出的联系方信息。所述联系方信息以某种方式在第一对等电话150上被指示,这允许选择特定的一个或更多个联系方进行通信。例如,联系方信息可以被显示在第一对等电话150上的或耦合到第一对等电话150的显示屏或其他显示装置上。典型地,第一对等电话150的使用者可以看到或听到或以其他方式感知如第一对等电话150所显示的来自联系方列表的信息。随后该使用者可以使用诸如小键盘、鼠标、操纵杆、触摸屏、语音激活输入或其他输入设备的使用者接口来从所显示的列表中选择一个或更多个要与其建立通信的联系方。类似地,在第一对等电话150处接收的呼入通信(incoming communication)的情况下,使用者可以确定与该联系方列表相关联的呼叫方的身份。
一般地,可以认为相关连的呼叫方-被叫方联系方信息以服务器联系方列表被保持在服务器110上,并且以与之相关联的移动版本的联系方列表被保持在第一对等电话150上。
服务器110被设计和配置为识别来自第一对等电话150的连接请求信号。连接请求包括从服务器110上的联系方列表标识一个或更多个联系方的联系方标识符或信息。连接请求信号可以通过任何在服务器110和第一对等电话150之间建立的通信方式(例如在语音信道上传输的双音多频(“DTMF”)音,或带外DTMF音,或独立的数字通信通道,或连同如之后所描述的同步机制一起使用的通用分组无线服务(“GPRS”))从第一对等电话150发送到服务器110。该连接请求信号向运行在服务器110上的程序通知第一对等电话150的使用者想要建立与从联系方列表中选择的一个或多个联系方的通信。
服务器110还被设计和配置为通过查找针对在连接请求信号中指示的所选择的一个或多个联系方的地址来响应所述连接请求信号。在一些实施方案中所述地址为SIP地址,并且意图用于至少在服务器110和支持基于IP的语音(VoIP)的计算机160之间建立SIP通信。一旦服务器110和期望的支持VoIP的计算机160在数据网络120上被连接,则可以发生在第一对等电话150和支持VoIP的计算机160之间的通过服务器110的通信桥接。用于通过服务器110连接第一设备(第一对等电话150)和第二设备(支持VoIP的计算机160)的该***和方法一般被视为“直接”连接,但是可以理解在上述主要组件之间通常存在着几个中间硬件、软件和网络接口以如本文所讨论并且本领域技术人员所知道的那样在所述第一和第二设备之间建立实际通信连接。
根据图4,也可以使用另一用于连接第一和第二设备的***和方法,这一般被称为“间接”连接。在这些实施方案中,服务器110将第一对等电话150连接到第一对等计算机100。并且第一对等计算机100连接到支持VoIP的计算机160。因此,服务器110和第一对等计算机100两者均被用于建立第一对等电话150和支持VoIP的计算机160之间的通信。在这里,第一对等计算机100可以属于与第一对等电话150相同的实体或使用者,并且可以包含或者可以访问在第一和第二设备之间建立成功通信所需的码或数据。
在第一和第二设备之间建立通信的操作可以通过图5中概述的以下步骤实现。这些步骤并非必需如所示出的相同顺序进行,并且除了在一些实施方案中图示的那些步骤外可以进行额外的步骤,或者根据身边具体的实例所需,所图示的步骤中的一些可以被组合或删除。
在步骤601,第一对等计算机100的使用者将联系方(“好友”)列表从第一对等计算机100上传到服务器110。该联系方列表使联系方的标识信息(名、姓或使用者句柄)与该联系方的网络地址及地址码相链接。在一个实施方案中,联系方的访问码是指派给每个联系方的唯一的标识符。第一对等计算机100可以耦合到网络并且耦合到服务器110,并且实际上第一对等计算机100所进行的上传联系方列表的操作可以可替换地使用服务器110来实现。
在步骤602,第一对等电话150的使用者将联系方姓名和唯一地标识第一对等电话150的相关联访问码发送到服务器110,所述访问码例如预指派的会话ID,或者例如在不同的实施方案中的呼叫方-Id。
在步骤603,第一对等电话150的使用者在PSTN网络140上连接到服务器110。当建立起连接时,在一个实施方案中,服务器110向使用者提供拨号音或语音菜单。在另一个实施方案中,不传输声音,而是服务器110静默地等待DTMF音。在再一个实施方案中,既不提供语音菜单又不提供拨号音。
在步骤605,第一对等电话150的使用者向服务器110发送唯一地标识联系方的联系方访问码。在可替换的实施方案中,联系方访问码是通过分析标识第一对等电话150的呼叫方ID以及在步骤602中发送的联系方姓名来确定的。
在步骤607,服务器110确定它是否可以连接到由所述联系方访问码所标识的该支持VoIP的计算机。如果这样的通信是可能的,则进行步骤609。如果这样的通信是不可能的,则进行步骤611。
在步骤609,服务器110连接到支持VoIP的计算机160。
在步骤611,服务器110将包括联系方访问码的连接请求转发到第一对等计算机100。
在步骤613,第一对等计算机100连接到第一对等电话150。
在步骤615,第一对等计算机100基于接收的或者从服务器110确定的联系方访问码连接到支持VoIP的计算机160。
在步骤617,第一对等计算机100桥接支持VoIP的计算机160和第一对等电话150之间的连接。
第一对等电话150使用PSTN网络建立与服务器110的连接。在运行在第一对等电话150上的软件应用的帮助下,第一对等电话150的使用者选择特定的联系方,并且将该联系方信息发送到服务器110。
在一个实施方案中,服务器110能够与PSTN网络140的成员以及与数据网络120的成员通信。在该实施方案中,服务器110同时连接到两个设备(第一对等电话150和支持VoIP的计算机160)。一旦两个连接皆被建立,则服务器110将它们桥接在一起,由此在第一对等电话150和支持VoIP的计算机160之间创建通信信道。
在一个实施方案中,服务器110从第一对等电话150接收联系方访问码。服务器110通过使用第一对等电话150提供的呼叫方Id或登录信息来标识第一对等电话150的使用者。在一个实施方案中,服务器110使用该联系方访问码和使用者信息来从联系方列表数据库(或任何其他的记录保持***,例如文本文件或电子数据表(spread sheet))检索该联系方的记录。服务器110使用储存在该联系方记录中的支持VoIP的计算机160的网络地址来建立与该设备的通信。
在一个实施方案中,服务器110向第一对等计算机100通报第一对等电话150已经请求了与所述联系方访问码所标识的联系方的通信。在该实施方案中,服务器110还可以将联系方访问信息转发到第一对等计算机100。
在一个实施方案中,第一对等计算机100使用联系方地址信息来通过数据网络120建立与支持VoIP的计算机160的通信。在与支持VoIP的计算机160的通信被建立后,第一对等计算机100桥接支持VoIP的计算机160与第一对等电话150之间的连接。
本发明的一个方面允许使用者整合储存在不同设备上的多个联系方列表。一般地,联系方列表将联系方信息(联系方姓名、别名等)与联系方的网络地址相关联。例如,储存在蜂窝电话上的联系方列表可以将联系方乔史密斯(Joe Smith)与电话号码617-123-1234相关联。类似地,储存在VoIP设备中的联系方列表可以将联系方“史密斯”与因特网协议地址“66.249.64.15”相关联。
VoIP、PSTN和无线设备的使用者一般在每个通信设备上维护一单独的联系方列表。储存在一个设备上的联系方列表有时不能从另一个设备访问。例如,储存在支持VoIP的计算机上的联系方列表不是无线电话的使用者可访问的。类似地,储存在一个支持VoIP的计算机160上的联系方列表通常从另一支持VoIP的计算机不可访问的。在一个实施方案中,来自多个设备的联系方列表可以被组合到具有以下字段的数据库表中:USER_ID,CONTACT_ID,CONTACT_NAME,CONTACT_ADDRESS和NETWORK_ID。
以实施例的方式,USER_ID字段唯一地标识每个联系方记录所属的使用者。因此USER_ID 1可以与CONTACT_ID 1和CONTACT_ID 2相关联。类似地,USER_ID 2可以与CONTACT ID 3和CONTACT_ID 4相关联。
CONTACT_ID唯一地标识每个联系方记录。CONTACT_NAME储存使用者可以识别的联系方的姓和名信息。在其他实施方案中,该信息可以被储存在例如CONTACT_FIRST_NAME、CONTACT_LAST_NAME等的多个字段中。
CONTACT_ADDRESS储存联系方的网络地址。例如,CONTACT_ID 1可以与例如204.167.72.87的CONTACT_ADDRESS相关联。类似地,CONTACT_ID 2可以与例如204.167.72.88的CONTACT_ADDRESS相关联。
在一个实施方案中,CONTACT_ADDRESS的格式对于每个网络是不同的。例如,PSTN网络的成员通过3个数字的国家码+3个数字的城市区域码+7个数字的电话号码来标识。VoIP网络的成员是通过12个数字的IP地址、使用者的电子邮件或VoIP服务提供商指派给支持VoIP的计算机的特殊码标识的。
NETWORK_ID信息唯一地标识联系方所位于的物理或虚拟网络。一般来说,物理网络是基于有线或无线电信号互相通信的设备的集合。物理网络的实施例是PSTN网络或无线网络。虚拟网络是受成员规则或协议规则限制的互连设备组成的网络。在一个实施方案中,基于NETWORK_ID,服务器110确定与联系方通信的恰当方式。
随后服务器110可以负责命令第一对等电话处于与目的地进行最佳通信的模式中。在另一个实施方案中,服务器110将该信息(例如NETWORK_ID)提供给第一对等电话150,在所述第一对等电话150处做出有指导的(supervised)决定。例如,服务器110可以提供三个选项:“用蜂窝电话呼叫Joe”,“使用VoIP呼叫Joe”,或者“在有线线路上呼叫Joe”。第一对等电话150上的软件询问第一对等电话150的使用者以确定使用哪种机制来呼叫Joe。
现在参照图6。在初始建立期间,第一对等计算机250的使用者从第一对等计算机250上传联系方列表(“好友”)。第一对等计算机250可以与服务器280相同,这两者仅在逻辑上是分离的,并且第一对等计算机250可以驻留在服务器280旁的数据网络上。可替换地,它可能在物理上和地理上对于服务器280来说是远程的。结果,服务器280上的联系方地址数据库(“好友地图”)210被更新以反映唯一的USER_ID所标识的一特定使用者曾上传了联系方列表,其中每个联系方由CONTACT_ID标识,每个CONTACT_ID与CONTACT_ADDRESS信息相关联,并且每个CONTACT_ADDRESS信息与特定的NETWORK_ID相关联。
在一个实施方案中,第一对等计算机250运行好友上传器200软件应用。该好友上传器200可以访问联系方(“好友”)列表。该列表包括联系方人口统计学信息,例如姓和名、年龄、邮寄地址等等。该列表还包括可以联络该联系方的网络地址。取决于网络,该地址可以为电话号码、IP地址、电子邮件、别名等形式。该地址还可以与联系方所位于的特定的通信网络相关联。
在另一个实施方案中,好友上传器200从具体通信应用引入(import)联系方列表。例如,好友上传器200可以使用软件接口来从各种商业上可获得的语音通信应用取回“好友”列表。
好友上传器200将联系方列表发送到服务器280。联系方信息可以通过“推送”或“拉回”通信技术来转移。例如,如果使用“推送”通信技术,则好友上传器200建立与服务器280的连接,并且将联系方列表转移到服务器280。如果使用“拉回”通信技术,则服务器280负责与第一对等计算机250联系,并且从第一对等计算机250取回联系方列表。
联系方列表的更新,包括第一对等电话通过服务器从数据库取回联系方列表的操作,是以周期性方式进行的。该周期,即每隔多久发生更新,优选是由服务器确定的。因此,在一个实施方案中,第一对等电话在登录后立刻请求联系方列表,服务器将该联系方列表和REFRESH RATE一起返回给第一对等电话,所述REFRESH RATE指明第一对等电话接下来应该在何时请求好友列表。在该方式下,服务器可以指明下一次刷新应该以不同于之前的刷新间隔的周期发生。
第一对等计算机250还具有交换功能性240,在一个实施方案中,所述交换功能性240将来自呼入呼叫的信号转发到支持VoIP的计算机260。该交换功能性桥接向内的(inbound)呼叫方(在附图中未示出)和支持VoIP的计算机260之间的通信。在一个实施方案中,所述交换功能性是使用两种不同的通信接口实现的。第一接口负责接收呼入连接,其将呼叫方连接到第一对等计算机250。第二接口负责建立呼出连接,其将第一对等计算机250连接到支持VoIP的计算机260。在两种连接均被建立后,交换功能性240桥接这两者之间的链接。
图6还示出服务器280。在该实施方案中,服务器280包括好友地图210、网关230和登记器(registrar)220。好友地图210储存从第一对等计算机250接收的联系方信息。所述好友地图210初始是由第一对等计算机250填充(populate)的。在一个实施方案中,好友地图210可以由多个使用者更新。
在一个实施方案中,网关230将从第一对等计算机250接收的信号转发到支持VoIP的计算机260。当网关230从第一对等计算机250接收到呼叫时,在一个实施方案中,网关230对呼叫方进行认证。该认证可以通过检测第一对等计算机250的呼叫方ID来自动地进行。这还可以通过请求第一对等计算机250提供登录和密码信息来手动地进行。以这种方式,通过基于如可获得的呼叫方和被叫方信息将呼叫引导到它们的适当的目的地,网关230可以充当负载平衡和呼叫发布解决方案。
在另一个实施方案中,网关230确定它是否可以基于储存在登记器220中的信息建立与支持VoIP的计算机260的连接。在一个实施方案中,该信息包括目前可以接受电话呼叫的联系方列表。可以基于来自支持VoIP的计算机260的请求更新登记器220的信息。
图7示出包括连接到无线网络320的远程蜂窝电话300的***。无线网络320连接到了PSTN网络325。PSTN网络325使用语音网关340连接到了数据网络350。无线网络320使用数据网关330连接到了数据网络350。在一个实施方案中,数据网络350还将服务器310与子服务器315和支持VoIP的计算机360相连接。
在一个实施方案中,驻留在无线网络320上的设备可以通过使用两种不同的网关——数据网关330和语音网关340——访问驻留在数据网络350上的设备。
数据网关330提供快速而安全的方式来在远程蜂窝电话300和服务器310之间转移信息。例如,远程蜂窝电话300使用数据网关330来将使用者登录信息发送到服务器310。在一个实施方案中,服务器310通过将接收的使用者信息与被授权访问服务器310的使用者列表进行匹配来认证该使用者。如果认证成功,则服务器310将与该使用者相关联的联系方列表发送到远程蜂窝电话300。远程蜂窝电话300向使用者显示联系方列表,并且该使用者选择该使用者想要呼叫的特定联系方。
在一个实施方案中,语音网关340被远程蜂窝电话300用于在PSTN网络325将连接请求和选择的联系方信息传输到服务器310。服务器310可以以拨号音或菜单(例如在交互式语音响应***(IVR)领域中已知的)响应所述连接请求。
在一个实施方案中,服务器310将所接收的选择的联系方信息映射到相关联的支持VoIP的计算机360的地址,并且确定该支持VoIP的计算机360从服务器310是否是可访问的。如果是,则服务器310连接到支持VoIP的计算机360,并且桥接支持VoIP的计算机360和远程蜂窝电话300之间的连接。
在一个实施方案中,服务器310将连接管理服务委派给子服务器315。服务器310将通信请求和所选择的联系方信息转发到子服务器315。在一个实施方案中,子服务器是基于目的地联系方信息选择的。例如,使用一个子服务器来与驻留在一个地理区域的目的地联系方联系,而使用另一个子服务器来与驻留在另一个地理区域的目的地联系方联系。
在一个或更多个实施方案中,来自远程蜂窝电话300的通信请求由会话ID(SessionID)信息唯一地标识。会话ID信息标识特定使用者的特定连接请求。如果同一通信设备多次连接到服务器310,则为每次连接生成不同的会话ID。在一些实施方案中,连接请求可以通过会话ID和USER_ID信息的组合来标识。
在其他实施方案中,远程蜂窝电话300向服务器310传输相关连串(correlate string),所述相关连串包括选择的联系方和会话信息。在一个实施方案中,所选择的联系方信息是由该选择的联系方的唯一的标识符代表的。在一个实施方案中,可以使用数据网关330从服务器310取回会话信息。在其他实施方案中,会话信息可以在远程蜂窝电话300上生成。
图8根据一个或更多个示例性实施方案示出用于使用图7中示出的***的方法。
在步骤701,使用者通过数据网关330将登录信息从远程蜂窝电话300发送到服务器310。
在步骤703,服务器310重新引导到子服务器315。在步骤704,子服务器315向远程蜂窝电话300提供会话ID。
在步骤705,子服务器315将包括与每个联系方相关联的唯一联系方Id的联系方列表连同会话ID和刷新率发送到远程蜂窝电话300。
在可选步骤706,远程蜂窝电话如子服务器315返回的“刷新率”中所指明的那样进行对联系方列表的周期性刷新。
在步骤707,联系方列表被呈递给远程蜂窝电话300的使用者。远程蜂窝电话300的使用者使用该电话的按钮并选择联系方以进行呼叫。
在步骤709,运行在远程蜂窝电话300上的软件创建一字符串,所述字符串包括从服务器310接收的会话ID和使用者所选择的联系方的唯一的联系方Id。
在步骤711,远程蜂窝电话300连接到数据网关340,所述数据网关340将相关连串传递到子服务器315。
在步骤713,子服务器315接收相关连串,并且提取会话ID和唯一的联系方ID信息。
在步骤715,子服务器315使用唯一的联系方ID(CONTACT_ID)及会话ID来确定该使用者正试图联络的联系方的网络地址。
在步骤716,远程蜂窝电话300创建到子服务器的语音信道,并且子服务器315连接到所述联系方。
图9图示本发明的另一个示例性实施方案,该实施方案采用能够在两个或更多个网络之间交换和路由通信业务的个人交换路由器405。例如,个人交换路由器406可以将从远程蜂窝电话410接收的信号交换到连接到本地网络的电话,例如蓝牙电话406。
从远程蜂窝电话410到蓝牙电话406的连接是基于从远程蜂窝电话410传输到个人交换服务器495的短码建立的。在一个实施方案中,个人交换服务器495将该信号转发到使用交互式语音响应(IVR)***来标识与蓝牙电话406相关联的短码的个人交换路由器。
图10根据一个或更多个示例性实施方案示出用于使用图9中所示***的一个实施方案的方法。
在步骤801,使用者在第一个人计算机400上安装个人交换路由器405软件。
在步骤803,使用者采用远程设备(例如远程蜂窝电话410)来向个人交换服务器495发送一触发。
在步骤805,个人交换路由器405检测到远程蜂窝电话410发送到个人交换服务器495的所述触发。
在步骤807,个人交换路由器405发起与所述短码所标识的目的地设备(蓝牙电话406)的通信。
在步骤809,个人交换路由器405确定该呼叫的目标是否是第一个人计算机400。
在步骤811,从远程蜂窝电话410接收的数字音频信号被转换为模拟信号并且使用音频输出设备被输出。
在步骤813,所述信号被转发到蓝牙电话406。
图11示出第一个人计算机500的一个实施方案,所述第一个人计算机运行个人交换路由器应用(505),并且还处理所述音频信号。在一个实施方案,所述音频信号是在音频总线520、音频滤波器518、声卡514和USB音频设备516的帮助下被处理的。
在一个实施方案中,个人交换路由器505可以同时与多个语音网络通信。例如,它可以将USB电话连接到一个或更多个电话应用。
在一个实施方案中,第一个人计算机500使用音频总线520来桥接第一电话应用510和第二电话应用512之间的语音连接。该功能性可以例如使用图12中概述的步骤来实现。
图12根据一个或更多个示例性实施方案提供用于在第一个人计算机500处中继音频数据的方法的实施例。
在步骤850,第一电话应用510建立第一电话连接。
在步骤852,个人交换路由器505通过第二电话应用512发起第二电话连接。
在步骤854,个人交换路由器505配置虚拟音频设备,例如音频总线520。
在步骤856和858,个人交换路由器505使用音频总线来将音频信号从第一电话应用510转发到第二电话应用512。
在步骤860,人个交换路由器505保持监控两个电话连接。
在步骤862,当两个连接中的一个终止时,个人交换路由器505重设(reset)该呼叫路由。
在一个实施方案中,个人交换路由器505还支持会议呼叫功能性。会议呼叫可以例如通过图13中所概述的以下步骤来建立。
图14示出本发明的另一个方面。服务器950连接到数据网络952。数据网络950连接到路由器调制解调器954。路由器调制解调器954连接到本地网络956。本地网络956还连接到本地PBX 958和本地计算机960。在一个实施方案中,本地网络956代表住宅无线网络。本地计算机960运行通过本地网络956与运行在本地PBX 958上的软件应用进行通信的软件应用。
在一个实施方案中,本地PBX 958为一个或更多个语音网络提供端接点,由此使得本地PBX 958可用于与每个网络的通信。在本发明的一个方面,为本地PBX 958提供网络标识符(例如电话号码)。网络的其他成员可以通过使用该电话号码访问本地网络956。
可以为本地PBX 958提供授权电话号码集。可以为每个号码指派特权集,例如访问语音邮件、访问特定网络或访问本地PBX 958所提供的任何其他服务。
本地PBX 958使用具体的通信网络转发可访问本地PBX 958的语音通信设备发起的呼叫。在一个实施方案中,对网络的选择基于目标电话号码的区域码。例如,到以617开始的电话号码的电话呼叫是使用第一网络发起的,而到以718开始的电话号码的电话呼叫是使用第二网络发起的。
图15根据一个或更多个示例性实施方案图示使用本地PBX 958的一个实施例。
在步骤980,本地PBX 958例如通过向语音通信服务提供商通报本地PBX 958准备好接受呼叫来在多个语音网络上建立起存在性。
在步骤982,使用者通过使用瘦客户应用(thin-client application)(未示出)连接到本地PBX 985。在一个实施方案中,瘦客户应用为一接受使用者命令并在本地网络956上将它们发送到本地PBX 958的使用者接口。例如,瘦客户应用可以使用HTML浏览器实现。HTML浏览器接受使用者的命令,并且将它们转发到本地PBX 958。
在步骤984,本地PBX 958从单个点(例如运行在本地计算机960上的瘦客户***)接收通信信号。在一个实施方案中,基于该通信请求,它向所有通信网络通报一使用者可用于接受呼叫。
本文描述的各种实施方案提供以下能力中的一项或更多项,所述能力是出于图示说明性的目的来讨论而非限定性的,但是可以为本领域技术人员所理解。
在回顾了附图、详细的说明书和权利要求书后将更完全地理解本发明的这些和其他能力以及本发明本身。
所述实现是示例性的,而非本发明的限制,因为根据该公开的其他实现是可能的。
在操作中,参照图5,用于使用本文描述的***来关连呼叫方和被叫方的过程包括所示出的阶段。然而,该过程仅仅是示例性的而非限制性的。可以例如通过增加、移除或重新安排多个阶段来更改图5中的过程。
在操作中,参照图10,用于使用本文描述的***来关连呼叫方和被叫方的过程包括所示出的阶段。然而,该过程仅仅是示例性的而非限制性的。可以例如通过增加、移除或重新安排多个阶段来更改图10中的过程。
在操作中,参照图12,用于使用本文描述的***来关连呼叫方和被叫方的过程包括所示出的阶段。然而,该过程仅仅是示例性的而非限制性的。可以例如通过增加、移除或重新安排多个阶段来更改图12中的过程。
在操作中,参照图13,用于使用本文描述的***来关连呼叫方和被叫方的过程包括所示出的阶段。然而,该过程仅仅是示例性的而非限制性的。可以例如通过增加、移除或重新安排多个阶段来更改图13中的过程。
在操作中,参照图15,用于使用本文描述的***来关连呼叫方和被叫方的过程包括所示出的阶段。然而,该过程仅仅是示例性的而非限制性的。可以例如通过增加、移除或重新安排多个阶段来更改图15中的过程。
在上面的一些实施方案中,可以使用字母数字码来标识呼叫方或被叫方中的一个或更多个。该字母数字码可以为ASCII字符集中任意字符或ASCII字符集中多个字符的组合。所述字母数字码可以被限制为字母字符“A”到“Z”或其子集以及多个字母字符。在其他实施方案中,所述字母数字码可以包括选自字母范围“A”到“Z”以及整数“0”到“9”的数字范围的多个字符。
在其他实施方案中,可以使用第三(或第四)服务器来分发地址或状态存在信息。例如包括动态IP或网络联系方信息或包括动态存在状态信息的服务器可以被用来向其他服务器或设备提供这样的信息。
同样,除了移动(电话)设备和计算机设备之间的通信外,本***和方法应用于两个移动设备(例如两个蜂窝电话)之间的通信。
所述状态信息包括网络存在性(可用性),并且可以指示与一存在并连接的设备进行通信的实际可能性,以及设备使用者从允许状态集所得到的状态信息。允许状态可以指示使用者是否期望被连接或通信,并且可以依赖于呼叫方的身份。
其他实施方案落入本发明的范围和精神。例如,由于软件的本质,上面所描述的功能可以使用软件、硬件、固件、硬连线或这些的任意组合来实现。在物理上实现功能的特征可以位于不同位置,包括是分布式的,从而功能的多个部分可以在不同物理位置处实现。