CN102239676B - 在对VoIP呼叫路由信息的匿名核实中使用PSTN可达性 - Google Patents

在对VoIP呼叫路由信息的匿名核实中使用PSTN可达性 Download PDF

Info

Publication number
CN102239676B
CN102239676B CN201080001976.0A CN201080001976A CN102239676B CN 102239676 B CN102239676 B CN 102239676B CN 201080001976 A CN201080001976 A CN 201080001976A CN 102239676 B CN102239676 B CN 102239676B
Authority
CN
China
Prior art keywords
pstn
call
node
telephone number
calling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201080001976.0A
Other languages
English (en)
Other versions
CN102239676A (zh
Inventor
乔纳森·D·洛瑟博格
卡伦·F·詹宁斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN102239676A publication Critical patent/CN102239676A/zh
Application granted granted Critical
Publication of CN102239676B publication Critical patent/CN102239676B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • H04M7/0078Security; Fraud detection; Fraud prevention
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1023Media gateways
    • H04L65/103Media gateways in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1033Signalling gateways
    • H04L65/1036Signalling gateways at the edge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1033Signalling gateways
    • H04L65/104Signalling gateways in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1046Call controllers; Call servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1053IP private branch exchange [PBX] functionality entities or arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/523Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
    • H04M3/5232Call distribution algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/0024Services and arrangements where telephone services are combined with data services
    • H04M7/0057Services where the data services network provides a telephone service in addition or as an alternative, e.g. for backup purposes, to the telephone service provided by the telephone services network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/12Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal
    • H04M7/1205Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal where the types of switching equipement comprises PSTN/ISDN equipment and switching equipment of networks other than PSTN/ISDN, e.g. Internet Protocol networks
    • H04M7/1275Methods and means to improve the telephone service quality, e.g. reservation, prioritisation or admission control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/55Aspects of automatic or semi-automatic exchanges related to network data storage and management
    • H04M2203/551Call history
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/22Arrangements for supervision, monitoring or testing
    • H04M3/2281Call monitoring, e.g. for law enforcement purposes; Call tracing; Detection or prevention of malicious calls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/22Arrangements for supervision, monitoring or testing
    • H04M3/229Wire identification arrangements; Number assignment determination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42025Calling or Called party identification service
    • H04M3/42034Calling party identification service
    • H04M3/42059Making use of the calling party identifier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/436Arrangements for screening incoming calls, i.e. evaluating the characteristics of a call before deciding whether to answer it
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/5125Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with remote located operators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • H04M7/0063Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer where the network is a peer-to-peer network

Abstract

在一个实施例中,一种装置可基于所展示的关于被发起到目的地电话号码的至少一个公共交换电话网(PSTN)呼叫的知识来核实用于所述目的地电话号码的目的地互联网协议语音(VoIP)呼叫代理的身份。该装置还可基于所展示的被发起到所述目的地电话号码的至少一个PSTN呼叫的知识而接收所述目的地VoIP呼叫代理的身份。

Description

在对VoIP呼叫路由信息的匿名核实中使用PSTN可达性
本申请根据35 U.S.C.§120要求2007年7月20日提交的题为“USING PSTN REACHABILITY TO VERIFY VOIP CALL ROUTINGINFORMATION”的美国专利申请No.11/780,928的优先权并且是该美国专利申请的部分延续案,特此通过引用将该美国专利申请的全部内容并入在此。
技术领域
本公开总地涉及互联网协议语音(Voice over Internet Protocol,VoIP)。
背景技术
互联网协议语音(VoIP)系统管理在互联网上对语音信息的递送。VoIP涉及用离散的分组以数字形式发送语音信息,而不是使用公共交换电话网(PSTN)的传统的基于电路的协议。VoIP也被称为IP电话、互联网电话、宽带电话以及宽带语音。使用VoIP的一个主要优点在于其避免了普通电话服务提供商所收取的费用。这样,VoIP系统在企业内正变得越来越常见。
VoIP呼叫通常涉及信令会话和媒体会话。信令可以利用诸如会话发起协议(SIP)、H.323协议或任何其他适当的信令协议之类的各种协议来实现。SIP是用于创建、修改和终止与一个或多个参与者之间的会话的应用层控制(信令)协议。这些会话可包括互联网电话呼叫、多媒体分发和多媒体会议。SIP客户端使用传输控制协议(TCP)或用户数据报协议(UDP)来连接到SIP服务器和其他SIP端点。H.323定义了在任何分组网络上提供视听通信会话的协议;并且常用于VoIP和基于IP的视频会议中。
可利用实时传输协议(RTP)来发送媒体流。RTP帮助确保了分组被及时递送。媒体流还涉及UDP分组,并且是以固定的间隔发送的。媒体流通常被利用话音压缩算法来编码。
通常,呼叫代理为VoIP客户端处理VoIP呼叫路由。呼叫代理通常利用目的地电话号码来发出VoIP呼叫。这个号码可与同一呼叫代理上的客户端相关联,在此情况下呼叫被直接发送到该客户端。或者,该号码可能与和同一企业内的另一代理相关联的客户端相关联。在此情况下,呼叫代理利用所配置的定义如何路由呼叫的规则来向该代理发送呼叫。当企业内的用户与企业外的用户通信时,呼叫在PSTN网关上被端接并被路由到PSTN。然而,这样就消除了VoIP的许多益处。
服务提供商现在正在开始提供“SIP中继”(SIP Trunk)服务,通过这种服务,企业可以经由SIP链路将其呼叫连接到服务提供商,而不是通过企业网关。这个技术具有许多与直接网关互连相同的局限,因为服务提供商通常将呼叫路由到网关。另外,SIP中继不太可能比时分复用(TDM)中继便宜很多,因为对于服务提供商来说,几乎不存在使SIP中继成本效率更高的商业动机。
在企业或企业群组内,两个呼叫代理可以通过IP直接与彼此连接,而不需要中间服务提供商来提供语音服务。实现这个的一种方案是在不同企业中的呼叫代理或呼叫管理器实例之间静态地配置直接SIP或H.323中继。虽然这对于小规模的紧密结合的社区可能起作用,但是即使是对于数十个互连的站点,它也会变得非常麻烦,而且限制了其对于社区内的VoIP呼叫的优势。理想情况下,VoIP应当像电子邮件那样容易地被互连-任何企业应当无需配置就能够连接到任何其他企业。企业的管理员可能不愿意使企业的VoIP路由信息成为公众可得的和/或广泛可得的。
附图说明
图1示出了互联网协议语音(VoIP)和公共交换电话网(PSTN)系统中的示例性组件。
图2出于教导目的示出了一硬件系统,其可用于实现互联网协议专用交换分机(IP-PBX)或呼叫代理或呼叫管理器功能的其他主机。
图3示出了在发源呼叫代理处实现的与在VoIP呼叫路由信息的注册表中查找地址块相关联的示例性过程流程。
图4示出了在发源呼叫代理处实现的响应于呼叫发起消息而判定是发出PSTN还是VoIP呼叫的示例性过程流程。
图5示出了在目的地呼叫代理处响应于接收到PSTN呼叫而实现的示例性过程流程。
图6示出了在发源呼叫代理处实现的与核实目的地呼叫代理相关联的示例性过程流程。
图7A和7B示出了在发源呼叫代理处实现的与在PSTN呼叫期间核实目的地呼叫代理相关联的示例性过程流程。
图8是在目的地呼叫代理处实现的与核实呼叫发起消息中的主叫者ID相关联的流程图。
图9示出了在使用关于PSTN呼叫的知识来核实VoIP呼叫路由信息时提供匿名性的P2P网络的示例。
图10示出了在使用关于PSTN呼叫的知识来核实VoIP呼叫路由信息时提供匿名性的系统的示例。
图11示出了在使用关于PSTN呼叫的知识来核实VoIP呼叫路由信息时提供匿名性的系统的操作的流程图。
具体实施方式
概述
特定实现方式协助实现了通过公共的基于分组的通信网络的VoIP呼叫的交换和安全性。根据特定的实现方式,实施例使用使得呼叫代理能够使用PSTN系统来核实另一呼叫代理处对号码的拥有权。
如下文中更详细描述的,在一种实现方式中,声称拥有一个或多个电话号码的呼叫代理可以利用包含与呼叫代理的网络地址相关联的电话号码和/或前缀的地址块来修改VoIP呼叫路由信息的注册表。此注册表可以被多个呼叫代理通过网络访问。注册表可以被维护在中央仓库中或分布式系统中,例如对等(P2P)网络中,其中每个呼叫代理是可操作来与其他对端交换VoIP呼叫路由信息的对端。
注册表可包括基于哈希的访问机制,以针对对VoIP呼叫路由信息的不受约束的访问进行保护。例如,注册表的每个条目不是包括在不加密的情况下存储的电话号码或前缀(或电话号码块),而是包含每个电话号码或前缀的经哈希的值。为了在注册表中创建条目,呼叫代理可以对每一个其声称的电话号码和前缀进行哈希操作并将每一个放入注册表中。类似地,发源(主叫)呼叫代理响应于标识出目的地电话号码的呼叫发起消息,可以通过对目的地电话号码进行哈希操作并且在注册表中查找它来确定目的地呼叫代理的IP地址。在一种实现方式中,发源呼叫代理搜索注册表以寻找匹配条目,其中匹配条目将包含与目的地呼叫代理相对应的IP地址。如下文中更详细描述的,发源呼叫代理可以有目的地电话号码,而注册表中的哈希可以是覆盖该目的地电话号码的前缀。从而,在一种实现方式中,如果对于哈希的目的地电话号码没有匹配的条目,则发源呼叫代理可以剥除该号码的最末数字,对剥除后的号码进行哈希,并且执行另一搜索。发源呼叫代理可以重复此过程,直到找到匹配为止或者直到剩余数字的数目达到预定的阈值数目为止。
然而,仅仅使用注册表对于系统的安全操作是不够的。要解决的主要挑战是要确信注册表中的条目是正确的。特别地,必须核实将一个条目或一系列条目写入注册表中的呼叫代理确实是这些号码的“拥有者”。这里,“拥有权”意味着这样一个属性,即,如果呼叫实际通过PSTN被路由,则其将到达那个代理或者同一企业内的代理。如下文中更详细描述的,在一种实现方式中,发源呼叫代理可以通过对声称拥有一电话号码的目的地呼叫代理发出PSTN呼叫,来确证该电话号码的拥有权。两个呼叫代理都记录该PSTN呼叫的属性。PSTN呼叫属性例如可包括开始时间、结束时间(如果有的话)、呼叫长度、主叫者ID以及呼叫的其他属性。在呼叫期间或在呼叫之后,发源呼叫代理通过IP向目的地呼叫代理发送对PSTN呼叫属性的请求。如果目的地呼叫代理未接收到该PSTN呼叫,则其将不能访问这些属性。因此,如果其能够向发源呼叫代理提供这些属性,则其可以展示其对目的地号码的拥有权。取决于目的地呼叫代理是否成功响应,发源呼叫代理可以应用适当的策略(例如,将与经核实的呼叫代理相关联的数据存储在缓存中以便例如将来的呼叫可以立即通过VoIP连接,继续PSTN呼叫,等等)。
如下文中更详细描述的,在一种实现方式中,目的地呼叫代理可以通过对照缓存或对照注册表确证发源呼叫代理,来核实在由发源呼叫代理发送的VoIP呼叫信令消息中提供的主叫者标识(ID)。在一种实现方式中,目的地呼叫代理还可以通过向发源呼叫代理所提供的主叫者ID中提供的号码发出PSTN呼叫来核实该主叫者ID,其中两个呼叫代理都记录PSTN呼叫属性。在呼叫期间或在呼叫之后,目的地呼叫代理通过IP向发源呼叫代理发送对PSTN呼叫属性的请求。取决于发源呼叫代理是否成功响应该请求,发源呼叫代理可以应用适当的策略(例如,对于经核实的呼叫代理,显示该主叫者ID或者许可呼叫,等等)。
如下文中更详细描述的,在一种实现方式中,注册表可包括匿名P2P网络。匿名P2P网络可限制第一节点获知第二节点的身份。例如,如果没有更多信息,则包括匿名P2P网络的注册表可能不接受基于电话号码或电话号码的一部分搜索注册表以寻找节点的身份。反而,为了接收与该电话号码或该电话号码的一部分相关联的节点的身份,第一节点可以还提供关于被发起到该电话号码的PSTN呼叫的知识。特别地,注册表可被配置为匿名地将数据从第一节点发送到第二节点,其中第二节点是由该节点所被指派到的特定电话号码或电话号码的一部分来标识的。例如,第二节点可以向注册表发送store(X,node identifier)命令,以声称对电话号码X的拥有权并被指派给电话号码X,其中node identifier(节点标识符)标识第二节点。store(X,node identifier)命令可以在注册表中创建电话号码X与该节点标识符之间的映射。第一节点可向注册表发出send(X,data)命令。响应于send命令,注册表可以将数据隧传到被指派给该电话号码的节点,即第二节点。匿名P2P网络可以如同任何其他消息穿越匿名P2P网络那样通过匿名P2P网络来隧传数据,但第一节点或第二节点都不知道另一节点的身份。
例如,匿名P2P网络可以使用多跳中继机制来隧传数据并去除消息路径的历史。send(X,data)命令协助第一节点执行与第二节点之间的确证过程,而无需第一节点或第二节点知道另一节点的身份。在确证成功完成之后,第二节点可以将第二节点的IP地址或其他标识符发送给第一节点。在另一不同示例中,匿名P2P网络可以通过返回被指派以该电话号码的节点的标识符来协助基于该电话号码的哈希搜索注册表。除了特定节点的节点标识符以外,匿名P2P网络可以不提供该特定节点的进一步标识。在例如确证过程成功完成之后,第二节点可以经由节点之间的隧道将第二节点的网络域或其他标识符发送给第一节点。
示例性实施例
图1示出了一种示例性网络环境,其包括支持互联网协议语音(VoIP)网络的分组交换通信网络和公共交换电话网(PSTN)系统。在一个实施例中,该系统包括企业网络20a、20b、20c和20d,它们可操作地耦合到公共互联网22。企业网络20a、20b、20c和20d包括各自的呼叫代理24a、24b、24c和24d,这些呼叫代理还可操作地耦合到PSTN网络26。企业网络20a、20b、20c和20d中的每一个还通过各个企业网络可操作地耦合到一个或多个客户端28a-28h。
在一种实现方式中,呼叫代理24可以是容宿着呼叫管理器应用(例如Cisco Call Manager(CCM))的IP-PBX或者任何容宿着VoIP呼叫管理器功能的节点。TDM(时分复用)PBX是接收来自外部线路的呼叫并将呼叫路由到相应的内部电话的电话路由系统。IP-PBX是也接收来自外部线路的呼叫并将呼叫路由到相应的内部电话的电话路由系统。然而,IP-PBX不是使用TDM(时分复用)信令,而是使用IP(互联网协议)信令。在另一实现方式中,呼叫代理24可以是IP到IP网关,例如连接到现有的TDM(时分复用)PBX、IP PBX或其他语音或IP语音设备的会话边界控制器(SBC)或背靠背用户代理(B2BUA)。在另一实现方式中,呼叫代理24可以是在IP网络20的边缘处或边缘附近的防火墙或边界路由器。在另一实现方式中,呼叫代理24可以是软交换机。在一种实现方式中,呼叫代理24可以执行以下描述的处理,包括针对访问VoIP呼叫路由信息的注册表、发出和接收PSTN和VoIP呼叫以及核实其他呼叫代理的功能。在特定的实现方式中,呼叫代理24可能具有媒体网关功能。在一种实现方式中,客户端28可以是可操作地连接到网络或直接连接到呼叫代理24的电话。作为替换或附加,客户端28可以是VoIP客户端。
当在IP-PBX上实现时,呼叫代理24可以在本地线路上在VoIP客户端28之间交换呼叫,同时允许所有VoIP客户端28共享一定数目的外部PSTN网络电话线路。呼叫代理24还可以在VoIP用户和传统的电话用户之间交换呼叫,或者就像传统的PBX那样在两个传统的电话用户之间交换呼叫。
在特定的实现方式中,呼叫代理24可操作来通过公共互联网22连接,以形成P2P网络,以便维护VoIP呼叫路由信息的分布式注册表。在另一实现方式中,呼叫代理24都访问集中式或层次结构化的共同存储库,例如数据库域名系统(DNS)服务器,以便存储和访问VoIP呼叫路由信息的注册表。在一种实现方式中,每个呼叫代理24可操作以维护和访问缓存,其中该缓存可以是存在于呼叫代理24中的本地缓存,或者可以在P2P网络的呼叫代理24外部,但可以被其访问。如下所述,本地缓存包含经确证的VoIP呼叫路由信息。每个呼叫代理24还可操作以访问VoIP呼叫路由信息的注册表。给定的呼叫代理24可以访问其缓存或注册表以存储或查找其他呼叫代理的VoIP呼叫路由信息以便发出VoIP呼叫,以及核实其他呼叫代理。
PSTN 26是电路交换网络,包括全世界的公共电路交换电话网络的全部或一个子集。PSTN可包括部分固定线路模拟电话系统,以及部分数字电话系统,以及移动电话系统。利用PSTN 26的一个优点在于其可以操作地连接世界上的许多企业,这些企业具有PSTN连通性并且可能具有主叫者ID和连接方ID。
图2出于教导目的示出了硬件系统200,其可用于实现呼叫代理主机,例如互联网协议专用交换分机(IP-PBX)。在一种实现方式中,硬件系统200包括处理器202、缓存存储器204以及针对这里描述的功能的一个或多个软件应用和驱动器。此外,硬件系统200包括高性能输入/输出(I/O)总线206和标准I/O总线208。主机桥210将处理器202耦合到高性能I/O总线206,而I/O总线桥212将两条总线206和208相互耦合。系统存储器214和一个或多个网络/通信接口216耦合到总线206。硬件系统200还可包括视频存储器(未示出)以及耦合到视频存储器的显示设备。大容量存储装置218和I/O端口220耦合到总线208。硬件系统200可以可选地包括耦合到总线208的键盘和点选设备(未示出)。总地来说,这些元件意欲代表广泛的一类计算机硬件系统,包括但不限于基于由加州Santa Clara的英特尔公司制造的Pentium处理器以及任何其他适当的处理器的通用计算机系统。
下面更详细描述硬件系统200的元件。具体地,网络接口216提供硬件系统200与诸如以太网(例如IEEE 802.3)网络等等之类的许多种网络中的任何一种之间的通信。大容量存储装置218为数据和编程指令提供持久存储以执行在系统控制器中实现的上述功能,而系统存储器214(例如DRAM)在数据和程序指令被处理器202执行时对其提供临时存储。I/O端口220是提供可耦合到硬件系统200的额外外围设备之间的通信的一个或多个串行和/或并行通信端口。
硬件系统200可包括多种系统体系结构,并且硬件系统200的各种组件可被重新布置。例如,缓存204可以与处理器202一起在片上。或者,缓存204和处理器202可以被封装在一起作为“处理器模块”,其中处理器202被称为“处理器核”。另外,实现方式可能不需要也不包括上述组件的全部。例如,被示为耦合到标准I/O总线208的外围设备可以耦合到高性能I/O总线206。此外,在一些实现方式中,可存在单条总线,其中硬件系统200的组件耦合到该单条总线。另外,硬件系统200可包括额外的组件,例如额外的处理器、存储设备或存储器。
如上所述,在一个实施例中,这里描述的网关或呼叫管理器的操作被实现为由硬件系统200运行的一系列软件例程。这些软件例程包括要被硬件系统中的处理器(例如处理器202)执行的多个或一系列指令。最初,该一系列指令被存储在诸如大容量存储装置218之类的存储设备上。然而,该一系列指令可被存储在诸如盘、CD-ROM、ROM等等之类的任何适当的存储介质上。另外,该一系列指令不需要被存储在本地,而可以是经由网络/通信接口216从诸如网络上的服务器之类的远程存储设备接收的。这些指令被从诸如大容量存储装置218之类的存储设备拷贝到存储器214中并且被处理器202所访问和执行。
操作系统管理和控制硬件系统200的操作,包括向软件应用(未示出)输入数据以及从其输出数据。操作系统提供在系统上执行的软件应用与系统的硬件组件之间的接口。根据一个实施例,操作系统是可从华盛顿州的Redmond的微软公司获得的Windows95/98/NT/XP操作系统。然而,其他实施例也可结合诸如可从加州Cupertino的苹果电脑公司获得的Apple Macintosh操作系统、UNIX操作系统、LINUX操作系统等等之类的其他适当的操作系统使用。
在一个实施例中,在一个或多个呼叫代理24可访问的注册表中维护VoIP呼叫路由信息。在一种实现方式中,注册表可以是可发现的并且公共可访问的。在一个实施例中,VoIP呼叫路由信息可包括一组条目,其中每个条目包括一电话号码或代表某一范围的电话号码的前缀(或一组电话号码或前缀)。例如,给定的企业可拥有电话号码+1-408-876-5432以及电话号码+1-973-952-5000至+1-973-952-5999的地址块。这样,该企业的呼叫代理24可以创建两个条目并且将为每个条目注册一映射,该映射将其身份与号码或前缀关联起来。在一种实现方式中,映射的关键字是号码或号码的前缀,仅包括数字。在以上示例中,一个关键字将是14088765432,另一个将是19739525。这样,在一种实现方式中,每个呼叫代理可以通过将前缀视为号码并将其输入在注册表中,来注册其拥有的电话号码块。身份信息可包括网络地址(例如,IP地址、端口号码、主机名等等)或标识呼叫代理的任何其他类型的信息。
在一个实施例中,参与P2P网络可能要求呼叫代理具有与网络中的其他节点的预定最小数目的(例如,数十个)TCP连接。这些连接可以是动态建立的,其中通过P2P协议来获知对端。在一种实现方式中,注册到P2P网络中可包括运行一算法来选择如下的对端:对于该对端,应当发生写入操作。该对端进而又将该写入传递到另一对端,依此类推。这使得数据被存储并分布在参与P2P网络的呼叫代理上。
如上所述,VoIP呼叫路由信息的注册表可包括进行保护以对抗对注册表的不受约束的访问的基于哈希的机制。即,注册表条目中的电话号码或前缀是经哈希的值。为了将一条目存储在注册表中,呼叫代理可以首先对其相关联的电话号码或前缀进行哈希操作,然后将其与其身份相关联地存储在注册表中。呼叫代理可以利用诸如MDA和SHA1之类的任何适当的哈希算法来对电话号码或前缀进行哈希操作。一般来说,应当使用强哈希函数来确保经哈希的值对于给定的电话号码或前缀是唯一的。通过对前缀或电话号码进行哈希操作,给定的呼叫代理可以以安全的方式来宣告号码块。例如,对经哈希的电话号码或前缀的使用防止了电话推销者、垃圾发送者和垃圾网络电话发送者(垃圾VoIP电话发送者)从注册表中简单地收集电话号码。用户将需要首先知道正确的电话号码,然后才能尝试成功地搜索注册表以寻找VoIP呼叫路由信息。否则,如果要通过反复地选择电话号码或前缀、计算哈希值并且对照注册表查找它来尝试获知注册表中维护的大量VoIP呼叫路由信息,则在计算上将是昂贵的(因为计算哈希所需的计算资源)。
从拓扑上来说,可以以多种方式来维护VoIP呼叫路由信息的注册表。在一种实现方式中,可以利用P2P网络来维护注册表。P2P网络可以由系统中的所有或某些呼叫代理构成,或者可以在另一不同的P2P网络中维护注册表,该另一不同P2P网络被系统中的所有呼叫代理所访问。当利用P2P网络时,取决于所使用的P2P协议,P2P网络中的每个节点(其可以是呼叫代理)结果将维护注册表中的信息的子集。可以使用任何适当的P2P协议或技术,包括Chord、CAN、Bamboo、Kademlia,等等。
在利用集中式注册表系统的一些实施例中,中央服务器可以维护注册表,其中注册表可以是一个或多个呼叫代理可访问的中央仓库。在一个实施例中,给定的呼叫代理可以发送电话号码或前缀到中央数据存储库,并且中央数据存储库将对其进行存储。其他呼叫代理可以查询该中央数据存储库并且检索从电话号码到呼叫代理的身份的映射。在另一实现方式中,中央注册表可以对电话号码或前缀进行哈希操作并且将经哈希的电话号码或前缀存储在注册表中。
在利用诸如域名系统(DNS)之类的层次化注册表系统的一些实施例中,给定的呼叫代理可以例如通过利用电话号码映射协议来将电话号码或前缀变换成层次化标识符,所述电话号码映射协议例如是由IETF在RFC2916中定义的电子编号(ENUM)协议。呼叫代理随后可使用此标识符来将VoIP呼叫路由信息写入到层次化系统中的适当位置处。该层次体系中的服务器可以与呼叫代理相同或者不同。如果DNS被用作该层次化系统,则这可以是公共DNS或私有DNS。
在一些实施例中,给定的呼叫代理可以在来自发源客户端或发源呼叫代理的呼叫发起消息中接收电话号码,然后使用该电话号码来在注册表中查找VoIP呼叫路由信息。在一个实施例中,该呼叫代理可以搜索注册表以寻找N位目的地号码的N-1个前缀中的每一个。搜索可以基于精确匹配,而不是层次化匹配。换言之,应当找到一个地址块,并且如果找到不止一个地址块,则使用最特定的那一个。假定在注册表中存在匹配条目,则所找到的该号码或号码块的端接呼叫代理的身份(包括目的地呼叫代理的IP地址和端口号码)可以被缓存,以避免将来查询。
在注册表存储经哈希的电话号码或前缀的特定实施例中,在呼叫代理上实现的查找过程可执行以下操作以查找VoIP呼叫路由信息。图3示出了在呼叫代理处实现的用于在注册表中查找VoIP呼叫路由信息的示例性过程流程。响应于某个事件(例如接收到标识电话号码的呼叫发起消息),查找过程计算所标识的电话号码的哈希(302)。查找过程随后访问注册表以判定是否存在匹配条目,或者具体而言,经哈希的电话号码是否与注册表中的任何经哈希的号码相匹配(基于精确串匹配)(304)。如果是,则与匹配条目相对应的VoIP呼叫路由信息被返回(306)并且可能被用于呼叫代理所实现的某个其他过程中。例如,在一个实施例中,与该电话号码相对应的目的地呼叫代理的IP地址可用于路由VoIP呼叫。
如果没有匹配条目,则查找过程判定该电话号码是否被剥除到了最小阈值数目的数字(308)。在一个实施例中,该最小阈值可以是数字的预定数目。例如,最小阈值数目可以是1个数字(例如,可能的最小的国家代码)。如果电话号码被剥除到了最小阈值数目的数字,则查找过程返回“未找到”消息(310)。取决于情境,呼叫代理24可以以多种方式来响应此消息。例如,在一种实现方式中,发源呼叫代理可以尝试发出PSTN呼叫或者可以拒绝呼叫,可选地把呼叫拒绝通知给发源客户端并且可选地提供拒绝呼叫的原因。
如果目的地电话号码未被剥除到最小阈值数目,则查找过程剥除电话号码的最末数字(312)。发源呼叫代理随后重新计算经修改的电话号码的哈希(314)并且判定重新计算出的经哈希的电话号码是否匹配注册表中的任何经哈希的电话号码(304)。呼叫代理可以继续此过程,直到找到匹配条目为止或者直到目的地电话号码已被剥除到最小阈值数目为止。
此过程向系统提供了安全性,因为如果没有合法的电话号码,则要获取电话号码将是计算上昂贵的。在一个实施例中,可以应用策略来检测在滑动时间窗口期间发送了导致大于阈值次数的失败的查询的可疑节点。
如下文中更详细描述的,给定的呼叫代理可以使用PSTN的设施来确证注册表中的VoIP呼叫路由信息。例如,呼叫代理可以核实另一呼叫代理可以合法地声称对其写入到注册表中的电话号码的拥有权。这里,“拥有权”可以意味着这样一个属性:如果呼叫通过PSTN被发出,则呼叫将被路由到将该条目写入到注册表中的呼叫代理,或者如果未被路由到该呼叫代理,则被路由到受相同管理控制的另一呼叫代理。例如,响应于所标识的电话号码,呼叫代理可以通过PSTN 26对该电话号码发出PSTN呼叫。一般地,如果声称对目的地电话号码的拥有权的呼叫代理是真实的,则其将通过PSTN 26接收到该PSTN呼叫并从而将有机会记录该PSTN呼叫的一个或多个属性,例如开始时间、结束时间、主叫方标识符等等。PSTN呼叫属性信息可被用作共享的秘密,以使得第一呼叫代理可以确证另一呼叫代理。如下文中更详细描述的,对呼叫代理的核实可以发生在PSTN呼叫期间或之后。
在下文中描述的实现方式中,给定的呼叫代理可以把经核实的VoIP呼叫路由信息存储在本地缓存中。响应于标识出目的地电话号码的呼叫发起消息,呼叫代理可以依据在缓存中是否存在与该目的地电话号码相对应的经确证的VoIP呼叫路由信息,来选择性地向给定的目的地电话号码发出PSTN或VoIP呼叫。匹配缓存中的经确证的路由信息一般意味着端接呼叫代理已被核实。发源呼叫代理随后可通过向端接呼叫代理发送呼叫发起消息来发出VoIP呼叫。如果在缓存中没有找到经确证的匹配,但该号码因为对注册表的先前查询而存在于缓存中,则呼叫代理可以发出PSTN呼叫并且确证呼叫代理。如果在缓存中完全没有找到匹配,则呼叫代理除了发出PSTN呼叫以外还可以如上所述在注册表中查询该号码。
图4示出了在发源呼叫代理处实现的用于响应于来自主叫节点的呼叫发起消息而选择性地发出PSTN或VoIP呼叫的示例性过程流程。如图4所示,该过程开始于发源呼叫代理(例如,呼叫代理24a)从发源(主叫)节点(例如,客户端28a)接收到诸如SIP邀请之类的呼叫发起消息时(402)。在一个实施例中,呼叫发起消息包括目的地电话号码。
发源呼叫代理访问其缓存以判定是否存在匹配的经确证的缓存条目,从而缓存的地址块与该目的地号码相关联,并且目的地号码先前已被确证(404)。如果在缓存中存在匹配的经确证的条目,则发源呼叫代理发出VoIP呼叫,向与本地缓存中的匹配地址块相关联的端接呼叫代理发送信令消息(406)。此信令消息可被直接发送到目的地呼叫代理,或者可通过中间服务器或提供商来发送。
如果在缓存中不存在匹配的经确证的地址块,则发源呼叫代理向目的地电话号码发出PSTN呼叫(408)。如图4所示,如果目的地号码完全不在缓存中,则发源呼叫代理还可以利用该电话号码在注册表中查找端接呼叫代理(408)。更具体而言,在一个实施例中,发源呼叫代理可以使用目的地电话号码来在注册表中查找目的地呼叫代理的VoIP呼叫路由信息(参见以上的第C小节)。如果找到匹配条目(412),则发源呼叫代理可以记录PSTN呼叫的一个或多个属性以用于随后的核实过程中。在所示出的实现方式中,发源呼叫代理在PSTN呼叫结束(416)之后将一个或多个PSTN呼叫属性记录在数据存储库(例如呼出数据库)中(418),并且将端接呼叫代理添加到核实任务列表(420)。在一种实现方式中,该数据存储库可以是将信息存储一段时间的临时数据存储库,或者其可以是具有持久存储的数据库。在另一实现方式中,可以为每个呼叫记录PSTN呼叫属性,然后作为在执行核实任务列表时遵循的过程的一部分可以查询注册表。
可以存储多种PSTN呼叫属性。在一种实现方式中,PSTN呼叫属性可包括PSTN呼叫开始时间、PSTN呼叫停止时间、呼叫长度(例如,呼叫持续了多久)、主叫客户端的主叫者ID以及发源VoIP网络可用于核实目的地接收到了PSTN呼叫的任何其他信息。其他PSTN呼叫属性可包括由发源和端接网关计算出的语音数据的签名。例如,呼叫代理可以计算呼叫期间的静默时段的量和开始时间,或者呼叫期间的语音数据的谱签名。其他PSTN呼叫属性可包括发源网关可在呼叫中的某一点期间(例如,就在呼叫即将终止之前)发送的DTMF音调序列。
这里描述的实现方式的一个优点在于它们可以结合电话号码使用。另一个优点在于这里描述的实现方式是服务提供商检测不到的。因为企业仍可发出PSTN呼叫,所以这里描述的实现方式可以减少这种PSTN呼叫的量。
另外,其他实现方式也是可能的。例如,即使在缓存中找到匹配的VoIP呼叫路由信息,发源呼叫代理(根据某种随机化的或其他的过程)仍可以选择该条目来进行重确证,从而使得呼叫代理发出PSTN呼叫并且将呼叫代理添加到核实列表。此外,呼叫代理可向其缓存应用老化算法以冲刷掉旧的条目。
图5示出了在目的地或端接呼叫代理处实现的、用于记录与接收到的PSTN呼叫相关联的一个或多个属性的示例性过程流程。为了允许核实,端接网关可以记录PSTN呼叫的一个或多个属性以便成功地应答来自发源呼叫代理的查询。如图5所示,目的地呼叫代理接收PSTN呼叫(502),然后将该PSTN呼叫转发到目的地客户端(504)。在呼叫结束后(506),目的地呼叫代理将PSTN呼叫属性记录在数据存储库(例如呼入数据库)中(508)。在一种实现方式中,该数据存储库可以是将信息存储一段时间的临时数据存储库。前述章节给出了端接呼叫代理可记录的示例性PSTN呼叫属性。
如果发源呼叫代理在PSTN呼叫之后执行核实,则取决于具体实现方式发源呼叫代理可在各种时间执行核实。例如,发源呼叫代理可以在PSTN呼叫之后立即执行核实。在其他实现方式中,发源呼叫代理可以在非高峰时段运行的批处理中核实多个目的地呼叫代理。在一种实现方式中,发源呼叫代理可以在呼叫完成之后的随机时间核实目的地呼叫代理。发源呼叫代理可以在发生触发事件时,例如当接收到新的呼叫发起消息时,执行一个或多个核实操作。
如下文中更详细描述的,核实可以是基于知识的核实,其中发源呼叫代理就与一个或多个先前的PSTN呼叫相对应的PSTN呼叫属性查询目的地呼叫代理。这些PSTN呼叫属性可以被概念化为只有这两个呼叫代理知道的“共享秘密”。
图6示出了在发源呼叫代理处实现的与核实目的地呼叫代理相关联的示例性过程流程。如图6所示,对于核实列表中的每个目的地呼叫代理,发源呼叫代理向该目的地呼叫代理发送对PSTN呼叫属性的查询(602)。该查询可利用从注册表中获知的目的地呼叫代理的IP地址和端口、通过基于分组的通信网络来发送。
呼叫代理可以根据多种不同的协议来通信。例如,在一种实现方式中,进行核实的呼叫代理可通过使用目录访问来访问目的地呼叫代理所维的“呼入”数据库。发源呼叫代理可利用目的地电话号码作为关键字来发送查询,并且端接代理将返回为具有该目的地电话号码的呼叫记录的PSTN属性。为了此目的可以使用任意数目的协议,包括标准数据库和目录协议,例如LDAP和SQL,或者HTTP查询,SOAP查询,或者任何其他适当的用于查询一条数据并获得响应的技术。
在替换实现方式中,实际认证协议可用于提高安全性。在此实现方式中,PSTN呼叫属性被映射到用户名和口令,然后传统的认证或登录协议可用于核实数据。例如,用户名可以是PSTN呼叫的目的地号码和开始时间,并且口令可以是PSTN呼叫的停止时间。又例如,用户名可以是呼叫的目的地号码和呼叫中的随机时间,并且口令可以是呼叫的开始和停止时间。又例如,用户名可以是目的地号码和主叫者ID,并且口令可以是呼叫的开始时间和停止时间。在一种实现方式中,PSTN呼叫属性可包括与PSTN呼叫的内容相关联的信息。例如,在给定的PSTN呼叫期间,发源呼叫代理和目的地呼叫代理都可执行静默检测算法来检测静默和说话。VoIP随后可基于检测到的静默和说话模式来生成PSTN呼叫签名或指纹。此指纹或签名可被用作用户名和/或口令的一部分。例如,用户名可以是呼叫的目的地号码和开始时间,并且口令将是该指纹。或者,用户名可以是呼叫的目的地号码和呼叫的前半部分中的签名,而口令将是后半部分中的签名。
在一种实现方式中,PSTN呼叫属性可包括呼叫签名或指纹。在一种实现方式中,发源呼叫代理可执行频谱分析或话音识别算法来生成呼叫签名或指纹。在一种实现方式中,发源呼叫代理可在PSTN呼叫结束之前利用两个呼叫代理都记录的双音多频(DTMF)值来发送随机串。呼叫签名或指纹于是可以包括这些DTMF比特。在一种实现方式中,查询可以向目的地呼叫代理提供最低限度信息,例如呼叫开始时间。基于有限的信息,目的地呼叫代理可以确定要提供的适当信息。
当发源呼叫代理接收到对PSTN呼叫属性查询的响应时(604),发源呼叫代理判定PSTN呼叫属性是否得到确认(606)。在一种实现方式中,如果来自目的地呼叫代理的响应中的PSTN呼叫属性与发源呼叫代理存储在“呼出”数据库中的PSTN呼叫属性相匹配,则PSTN呼叫属性得到了确认。在一种实现方式中,当利用认证或登录协议时,如果登录或认证协议成功,则PSTN呼叫属性得到了确认。在一种实现方式中,无需在认证期间从任一呼叫代理发送PSTN呼叫属性,认证协议就可以工作。例如,认证协议可以基于提供零知识口令证明的加密密钥交换(EKE)协议。在一种实现方式中,确证可能由于给定的PSTN呼叫被转发到非法呼叫代理而失败。
如果PSTN呼叫属性得到确认,则发源呼叫代理应用针对经核实的目的地呼叫代理的适当策略(608)。例如,发源呼叫代理可以将缓存中针对此号码的条目标记为经确证的,从而随后将对该呼叫代理发出将来的VoIP呼叫,如上所述。即,如果第一次确证了VoIP路由信息,则发源呼叫代理下次将在缓存中找到匹配条目,从而将能够对现在已经核实的呼叫代理发出VoIP呼叫。这样,以后不再需要搜索注册表。
另外,进行核实的呼叫代理可以建立与被核实的呼叫代理的连接,以用于VoIP呼叫发起消息的路由。在一种实现方式中,一旦传输控制协议(TCP)/传输层安全性(TLS)连接被建立,发源呼叫代理就可以直接向目的地呼叫代理发送SIP邀请。在一种实现方式中,给定的呼叫代理可以维护最多达预定数目的多个TCP/TLS连接(例如,1000个连接),在此之后呼叫代理将终止不活动或活动性最低的连接。
如果PSTN呼叫属性未得到确认,则发源呼叫代理应用针对未经核实的目的地呼叫代理的适当策略(610)。例如,发源呼叫代理可以将核实失败记录在缓存中,生成警告消息,将该呼叫代理添加到黑名单之类的,等等。
可以以多种方式来优化核实过程的实现方式。在一种实现方式中,即使在缓存中存储/确证了给定的电话号码或前缀,也可以增强核实以使得发生重核实。例如,在一种实现方式中,发源呼叫代理可以随机选择一些呼叫来重核实目的地呼叫代理仍拥有该特定的电话号码或电话号码块。在一种实现方式中,发源呼叫代理可以重核实预定百分比的呼叫(例如,5%)或者随机数目的呼叫。在另一实现方式中,呼叫代理可以在所配置的一段时间比如一个月之后使确证超时,使得重核实被每月执行一次。
在另一种优化中,当块中的特定号码已被核实时,同一块中的其他号码也被认为是经核实的。例如,如果块内的号码A和号码B已被核实,则呼叫代理可以认为该块内的A与B之间的所有号码也被核实了。在一种实现方式中,这个自动的核实可以仅在号码A和B彼此接近时例如在1000个号码以内时才发生。
在另一实现方式中,可以基于最近的N个PSTN呼叫来定义共享秘密,从而提高该机制的安全性。在一个实施例中,不是使PSTN呼叫属性基于给定块中的任何两个电话号码之间的最近N个呼叫,而是可以使PSTN呼叫属性基于特定电话号码之间的最近N个呼叫。在一种实现方式中,如果发源呼叫代理可以确证给定地址块的预定数目或预定百分化的电话号码(例如,50个电话号码中的2个,或者4%),则发源呼叫代理对于将来的呼叫可以接受该地址块的其余电话号码。
在一种实现方式中,如果目的地呼叫代理在PSTN呼叫结束之前被核实,则发源呼叫代理可以可选地即使在成功核实的情况下仍允许PSTN呼叫继续。这样,VoIP呼叫可用于呼叫的语音部分(例如,PSTN呼叫)之上的增强特征。例如,发源呼叫代理可以将PSTN呼叫用于语音,并且将VoIP呼叫用于增强的特征,例如视频、声音、存在性、即时消息传递(IM)和/或数据应用。
从而,实现方式提供了防止呼叫代理声称对其实际不拥有的电话号码的拥有权的优点。另外,实现方式不要求任何特殊的PSTN配置。
图7A和7B示出了在发源呼叫代理处实现的用于在PSTN呼叫期间核实目的地呼叫代理的示例性过程流程。如图7A所示,该过程开始于发源呼叫代理从发源客户端接收到诸如SIP邀请之类的呼叫发起消息时(702)。在一个实施例中,呼叫发起消息包括目的地电话号码。
发源呼叫代理访问其缓存以判定是否存在具有与该目的地号码相关联的地址块的经确证的匹配条目(704)。如果是,则发源呼叫代理发出VoIP呼叫(706)。
如果在缓存中不存在匹配的经确证的条目,则发源呼叫代理在注册表中查找目的地呼叫代理(708)。如果未找到匹配(710),则发源呼叫代理发出PSTN呼叫(712)。
如果找到匹配(710),则发源呼叫代理仍发出PSTN呼叫(714)并且还执行以下步骤。发源呼叫代理将PSTN呼叫属性记录在数据存储库(例如呼出数据库)中(716)。如上所述,在一种实现方式中,该数据存储库可以是将信息存储一段时间的临时数据存储库。在一种实现方式中,PSTN呼叫属性可包括PSTN呼叫开始时间、目的地客户端的主叫者ID、语音签名信息(例如谱分析或静默/活动时段)、DTMF、以及发源呼叫代理可用来核实目的地呼叫代理在该PSTN呼叫期间被连接的任何其他信息。
参考图7A,在PSTN呼叫仍在进行的同时,发源呼叫代理向目的地VoIP发送对PSTN呼叫属性的查询(718)。在特定的实现方式中,该查询可以请求目的地呼叫代理提供与以上联系图6的步骤602描述的查询类似的信息,只不过PSTN呼叫属性将不包括呼叫停止时间或呼叫长度,因为PSTN呼叫仍在进行中。
在一种实现方式中,当目的地呼叫代理接收到PSTN呼叫时,目的地呼叫代理将PSTN呼叫转发到目的地客户端,并且将PSTN呼叫属性记录在数据存储库(例如呼入数据库)中。在接收到对PSTN呼叫属性的查询后,目的地呼叫代理发送响应。当发源呼叫代理接收到对PSTN呼叫属性查询的响应时(720),发源呼叫代理判定PSTN呼叫属性是否得到确认(722)。如果PSTN呼叫属性得到确认,则发源呼叫代理应用针对经核实的目的地呼叫代理的适当策略(724)。例如,发源呼叫代理可以缓存VoIP呼叫路由信息,从而将来的呼叫可以通过VoIP进行。或者,其可以将正在进行的PSTN呼叫转移到VoIP呼叫。如果PSTN呼叫属性未得到确认,则发源呼叫代理应用针对未经核实的目的地呼叫代理的适当策略(726)。例如,发源呼叫代理可以将核实失败记录在缓存中,生成警告消息,结束呼叫,等等。
在一个实施例中,如果攻击者声称其实际不拥有的电话号码,则永远不会有呼叫通过VoIP被发出到该攻击者,因为攻击者的端接呼叫代理将不能够成功地对PSTN呼叫属性查询做出响应,因为PSTN呼叫去到了该电话号码的实际拥有者。
在一个实施例中,如果攻击者声称对比其实际拥有的前缀更大的前缀的拥有权,则攻击者最初可能不被检测到,但很可能将被检测到。这是因为可以预期一些呼叫会通过PSTN发出,从而确保了伪造的号码最终会被尝试和检测到。在一种实现方式中,企业可以要求对于任何特定的目的地电话号码发出PSTN呼叫至少一次。虽然这可能导致发出更多PSTN呼叫,但其将消除这种攻击。
因为在初始呼叫建立时没有使用注册表,所以任何等待时间对于呼叫建立延迟都没有影响。实际上,使用这里公开的实现方式的呼叫建立时间甚至将比通过PSTN更快,因为发源呼叫代理直接与目的地呼叫代理通信。在许多情况下,甚至不要求传输控制协议(TCP)连接建立,因为这种连接可能已经由于到该端接呼叫代理的先前呼叫而被建立并维持。
然而,在另一实现方式中,当PSTN呼叫到达端接呼叫代理时,端接呼叫代理保留该呼叫,而不将其递送到端接客户端。反而,其检查来自PSTN呼叫建立消息的主叫者ID,并且就此号码查询注册表。如果找到匹配,则端接呼叫代理进一步保留该呼叫,以期接收到对核实PSTN呼叫属性的请求。一旦此确证成功,发源呼叫代理就可以发出VoIP呼叫,并且端接呼叫代理可以拒绝该PSTN呼叫,而继续进行该VoIP呼叫。这样就无需实际完成PSTN呼叫,但后果是增大了呼叫建立延迟。
另外,这里公开的实现方式是能自动防故障的,因为即使当对照缓存或对照注册表核实了目的地呼叫代理时,发源呼叫代理也可以发出PSTN呼叫。换言之,即使给定的发源呼叫代理崩溃并恢复,从而丢失了其缓存,或者注册表以某种方式被损害,或者若干种问题中的任何一种发生,最坏情况也只是仍通过PSTN来路由呼叫。这样,端用户不会遭遇到服务中断。一些P2P VoIP覆盖网络提供商需要提供分发其网络内的用户名和分发证书的集中式服务器。因为这里描述的实现方式利用了已经发给企业的电话号码,所以不需要这种中央服务。
如下文中更详细描述的,呼叫代理所维护的缓存以及注册表可用于核实接收到的VoIP呼叫中的主叫者ID信息。例如,当给定的目的地呼叫代理通过基于分组的通信网络接收到具有相关联的包含电话号码的主叫者ID的呼叫发起消息(例如SIP邀请)时,目的地VoIP可以对照呼叫代理的缓存和/或对照公共的注册表来核实该主叫者ID。这提供了两级确证。
图8是在目的地呼叫代理处实现的与核实接收到的呼叫建立消息中的主叫者ID相关联的流程图。如图8所示,目的地呼叫代理接收到来自发源呼叫代理的诸如SIP邀请之类的呼叫发起消息(802)。在一种实现方式中,该呼叫发起消息包含主叫者ID。目的地呼叫代理搜索其缓存以寻找匹配条目以判定主叫者ID是否与缓存中的电话号码相匹配以及该号码是否已被核实。如果其已被核实,则呼叫代理检查发送呼叫建立请求的实体的身份是否与核实了的呼叫代理的身份相匹配(基于匹配在TLS过程中使用的证书,或者基于匹配IP地址,或者任何其他适当的比较手段)(804)。如果是,则目的地呼叫代理应用针对对照缓存确证的发源呼叫代理的一个或多个策略(806)。例如,在一种实现方式中,目的地呼叫代理可以向目的地客户端的用户指示出发送者(发源呼叫代理)被核实。在一种实现方式中,目的地呼叫代理可以选择性地示出主叫者ID,或者添加指示出有效主叫者ID的符号或字符。在一种实现方式中,目的地呼叫代理可以许可呼叫,等等。
如果主叫者ID未被核实,但与缓存中的一号码相匹配,或者主叫者ID不与缓存中的任何号码相匹配,则目的地呼叫代理可以在注册表中寻找匹配条目(808、810)。如果在注册表或缓存中有匹配条目,并且注册表条目中的呼叫代理的身份(可能已被缓存)与发送了呼叫建立请求的代理的身份相匹配(基于匹配在TLS过程中使用的证书,或者基于匹配IP地址,或者任何其他适当的比较手段),则目的地呼叫代理应用针对被注册表确证的发源呼叫代理的一个或多个策略(812)。与在步骤806中可应用的一个或多个策略类似,在特定的实现方式中,目的地呼叫代理可以向目的地客户端的用户指示出发送者(发源呼叫代理)被核实(并且可选地指示出第二级确证),可以示出主叫者ID,可以许可呼叫,等等。如果主叫者ID不与注册表中的电话号码相匹配,则目的地呼叫代理应用针对未经确证的发源呼叫代理的一个或多个策略(814)。例如,在一个实施例中,目的地呼叫代理可以向目的地客户端的用户指示出发送者未经核实,或者可以不示出主叫者ID,或者可以拒绝呼叫,等等。
因为恶意的呼叫代理可能提供虚假的主叫者ID,所以此过程使得给定的呼叫代理能够向两级核实提供主叫者ID信息。如上所述,VoIP可利用缓存或注册表来对照先前的核实或对照IP地址和端口号码核实主叫者ID,其中的前者是无法伪造的。从而,这里描述的实现方式具有防止主叫者ID欺骗的优点。例如,如果一企业的发源呼叫代理发起与假造的主叫者ID的SIP呼叫,则该假造的主叫者ID可匹配与另一不同企业的呼叫代理相对应的条目。
在一种实现方式中,除了对照缓存或对照注册表核实主叫者ID以外,目的地呼叫代理还可以根据以上联系图4、6、7A和7B描述的核实过程来核实发源呼叫代理。这样,使用假造ID的发源呼叫代理将不能够成功地响应于对PSTN呼叫属性的请求。
在一个实施例中,发源呼叫代理和目的地呼叫代理可以基于同一呼叫来核实彼此。例如,在一种实现方式中,发源呼叫代理可以向目的地呼叫代理既发出PSTN呼叫也发出VoIP呼叫。当接收到PSTN呼叫时,如果目的地呼叫代理判定主叫者ID对应于网络中的另一呼叫代理,则目的地呼叫代理将该PSTN呼叫保留预定的时间段(例如,几秒钟)。当VoIP呼叫到达时,执行相互认证。换言之,发源呼叫代理和目的地呼叫代理如上所述地核实彼此。如果相互认证成功,则PSTN呼叫被拒绝并且VoIP呼叫继续进行。
此方案提供了对P2P网络中宣告的号码块的非常可靠的确证,并且提供了VoIP防垃圾功能。在一种实现方式中,如果发源呼叫代理发出了太多的VoIP呼叫,那么即使其已被确证,端接呼叫代理也可拒绝来自该呼叫代理的进入VoIP呼叫,并且对其进行重定向以改为利用PSTN。这样就把成本传递给了发源呼叫代理,因此帮助了减轻VoIP垃圾。
另外,因为此技术使用电话号码,所以其使得垃圾发送者难以改变标识符。在电子邮件中改变标识符是便宜且容易的,因为域和域内的用户ID几乎是免费且无限供应的。对于电话号码则不是如此,电话号码更昂贵并且是有限的资源。另外,因为使用电话号码,所以可以通过发送垃圾的企业的服务提供商来回追到这种企业。黑名单也变得有效得多,因为电话号码的名称空间有限。如上所述,实现方式可以提供完全100%分布式方案,该方案使得任何企业可以向世界上的任何其他企业发出VoIP呼叫,而无需任何中央协调、中央服务或者配置。它是完全即插即用的,而且非常安全。这里描述的实现方式的另一个优点在于它们不要求来自PSTN提供商的任何特殊功能。以上描述的实现方式使得呼叫代理能够通过IP直接相互连接,而不会为了语音服务而需要中间服务提供商。对于端用户来说连接是无缝的,因为他们可以利用其已经使用的电话号码来发出和接收呼叫。
匿名性可能是构造组成联盟以提供VoIP服务的系统时关注的一个问题。例如,域的管理员可能希望防止以下情况中的任何一种发生:(1)电话推销员很容易地收集属于某一组织的一组号码,使得该电话推销员可以冷不防地呼叫这些号码(cold-call those numbers);或者(2)竞争者或其他方发现该组织所拥有的号码。
如上所述,注册表中的该组号码可被存储在P2P网络中。存储在P2P网络中的信息可以被构造为分布式哈希表,其中用于查找的“关键字”是所查询的号码的加密哈希,并且该哈希表被分布在P2P网络中的多个节点上。哈希表中与这些关键字中的每一个相对应的值可以是P2P网络中的声称拥有被哈希以生成该关键字的号码的节点的相应标识符。节点的标识符可以是网络地址、IP地址、节点标识符或者任何其他类型的标识符。节点可以是呼叫代理24。
因为哈希表可被分布在P2P网络中的多个节点上,所以P2P网络没有集中存储企业所拥有的该组号码。然而,可以发动攻击来确定在注册表中存储了什么电话号码以及相应节点的节点标识符是什么。例如,攻击者可以试遍感兴趣的国家中的可能的电话号码。例如,在美国,攻击者可以从+1(000)000-0000开始,然后尝试随后的号码,例如+1(000)000-0001,+1(000)000-0002,等等。攻击者可以在分布式哈希表中查找每个号码。结果,攻击者可以获得声称对电话号码的拥有权的每一个节点的节点标识符。在美国有100亿个可能的号码。P2P网络可以对查询进行频率限制,限制到每查询节点每秒10个查询左右。因此,攻击者可能要花31年来查询所有的号码。然而,通过排除除了实际已知的区码和已知的局码以外的全部,可以急剧减短搜索整个注册表的时间。搜索时间的进一步减短可以通过将攻击分布在多个攻击者机器上来实现。分布式攻击可能能够在几星期内梳理遍分布式哈希表。
在完成对分布式哈希表的梳理后,攻击者可能就有了将电话号码映射到相应的节点标识符的表格。然后,攻击者可以呼叫分布式哈希表中的号码之一。通过简单的社交工程,攻击者可以从应答的人查明公司的名称。作为替换或附加,攻击者可以发动自动化反向电话号码查找来确定拥有号码的公司、组织或个人。另外,攻击者可以假定与同一节点标识符相关联的任何号码属于同一公司。从而,攻击者可最终推导出属于特定公司、组织或个人的一组号码。
为了避免或限制信息的可得性,可以使用匿名性。图9示出了在使用关于PSTN呼叫的知识来核实VoIP呼叫路由信息时提供匿名性的P2P网络900的示例。P2P网络900可以包括节点910,它们分别被标示为910a、910b、910c和910d。P2P网络900可包括不同的、更少的或额外的组件。节点910可以通过互联网22或者任何其他现在已知或以后开发的网络来相互通信。
P2P网络900可以是VoIP呼叫路由信息的注册表的一部分。P2P网络900可以在节点910上分布对分布式哈希表(DHT)的存储。注册表中维护的呼叫路由信息可被存储在DHT中。
P2P网络900可以是匿名P2P网络。匿名P2P网络可以是任何被配置为限制第一节点如何可获知第二节点的身份的P2P网络。例如,P2P网络900中的任何一个节点910如果不提供更多信息则不可基于电话号码或电话号码的一部分来搜索P2P网络900以寻找节点的身份。反而,为了接收与电话号码或电话号码的一部分相关联的节点的身份,第一节点可以还提供关于被发起到该电话号码的PSTN呼叫的知识。特别地,P2P网络900可被配置为匿名地将数据从第一节点发送到第二节点,其中第二节点不是由节点标识符来标识,而是由该节点所被指派到的特定电话号码或电话号码的一部分来标识。为此,P2P网络900可通过匿名隧道920来传送数据。在位于隧道920两端的节点910之间,隧道920可以经过任意数目的节点910。
节点910a、910b、910c和910d可以是P2P网络900中的任何参与者。例如,节点910a、910b、910c和910d可以被包括在相应的呼叫代理24中。作为替换或附加,节点910a、910b、910c和910d可被包括在代表呼叫代理24执行对VoIP呼叫路由信息的确证的相应确证服务器中。例如中,呼叫代理24可以向确证服务器发送通过PSTN 26发起的和/或从PSTN 26接收的呼叫的PSTN呼叫属性。确证服务器可以在基于PSTN呼叫属性成功确证VoIP呼叫路由信息之后将经确证的VoIP呼叫路由信息发送给呼叫代理24。呼叫代理24可以基于呼叫代理24是否针对特定电话号码从确证服务器接收到了经确证的VoIP呼叫路由信息而将呼叫路由到该特定电话号码。
在图9所示的示例中,节点910可包括节点a 910a、节点b 910b、节点c 910c和节点d 910d。节点a 910a可能想要针对电话号码X的VoIP呼叫路由信息,并且节点b 910b可能是电话号码X的拥有者。
在系统的操作期间,节点b 910b可以存储节点b 910b的节点标识符与电话号码X之间的映射,以表明节点b 910b是电话号码X的拥有者。例如,节点b 910b可以执行store(X,b)命令,其中b是节点b 910b的节点标识符。响应于store(X,b)命令,P2P网络910可以将该映射存储在例如节点d 910d中。P2P网络910可以基于电话号码的哈希和DHT的存储在节点910之间的当前分布来确定节点d 910d是映射信息的位置。
虽然节点a 910a可能想要获知节点910之中的哪一个拥有电话号码X,但节点a 910a可能不可以简单地严格基于电话号码X或其一部分来从DHT中读取节点标识符。P2P网络900可能不接受这种直接读取。
反而,节点a 910a必须首先有关于到电话号码X的PSTN呼叫的知识。例如,节点a 910a可能有到电话号码X的PSTN呼叫的呼叫属性。一旦有了关于PSTN呼叫的知识,节点a 910a就可以执行send(X,data)命令。响应于send(X,data)命令,P2P网络900可最终将该数据发送到节点d910d,节点d 910d是包括从电话号码X到节点b 910b的映射的节点。因为电话号码X映射到节点b 910b,所以节点d 910d将该数据转发到节点910b。随着数据穿越P2P网络910,可以建立从节点a 910a到节点b 910b的隧道920。在一个示例中,隧道920在沿着隧道920的每一个节点910处可以与一临时事务标识符相关联。该事务标识符可被节点b 910b用于通过隧道920将响应发回给节点a 910a,而无需节点b 910b知道节点a 910a的身份。作为替换或附加,该事务标识符可被节点a 910a用于发送另一消息给节点b 910b,而无需知道节点b 910b的身份。在一个示例中,沿着隧道920的每一个节点910处的事务标识符可以与其他节点处的事务标识符不同。
在建立了隧道920后,节点a 910a和节点b 910b可以通过隧道920来匿名地向彼此发送数据。因此,节点a 910a和节点b 910b可以通过隧道920运行任何期望的协议。通过隧道920运行的协议的一个示例可以是以上描述的用于确证VoIP呼叫代理的确证协议。P2P网络900可以限制通过隧道920可以使用什么协议。例如,P2P网络900可以将该协议限制到以上描述的确证协议的一种实现方式。
在一个示例中,节点a 910a可以发送基于PSTN呼叫的呼叫属性的用户名和口令作为在send命令中发送的数据。作为替换或附加,通过隧道920运行的确证协议可以基于加密密钥交换(EKE)协议,其中无需实际通过隧道920传送关于到电话号码X的PSTN呼叫的知识,就可以展示该知识。
在一个示例中,节点b 910b可以仅在节点a 910a展示了关于到电话号码X的PSTN呼叫的知识之后才发送节点b 910b的节点标识符给节点a910a。在第二示例中,节点a 910a可以仅在节点a 910a展示了关于PSTN呼叫的知识之后才向节点a 910a发送节点b 910b的域,例如“b.com”。在第三示例中,节点a 910a可以仅在节点b 910b展示了关于到电话号码X的PSTN呼叫的知识之后才发送节点a 910a的节点标识符。在第四示例中,节点a 910a可以仅在节点b 910b展示了关于到电话号码X的PSTN呼叫的知识之后才发送节点a 910a的网络地址。
在另一示例中,节点b 910b可以仅在节点a 910a展示了关于到电话号码X的PSTN呼叫的知识之后才发送与节点b 910b相关联的呼叫代理24的网络地址。如果呼叫代理24的确证服务器包括节点b 910b,则呼叫代理24可与节点b 910b相关联。
在另一示例中,节点910可能必须展示关于到电话号码X的N个PSTN呼叫的知识。例如,节点b 910b可以仅在节点a 910a展示了关于到电话号码X的N个PSTN呼叫的知识之后才向节点a 910a发送节点b 910b的域,例如“b.com”。
电话号码X可被映射到多个节点920而不是仅一个节点。例如,节点c 910c也可执行store(X,C),其中“c”是节点c 910c的节点标识符。在电话号码X被指派给多个节点910b和910c的情况下,send(X,data)命令可为所指派的节点910b和910c中的每一个建立一条单独的匿名隧道920。可以相互独立地通过这些隧道中的每一条执行确证。
store和send命令只是例示性的。这些命令可具有不同的名称以及不同的、更少的或额外的参数。作为替换或附加,隧道920可以只被使用一次。例如,响应于send(X,username,password)命令,被指派到电话号码X的节点可以核实该username(用户名)和password(口令)展示了关于PSTN呼叫的知识。被指派到电话号码X的节点随后可返回被指派到该电话号码的节点的身份。P2P网络900可以响应于接收到send(X,username,password)命令而建立隧道920,并且在P2P网络900返回被指派到该电话号码的节点的身份时去除隧道920。
P2P网络900可实现现在已知的或以后开发的提高P2P网络900中的匿名程度的特征。例如,发起消息的任何节点可以以一种对手可能不容易影响的方式来伪随机地选择通过受限的拓扑的对端路径。可添加掩盖流量来帮助防止全局观察者利用流量分析来识别出发起的节点。
图10示出了在使用关于PSTN呼叫的知识来核实VoIP呼叫路由信息时提供匿名性的系统1000的示例。系统1000可包括呼叫代理24、相应的确证服务器1010以及注册表1020。系统1000可包括不同的、更少的或额外的组件。例如,系统1000可包括呼叫代理24,而没有确证服务器1010。系统1000可包括图10中未示出的额外呼叫代理24。
注册表1020可以是存储和检索VoIP呼叫路由信息的任何服务器或服务器的组合。在一个示例中,注册表1020可包括处理器1030和存储器1040。在另一不同的示例中,注册表1020可以是软件,而没有硬件。注册表1020的示例包括对等网络和服务器场。
存储器1040可以是任何现在已知的或者以后开发出的数据存储设备。存储器1040可以是非易失性和/或易失性存储器,例如随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)或者闪存。存储器1040可包括光的、磁的(硬盘驱动器)或任何其他形式的数据存储设备。
处理器1030可以与存储器1040通信。处理器1030也可以与诸如显示器和联网卡之类的另外的组件通信。处理器1030可以是通用处理器、中央处理单元、服务器、专用集成电路(ASIC)、数字信号处理器、现场可编程门阵列(FPGA)、数字电路、模拟电路、或其组合。处理器110可以是可操作以执行包含在存储器1040或其他存储器中的计算机可执行指令或计算机代码以存储并检索VoIP呼叫路由信息的一个或多个设备。存储器1040也可包括VoIP呼叫路由信息。
注册表1020可以通过互联网22或任何其他现在已知或以后开发的网络与每一个确证服务器1010通信。在图10中分别标示为1010a和1010b的每一个确证服务器1010可以包括用于确证VoIP呼叫路由信息和与注册表1020通信的一个或多个进程。在一个示例中,每一个确证服务器1010可包括处理器和存储器,例如注册表1020中的处理器1030和存储器1040。在另一不同示例中,每一个确证服务器1010可以是软件,而没有硬件。
每一个确证服务器1010可以与相应的一个呼叫代理24通信,呼叫代理24在图10中被分别标示为24a和24b。每一个呼叫代理24可以与PSTN 26通信。
在系统1000的操作期间,确证服务器b 1010b可以向注册表1020发送目的地电话号码与确证服务器b 1010的标识符之间的映射。该标识符例如可以是确证服务器b 1010的IP地址。在另一不同示例中,该标识符可以是确证服务器b 1010和呼叫代理b 24b的域,例如“b.com”。该映射表明呼叫代理b 24b拥有该目的地电话号码。注册表1020可以将该映射存储在VoIP呼叫路由信息的缓存中。
呼叫代理a 24a可以接收对发起到该目的地电话号码的呼叫的请求。呼叫代理a 24a可以通过PSTN 26发起到该目的地电话号码的PSTN呼叫。呼叫代理a 24a可以将该PSTN呼叫的呼叫属性发送给确证服务器a1010a。在呼叫的接收端,呼叫代理a 24a可以将该PSTN呼叫的呼叫属性发送给确证服务器b 1010b。
为了获知针对呼叫代理b 24b的VoIP呼叫路由信息并且针对目的地号码来确证呼叫代理b 24b,确证服务器a 1010a可将目的地号码发送给注册表1020。注册表1020可以搜索VoIP呼叫路由信息的缓存以寻找目的地号码与确证服务器b 1010的标识符之间的映射。注册表1020不是简单地将确证服务器b 1010的标识符返回给确证服务器a 1010a,而是可以协助实现确证服务器a 1010a与确证服务器b之间的匿名通信。例如,注册表1020可以要求确证服务器a 1010a、确证服务器b 1010b或者两者必须先提供关于PSTN呼叫的知识的证明,然后注册表1020才会告知确证服务器1010a或1010b中的任一者确证服务器1010a或1010b中的另一者的身份。
在系统1000的一个示例中,确证服务器1010a和/或1010b可以将指示出关于PSTN呼叫的知识的数据发送给注册表1020。例如,确证服务器1010a和确证服务器b 1010b可以将PSTN呼叫的呼叫属性送给注册表1020。注册表1020可以将从确证服务器1010a或1010b中的一个发送来的数据与从确证服务器1010a或1010b中的另一个发送来的数据相比较。如果数据匹配,则注册表1020可以将确证服务器b 1010b的身份发送给确证服务器a 1010a。如果不匹配,则注册表1020可以采取不同的动作,例如向确证服务器a 1010a发送差错消息。作为替换或附加,如果数据匹配,则注册表1020可以将确证服务器a 1010a的身份发送给确证服务器b1010b。
在系统1000的第二示例中,确证服务器a 1010a可以将指示出关于PSTN呼叫的知识的数据发送给注册表1020。注册表1020可以将该数据转发给确证服务器b 1010b,以对照在确证服务器b 1010b处存储的关于PSTN呼叫的知识来确证该数据。确证服务器b 1010b可以向注册表1020发送对于该数据是否与在确证服务器b 1010b处存储的关于PSTN呼叫的知识相匹配的指示。如果该数据匹配在确证服务器b 1010b处存储的关于PSTN呼叫的知识,则注册表1020可以将确证服务器b 1010b的身份和/或呼叫代理b 24b的身份发送给确证服务器a 1010a。
在系统1000的第三示例中,注册表1020可以创建匿名通信信道以在确证服务器1010a与1010b之间中继数据。该通信信道之所以可被认为是匿名的是因为可以在不将确证服务器1010a或1010b中的任何一者的身份揭露给确证服务器1010a或1010b中的另一者的情况下交换数据。确证服务器1010a和1010b可以在该匿名通信信道上使用任何适当的协议。例如,确证服务器1010a和1010b可以在该匿名通信信道上使用加密密钥交换协议,以判定是否确证服务器1010a和1010b两者都有关于PSTN呼叫的知识。如果确证服务器1010a和1010b两者都有关于PSTN呼叫的知识,则确证服务器b 1010b可以将呼叫代理b 24b的标识符发送给确证服务器a 1010a。如果确证服务器1010a和1010b两者都有关于PSTN呼叫的知识并且确证服务器1010a有呼叫代理b 24b的标识符,则确证服务器1010a既获知了呼叫代理b 24b的身份又针对目的地电话号码确证了呼叫代理b 24b。
在另一不同示例中,仅在确定了确证服务器a 1010a拥有关于PSTN呼叫的知识之后,确证服务器b 1010b就可以将呼叫代理b 24b的标识符发送给确证服务器a 1010a。确证服务器a 1010a随后可以利用以上描述的过程之一来针对目的地电话号码确证呼叫代理b 24b。
一旦确证服务器a 1010a获知了呼叫代理b 24b的身份和/或针对目的地电话号码确证了呼叫代理b 24b,则确证服务器a 1010a可以将针对呼叫代理b 24b的VoIP呼叫路由信息发送给呼叫代理a 24a。然后,当呼叫代理a 24a接收到发起到目的地电话号码的呼叫的请求时,于是呼叫代理a24a可以利用针对呼叫代理b 24b的VoIP呼叫路由信息来通过VoIP发起呼叫。
图11示出了系统1000在使用关于PSTN呼叫的知识来核实VoIP呼叫路由信息时提供匿名性的操作流程图。该操作可包括更少的、不同的或更多的块。例如,该操作可以仅包括一个块,即基于所展示的关于通过PSTN发起到目的地电话号码的PSTN呼叫的知识而发送用于目的地电话号码的目的地VoIP呼叫代理24的身份。
该操作可通过接收关于被发起到目的地电话呼叫的PSTN呼叫的知识的证明而开始于块1102。例如,关于PSTN呼叫的知识的证明可包括PSTN呼叫的呼叫属性。在另一不同示例中,关于PSTN呼叫的知识的证明可包括通过使用PSTN呼叫的呼叫属性作为加密密钥交换中的共享口令、作为加密密钥交换协议的一部分发送的消息。因此,接收关于PSTN呼叫的知识的证明可能不包括接收关于PSTN呼叫的实际知识。
如果接收到关于PSTN呼叫的知识的证明,该操作可通过发送被指派给目的地电话呼叫的目的地VoIP呼叫代理的身份而在块1104继续。例如,该身份可以是接受被发起到目的地电话号码的VoIP呼叫的目的地VoIP呼叫代理的IP地址。在另一不同示例中,目的地VoIP呼叫代理的身份可以是与目的地VoIP呼叫代理相对应的确证服务器1010a和1010b的节点标识符。
如果未接收到关于PSTN呼叫的知识的证明,则操作可以通过例如发送差错代码而结束。在一个示例中,可以接收知识的证明并且可以通过匿名通信信道来发送目的地VoIP呼叫代理的身份。在以上提供的攻击者的示例中,攻击者为了能够发送关于PSTN呼叫的知识的证明将必须通过PSTN 26呼叫目的地电话号码。如果没有关于PSTN呼叫的知识的证明,攻击者则将接收到差错代码,而不是目的地VoIP呼叫代理的身份。
2007年7月20日提交的题为“USING PSTN REACHABILITY TOVERIFY VOIP CALL ROUTING INFORMATION”的优先权美国专利申请No.11/780,928描述了存储、核实和路由。例如,美国专利申请No.11/780,928的第50段描述了被配置为存储被发起到目的地电话号码的至少一个公共交换电话网(PSTN)的至少一个呼叫属性的装置。第51-52段描述了被配置为基于所展示的关于至少一个PSTN呼叫的知识来核实用于目的地电话号码的目的地互联网协议语音(VoIP)呼叫代理的身份的装置。第58-59段描述了被配置为基于是否针对目的地电话号码核实了目的地VoIP呼叫代理来通过VoIP网络将呼叫路由到目的地VoIP呼叫代理或者通过电路交换网络来路由呼叫的装置。
以上所述的实施例是示例,因此其他实施例是可能的。例如,虽然实施例已被描述为结合P2P网络和PSTN网络工作,但是其他实施例也可结合任何适当的网络环境使用。
不同的组件提供用于实现各种实施例的功能的不同功能。用于实现以上所述的过程、方法和/或技术的各个逻辑、软件或指令是在计算机可读存储介质或存储器或其他有形介质上提供的,所述其他有形介质例如是缓存、缓冲器、RAM、可移除介质、硬盘驱动器、其他计算机可读存储介质、或者任何其他有形介质或其任何组合。有形介质包括各种类型的易失性和非易失性存储介质。附图中示出或这里描述的功能、动作或任务是响应于存储在计算机可读存储介质中或上的一组或多组逻辑或指令而被执行的。这些功能、动作或任务独立于特定类型的指令集、存储介质、处理器或处理策略,并且可以由单独或组合操作的软件、硬件、集成电路、固件、微代码等等来执行。类似地,处理策略可包括多处理、多任务、并行处理等等。在一个实施例中,指令被存储在可移除介质设备上,供本地或远程系统读取。在其他实施例中,逻辑或指令被存储在远程位置,以便通过计算机网络或经由电话线路传送。在其他实施例中,逻辑或指令被存储在给定的计算机、中央处理单元(“CPU”)、图形处理单元(“GPU”)或系统内。编码在一个或多个有形介质中以供执行的逻辑被定义为可由处理器执行并且在计算机可读存储介质、存储器或其组合上提供的指令。
所描述的任何设备、特征、方法和/或技术可以被混合和匹配以创建不同的系统和方法。

Claims (17)

1.一种在对互联网协议语音VoIP呼叫路由信息的匿名核实中使用公共交换电话网PSTN可达性的方法,包括:
从第一节点向声称了对目的地电话号码的拥有权的第二节点发送关于至少一个PSTN呼叫的知识的证明,其中所述至少一个PSTN呼叫是在发送关于所述至少一个PSTN呼叫的知识的证明之前通过PSTN被发起到所述目的地电话号码的;以及
响应于发送关于被发起到所述目的地电话号码的所述至少一个PSTN呼叫的知识的证明,在所述第一节点处从所述第二节点接收用于所述目的地电话号码的目的地VoIP呼叫代理的身份。
2.如权利要求1所述的方法,其中,对关于所述至少一个PSTN呼叫的知识的证明的发送和对所述目的地VoIP呼叫代理的身份的接收是通过匿名通信信道进行的,其中所述匿名通信信道是基于所述目的地电话号码从所述第一节点到所述第二节点建立的并且用于在所述第二节点不知道所述第一节点的身份且所述第一节点不知道所述第二节点的身份的情况下交换数据,并且其中所述第二节点对应于所述目的地VoIP呼叫代理。
3.如权利要求2所述的方法,其中,所述匿名通信信道是通过对等网络的,并且所述第一节点和所述第二节点被包括在所述对等网络中。
4.如权利要求1所述的方法,其中,关于所述至少一个PSTN呼叫的知识包括所述至少一个PSTN呼叫的呼叫属性。
5.如权利要求4所述的方法,其中,所述至少一个PSTN呼叫的呼叫属性包括所述至少一个PSTN呼叫中的各个PSTN呼叫的开始时间。
6.一种在对互联网协议语音VoIP呼叫路由信息的匿名核实中使用公共交换电话网PSTN可达性的方法,包括:
存储电话号码和第一节点之间的映射,所述第一节点与用于所述电话号码的VoIP呼叫代理相关联;
从第二节点接收对所述电话号码的标识;
根据所述电话号码和所述第一节点之间的所述映射来确定所述第一节点的身份;
创建所述第一节点和所述第二节点之间的匿名通信信道,其中在所述匿名通信信道上是在所述第一节点不知道所述第二节点的身份且所述第二节点不知道所述第一节点的身份的情况下交换数据的;
通过所述匿名通信信道从所述第一节点接收所述VoIP呼叫代理的身份;以及
响应于从所述第二节点接收到关于通过PSTN被发起到所述电话号码的PSTN呼叫的知识的证明而将所述VoIP呼叫代理的身份通过所述匿名通信信道发送给所述第二节点,其中所述PSTN呼叫是在从所述第二节点接收到关于所述PSTN呼叫的知识的证明之前被发起的。
7.如权利要求6所述的方法,其中:
所述第一节点和所述第二节点被包括在对等网络中;并且
从所述第二节点接收关于所述PSTN呼叫的知识的证明是通过所述匿名通信信道进行的。
8.如权利要求6所述的方法,还包括:
通过所述匿名通信信道将关于所述PSTN呼叫的知识的证明发送给所述第一节点;并且
响应于通过所述匿名通信信道将关于所述PSTN呼叫的知识的证明发送给所述第一节点而通过所述匿名通信信道从所述第一节点接收所述VoIP呼叫代理的身份。
9.如权利要求6所述的方法,其中,将所述VoIP呼叫代理的身份发送给所述第二节点包括响应于从所述第一节点接收到所述VoIP呼叫代理的身份而发送所述VoIP呼叫代理的身份。
10.如权利要求6所述的方法,其中,从所述第一节点接收所述VoIP呼叫代理的身份包括响应于将关于所述PSTN呼叫的知识的证明发送给所述第一节点而从所述第一节点接收所述VoIP呼叫代理的身份。
11.如权利要求6所述的方法,还包括从所述第一节点接收对关于所述PSTN呼叫的知识的证明有效的指示。
12.一种在对互联网协议语音VoIP呼叫路由信息的匿名核实中使用公共交换电话网PSTN可达性的方法,包括:响应于在第二节点处通过匿名通信信道从第一节点接收到关于PSTN呼叫的知识的证明而从所述第二节点通过所述匿名通信信道向所述第一节点发送用于目的地电话号码的目的地VoIP呼叫代理的身份,其中所述PSTN呼叫是在接收到关于所述PSTN呼叫的知识的证明之前通过PSTN被发起到所述目的地电话号码的,并且在所述匿名通信信道上是在所述第一节点和所述第二节点中的每一个不知道所述第一节点和所述第二节点中的另一个的身份的情况下交换数据的。
13.如权利要求12所述的方法,其中接收关于所述PSTN呼叫的知识的证明包括通过使用所述PSTN呼叫的呼叫属性作为加密密钥交换中的共享秘密来通过所述匿名通信信道执行所述加密密钥交换,关于所述PSTN呼叫的知识包括所述PSTN呼叫的呼叫属性。
14.如权利要求12所述的方法,其中,接收关于所述PSTN呼叫的知识的证明包括在不知道网络中的节点的身份的情况下从该节点接收关于所述PSTN呼叫的知识的证明。
15.如权利要求12所述的方法,还包括在不知道对创建所述匿名通信信道的请求的发送者的身份情况下接受所述请求。
16.如权利要求12所述的方法,其中,所述匿名通信信道包括通过对等网络的匿名隧道,并且所述第一节点和所述第二节点处在所述匿名隧道的两端。
17.如权利要求12所述的方法,其中,关于所述PSTN呼叫的知识包括所述PSTN呼叫的至少一个呼叫属性。
CN201080001976.0A 2009-10-29 2010-10-07 在对VoIP呼叫路由信息的匿名核实中使用PSTN可达性 Active CN102239676B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/608,484 2009-10-29
US12/608,484 US8228904B2 (en) 2007-07-20 2009-10-29 Using PSTN reachability in anonymous verification of VoIP call routing information
PCT/US2010/051820 WO2011059607A2 (en) 2009-10-29 2010-10-07 Using pstn reachability in anonymous verification of voip call routing information

Publications (2)

Publication Number Publication Date
CN102239676A CN102239676A (zh) 2011-11-09
CN102239676B true CN102239676B (zh) 2014-12-17

Family

ID=43548817

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080001976.0A Active CN102239676B (zh) 2009-10-29 2010-10-07 在对VoIP呼叫路由信息的匿名核实中使用PSTN可达性

Country Status (4)

Country Link
US (1) US8228904B2 (zh)
EP (1) EP2494761B1 (zh)
CN (1) CN102239676B (zh)
WO (1) WO2011059607A2 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8274968B2 (en) * 2007-07-20 2012-09-25 Cisco Technology, Inc. Restriction of communication in VoIP address discovery system
US8223755B2 (en) * 2007-07-20 2012-07-17 Cisco Technology, Inc. Node reputation based on knowledge of PSTN calls
US8199746B2 (en) 2007-07-20 2012-06-12 Cisco Technology, Inc. Using PSTN reachability to verify VoIP call routing information
US8228902B2 (en) * 2007-07-20 2012-07-24 Cisco Technology, Inc. Separation of validation services in VoIP address discovery system
US8121114B2 (en) 2009-02-12 2012-02-21 Cisco Technology, Inc. Prevention of voice over IP spam
US8204047B2 (en) * 2007-07-20 2012-06-19 Cisco Technology, Inc. Using PSTN reachability to verify caller ID information in received VoIP calls
US8072967B2 (en) * 2007-07-20 2011-12-06 Cisco Technology, Inc. VoIP call routing information registry including hash access mechanism
US8228903B2 (en) * 2007-07-20 2012-07-24 Cisco Technology, Inc. Integration of VoIP address discovery with PBXs
US8223754B2 (en) * 2009-02-09 2012-07-17 Cisco Technology, Inc. Auto-configured voice over internet protocol
NO330630B1 (no) * 2009-07-01 2011-05-30 Tandberg Telecom As System og fremgangsmate for a opprette et anrop ved hjelp av et globalt register
US8761160B2 (en) * 2010-06-25 2014-06-24 Acme Packet, Inc. Service path routing between session border controllers
US8611360B2 (en) * 2010-12-15 2013-12-17 At&T Intellectual Property I, L.P. System for processing a call with a TDM network and routing the call with an IP network
CN103609072B (zh) 2011-05-27 2017-07-28 国际商业机器公司 管理由多个无线移动设备提供的用于分布式高速缓存的库存数据
WO2013186061A1 (en) * 2012-06-15 2013-12-19 Alcatel Lucent Architecture of privacy protection system for recommendation services
GB2503704A (en) 2012-07-05 2014-01-08 Ibm Adaptive communication anonymization
US9294433B1 (en) 2012-11-02 2016-03-22 8X8, Inc. Multiple-master DNS system
US8831192B1 (en) 2013-05-01 2014-09-09 International Business Machines Corporation Telemarketer identity verification
CN104348988B (zh) * 2013-08-08 2016-12-28 国基电子(上海)有限公司 电话网络接入设备
CN103442150B (zh) * 2013-08-28 2016-05-04 深圳市宏电技术股份有限公司 基于voip语音网关的通话方法、系统及该网关
US9749416B2 (en) 2013-11-26 2017-08-29 International Business Machines Corporation Managing inventory data for a distributed cache provided by a plurality of wireless mobile devices
CN104954373B (zh) * 2015-06-12 2019-01-18 广东天波信息技术股份有限公司 统一通信主动sip呼叫方法及系统
CN105407095B (zh) * 2015-11-26 2019-03-05 深圳市风云实业有限公司 不同网络间安全通信装置及其通信方法
US10165495B1 (en) * 2017-06-22 2018-12-25 Microsoft Technology Licensing, Llc Connectivity using a geographic phone number

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1607495A (zh) * 2002-03-29 2005-04-20 孙智峰 智能语音信息桥的设置方法和装置
US7218722B1 (en) * 2000-12-18 2007-05-15 Westell Technologies, Inc. System and method for providing call management services in a virtual private network using voice or video over internet protocol
US7457283B2 (en) * 2004-12-13 2008-11-25 Transnexus, Inc. Method and system for securely authorized VoIP interconnections between anonymous peers of VoIP networks

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2145106C (en) 1994-04-22 1999-08-24 Abhaya Asthana Intelligent memory-based input/output system
US5699514A (en) 1995-12-26 1997-12-16 Lucent Technologies Inc. Access control system with lockout
US6088683A (en) * 1996-08-21 2000-07-11 Jalili; Reza Secure purchase transaction method using telephone number
US6012144A (en) * 1996-10-08 2000-01-04 Pickett; Thomas E. Transaction security method and apparatus
US6618366B1 (en) 1997-12-05 2003-09-09 The Distribution Systems Research Institute Integrated information communication system
US6529501B1 (en) 1998-05-29 2003-03-04 3Com Corporation Method and apparatus for internet telephony
US6295575B1 (en) 1998-06-29 2001-09-25 Emc Corporation Configuring vectors of logical storage units for data storage partitioning and sharing
US20020004900A1 (en) 1998-09-04 2002-01-10 Baiju V. Patel Method for secure anonymous communication
US6404870B1 (en) 1998-09-14 2002-06-11 Cisco Technology, Inc. Method and apparatus for authorization based phone calls in packet switched networks
US6700964B2 (en) * 2001-07-23 2004-03-02 Securelogix Corporation Encapsulation, compression and encryption of PCM data
FR2787270B1 (fr) 1998-12-11 2001-01-19 Sagem Procede de mise en communication de deux equipements relies a un reseau informatique du type de l'internet
US7188138B1 (en) 1999-03-22 2007-03-06 Eric Schneider Method, product, and apparatus for resource identifier registration and aftermarket services
US7822188B1 (en) 1999-04-01 2010-10-26 Callwave, Inc. Methods and apparatus for providing expanded telecommunications service
US7010683B2 (en) 2000-01-14 2006-03-07 Howlett-Packard Development Company, L.P. Public key validation service
US6674850B2 (en) 2001-01-09 2004-01-06 Santera Systems Inc. Call processing digit translation and characterization
US6961334B1 (en) * 2001-03-29 2005-11-01 Sonus Networks, Inc. Intelligence engine
US7203753B2 (en) 2001-07-31 2007-04-10 Sun Microsystems, Inc. Propagating and updating trust relationships in distributed peer-to-peer networks
US7143052B2 (en) 2001-08-30 2006-11-28 Accenture Global Services Gmbh Transitive trust network
US20030053605A1 (en) * 2001-09-14 2003-03-20 Cashiola James P. System and method for facilitating paperless transactions related to acquisition and management of telephony type communications services such as local and long distance communications services
US7394803B1 (en) * 2001-09-28 2008-07-01 8×8, Inc Distributed local telephony gateway
US7016343B1 (en) 2001-12-28 2006-03-21 Cisco Technology, Inc. PSTN call routing control features applied to a VoIP
US7289493B1 (en) 2002-02-21 2007-10-30 Telecontinuity, Inc. System and method for providing location independent voice communications continuity through disasters
US7383572B2 (en) * 2002-05-24 2008-06-03 Authentify, Inc. Use of public switched telephone network for authentication and authorization in on-line transactions
JP2004040541A (ja) 2002-07-04 2004-02-05 Hitachi Hybrid Network Co Ltd VoIPアダプタ装置及びVoIPアダプタ装置の着信通知方法
EP1385323A1 (en) 2002-07-24 2004-01-28 Koninklijke KPN N.V. A system, a method and apparatus for peer-to peer exchange of information
US6990352B2 (en) 2002-10-03 2006-01-24 Nokia Corporation GPRS signaling via SMS messages
US6950652B2 (en) 2003-01-08 2005-09-27 Vtech Telecommunications Limited Remote management of an external phonebook
WO2004077799A2 (en) * 2003-02-27 2004-09-10 Tekelec Methods and systems for automatically and accurately generating call detail records for calls associated with ported subscribers
JP4028421B2 (ja) 2003-03-28 2007-12-26 東日本電信電話株式会社 音声通信ゲート装置のアドレス管理方法および管理装置並びにプログラム
JP4255743B2 (ja) * 2003-04-28 2009-04-15 株式会社日立コミュニケーションテクノロジー Pstn/ip網共用電話機および呼接続制御方法
EP1555786A1 (de) 2004-01-14 2005-07-20 Siemens Aktiengesellschaft Verfahren zum Aufbauen einer Datenverbindung zwischen einem ersten und einem zweiten mobilen Kommunikationsendgerät
AU2005228061A1 (en) * 2004-04-02 2005-10-13 Research In Motion Limited Deploying and provisioning wireless handheld devices
US7983243B2 (en) * 2004-04-12 2011-07-19 Avaya, Inc. System and method for increasing call capacity for a wireless local area network
US7729700B2 (en) * 2004-06-07 2010-06-01 Nokia Corporation Vertical network handovers
US7602734B2 (en) 2005-01-18 2009-10-13 At&T Intellectual Property I, L.P. Methods, systems and computer-readable media for dynamically recognizing and processing service order types in a network management system
US7912192B2 (en) * 2005-02-15 2011-03-22 At&T Intellectual Property Ii, L.P. Arrangement for managing voice over IP (VoIP) telephone calls, especially unsolicited or unwanted calls
US7852831B2 (en) * 2005-02-22 2010-12-14 Akbar Imran M Method and system for providing private virtual secure Voice over Internet Protocol communications
US20060216131A1 (en) 2005-03-24 2006-09-28 Inventec Multimedia & Telecom Corporation Apparatus and method for prevention of interferences from speech sounds in telephony
US7818575B2 (en) * 2005-06-24 2010-10-19 Microsoft Corporation Efficient retrieval of cryptographic evidence
US8040875B2 (en) * 2005-07-30 2011-10-18 Alcatel Lucent Network support for caller ID verification
US8483100B2 (en) 2005-11-14 2013-07-09 Broadcom Corporation Communication device supporting both internet and public switched telephone network telephony
CN101009737B (zh) 2006-01-26 2010-09-15 国际商业机器公司 用于阻止垃圾语音呼叫的方法和装置
KR100764153B1 (ko) 2006-03-15 2007-10-12 포스데이타 주식회사 휴대 인터넷 시스템에서의 단말 복제 검출 방법 및 장치
US20070248098A1 (en) 2006-04-23 2007-10-25 Essence Technology . Solution, Inc. Device and method of multi-service IP-phone
DE502006002745D1 (de) 2006-05-09 2009-03-19 Ams Advanced Microwave Systems Mikrowellenmessvorrichtung zur Bestimmung mindestes einer Messgrösse an einem Produkt
EP1885104A1 (en) * 2006-08-04 2008-02-06 Swisscom AG A method for establishing a communication over a packet based network
US20080052270A1 (en) 2006-08-23 2008-02-28 Telefonaktiebolaget Lm Ericsson (Publ) Hash table structure and search method
US20080292077A1 (en) 2007-05-25 2008-11-27 Alcatel Lucent Detection of spam/telemarketing phone campaigns with impersonated caller identities in converged networks
US20090025075A1 (en) 2007-07-17 2009-01-22 Alcatel Lucent On-demand authentication of call session party information during a telephone call
US8228902B2 (en) 2007-07-20 2012-07-24 Cisco Technology, Inc. Separation of validation services in VoIP address discovery system
US8274968B2 (en) 2007-07-20 2012-09-25 Cisco Technology, Inc. Restriction of communication in VoIP address discovery system
US8204047B2 (en) 2007-07-20 2012-06-19 Cisco Technology, Inc. Using PSTN reachability to verify caller ID information in received VoIP calls
US8223755B2 (en) 2007-07-20 2012-07-17 Cisco Technology, Inc. Node reputation based on knowledge of PSTN calls
US8199746B2 (en) 2007-07-20 2012-06-12 Cisco Technology, Inc. Using PSTN reachability to verify VoIP call routing information
US8228903B2 (en) 2007-07-20 2012-07-24 Cisco Technology, Inc. Integration of VoIP address discovery with PBXs
US8072967B2 (en) 2007-07-20 2011-12-06 Cisco Technology, Inc. VoIP call routing information registry including hash access mechanism
US7855982B2 (en) * 2007-11-19 2010-12-21 Rajesh Ramankutty Providing services to packet flows in a network
US8488479B2 (en) 2008-12-19 2013-07-16 At&T Intellectual Property I, L.P. Method and apparatus for providing protection against spam

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7218722B1 (en) * 2000-12-18 2007-05-15 Westell Technologies, Inc. System and method for providing call management services in a virtual private network using voice or video over internet protocol
CN1607495A (zh) * 2002-03-29 2005-04-20 孙智峰 智能语音信息桥的设置方法和装置
US7457283B2 (en) * 2004-12-13 2008-11-25 Transnexus, Inc. Method and system for securely authorized VoIP interconnections between anonymous peers of VoIP networks

Also Published As

Publication number Publication date
WO2011059607A3 (en) 2011-08-11
EP2494761A2 (en) 2012-09-05
US20100046507A1 (en) 2010-02-25
EP2494761B1 (en) 2013-12-11
WO2011059607A2 (en) 2011-05-19
US8228904B2 (en) 2012-07-24
CN102239676A (zh) 2011-11-09

Similar Documents

Publication Publication Date Title
CN102239676B (zh) 在对VoIP呼叫路由信息的匿名核实中使用PSTN可达性
CN102160361B (zh) 基于关于pstn呼叫的知识的节点声誉
CN101755445B (zh) 利用PSTN可达性验证VoIP呼叫路由信息
US8204047B2 (en) Using PSTN reachability to verify caller ID information in received VoIP calls
US8072967B2 (en) VoIP call routing information registry including hash access mechanism
US8228902B2 (en) Separation of validation services in VoIP address discovery system
US8228903B2 (en) Integration of VoIP address discovery with PBXs
CN102077550B (zh) Voip地址发现系统中通信的限制
US10038779B2 (en) Intercepting voice over IP communications and other data communications
US8311218B2 (en) Rounding for security
US7440455B2 (en) Registration of multiple VoIP devices
US10171889B2 (en) Method and system for managing internal and external calls for a group of communication clients sharing a common customer identifier
US7706253B1 (en) Gateway to route communications during a fault
Bila Dealing with Spam in Voice Over IP

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant