监听基于ip的语音通信和其它数据通信的制作方法

文档序号:7680983阅读:280来源:国知局

专利名称::监听基于ip的语音通信和其它数据通信的制作方法
技术领域
:本发明涉及IP网络中的数据通信以及用于监听数据通信、尤其U于IP的语音数据通信的方法和设备。
背景技术
:使用术语"合法监听"来描述允许执法机构进行电信的电子监视的过程。电信的合法监听,尤其是电话呼叫的合法监听的前提在于下面的概念执法机构确定感兴趣的人,获得监视的合法授权(例如,司法或行政授权令),然后联系此人的电信服务提供商,该电信服务提供商被要求向执法机构提供此人的通信的实时拷贝。然后执法^可以使用该实时拷贝监视或记录此人的通信。在例如7〉共交换电话网络(PSTN)或蜂窝网络等传统电信网络的框架内,合法监听对于服务提供商来说通常存在纯粹的经济问题,服务提供商必须确保配置足够的监听装备和用于执法机构的专用链路,以满足法律授权的合法监听要求。然而,在网络电话(VoIP)通信的背景下,除上述经济问题以外,合法监听还存在极大的技术挑战,这常常使得非常难以符合法律要求的合法监听要求。该问题的本质在于VoIP技术和作为VoIP技术的^ftfe的因特网协议(IP)网络(例如,因特网)。传统电信网络是"面向连接"或"电路交换"。经由专用"电路"发生基于这类网络的通信。尽管这些网络通常包括多个可用的并行i^圣,但是,当建立电路时,仅选取多个可用路径中的一条路径。在电路具有故障保护的情况下,还可以预留冗余路径,其中,冗余路径也在电路建立时确定。一旦建立电路,则所有通信通过端到端。由于服务提供商在其合法控制下的网络中的任意点处都可以"分接(tap),,电路,因而易于对这类通信进行监听。与电路交换网络相反,基于IP的网络被设计成"无连接"。无连接IP网络本质上包括多个互联的网络设备(路由器),互联的网络设备从网络上的任意点到任意其它点建立多条路径。将需要通过IP网络的信息分成小的"分组",每个分组包括IP头和服务标志、以及用户有效载荷,其中IP头包含源寻址信息和目的地寻址信息。在多方之间进行通信中的各定。在iiJ^(h叩)的基础上(逐路由器)定义路径,分组到达的每一路由器检查包含在IP头中的源地址和目的地址,并且应用例如跳数(当前路由器和目的地之间的路由器的数量)、可用銜洛的时延(latency)和带宽、以及例如提供商之间的协定的管理考虑等许多服务变量,来确定分组将要被转发至的下一跳。例如,由于服务变量响应于网络中的M故障而动态改变,因而可用路径可能变化很大,并且不可能可靠地预测包括特定通信的分组将会通过的一条路径或多条路径。此外,由于釆用不同路径可能具有不同时延,因而甚至不可能预测分组到达它们的目的地的次序。尽管对于通常躍J宗分组序列以重组(reassemble)通信的基于IP的应用,多个可用的路径和次序颠倒到达不存在问题,但是对于合法监听基于IP网络的通信,尤其对于合法监听VoIP呼叫,相同的因素将成为艰巨的问题。VoIP系统中经常利用的分布式技术进一步加剧了这类系统中的合法监听的问题。通常在VoIP主叫与VoIP呼叫控制器通信以便利与VoIP被叫的连接时,通常通过使用用户数据报协议(UDP)将音频信息封装在IP分组中在多方之间建立直接的IP连接,从而发生多方之间的实际通信。这些分组可以采用如上所述的IP网络上的任何可用的路径。即^J良务提供商可以在订户(subscriber)的分组可能经过的网络中的每一个点处放置监听设备,以向执法W^提供有用的通信拷贝,服务提供商也不得不在单个装置处重组所有故监听的分组,然后仅将结果传送给执法机构。大体上,除了不得不从网络中的多个点收集包括该通信的分组以外,服务提供商还必须镜^^皮叫VoIP电话的功能。迄今为止,与该提议相关的技术挑战和经济成本导致VoIP系统中缺少有意义的合法监听能力。
发明内容根据本发明的一个方面,提供一种用于监听因特网协议(IP)网络中7的通信的方法。该方法包括保持IP网络的各订户的拨号配置文件,其中,每个拨号配置文件包括与对应的订户相关联的用户名。该方法还包括将监听信息与其通信视的订户的拨号配置文件相关联,监听信息包括用于确定是否监听与该订户有关的通信的确定信息和用于识别向其发送所监听的与该订户有关的通信的装置的目的地信息。该方法还包括当确定信息满;u^听标准时,与媒体中继器进行通信以使^^体中继器将该通信的拷贝发送至由目的地信息所指定的仲裁装置,其中,通过该媒体中继器将要进行与该订户有关的通信或者正在进行与该订户有关的通信。关联监听信息可以包括当与该订户有关的通信没有在进行时,将监听信息与拨号配置文件相关联。关联监听信息可以包括当与该订户有关的通信正在进行时,关联该监听信息。关联监听信息可以包括设置其通信要视的订户的拨号配置文件中的监听信息字段。该方法可以包括产生用于通过IP网络的组件路由对与订户有关的通信进行路由的的路由消息;并且,在产生路由消息之前,确定确定信息是否满足监听标准;以及当确定信息满足监听标准时,将监听信息中的至少一些包括在路由消息中。确定确定信息是否满足监听标准可以包括确定当前日期和时间是否在由确定信息所指定的范围内。该方法可以包括响应于路由消息识别媒体中继器,其中,通过该媒体中继器,进行与该订户有关的通信。该方法可以包括预先将至少一个媒体中继器与其通信要被监视的订户的拨号配置文件相关联;并且其中,识别媒体中继器可以包括识别与其通信要视的订户预先关联的媒体中继器。预先关联包括以至少一个媒体中继器的标识设置拨号配置文件中的媒体中继器字段。可以响应于接收到监听请求消息,将监听信息与其通信要视的订户的拨号配置文件相关联,并且监听请求消息可以包括监听信息。该方法可以包括调用监听请求消息处理机,以找到与其通信要视的订户相关联的拨号配置文件,并且执行将监听信息与拨号配置文件相关联的步骤,以及确定是否满足监听标准,并且识别通过其正在进行该通信的媒体中继器。该方法可以包括保持正在进行的通信的主动呼叫记录,并且主动呼叫记录可以包括用户名标识符和用于识别通过其正在进行该通信媒体中继器的媒体中继器标识符;并且,识别通过其正在进行该通信的^^体中继器可以包括对与其通信要被监视的订户的通信相关联的主动呼叫记录进行定位,以找到与该通信相关联的媒体中继器。该方法可以包括保持用于将pst电话号码与预订ip网络的用户的用户名相关联的直^U^(did)记录,并且,找到与其通信要:视的订户相关联的拨号配置文件可以包括找到did记录中的用户名,其中,did记录具有与其通信要视的订户相关联的pstn号码。可以使用该用户名对与该用户名相关联的拨号配置文件i^ft定位。根据本发明的另一方面,提供一种用于监听因特网协议(ip)网络中的通信的设备,该设备包括用于保持ip网络的各订户的拨号配置文件的装置,其中,每个拨号配置文件都包括与对应的订户相关联的用户名。该设备还包括用于将监听信息与其通信要被监视的订户的拨号配置文件相关联的装置,监听信息包括用于确定是否监听与该订户有关的通信的确定信息和用于识别向其发送所监听的与该订户有关的通信的装置的目的地信息。该设备还包括用于当确定信息满足脍听标准时,与^^体中继器通信以使得媒体中继器将该通信的拷贝发送至由目的地信息所指定的仲裁装置的装置,其中,通过该^体中继器,将要进行或正在进行与该订户有关的通信。用于关联监听信息的装置可以被可操作地配置成当与订户有关的通信没有在进行时,将监听信息与拨号配置文件相关联。用于关联监听信息的装置可以被可操作地配置成当与订户有关的通信正在进行时,关皿听信息。用于关联监听信息的装置可以被可操作地配置成设置其通信要皿视的订户的拨号配置文件中的监听信息字段。该设备还可以包括用于产生路由消息的装置,其中,该路由消息用于通过ip网络的组件对与订户有关的通信进行路由,以及用于在产生该路由消息之前确定确定信息是否满足监听标准的装置,并且,用于产生路由消息的装置可以被可操作地配置成当确定信息满足监听标准时,将监听信息中的至少一些包括在路由消息中。用于确定确定信息是否满足监听标准的装置可以被可操作地配置成确定当前日期和时间是否在由确定信息所指定的范围内。该设备还可以包括用于响应于路由消息识别媒体中继器的装置,其中,通过该媒体中继器将进行与订户有关的通信。该设备还可以包括用于将至少一个媒体中继器与其通信要净视的订户的拨号配置文件预先关联的装置;并且,路由装备可以被可操作地配置成根据拨号配置文件识别与其通信要视的订户预先关联的媒体中继器。用于预先关联的装置可以被可操作地配置成以至少一个媒体中继器的标识设置拨号配置文件中的^^体中继器字段。用于关联监听信息的装备可以被可操作地配置成响应于接收到监听请求消息,关联与其通信要视的订户的拨号配置文件相关联的监听信息,其中监听请求消息包括监听信息。该设备还可以包括用于处理监听请求消息的装置。用于处理监听请求消息的装置可以包括用于找到与其通信要视的订户相关联的拨号配置文件的装置。用于找到拨号配置文件的装置可以与用于将监听信息与拨号配置文件相关联的装置协作,以使得将监听信息与拨号配置文件相关联。用于处理监听请求消息的装置可以包括用于确定是否满足监听标准的装置和用于识别通过其正在进行该通信的媒体中继器的装置.该设备还可以包括用于保持正在进行的通信的主动呼叫记录的装置,其中,主动呼叫记录包括用户名标识符和用于识别通过其正在进行该通信媒体中继器的媒体中继器标识符;并且,用于识别通过其正在进行该通信的媒体中继器的装置可以被可操作地配置成对与其通信要视的订户的通信相关联的主动呼叫记录进行定位,以找到与该通信相关联的媒体中继器。该设备还可以包括用于保持将PST电话号码与预订IP网络的用户的用户名相关联的直接拨入(DID)记录的装置,并且,用于找到与其通信要,视的订户相关联的拨号配置文件的装置可以被可操作地配置成找到具有与其通信要皿视的订户相关联的PSTN号码的DID记录中的用户名,并且使用该用户名对与该用户名相关联的拨号配置文件进行定位。通过使用^^体中继器,所有VoIP通信遍历在提供商的控制下的VoIP10系统中的点,并且在媒体中继器,处,可以将通信实时复制到仲裁装置,其中,仲裁装置将监听的通信传送至执法机构。通过保持各订户的拨号配置文件并且关联所述类型的监听信息,利用其通信要净it^视的订户的拨号配置文件,拨号配置文件可以用作为确定信息的源,该确定信息用于确定是否要监视与该订户有关的通信,并且用于提供指定将该通信的拷贝要发送至哪里的目的地信息。以这种方式使用拨号配置文件容易地促使认为拨号配置文件是特定订户的监听信息的库(respository),并且可以处理该库以确定是正在启动呼叫还是呼叫正在进行中,从而,由于控制算法可以与拨号配置文件中的公用源和数据格式协作,因而简化了控制算法。通过以下结合附图对本发明的具体实施例的说明,对于本
技术领域
的普通技术人员来说,本发明的其它方面和特征将变得明显。在附图中,示出本发明的实施例。图l是根据本发明第一实施例的系统的框图2是根据本发明第一实施例的主叫VoIP电话的框图3是在图1所示的主叫电话和呼叫控制器(CC)之间传送的SIPInvite消息的示意图4是图l所示的呼叫控制器的框图5是图1所示的呼叫控制器所执行的处理的流程图6是图l所示的呼叫控制器所产生的路由控制器(RC)请求消息的示意图7是图l所示系统的路由控制器(RC)处理器电路的框图8A~8D是图7所示的RC处理器电路所执行的RC请求消息处理机(handler)的流程图9是存储在图1所示的RC可访问的数据库中的拨号配置文件(profile)的图^^示;图10是Vancouver订户的拨号配置文件的图^^示;图11是Calgary订户的拨号配置文件的图M示;图12是London订户的拨号配置文件的图M示;图13是存储在图1所示的数据库中的直接4^(DID)库表(banktable)记录的图M示;图14是图12中提及的London订户的示例性DID库表记录的图表表示;图15是从图1所示的路由控制器传送至呼叫控制器的路由消息的图图16是保存用于将呼叫路由至图12提及的London被叫的路由消息的路由消息緩冲器的图M示;图16A是保存用于为了合法监听的目的、将呼叫路由至London被叫和执法机构的消息的路由消息緩冲器的图M示;图17是存储在图1所示的数据库中的超节点前^记录的图M示;图18是图ll提及的Calgary被叫要使用的超节点前缀表记录的图表表示;图19是存储在图i所示的数据库中的主列M中的主列表记录的图图20是示例性设置的主列表记录的图表表示;图21是存储在图1所示的数据库中的供应商列表记录的图M示;图22是第一供应商的特定供应商列表记录的图^示;图23是第二供应商的特定供应商列表记录的图M示;图24是第三供应商的特定供应商列表记录的图^4示;图25是保存在路由消息緩沖器中的、对路由控制器识别可以承载呼叫的多个可能供应商的路由消息的图a示;图26是呼叫阻塞(block)表记录的图^示;图27是Calgary被叫的呼叫阻塞表记录的图M示;图28是呼叫转移表记录的图M示;图29是Calgary被叫特有的示例性呼叫转移表记录的图表表示;图30是用于指定语音信箱参数以使得主叫能够为被叫留下语音信箱消息的语音信箱表记录的图M示;图31是Calgary被叫的示例性语音信箱表记录的图4^示;图32是保存在路由消息緩冲器中的、表示呼叫转移号码和语音信箱服务器标识符的示例性路由消息的图a示;图32A是保存在路由消息緩冲器中的、表示呼叫转移号码和附加有主叫合法监听字段的语音信箱服务器标识符的示例性路由消息的图表表示;图32B是保持在路由消息緩冲器中的、表示呼叫转移号码和附加有被叫合法监听字段的语音信箱服务器标识符的示例性路由消息的图表表示;图33是呼叫控制器所执行的路由消息处理机处理的流程图34是在执行用于在电话和媒体中继器(mediarelay)之间建立音频路径的处理的过程中所交换的消息的示意图35是由图1的呼叫控制器保持的主动呼叫记录的图a示;图36是由图1的路由控制器保持的主动呼叫记录的图^示;图37是从呼叫控制器传送至仲裁装置的SIPInvite消息的图^示;图38是从调节装置传送至呼叫控制器的SIPOK消息的图^示;图39是从图1所示的电话中的一个传送至呼叫控制器的SIPBye消息的图a示;图40是从Calgary被叫发送至呼叫控制器的SIPBye消息的图^^示;图41是响应于接收到SIPBye消息由呼叫控制器所执行的用于产生RC停止消息的处理的流程图42是示例性RC呼叫停止消息的图M示;图43是Calgary被叫的示例性RC呼叫停止消息的图a示;图44是由图1所示的路由控制器所执行的路由控制器执法当局请求消息处理机的流程图45是由图1所示的呼叫控制器所执行的呼叫控制器呼叫中(in-call)监听消息处理机的流程图46是由图1所示的路由控制器所执行的路由控制器呼叫中监听关闭例程的流禾呈图47是由图1所示的呼叫控制器所执行的呼叫控制器停止监听消息处理M由的流禾呈图。具体实施例方式参考图1,10—般地示出用于进行基于IP的语音电话呼叫的系统。该系统包括11一般地示出的第一超节点和21—般地示出的第二超节点。第一超节点11位于例如VancouverB.C.的地理区域,并且第二超节点位于例如LondonEngland,不同超节点可以位于4nt界不同地理地区,以向各地区的用户提供电话服务。这些超节点可以通过例如用于形成系统主干的、包括光纤、卫星和/或线缆^的高勿高数据吞吐量M互相进4亍通信。可替换地或另外地,这些超节点可以通过传统因特网服务互相进行通信。在所示的实施例中,23—般地示出用于在第一和第二超节点11和21之间提供数据通信的数据通信介质,并且,例如,该数据通信介质可以包括甚高速数据炮洛。在所示实施例中,Vancouver超节点11向包括从VancouverIsland到Ontario的加拿大西部客户的地理地区提供电话服务,并且包括Vancouver订户(subscriber)和Calgary订户。另一超节点(未示出)可以位于加拿大东部以向该区域的订户提供月艮务。另夕卜,在由超节点服务的地理区域内,例如,在由超节点服务的地理区域的地区内,还可以采用与所示类型类似的较小的超节点,以提供呼叫负载共享。然而,一般来说,所有超节点是类似的,并且具有以下结合Vancouver超节点11所描述的特性。在本实施例中,Vancouver超节点包括呼叫控制器(CC)14、路由控制器(RC)16、数据库18、媒体中继器17和一个或多个仲裁装置(MD),其中,31仅示出其中一个仲裁装置。例如Vancouver订户和Calgary订户等订户使用他们自己的因特网服务提供商(ISP)13和19与Vancouver超节点ll进行通信,其中,ISP13和19通过因特网对来自这些订户的因特网业务(Internettraffic)进行路由。对于这些订户,Vancouver超节点11以预先确定的IP地址或全称域名(FQDN)是可访问的,使得可以通过订户的ISP以常用方式访问Vancouver超节点11。Vancouver城市的订户使用能够采用会话初始化协议(SIP)消息与Vancouver超节点1114通信的电话12,并且Calgary订户使用类似的电话15,从CalgaryAB与Vancouver超节点进行通信。应该注意,在对本发明实施例的全部说明中,假定如主叫和被叫电话、呼叫控制器以及媒体中继器和任何其他所有元件的IP/UDP地址是可经由因特网或私有IP网络直接访问的有效IP/UDP地址,其中因特网或私有IP网络例如取决于系统的具体实现。同样地,例如,假定主叫和被叫电话具有由它们相应的超节点上的呼叫控制器和媒体中继器可直接访问的IP/UDP地址,并且该地址不会被网络地址转换(NAT)或类似机制所隐藏(obscure)。换句话i兌,SIP消息中包含的IP/UDP信息(例如,下面将要说明的SIPInvite消息或RCRequest消息)与承载这些SIP消息的IP分组的IP/UDP地址相匹配。应该理解,在许多情况下,分配给该系统的各种元件的IP地址可能位于私有IP地址空间,因此不可从其它元件直接访问。此外,还应理解,通常使用NAT共享多个装置之间,例如共享单个因特网连接的家用PC和IP电话之间的">共"IP地址。例如,家用PC可以被分配如192.168.0.101的IP地址,而基于IP的语音电话可以被分配192.168.0.103的IP地址。这些地址位于所谓的"不可路由的"地址空间,并且不能从因特网直接访问。为了使这些装置与位于因特网上的其它计算机通信,必须由执行NAT的装置,一般为家用路由器,将这些IP地址变换成"公共"IP地址,例如,因特网服务提供商分配给订户的24.10.10.123。除转换IP地址以外,NAT—般还转换UDP端口号,例如,源自IP电话并且在其私有IP地址处使用UDP端口12378的音频路径,可以被转换成与NAT装置的公共IP地址相关联的UDP端口23465。换句话说,当源自上述IP电话的分组到达基于因特网的超节点时,包含在IP分组头中的源IP/UDP地址为24.10.10.1:23465,而包含在该IP分组内部的SIP消息中的源IP/UDP地址信息为192.168.0.103:12378。例如,由于超节点试图向电话的私有地址发送消息,因而IP/UDP地址的不匹配可能导致基于SIP的系统的问题,即该消息将决不会到达那里。应该理解,有许多方法可用于克服该问题。例如,可以在超节点上运行SIPNATHelper开源软件模块,以将包含在来自SIP装置的IP分组的头中包含的>^共IP/UDP地址与包含在这些分组中的SIP消息中的私有IP/UDP地址相关联。因此,下面描述的本发明的实施例将确定该系统的任何元件是否位于隐藏它们的真实IP/UDP地址的NAT装置之后。15参考图1,在通过Vancouver电话12对Calgary电话15进行的呼叫尝试中,例如,Vancouver电话向Vancouver超节点11发送SIPInvite消息,并且作为响应,呼叫控制器14向对数据库18进行各种查询的路由控制器16发送RCRequest消息,以产生要被发送至呼叫控制器14的路由消息。然后呼叫控制器14使得通过媒体中继器17建立包括音频路径的通信链路,以将语音业务传送至呼叫接受者或被叫并传送来自呼叫接受者或被叫的语音业务,其中,媒体中继器17可以包括例如同一Vancouver超节点11、不同超节点或通信提供商网关。根据所满足的特定M,如下所述,当发生对数据的合法监听时,音频路径上的数据被复制到仲裁装置31,仲裁装置31可以提供对音频数据的实时收听或记录。订户电话参考图2,在本实施例中,电话12、15、22和25每个包括30—般地示出的处理器电路,该处理器电路包括微处理器32、程序存储器34、输X/输出(1/0)接口36、参数存储器38和临时存储器40。程序存储器34、1/0接口36、参数存储器38和临时存储器40都与微处理器32通信。I/O接口36具有拨号输入42,拨号输入42用于接收通过例如小^^拨打的电话号码,或者通过语音识别单元或存储在参数存储器38中的预先存储的电话号码所拨打的电话号码。为了简化,标记为拨号功能44的框表示能够向微处理器32通知被叫标识符,例如被叫电话号码的任何装置。微处理器32将被叫标识符存储在拨打号码緩冲器41中。在例如Vancouver订户的情况下,例如,拨打的号码可以是识别Calgary订户的200110502222,或者拨打的号码可以是PSTN号码。1/0接口36还具有听筒接口46,听筒接口46用于从听筒45接收信号并且向听筒45产生信号,用户可以将听筒45放置在他的耳朵处。听筒接口46可以包括例如BLUETOOTHTM无线接口、有线接口或喇-八扩音器。听筒45作为音频路径(未示出)的终端点,这将在后面说明。1/0接口36还具有与例如可以提供高速因特网连接的IP网络的网络接口48,并且I/O接口36可操作以将电话连接到ISP。网^^口48还作为音频路径的一部分,将在后面说明。Wl存储器38具有用户名字段50、密码字段52、IP地址字段53和SIP代理地址字段54。用户名字段50可操作以保存用户名,对于Vancouver订户,用户名为200110508667。在预订或注册系统时分配用户名,并且,在本实施例中包括12个数字,具有洲代码61、国家代码63、经销商代码70和唯一数字代码74。在本实施例中,由用户名的第一个或最左边的数字构成洲代码61。由接下来的三个数字构成国家代码63。由接下来的四个数字构成经销商代码70,并且由最后四个数字构成唯一数字代码74。在该示例中,密码字段52保存达到512个字符的密码。IP地址字段53存储电话12的IP地址和UDP端口号,在该说明中,该IP地址和UDP端口号为192.168.0.20:12345。SIP代理地址字段54存储SIP代理的IP地址,作为注册过程的一部分,通过网落接口48可以将该SIP代理的IP地址提供给电话12。程序存储器34存储用于指示微处理器32以实现电话功能的代码的块,这些块中之一包括防火墙块56,防火墙块56向电话提供防火墙功能,以防止通过网络连接对微处理器32以及存储器34、38和40的未授权访问。程序存储器34还存储用于建立呼叫ID的呼叫ID代码57。呼叫ID代码57指示微处理器32以产生呼叫标识符,该呼叫标识符具有十六进制串和存储在IP地址字段53中的电话的IP地址的格式。因此,呼叫的示例性呼叫标识符可以为FF10@192.168.0.20。通常,响应于启动听筒45和使用拨号功能44,微处理器32产生如图3所示的SIPInvite消息,并且将其发送至图1所示的呼叫控制器14。参考图3,SIPInvite消息包括主叫标识符字段60、被叫标识符字段62、摘要参数字段64、呼叫标识符字段65、主叫IP地址字段67和主叫UDP端口字段69。在本实施例中,主叫标识符字段60包括用户名200110508667,该用户名《_存储在图2所示的Vancouver电话12中的参数存储器38的用户名字段50中的用户名。另外,作为示例,回到参考图3,被叫标识符字段62包括作为存储在图2所示的拨打号码緩冲器41中的Calgary订户的拨打的号码的用户名200110502222。摘要^lt字段64包括摘要M,并且呼叫标识符字段65包括代码,该代码包括生成的前缀代码(FF10)和作为存储在IP地址字段53中的电话12的IP地址的后缀。主叫IP地址字段67保存分配给电话的IP地址,在本实施例中为192.168.0.20,并且,主叫UDP端口字段69包括UDP端口标识符,该UDP端口标识符用于识别由主叫的电话接收的音频数据要发送至的UDP端口。呼叫控制器参考图4,100更详细地示出呼叫控制器14(图1)的呼叫控制器电路。呼叫控制器电路IOO包括微处理器102、程序存储器104和I/O接口106。呼叫控制器电路100可以包括多个微处理器、多个程序存储器和多个I/O接口以能够处理大呼叫量。然而,为了筒化,将呼叫控制器电路100描述为仅具有一个微处理器、程序存储器和i/o接口,应该理解,可以有多个。通常,1/0接口106包括用于从图2所示的电话接收例如图3所示的SIPInvite消息等消息的输入108。1/0接口106还具有用于向图1的路由控制器16发送RCRequest消息的RCRequest消息输出110、用于>^由控制器16(图1)接收路由消息的RC消息输入112、用于向d^体中继器(图l)发送消息以通知该媒体中继器建立音频路径的媒体中继器(MR)输出114、以及用于从向其发送消息以尝试图建立音频路径的媒体中继器接收消息的MR输入116。1/0接口106还包括SIP输出118,用于向电话12(图1)发送SIP消息,以向该电话通知将建立音频路径的媒体中继器17(图1)的IP地址。I/O接口106还包括用于与仲裁装置31(图1)通信的仲裁装置输入119和仲裁装置输出121。尽管分开示出了特定输入和输出,但M该理解,一些输入和输出可以与单个IP地址和TCP或UDP端口相关联。例如,可以在相同的单个IP地址和TCP或UDP端口发送和接^Mc路由控制器16所发送和接收的消息。呼叫控制器电路100的程序存储器104包括用于指示微处理器102以实现呼叫控制器14的各种功能的代码的块。例如,这些代码的块包括第一块120,用于响应于接收到的SIPInvite消息,使呼叫控制器电路100执行SIPInvite到RC请求的处理,以产生RCRequest消息。另外,还有路由消息处理机块122,使得呼叫控制器电路100启用仲裁装置和/或执行呼叫处理例程以建立通过媒体中继器的音频路径,从而建立呼叫。程序存储器104还包括用于监听正在进行的呼叫的呼叫中监听消息处理机1450和用于停止监听正在进行的呼叫的停止监听消息处理机1520。参考图5,120更详细地示出SIPInvite到RCRequest的处理。当接收到图3所示类型的SIPInvite消息,图5的块132指示图4的呼叫控制器电路100对操作SIPInvite消息从其发出的电话的用户进^i人证。例如,响应于该消息,通过提示用户需要密码,向电话12发送回消息,该消息在电话处被解释为请求输入密码或者密码可以被自动从电话发送到呼叫控制器14,来进行该认证。然后呼叫控制器14可以查询其访问的数据库,以确定用户的密码与存储在该数据库中的密码是否匹配。可以使用各种函数来回传送加密密钥或散列码,以确保密码的安全传输。如果认证处理失败,则呼叫控制器电路100指向错误处理块134,错误处理块134使得在电话12处显示表示存在认证错误的消息。如果认证处理成功,则块131指示呼叫控制器电路100确定SIPInvite消息的主叫标识符字段60的内容是否是格式有效的IP地址。如果是有效的IP地址,则块133指示呼叫控制器电路100将表示该呼叫类型为第三方it请的类型代码与该呼叫相关联。如果在块131,主叫标识符字段60的内容不识别IP地址,那么块135指示呼叫控制器电路100将表示该呼叫类型是常规SIPInvite消息的类型代码与该呼叫相关联。然后,块136通过分配在来自电话12的SIPInvite消息的呼叫标识符字段65中提供的呼叫ID来指示呼叫控制器电路100建立呼叫ID,并且在块138,指示呼叫控制器电路产生包括该呼叫ID的图6所示类型的RCRequest消息。回到参考图5,块139然后指示呼叫控制器电路100向路由控制器16发送RCRequest消息。参考图6,150—般地示出RCRequest消息,并且RCRequest消息包括主叫标识符字段152、被叫标识符字段154、摘要字段156、呼叫ID字段158和类型字段160。该主叫、被叫、摘要和呼叫标识符字段152、154、156和158包含图3所示的SIPInvite消息59的主叫、被叫、摘要参数和呼叫ID字段60、62、64和65的副本。类型字段160包含在图5的块133或135处建立的类型代码,以分别表示该呼叫是来自第三方还是来自系统订户。例如,被叫标识符字段154可以包括所示的PSTN号码或系统订户用户名。路由控制器参考图7,更详细地示出路由控制器16,并且路由控制器16包括200一般地示出的路由控制器处理器电路。RC处理器电路200包括微处理器202、以及都与该处理器通信的程序存储器204、表存储器206和I/O接口208。可以有多个处理器电路(202)、存储器(204)等。1/0接口208包括数据库输出端口210,通过数据库输出端口210,可以对数据库18(图1)进行请求,并且I/O接口208包括用于从数据库接收应答的数据库响应端口212。1/0接口208还包括用于从呼叫控制器14接收RCRequest消息的RCRequest消息输入214,并且包括用于将路由消息发送回呼叫控制器14的路由消息输出216。19程序存储器204包括用于指示RC处理器电路200实现路由控制器16的各种功能的代码的块。这些块中之一实现RCRequest消息处理机处理250,RCRequest消息处理机处理250响应于接收到的图6中150所示类型的RCRequest消息,指示RC产生路由消息。回到参考图7,程序存储器204还包括执法当局(LEA)请求消息处理机1400和呼叫中监听关闭路由1500。图8A~8D更详细地示出RCRequest消息处理机处理250。RCRequest消息处理机参考图8A,RCRequest消息处理机处理250从第一块252开始,第一块252指示RC处理器电路200(图7)将RCRequest消息150(图6)的内容存储在緩冲器中。然后块254指示RC处理器电路200使用图6所示的RCRequest消息中的主叫标识符字段152中的内^if过数据库18定位和检索该主叫的拨号配置文件(profile)。路由控制器将该系统的各订户的拨号配置文件保持在数据库中。参考图9,256—般地示出示例性拨号配置文件,并且拨号配置文件256包括系统字段,该系统字段包括用户名字段258、域字段260、国内拨号数位(NationalDialingDigit,NDD)字段262、IDD(国际拨号数位)字段264、国家代码字段266、;^fc区域代码字段267、主叫最小本地长度字段268、主叫最大本地长度字段270和中间商字段273。示例性拨号配置文件还包括合法监听相关字段,该合法监听相关字段包括合法监听(LI)标志字段702、至少一个仲裁装置字段704、至少一个授权令ID字段706、以瓦脍听期开始和停止日期/时间字段708和710。可以将LI标志字段702、授权令ID字段706以及LI开始/停止字段708和710当作为用于确定是否监听与订户有关的通信的确定信息字段,并且可以将MD1地址字段704当作为用于识别所监听的与订户有关的通信要向其发送的装置的目的地信息字段。当用户向系统注册成为订户时,由系统IMt者向系统字段(258、260、262、264、266、267、268、270、273)分配值,或者根据预先定义的算法(未示出)自动分配。响应于与一个或多个授权的装置的通信,向合法监听字段(702、704、706、708、710)分配值,并且不管与订户有关的通信是否正在进行,可以随时设置合法监听字段。例如,回到参考图1,可以将仲裁装置31当作为由执法当局293操作的授权的装置。可以建立呼叫控制器14和仲裁装置31之间的通信通道来允许仲裁装置与呼叫控制器通信,从而使得呼叫控制器与路由控制器16通信,以在数据库18中找到订户记录,该订户记录与已为其获得合法监听的授权令的订户相关联。例如,一旦执法当局293接收到用于识别用户并允许合法监听该用户的通信的授权令,则该执法当局可以使用它自己的计算机与仲裁装置31进行通信,以使得仲裁装置与呼叫控制器14通信,从而使得呼叫控制器与路由控制器16交互作用,来访问该授权令中所指定的用户的拨号配置文件(图9),并且利用下面的数据加载合法监听字段(702、704、706、708、710):该数据将合法监听标志字段702设置成"开,,,将仲裁装置31的IP地址存储在MD1地址字段704中,利用授权令的标识符加载授^k令ID字段706,并且用开始和停止日期和时间加载开始和停止字段708和710,以指定在其期间可以根据授权令发生对所识别的用户的通信的合法监听的时间段。因此,响应于路由控制器从呼叫控制器接收的信息,路由控制器将监听信息与拨号配置文件相关联。可以添加多组所示类型的合法监听字段,例如,如果操作相同或不同仲裁装置的若干不同执法机构具有监视用户的通信的授权令,则通过不同授权的装置添加各个组。可替换地,授权的装置可以包括可操作以与呼叫控制器或路由控制器通信的转换接口,来访问数据库以加载与感兴趣的订户相关联的合法监听字段。图10中的276—般地示出Vancouver订户的示例性拨号配置文件,并且拨号配置文件276表示用户名字段包括与图2所示的Vancouver电话12中的用户名字段50的内斜目同的用户名200110508667。回到参考图10,域字段260包括282所示的域名,该域名包括超节点类型标识符284、位置代码标识符286、系统提供商标识符288和顶级域标识符2卯,用于识别与用户名字段258的内容所识别的用户相关联的域或超节点。在本实施例中,超节点类型标识符284包括用于标识超节点的代码"sp",并且位置代码标识符286标识超节点处于Vancouver(YVR)。系统提供商标识符288标识提供服务的公司,并且顶级域标识符2卯标识"com,,域。本实施例中的国内拨号数位(NDD)字段262包括数位"l",并且,通常包括通过国际电信联盟远程通信标准化组(ITU-T)E.164推荐所指定的数位,ITU-TE.164推荐向特定国家分配国内拨号数位。这里,将符合该标准的编号序列称为"E.164"编号。国际拨号数位(IDD)字段264包括代码011,并且通常包括由ITU-T根据用户的国家或地理位置所分配的代码。国家代码字段266包括数位"l",并且通常包括由ITU-T分配的、表示用户位于其中的国家的编号。本地区域代码字段267包括编号604和778,并且通常包括由ITU-T分配给订户位于其中的地理区域的区域代码的列表。主叫最小和最大本地号码长度字段268和270保存表示在由本地区域代码字段267的内容所指定的区域代码中允许的最小和最大本地号码长度的数字10。中间商字段273保存用于标识电话服务零售商的代码,并且,在所示的实施例中,零售商为"Kiondike"。最初,在拨号配置文件中可能没有包括图9所示的合法监听字段,并且,在获得授权令以监听用户呼叫的情况下,可以通过仲裁装置31如上所述添加合法监听字段。可替换地,可以包括合法监听字段,但是以空值设置(populate)合法监听字段,直到通过仲裁装置31进行修改为止。无论-阿时用户向系统i^行注册或者同意成为该系统的订户,都产生图9中256所示类型的拨号配置文件。因此,例如,希望预订系统的用户可以联系由系统操作者维护的办公室,并且该办公室的人员可以询问用户关于用户的位置和服务优先选择的特定问题,因此,可以使用表向办公室人员提供要输入的适当信息,用户名、域、NDD、IDD、国家代码、本地区域代码、以及主叫最小和最大本地长度字段258、260、262、264、266、267、268、270,以建立用户的拨号配置文件。参考图11和12,例如,分别示出Calgary和London的订户的拨号配置文件。除创建拨号配置文件外,可选地,当用户向该系统注册时,将图13中268所示类型的直接拨入(DID)记录添加到数据库18中的直^LV表,以将用户名和该用户与其相关联的超节点的主机名以及PSTN网络上的E.164编号相关联。在本实施例中,DID库表(banktable)记录包括分别用于保存用户名、超节点的主机名和E.164编号的用户名字段281、用户域字段272和DID字段274。图14的291—般地示出London订户的DID库表记录。除了在用户向系统注册时创建拨号配置文件和DID记录,当向该系统添加新订户时,可以将图26所示类型的呼叫阻塞记录、图28所示类型的呼叫转移记录和图30所示类型的语音信箱记录存储在数据库18中。回到参考图8A,在块254指示检索主叫的拨号配置文件之后,检索如图10的276所示的拨号配置文件,并且指示RC处理器电路200对由图6所示的RCRequest消息的被叫标识符字段154的内容所提供的被叫标识符进行特定检查。图8B更详细地示出这些检查。参考图8B,RC处理器电路200指向第一块257,第一块257使得RC处理器电路200确定RCRequest消息中所提供的被叫标识符154的数位模式是否包括与图10所示的主叫拨号配置文件276中的IDD字段264的内斜目匹配的模式。如果包括,则块259指示RC处理器电路200设置呼叫类型代码标识符(未示出),以表示该呼叫是长途呼叫,例如,从Vancouver订户向London订户的呼叫,并且块261指示RC处理器电路200通过将被叫标识符重新格式化成预定目标格式来产生重新格式化的被叫标识符。在本实施例中,通过去除与主叫拨号配置文件276的IDD字段内容264相匹配的数位的模式,以有效缩短编号来完成。然后,块263指示RC处理器电路200确定重新格式化的被叫标识符是否满足用于将被叫标识符建立为符合由ITU-T所设置的E.164推荐的编号的标准,并且,如果长度不满足该标准,则块265指示RC处理器电路200向呼叫控制器14发送回表示呼叫标识符的长度不正确的消息。然后处理250结束。在呼叫控制器14,例程可以通过向电话12传送回消息以表示拨打了无效号码,来响应长度不正确的消息。仍参考图8B,如果重新格式化的被叫标识符的长度满足在块263所提出的标准,则块269指示RC处理器电路200确定重新格式化的被叫标识符是否与如图13的268所示的直接^(DID)库表记录相关联。图14的291—般地示出London被叫的示例性DID库表记录条目。用户名字段281和用户域字段272如在图12所示的拨号配置文件276的用户名和用户域字段258和260中所指定的。DID字段274的内容包括E.164电话号码,该E.164电话号码包括国家代码283、区域代码285、交换代码287和号码289。如果用户具有多个电话号码,则在数据库18中的DID库表中将包括291所示类型的多个记录,其中,每个记录具有相同用户名和用户域,但是具有不同的DID字段274内容,该内容反映与该用户相关联的不同电话号码。回到参考图8B,在块269,如果RC处理器电路200发现在DID库表的记录中找到在块261所产生的重新格式化的被叫标识符,那么该被叫是系统的订户,并且块279指示RC处理器电路200将相应的用户名字段270的内容复制到被叫ID緩冲器(未示出)中。因此,RC处理器电路200对与重新格式化的被叫标识符相关联的订户用户名进行定位。然后该处理器在图8A的点B指向块275。不同节点之间的订户-订户呼叫回到参考图8A,块275然后指示RC处理器电路200确定订户用户名是否与主叫和同一超节点相关联。为了进行该确定,RC处理器电路200确定存储在被叫ID緩冲器中的用户名的洲代码(61)是否与由图6所示的RCRequest消息的主叫标识符字段152所指定的主叫的用户名的洲代码(61)相同。如果它们不相同,则块277指示RC处理器电路200设置呼叫类型标志(未示出),以表示该呼叫是跨域呼叫。然后,块350指示RC处理器电路200,以产生用于识别与被叫相关联的系统中的超节点的路由消息,并且将该呼叫的TTL设置成最大值99999。通过使用存储在被叫ID緩冲器中的被叫用户名对具有如图17的370所示类型的记录的超节点表进行寻址来确定与被叫相关联的系统中的超节点。参考图17,每个超节点前^记录370具有前缀字段372和超节点地址字段374。前缀字段372包皿叫标识符的前n位。在该例子中n=l。超节点地址字段374保存表示IP地址的代码或与存储在前缀字段372中的代码相关联的超节点的全称域名。参考图18,例如,如果前缀为4,则与该前缀相关联的超节点地址为sp.lhr.digifonica.com,例如用于识别London超节点21。参考图15,352—般地示出通用路由消息,并且该通用路由消息352包括供应商前缀字段354、定界符字段356、被叫字段358、至少一个路由字段360、生存时间字段362和其它字段364。供应商前缀字段354保存用于识别供应商业务的代码。定界符字段保存对被叫字段358和供应商前缀代码进行划界的符号,在本实施例中,该符号为数字符号(#)。路由字段360保存传送该呼叫的网关或超节点的域名或IP地址,并且TTL字段362保存例如表示基于订户可用分钟和其它账单参数允许该呼叫被激活的秒数的值。参考图8A和图16,在该示例中,366—般地示出在块350由RC处理器电路200所产生的路由消息,并且路由消息366仅包括被叫字段358、路由字段360和TTL字段362。被叫字段358M被叫的完整用户名,并且图15所示的路由字段360包含与被叫相关联的域的标识,即sp.lhr.digifonica.com。如果已产生了如图16A所示的路由消息366,参考图8A,块351然后指示RC处理器电路200检查主叫拨号配置文件(参见图9),以确定主叫拨号配置文件是否包含合法监听字段(702、704、706、708、710),并且,如果包含,则确定该合法监听字段中所包含的确定信息是否满;Lj^听标准。例如,监听标准可以是合法监听标志字段702(图9)包含表示能够进行合法监听的标志,以及当前日期和时间是否在由LI开始日期/时间字段内容708和LI停止日期/时间字段内容710所指定的时间段内。如果满足监听标准,则块353指示RC处理器电路200将合法监听字段702、704、706、708、710的内容附加到在块350所产生的路由消息,以产生如图16A所示的路由消息。通常,在产生路由消息之前对目的地信息是否满足监听标准进行确定,从而使得当满足监听标准时,在路由消息中可以包括至少一些监听信息,在本实施例中包括所有监听信息。如果在图8A的块351,确定没有与主叫拨号配置文件相关联的合法监听字段或者确定不满足险听标准,则处理器不向在图8A的块350所产生的路由消息附加任何合法监听字段,并且如块380所示,向呼叫控制器14发送图16所示的路由消息。如果附加了合法监听字段,则块380指示RC处理器电路200向呼叫控制器14(图l)发送图16A所示的路由消息。回到参考图8B,如果在块257,由图6所示的RCRequest消息的被叫字段154的内容所指定的被叫标识符不是以IDD开始,则块381指示RC处理器电路200确定被叫标识符是否以与分配给主叫相同的国内拨号数位代码开始。为此,指示该处理器参考图IO所示的主叫拨号配置文件。在所示实施例中,NDD代码262是数位1。因此,如果被叫标识符以数位l开始,则RC处理器电路200指向图8B的块382。块382指示RC处理器电路200检查被叫标识符,以确定NDD代码之后的数位是否识别区域代码与在图10所示的主叫拨号配置文件276的本地区域代码字段267中所识别的任何区域代码相同。如果不相同,则块384指示RC处理器电路200将可用呼叫类型(未示出)设置成表示该呼叫为国内代码的代码。如果该数位识别区域代码与同主叫相关联的本地区域4戈码相同,则块386指示RC处理器200将可用呼叫类型i更置成表示该呼叫类型为国内本地呼叫方式。在执行块384或386之后,块388指示RC处理器电路200格式化通过去除国内拨号数位(NDD)并预先附加由图10所示的主叫拨号配置文件的国家代码字段266所识别的主叫国家代码所拨打的号码。然后RC处理器电路200指向块263,以进行上i^块263开始的处理。如果在块381,被叫标识符不是以NDD代码开始,则块3卯指示RC处理器电路200确定被叫标识符是否以识别与主叫相同的区域代码的数位开始。再次,参考图IO所示的主叫配置文件,并且RC处理器电路200确定被叫标识符中的前几个数位是否识别由主叫配置文件的本地区域代码字段267所识别的区域代码。如果是,则块392指示RC处理器电路200将呼叫类型设置成表示该呼叫为本地呼叫的代码,并且块394指示RC处理器电路200将主叫国家代码预先附加至被叫标识符,其中,主叫国家代码根据图10所示的主叫配置文件中的国家代码字段266而确定。RC处理器电路200然后指向块263,以进行如上所述以块263开始的处理。如果在块3卯,被叫标识符不具有与主叫相同的区域代码,则块396指示RC处理器电路200确定被叫标识符是否具有与在图10所示的主叫配置文件的主叫最小本地号码长度字段268或主叫最大本地号码长度字段270中所表示的数位的数量相同数量的数位。如果具有,则块398指示RC处理器电路200将呼叫类型设置成本地,并且块400指示该处理器以向被叫标识符预先附加图10所示的主叫配置文件的国家代码字段266所表示的主叫国家代码,在该主叫国家代码之后为由图IO所示的主叫配置文件的本地区域代码字段267所表示的主叫区域代码。然后RC处理器电路200指向块263,以i^行如上所述以块263开始的进一步的处理。如果在块396,被叫标识符具有与由主叫最小本地号码长度字段268或主叫最大本地号码长度字段270的内容所指定的长度不匹配的长度,则块402指示RC处理器电路200以确定被叫标识符是否识别有效用户名。为此,RC处理器电路200搜索拨号配置文件的数据库,以寻找具有与被叫标识符相匹配的用户名字段内容258的拨号配置文件。如果没有找到匹配,则块404指示RC处理器电路200向呼叫控制器(14)发送回错误消息。如果在块402,找到具有与被叫标识符相匹配的用户名字段258的拨号配置文件,则块406指示RC处理器电路200将呼叫类型设置成表示该呼叫为网络呼叫的代码,并且处理器指向图8A的块275,以继续处理RC消息处理机处理250。通过图8B,应该理解,在本实施例中,存在代码块的特定组,它们指示RC处理器电路200确定被叫标识符是否具有满足特定标准的例如IDD代码、NDD代码、区域代码和长度的特定特征、并指示RC处理器电路200在必要时将被叫标识符重新格式化成仅包括例如国家代码、区域代码和正常电话号码的预定目标格式,从而使得被叫标识符符合E.164编号计划标准。这使得由块279指示的RC处理器电路200在对图13所示类型的DID库表记录的搜索中使用一致格式的被叫标识符,以确定在相同系统上如何对订户到订户呼叫的呼叫进行路由。订户-非订户的呼叫并非所有呼叫都是订户-订户呼叫,并且,这可以在RC处理器电路200执行图8B的块269并且在DID库表中没有找到与被叫相关联的记录时,由RC处理器电路200来检测。当发生这种情况时,RC处理器电路200指向块408,使得设置被叫标识符等于重新格式化的被叫标识符,即符合E.164标准的编号。然后,块410指示RC处理器电路200对具有图19所示类型的记录的主列表进行寻址。每个主列表记录包括主列表ID字段500、拨号代码字段502、国家代码字段504、国内符号编号字段506、最小长度字段508、最大长度字段510、NDD字段512、IDD字段514和緩冲费率字段516。主列表ID字段500保存例如用于识别路由标识(路由ID)的唯一代码,例如1019。拨号代码字段502保存预定编号模式,RC处理器电路200在图8B的块410使用该编号模式,来寻找具有与重新格式化的被叫标识符的前几个数位相匹配的拨号代码的主列表记录。国家代码字段504保存表示与该记勤目关联的国家代码的编号,并且国内符号编号字段506保存表示与该记录相关联的区域代码的编号。(将观察到,拨号代码是国家代码字段504和国内符号编号字段506的内容的组合)。最小长度字段508保存表示可以与该记^目关联的数位的最小数量的数字,并且最大长度字段51保存表示记录可以与其进行比较的编号的数位的最大数量的数字。NDD字段512保存表示在由国家代码字段504的内容所指定的国家内进行呼叫所使用的接入代码的编号,并且IDD字段514保存表示从由国家代码所表示的国家拨打呼叫所需要的国际前缀的编号。因此,例如,主列表记录可以具有如图20所示的格式,该格式具有所示的示例性字段内容。回到参考图8B,使用已被格式化成符合E.164标准的重新格式化后的被叫标识符的国家代码和区域代码部分,块410指示RC处理器电路200找到如图20所示的主列表记录,该主列表记录具有与被叫标识符的国家代码和区域代码相匹配的拨号代码。因此,在本实施例中,RC处理器电路200找到具有ID字段为编号1019的主列表记录。该编号也可以被称为路由ID。因此,在重新格式化的被叫标识符中、与预定编号模式相关联的主列表记录中寻找路由ID编号。在执行图8B的块410之后,如图8D所示继续处理250。参考图8D,块412指示RC处理器电路200,以使用路由ID编号来定位至少一个用于识别可操作以提供该路由的通信銜洛的供应商的供应商记录。为此,块412指示RC处理器电路200搜索具有图21所示类型的记录的供应商ID表。参考图21,提供商列表记录包括提供商ID字段540、路由ID字段542、可选前缀字段544、路由标识符字段546、NDD/IDD重写字段548和费率字段550。供应商ID字段540保存用于识别供应商的名称的代码,并且路由ID字段542保存用于将供应商记录与路由相关联并且因此与主列表记^目关联的代码。前缀字段544保存用于识别供应商业务的串,并且路由标识符字段546保存由通过供应商ID字段540所表示的供应商操作的网关的IP地址。NDD/IDD重写字段548保存代码,并且费率字段550保存表示系统操作者使用通过由路由标识符字段546的内容所指定的网关所提供的路由每秒钟的费用的代码。图22、23和24分别示出图1所示的供应商的示例性供应商记录,供应商例如可以包括Telus、Shaw和Sprint。回到参考图8D,在块412,RC处理器电路200找到识别在图8B的块410所找到的路由ID的所有供应商记录。回到参考图8D,块560指示RC处理器电路200开始产生图16所示类型的路由消息。为此,RC处理器电路200将费用最少的供应商的供应商前^载到图25所示的路由消息緩冲器,其中,根据与M应商相关联的记录的费率字段550确定费用最少的供应商。参考图22~24,在所示实施例中,供应商"Tdus"在费率字段550中具有最小数字,因此首先将与该供应商相关联的前缀4973加载到图25所示的路由消息緩沖器。然后通过数字符号定界前缀4973,并且接着将重新格式化的被叫标识符加载到该路由消息緩冲器。然后,将与供应商Telus相关联的记录的路由标识符字段546的内容添加到@符号定>1^符之后的消息,然后,图8D的块564指示RC处理器电路200获得TTL值。例如,在本实施例中,TTL值可以为3600秒。块566然后指示RC处理器电路200将该TTL值加载到图25所示的路由消息緩冲器中。因此,图25的570—般地示出该路由消息的第一部分。回到参考图8D,块568指示RC处理器电路200回到块560,并且使RC处理器电路200对于接下来的M应商重复块560、562、564和566,直到将关于各个供应商的信息加载到路由消息緩冲器中为止。因此,图25的572示出路由消息的第二部分,并且该第二部分与通过图23示出的记录所识别的第二供应商相关,并且,回到参考图25,574示出路由消息的第三部分,第三部分574与通过图24示出的供应商记录所表示的第三供应商相关联。因此,参考图25,路由消息緩冲器保存路由消息,该路由消息识别能够提供网关以建立允许主叫联系被叫的通信链路的多个不同供应商。在本实施例中,根据图22~24所示供应商列表记录的费率字段550中所包含的费率,按照升序识别各个供应商。用于确定供应商在路由消息中列出的顺序的其它标准可以包括优选的供应商优先级,例如,这可以基于服务协议来建立。在这种情况下,可以在M应商记录中设置附加字段以保存表示供应商优先权的值。在如图25所示,加载了路由消息緩冲器之后,块567指示RC处理器电路检查图10所示的主叫拨号配置文件,来确定该主叫拨号配置文件是否包含如图9所示的合法监听字段,并且,如果包含,则通过检查合法监听标志字段702是否包含表示能够进行合法监听的标志,并且检查当前字段内容710所指定的时间段内,来确定是否满足监听标准。如果满AJ^听标准,则块569指示RC处理器电路200将合法监听字段702、704、706、708、710的内容附加至存储在如图25A所示的路由消息緩冲器中的路由消息。再次,在产生路由消息之前进行对于目的地信息是否满足监听标准的确定,从而使得当满足险听标准时,在路由消息中可以包括至少一些监听信息,在本实施例中包括所有监听信息。如果在块567,确定没有与图10所示的主叫拨号配置文件相关联的合法监听字段,或者确定不满足监听标准,则RC处理器电路200不向存储在图25所示的路由消息緩冲器中的路由消息附加任何合法监听字段。块568然后指示RC处理器电路200将路由消息緩冲器的内容,即图25或25A所示的路由消息发送至图1的呼叫控制器14。同一节点内的订户-订户呼叫回到参考图8A,如果在块275,存储在被叫ID緩沖器中的被叫标识符具有识别同与主叫相关联的超节点相同的超节点的前缀,则块600指示RC处理器电路200使用被叫标识符来定位并检索由该被叫标识符所识别的被叫的拨号配置文件。该拨号配置文件是图9所示类型,并且可以包含例如图11所示的数据。图8A的块602基于在块600在由RC处理器电路所检索到的被叫配置文件中所识别的用户名,指示RC处理器电路200从数据库18获得呼叫阻塞、呼叫转移和语音信箱表。例如,呼叫阻塞、呼叫转移和语音信箱表具有如图26、28和30所示的记录。参考图26,呼叫阻塞记录包括用户名字段604和阻塞模式字段606。用户名字段M同与被叫相关联的拨号配置文件的用户名字段258中的用户名相匹配的用户名,并且阻S^式字段606保存一个或多个用于识别PSTN号码的符合E.164的编号或用户名,或者通过用户名字段604的内容所识别的订户不希望从其接收呼叫的系统订户。回到参考图8A并参考图27,块608指示RC处理器电路200确定主叫标识符是否同与通过图26的用户名字段604的内容所识别的被叫相关联的呼叫阻塞记录的阻:i^虔式字段606中存储的阻M式相匹配。如果该主叫标识符与存储在阻:i^漠式字段606中的阻1^漠式相匹配,则块610指示RC处理器电路200向呼叫控制器(14)发送掉话或未完成消息,并且结束该处理。如果主叫标识符同与被叫相关联的阻M式不匹配,则块612指示RC处理器电路200确定是否需要呼叫转移。参考图28,呼叫转移表中的记录包括用户名字段614、目的地号码字段616、目的地号码字段616和序列号字段618。用户名字段614存储表示与该记^目关联的订户的代码。目的地号码字段616保存表示当前呼叫要转移至的号码的用户名或号码,并且序列号字段618^表示呼叫转移要尝试的、与对应的目的地号码字段616相关联的用户名的顺序的整数。呼叫转移表可以具有多个特定订户的记录。RC处理器电路200使用序列号字段618的内容依次考虑特定订户的记录。如下面所理解,这使得以有序序列来尝试呼叫转移号码。回到参考图8A并参考图28,如果在图8A的块612,由被叫标识符所识别的被叫的呼叫转移记录没有包含目的地号码字段616中的内容,因而没有包含序列号字段618中的内容,则不存在呼叫转移条目,并且指示RC处理器电路200向图32所示的路由消息緩冲器加载如图32的650所示的被叫用户名和域。然后该处理器指向图8C的块620。如果存在如图29所示的呼叫转移记录的目的地号码字段中的内容,则图8A所示的块622指示RC处理器电路200对于图29的呼叫转移表记录中的目的地号码字段616中所识别的用户,搜索拨号配置文件表,以找到图9所示类型的拨号配置文件记录,并且将该目的地号码字段的内容存储在图32所示的路由消息緩沖器中。然后指示RC处理器电路200将与图29的目的地号码字段616的内容所指定的用户名相关联的、图9所示的域字段260的内容,加载到图32的652所示的路由消息緩冲器中。对于与由被叫标识符所识别的被叫相关联的各呼叫转移记录重复该处理,以将与该被叫相关联的所有呼叫转移用户名和域添加至路由消息緩冲器。参考图8C,在块620,指示该处理器确定由被叫标识符所识别的用户是否支付了语音信箱服务,并且该确定是通过在存储在图1的数据库18中的语音信箱表中,检查是否在图30所示类型的语音信箱记录中设置了标志来进行的。参考图30,语音信箱表记录包括用户名字段624、语音信箱服务器字段626、转至语音信箱的秒数字段628和启用字段630。用户名字段624存储购买了该服务的订户的用户名。语音信箱服务器字段626保存用于识别与由用户名字段624所识别的订户相关联的语音信箱服务器的IP地址或全称域名(FQDN)。转至语音信箱的秒数字段628保存用于识别在启动语音信箱之前要等待的时间的代码,并且启用字段630M表示对于由用户名字段624的内容所识别的用户是否能够进行语音信箱的代码。因此,回到参考图8C,在块620,处理器搜索如图31所示的、具有与被叫标识符相匹配的用户名字段624内容的语音信箱记录,并且查看启用字段630的内容,以确定是否能够进行语音信箱。如果能够进行语音信箱,则图8C的块640指示该处理器,将图31的语音信箱服务器字段626的内容和图31的转至语音信箱的秒数字段628的内M储在图32的654所示的路由消息緩冲器中。回到参考图8C,块642然后指示处理器才艮据例如路由成本和用户的帐户余额等任意多个标准,获得由该路由消息所指定的各路由的生存时间(TTL)值。然后将这些TTL值附加至已经存储在路由消息緩冲器中的对应的路由。然后,图8C的块644指示RC处理器电路200将当前超节点的IP地址存储在图32的656所示的路由消息緩冲器中。在图32所示的路由消息緩冲器中示出示例性路由消息。然后,图8C的块645指示处理器检查图10所示的主叫配置文件,以确定该主叫拨号配置文件是否包含图9所示类型的合法监听字段,并且如果包含,则确定是否满足监听标准。在本实施例中,这包括确定合法监听标志字段702是否包含表示能够进行合法监听的标志,并且包括检查当前日期和时间是否在由LI开始日期/时间字段内容708和LI停止日期/时间字段内容710所指定的时间段内。如果满;LJ^听标准,则块647指示RC处理器电路200将合法监听字段702、704、706、708、710的内容附加至图32A所示的路由消息,以产生如图32A所示的、具有合法监听字段内容的路由消息。再次,在产生路由消息之前进行对于目的地信息是否满足篮听标准的确定,从而使得当满足监听标准时,在路由消息中可以包括至少一些监听信息,在本实施例中包括所有监听信息。回到参考图8C,如果在块645,确定没有与图IO的主叫拨号配置文件相关联的合法监听字段,或者在产生图32A所示的路由消息之后,确定不满足监听标准,则处理器指向块649,块649使得该处理器检查图11所示的被叫拨号配置文件,以确定其是否包含图9所示类型的合法监听字段,并且如果包含,则通过检查当前日期和时间是否在由被叫拨号配置文件的LI开始日期/时间字段内容708和LI停止日期/时间字段内容710所指定的期间内,来确定是否满足监听标准。如果满足监听标准,则块651指示RC处理器电路200将与被叫拨号配置文件相关联的合法监听字段702、704、706、708、710的内容附加至图32A所示的路由消息,以产生路由消息。如果在图8C的块649,确定没有与被叫拨号配置文件相关联的合法监听字段,或者确定不满足监听标准,则不向图32或32A所示的路由消息附加与被叫相关联的合法监听字段。回到参考图8C,然后块646指示RC处理器电路200将该路由消息发送至呼叫控制器14。对路由消息的响应回到参考图1,在呼叫控制器14处接收无论是图16、16A、25、25A、32、32A或32B所示类型的路由消息。参考图33,当在呼叫控制器处接收路由消息时,在呼叫控制器处调用路由消息处理机122。图33详细示出路由消息处理机。参考图33,路由消息处理机以第一块1200开始,第一块1200指示处理器电路确定路由消息是否包括合法监听字段。如果没有,则该处理器指向块1206,块1206使得该处理器调用图34所示的呼叫处理例程(routine)。参考图34,作为呼叫处理例程的第一步骤,从呼叫控制器14向媒体中继器17发送消息1100,该消息包括根据图3所示的SIPInvite消息中的主叫IP地址字段67和主叫UDP端口字段69所确定的主叫电话IP地址和UDP端口。可以从可用媒体中继器的池(pool)中选择消息1100被发送至的特定媒体中继器17,并且这些媒体中继器可以处于任何地理位置。消息1100的目的是通知^^体中继器期望建立呼叫来与主叫电话的IP地址和UDP号码通信。从媒体中继器中所选择的媒体中继器位于使得易于在媒体中继器17和主叫电话12之间以期望的服务质量进行通信的地理位置处,并且被叫电话15可以提供最好的服务。可替换地,可以通过包括和设置(p叩ulating)用于识别一个或多个媒体中继器的、如图9的1l50所示的用户的拨号配置文件的媒体中继器字段,来预先分配媒体中继器或者预先将媒体中继器与用户相关联,其中,通过该媒体中继器进行与相关用户相关联的呼叫。在这种情况下,可以将从媒体中继器字段1150所获得的可能的媒体中继器的标识在路由消息中的附加字段中发送至呼叫控制器。在图16、16A、25、25A、32、32A和32B的1152示出这些媒体中继器字段。本质上,响应于路由消息,识别通过其进行与订户有关的通信的通信的^^体中继器。回到参考图34,在这种情况下,可以以轮询的方式向由^^体中继器字段1150所识别的所有媒体中继器发送消息1100,直到有一个响应。可替换地,可以同时向所有媒体中继器发送消息1100。作为响应,在媒体中继器是已知的或在如上所述的轮询中涉及到的情况下,消息1100被发送至的媒体中继器17向呼叫控制器14发送回媒体中继器状态消息1102,该消息包,体中继器建立与被叫电话15的UDP连接的媒体中继器IP地址和UDP端口号。通过该连接传iHJC往或来自被叫电话15的音频数据。在消息1100M送至多个媒体中继器的情况下,以媒体中继器状态消息作为响应的第一个媒体中继器是将承载(carry)该呼叫的d^体中继器。可以忽略来自其余媒体中继器的^^体中继器状态消息。在呼叫控制器接收到^^体中继器状态消息1102之后,呼叫控制器14然后将图3所示类型的SIPInvite消息1104发送到被叫电话15以邀请被叫电话建立与^^体中继器17的连接,其中,SIPInvite消息1104包括主叫和被叫标识符字段(60和62)、呼叫标识符字段(65)以及分配给与被叫电话15的音频#连接的媒体中继器IP地址和^^体中继器UDP端口号的内容。SIPInvite消息1104的目的是向被叫电话通知主叫和呼叫ID以及被叫电话通过其发送和接收音频数据的媒体中继器的IP地址和UDP端口号。被叫电话15将媒体中继器IP地址和所分配的UDP端口号存储在图2所示的音频路径IP地址緩冲器47中,并且将自身配置成创建媒体中继器IP/UDP地址和被叫电话15期望使用作为与主叫电话的音频路径的被叫电话IP地址和UDP端口号之间的套接字(socket)。代替向主叫电话直接发送或从主叫电话直接接收,被叫电话15将从媒体中继器发送和接收音频数据。为了表示这种情况,被叫电话15向呼叫控制器14发送回SIPOK消息1106,该消息包括来自其IP地址字段(图3的53)的被叫IP地址和UDP端口号,在该被叫IP地址和UDP端口号,被叫电话15建立与媒体中继器17的音频路径连接。SIPOK消息1106的目的是向呼叫控制器通知IP地址和UDP端口号,通过该IP地址和UDP端口号,媒体中继器向被叫电话发送音频数据和从被叫电话接收音频数据。然后,呼叫控制器14向媒体中继器17发送消息1108,该消息包括被叫电话15将用于与该^^体中继器的音频5M^连接的IP地址和UDP端口号。消息1108的目的是向该媒体中继器通知通过其向被叫电话发送音频数据和从被叫电话接收音频数据的IP地址和UDP端口号。媒体中继器17然后确定UDP端口,媒体中继器17将通过该UDP端口承载发往主叫电话12和来自主叫电话12的音频数据,并且向呼叫控制器(14)发送消息1110,该消息包,体中继器将使用来承载发往主叫电话12和来自主叫电话12的音频的媒体中继器IP地址和^^体中继器UDP端口号。消息1110的目的是向呼叫控制器14通知预期传iHiL往主叫电话和来自主叫电话的音频数据的IP地址和UDP端口号。呼叫控制器14然后向主叫电话12发送SIPOK消息1112,以表示现在可以进行呼叫。SIPOK消息包括主叫和被叫用户名、呼叫ID、以及分配给与主叫电话12的音频连接的^^体中继器17IP地址和UDP端口号。SIPOK消息1112的目的是向主叫电话12通知与^^体中继器17交换音频数据的IP地址和UDP端口号。如果路由消息是存在多个可用供应商的图25所示的类型,则除了呼叫控制器14与供应商所提供的网关通信,来代替直接与被叫电话通信之外,如上所述进行呼叫处理例程。如果没有从第一网关接收回SIPOK消息,则指示处理器向下一指出的供应商的网关发送SIPInvite消息1104。例如,在Telus的情况下,呼叫控制器14向第一供应商发送SIPInvite消息1104,以确定Telus是否能够处理该呼叫。如果Telus在指定时间内不能发送回SIPOK消息1106或者发&示不能处理该呼叫的消息,则呼叫控制器继续向下一供应商发送SIPInvite消息1104,在该示例中下一供应商是Shaw。重复该处理,直到供应商中的一个以表示该供应商可以用来承载该呼叫的SIPOK消息1106进行响应为止,并且处理进行与消息1108、1110和1112有关的处理。例如,供应商"Telus"发送回SIPOK消息,因此向通iti洛由消息所揭^供的IP地址72.64.39.58处的PSTN提供网关,其中,该路由消息来自图22所示的相应的供应商记录的路由标识符字段546的内容。回到参考图l,如果呼叫控制器14接收图32所示类型,即具有一个呼叫转移号码和/或语音信箱号码的类型的消息,则呼叫控制器试图建立到被叫电话15的呼叫(使用SIPInvite消息1104),并且,如果在预先确定的时间内没有建立呼叫(即,没有接收到消息1106),则呼叫控制器14通过向由呼叫路由消息中所识别的下一用户发送如消息1104—样的SIPInvite消息,来试图建立与该下一用户的呼叫。重复该处理,直到用完所有呼叫转移可能性为止,在这种情况下,与在路由消息中所识别的语音信箱服务器19建立音频路径。语音信箱服务器19响应于接收到SIPInvite消息1104而发送SIPOK消息1106,并且实现上述与被叫电话15有关的功能,以允许主叫听见由语音信箱服务器所提供的发出的音频消息,并允许主叫在语音信箱服务器上记录音频消息。当建立音频路径时,由呼叫控制器维持的呼叫计时器(未示出)记录该呼叫的开始日期和时间,并且记录该呼叫ID,并且将图35所示类型的主动呼叫记录添加至由呼叫控制器所维持的主动呼叫列表。在本实施例中,图35所示的呼叫控制器主动呼叫记录包括呼叫ID字段1300、主叫IP地址字段1302、主叫端口字段1304、被叫IP地址字段1306、被叫端口字段1308、媒体中继器ID字段1310、媒体中继器主叫端口字段1312和媒体中继器被叫端口字段1314。在图5的块136建立呼叫ID字段1300的内容。根据图3所示的SIPInvite消息的主叫IP地址字段67的内容,来建立主叫IP地址字段1302的内容。根据图3所示的SIPInvite消息的主叫UDP端口字段69,来建立主叫端口字段1304的内容。根据图34所示的SIPOK消息1106,来建立被叫IP地址字段1306和被叫端口字段1308的内容。以用于处理该呼叫的媒体中继器的标识设置媒体中继器ID字段1310。在所示例子中,媒体中继器编号为42。从图34所示的消息1110获得媒体中继器主叫端口字段的内容,并且从图34所示媒体中继器状态消息1102获得媒体中继器被叫端口字段1314中的内容。每次建立呼叫时,向由呼叫控制器所维持的主动呼叫日志添加图35所示类型的主动呼叫记录。路由控制器也维持包含主动呼叫记录的主动呼叫日志,然而,由路由控制器所维持的主动呼叫记录不同于由呼叫控制器所保存的主动呼叫记录。例如,参考图36,由路由控制器所保存的主动呼叫记录包括呼叫ID字段1316、主叫字段1318、被叫字段1320和呼叫控制器ID字段1322。在将主动呼叫记录输入呼叫控制器的主动呼叫日志之后,可以在从呼叫控制器传送至路由控制器的消息(未示出)中接收用于设置这些字段的信息。从呼叫控制器14到路由控制器16的、表示已建立主动呼叫的消息可以包括图35所示呼叫ID字段1300的内容和由呼叫控制器所保存的呼叫控制器唯一ID编码。路由控制器16使呼叫ID与包含在使呼叫控制器14对该呼叫进行路由的原始呼叫路由消息(图16、16A、25、25A、32、32A、32B)中的主叫和被叫用户名相匹配,以分别i殳置图36所示主叫和被叫字段1318和1320。应该理解,多个呼叫控制器可以与单个路由控制器相关联,在这种情况下,呼叫控制器ID允许路由控制器唯一识别与由呼叫ID字段1316的内容所表示的呼叫ID相关联的呼叫控制器。在所示例子中,呼叫控制器编号为61。主动呼叫记录使得便于监听已在进行中的呼叫,如将在以下所述。回到参考图33,如果在块1200,确定路由消息具有合法监听字段,则块1202指示呼叫控制器电路100(图4)将如图37所示的SIPInvite消息发送至仲裁装置,该仲裁装置通过从图9的256所示的用户拨号配置文件MD1地址字段704所获得的路由消息中的仲裁装置IP地址来识别。参考图37,根据需要,SIPInvite消息包括主叫和被叫标识符字段1020、1022、呼叫ID字段1024、授权令ID字段1026和其它监听相关信息字段1028。从图6所示的原始SIPInvite消息获得主叫、被叫和呼叫ID字段36内容1020、1022和1024。从图16A、25A、32A或32B所示类型的路由消息获得授权令ID字段1026和监听相关字段1028的内容。回到参考图33,块1204然后指示呼叫控制器14从仲裁装置31接收如图38所示的应答消息。该应答消息是SIPOK消息,其包括如上所述的主叫、被叫和呼叫ID字段1040、1042、1044,并且还包括仲裁装置IP地址字段1046、以及用于识别仲裁装置IP地址处的UDP端口的仲裁装置UDP主叫端口号字段1048和UDP被叫端口号字段1050,其中,媒体中继器要将分别从主叫和被叫电话所接收的音频数据流的拷贝发送至该仲裁装置IP地址。然后,除了消息1100附加地包括图38所示的SIPOK消息的仲裁装置IP地址字段1046、仲裁装置UDP主叫端口号字段1048和UDP被叫端口号字段1050的内容之外,块1206指示呼叫控制器执行图34所示的呼叫处理例程。所有其它消息都与以上结合图34所示的呼叫处理例程所述的相同,但是,响应于接收到消息1100中的附加信息,^^体中继器自动将其本身配置成将从主叫电话和被叫电话二者所接收的音频数据的拷贝分别提供至仲裁装置IP地址、以及UDP主叫端口号和UDP被叫端口号。回到参考图1,当源自主叫电话12和被叫电话15的音频数据通过媒体中继器17时,该数据被复制到如SIPInvite消息1100所表示的主叫的仲裁装置UDP端口和被叫的仲裁装置UDP端口。这使得执法机构能够监视主叫和被叫之间的音频通信,和/或在仲裁装置记录这些通信。因此,当拨号配置文件中的确定信息满足监听标准时,呼叫控制器与媒体中继器通信,以使得媒体中继器将这些通信的拷贝发送至由包括在与拨号配置文件相关联的监听信息中的目的地信息所指定的仲裁装置,其中,通过该^^体中继器,处理与其通信要视的订户有关的通信,所述拨号配置文件与其通信要视的订户相关联。终止呼叫如果主叫或被叫终止呼叫,则终止方的电话向呼叫控制器14发送SIPBye消息。图39的卯0示出示例性SIPBye消息,并且该消息包括主叫字段卯2、被叫字段卯4和呼叫ID字段卯6。主叫字段卯2^主叫用户名,被叫字段卯4保存PSTN兼容号码或用户名,并且呼叫ID字段卯6保存图3所示的SIPInvite消息的呼叫标识符字段65中所示类型的唯一呼叫标识符字段。因此,例如,参考图40,卯8—般地示出Calgary的被叫的SIPBye消息,并且主叫字段卯2俗萍用于识别Vancouver的主叫的用户名,在该例子中为200110508667,被叫字段卯4保存用于识别Calgary的被叫的用户名,在该例子中为200110502222,并且呼叫ID字段卯6^萍作为该呼叫的呼叫ID的代码FA10@192.168.0.20。在呼叫控制器14接收图40所示SIPBye消息,并且该呼叫控制器执行图41的910—般地示出的处理。该处理包括第一块912,第一块912指示呼叫控制器电职100)将来自从终止方所接收的图39所示的SIPBye消息卯0的主叫、被叫和呼叫ID字段内容复制到RC停止消息緩冲器(未示出)的对应的字段。块914然后指示呼叫控制器电路100复制来自呼叫计时器的呼叫开始时间并从呼叫计时器获得呼叫停止时间。块916然后指示呼叫控制器通过确定呼叫开始时间和呼叫停止时间之间的时间差,来计算通信会话时间。然后将该通信会话时间存储在RC呼叫停止消息緩沖器的对应的字段中。如果存在网关供应商,则块918然后指示呼叫控制器电路100以网关供应商的IP地址设置路由字段。图42的1000—般地示出如上所述产生的RC呼叫停止消息。图43的1021—般地示出与对Calgary的被叫做出的呼叫特定关联的RC呼叫停止消息。参考图42,RC呼叫停止消息1000包括主叫字段1002、被叫字段1004、呼叫ID字段1006、帐户开始时间字段1008、帐户停止时间字段1010、通信会话时间字段1012和路由字段1014。主叫字段1002保存用户名,被叫字段1004保存PSTN兼容号码或系统号码,呼叫ID字段1006保存从图3所示的SIPInvite消息所接收的唯一呼叫标识符,帐户开始时间字段1008保存该呼叫的日期和开始时间,帐户停止时间字段1010M该呼叫结束的日期和时间,通信会话时间字段1012保存以秒为单位表示开始时间和停止时间之间的差的值,并且如果使用网关建立该呼叫,则路由字段1014*网关的IP地址。参考图43,1021—般地示出Calgary的被叫的示例性RC呼叫停止消息。在该例子中,主叫字段1002l萍用于识别Vancouver的主叫的用户名200110508667,并且被叫字段1004保存用于识别Calgary的被叫的用户名200110502222。呼叫ID字段1006的内容为FA10@192.168.0.20。帐户开始时间字段1008的内容为2006-12-3012:12:12,并且帐户停止时间字段1010的内容为2006-12-3012:12:14。通信会话时间字段1012的内容为2,以表示2秒的呼叫持续时间,并且,路由字段的内容为空的,但是如果使用例如"Telus"网关,则其内容将为72.64.39.58。回到参考图41,在产生了RC呼叫停止消息之后,块920指示呼叫控制器电路100将包含在RC呼叫停止消息緩沖器中的RC停止消息发送至路由控制器(16)。RC(16)接收呼叫停止消息,并且在路由控制器处调用路由控制器呼叫停止消息处理(未示出)以处理呼叫的计费和账单。块922指示呼叫控制器电路100向没有终止呼叫的一方,即非终止方发送Bye消息。块924然后指示呼叫控制器电路100向媒体中继器17发送图39所示类型的SIPBye消息,以使得该^^体转换器断开与主叫电话IP/UDP地址和被叫电话IP/UDP地址相关联的音频路径套接字。在断开这些通信套接字中,媒体中继器17删除主叫电话IP/UDP地址和媒体中继器主叫IP/UDP地址之间的关联以及主叫电话IP/UDP地址和媒体中继器被叫IP/UDP地址之间的关联。如果对于合法监听配置了媒体中继器(17),那么图41的块926指示呼叫控制器电路100向仲裁装置31发送图39所示类型的SIPBye消息,以通知该仲裁装置呼叫结束,并且断开^^体中继器主叫和被叫IP/UDP端口地址与在主叫和被叫IP/端口地址处所接收的音频数据被复制至的IP/UDP端口地址之间的通信套接字。应该理解,在上述说明中,在建立呼叫时,所描述的组件协作以检测对监听的要求。在下面的说明中,提供解释用以说明当正在进行呼叫时如何监听呼叫。监听正在进行的呼叫回到参考图l,为了在呼叫正在进行时监听该呼叫,执法当局293可以与仲裁装置通信、可以与呼叫控制器通信、可以与路由控制器通信、或者可以与同任意上述组件通信的转换接口通信,以使得路由控制器接收包括监听信息的执法当局(LEA)监听请求消息。例如,可以将其与图9的字段702710相关联。响应于接收LEA监听请求消息,调用图44的1400所示的路由控制器LEA请求消息处理机。LEA请求消息处理机1400以第一块1402开始,第一块1402指示路由控制器处理器电路与其中存储图9所示类型的拨号配置文件记录的数据库18通信,以找到与其呼叫要视的用户相关联的拨号配置文件。如果不知道用户名,但是知道DID号码(即PSTN号码),则路由控制器可以使得搜索图13所示类型的DID库表记录,例如找到与DID号码相关联的用户名。如果不知道用户名,但^_知道名称和地址,则可以对将名称和地址与用户名相关联的账单记录(未示出)等其它记录进行搜索,以找到与其呼叫要被监听的人的特定名称和/或地址相关联的用户名。在本实施例中,不管可用信息如何,为了方便呼叫监听,无论如何都将找到与其呼叫要被监听的用户相关联的唯一拨号配置文件作为第一步骤,以便于进行呼叫监听。一旦定位拨号配置文件,则块1404指示路由控制器处理器电路通过对拨号配置文件的合法监听字段附加和/或设置如LEA监听请求消息中所提供的这些信息,将监听信息与拨号配置文件相关联。块1406然后指示路由控制器处理器电路确定当前包括在拨号配置文件中的监听信息是否满足监听标准。这通过确定LI标志(702)是否为开、以及当前日期和时间是否在LI开始停止日期/时间范围内。如果不满AJ^听标准,则结束该处理。否则,该处理器指向块1408。块1408指示路由控制器处理器电路使用在块1402所找到的拨号配置文件的用户名,以搜索具有同与拨号配置文件相关联的用户名相匹配的内容的、图36所示的路由控制器主动呼叫记录的主叫和被叫字段。如果没有找到这类记录,则目前在呼叫中不涉及该用户,并且处理结束。如果在呼叫中涉及该用户,则会找到路由控制器主动呼叫记录。然后块1410指示路由控制器处理器电路从图36所示的路由控制器主动呼叫记录找到相关联的呼叫的呼叫控制器标识符和呼叫标识符。然后块1412指示路由控制器处理器电路将呼叫中监听消息传送至由路由控制器主动呼叫记录的呼叫控制器id字段1322的内容所识别的呼叫控制器。呼叫中监听消息包括根据路由控制器主动呼叫记录所确定的呼叫id和与感兴趣监听该呼叫的执法当局相关联的仲裁装置的IP地址。可以从例如执法当局请求消息或拨号配置文件获得仲裁装置的IP地址。块1414然后指示路由控制器处理器电路等待指定的时间,以从呼叫控制器接收回表示是否已经启动监听功能的呼叫控制器监听状态消息。40参考图45,当在呼叫控制器(14)接收到呼叫中监听消息时,呼叫控制器执行1450—般地示出的呼叫中监听消息处理机。呼叫中监听消息处理机1450以第一块1452开始,第一块1452指示呼叫控制器处理器电路向与在呼叫中监听消息中所接收的仲裁装置的ip地址相关联的仲裁装置发送SIPInvite消息。块1454然后指示呼叫控制器处理器电路从仲裁装置接收IP地址以及被叫和主叫UDP端口号,其中,该IP地址和UDP端口号是仲裁装置预期在其接收来自^^体中继器的音频数据流的网络位置,通过所述媒体中继器承载呼叫。块1456然后指示呼叫控制器处理器电路通过使用其通信要皿视的订户的用户名,识别通过其正在进行要视的通信的媒体中继器,以定位呼叫控制器主动呼叫列表中的主动呼叫记录,来定位例如通过图35所示的呼叫控制器主动呼叫记录的媒体中继器ID字段1310的内容所表示的媒体中继器的IP地址的^^体中继器标识符。然后指示呼叫控制器处理器电路向正在处理该呼叫的^^体中继器(17)发送监听请求消息。监听请求消息包括仲裁装置IP地址以及主叫和被叫UDP端口号,以识别d^体中继器(17)期望分别从主叫和被叫接收音频数据流的拷贝的仲裁装置IP地址和UDP端口号。作为响应,媒体中继器在主叫和被叫IP地址和UDP端口与仲裁装置的被叫IP地址和UDP端口之间建立内部连接。然后,^^体中继器向呼叫控制器发送回表示是否建立内部连接以及是否启动呼叫监听的媒体中继器状态消息。从块1458可以看到,指示呼叫控制器处理器电5^收媒体中继器状态消息,并且块1460指示呼叫控制器处理器电路向路由控制器发回呼叫控制器监听状态消息,以表示已建立呼叫监听功能。路由控制器可以将该状态传送回发出执法当局请求消息的执法当局。同时,与其通信要皿视的主叫或被叫有关的通信被复制并被发送至仲裁装置,其中所述通信通过媒体中继器传送。因此,在将监听信息与其通信要视的订户的拨号配置文件相关联之后,当监听信息中所包括的确定信息满足监听标准时,呼叫控制器与媒体中继器通信,以使得该媒体中继器将这些通信的拷贝发送至由监听信息中包括的目的地信息所指定的仲裁装置,其中,其通信要视的订户的通信通过所述媒体中继器。当结束呼叫时,以与上i^目同的方式关闭呼叫。如果执法当局期望在呼叫期间停止监听该呼叫,则通过上^径中的任意一个,从执法当局向路由控制器发送用于请求停止监听功能的LEA请求消息。这调用如图44所示的LEA请求消息处理机,该LEA请求消息处理机使得路由控制器处理器电5$^1行块1402、1404。在块1404,指示路由控制器处理器电路改变合法监听字段的内容,至少将合法合法监听标志(图9的702W更置成非活动的。然后,在块1406,不满AJ^听标准,并且处理器指向块1416,块1416使得路由控制器处理器电路确定是否正在进行监听功能。例如,可以通过保持在LEA请求消息处理机1400的块1414处所接收的、从呼叫控制器接收到确i^消息的证据来进行确定。如果没有进行监听,则结束LEA请求消息处理机1400。如果监听正在进行,则块1418指示路由控制器处理器电路执行图46的1500所示的呼叫中监听关闭例程。呼叫中监听关闭例程以第一块1502开始,第一块1502指示路由控制器处理器电路定位路由控制器主动呼叫记录,该路由控制器主动呼叫记录具有相当于图44所示的LEA请求消息处理机1400的块1402处找到的拨号配置文件中所表示的用户名的主叫或被叫字段内容。如果找到主动呼叫记录,则块1504指示路由控制器处理器电路在图36所示的路由控制器主动呼叫记录中找到与该呼叫相关联的呼叫控制器id(1322)和呼叫id(1316)。块1506然后指示路由控制器处理器电路向通过在块1504确定的呼叫控制器id所识别的呼叫控制器发送停止监听消息(未示出)。该停止监听消息包括在块1504所确定的呼叫id和仲裁装置的标识,即从其呼叫当前正被监听的用户的拨号配置文件的MD1地址字段(图9的704)所获得的标识。块1508然后指示路由控制器处理器电路等待指定的时间,以从呼叫控制器接收确认消息,来表示已关闭监听功能。参考图47,在呼叫控制器(14)接收停止监听消息时,在该呼叫控制器处调用停止监听消息处理机1520。停止监听消息处理机1520以第一块1522开始,第一块1522指示呼叫控制器处理器电路向在vMJ洛由控制器接收的停止监听消息中所识别的仲裁装置发送SIP停止消息。响应于SIP停止消息,仲裁装置停止接收音频数据,并且向呼叫控制器发送回确认消息。块1524指示呼叫控制器处理器电路从仲裁装置接收回确认消息。块1526然后指示呼叫控制器处理器电路向通过图35所示的主动呼叫记录的媒体中继器ID字段1310的内容所识别的媒体中继器17发送停止监听消息。该停止监听消息包括在主动呼叫记录中所包括的^^体中继器主叫端口ID字段1312和媒体中继器被叫端口字段1314的内容,并且识别要关闭J^体中继器哪一端口。响应于该停止监听消息,媒体中继器17断开媒体中继器主叫端口和正从主叫接收音频数据的仲裁装置端口之间的连接、以及媒体中继器被叫端口和正在从被叫接收音频数据的仲裁装置端口之间的连接。然后^^体中继器向呼叫控制器发送MR停止状态消息。块1528指示呼叫控制器处理器电珞接收MR停止状态消息,并且块1530指示呼叫控制器向路由控制器16发送停止状态消息。在可替换的实施例中,路由控制器不维持主动呼叫记录,但是每个呼叫控制器都维持主动呼叫记。在这样的实施例中,以单个块1600代替图44的块1408和1410,块1600指示路由控制器处理器电路对每个呼叫控制器进行轮询,以确定呼叫控制器的主动呼叫列表是否包含具有相当于根据块1402所定位的拨号配置文件所确定的用户名的主叫或被叫字段内容的条目。如果任何轮询的呼叫控制器具有这类记录,则呼叫控制器向路由控制器传送回响应消息,该响应消息包括用于识别呼叫控制器的呼叫控制器ID。不止一个呼叫控制器可以具有主动呼叫记录,该主动呼叫记录具有相当于从用户配置文件所确定的用户名的主叫或被叫字段内容。例如,在电话会议中就是这种情况。路由控制器处理器电路然后执行如上所述的块1412和1414,或者,如果轮询的呼叫控制器没有一个包含其中主叫和被叫字段内容与根据在块1402处定位的拨号配置文件所确定的用户名相匹配的的呼叫记录,则处理结束。因此,实际上,块1600提供找到当前正在承载与感兴趣的用户相关联的呼叫的呼叫控制器的可替换的方式。在另一实施例中,可以提供与路由控制器和/或呼叫控制器的接口,以使得执法当局能够直接访问或复制由呼叫控制器和/或路由控制器所维持的主动呼叫列表。通过以上所述,应该理解,由执法机构将是否要监视系统的订户的通信的指示直接提供给图9所示的订户拨号配置文件中。使用该拨号配置文件对与订户有关的呼叫进行路由,并且针对合法监听要求检查该拨号配置文件,以确定媒体中继器是否要将与该呼叫相关联的音频数据复制到用于合法监视和/或记录目的的仲裁装置。尽管已经结合监^频流描述了系统,但是该系统可以类似地用于监视例如系统的订户之间或系统的订户和非订户之间的例如纯数据和/或视频或多媒体数据的任何其它数据流。尽管已经描述和说明了本发明的具体实施例,但是应该认为这些实施例仅是本发明的示例,而不应认为这些实施例限制根据所附权利要求解释的本发明。权利要求1.一种用于监听因特网协议(IP)网络中的通信的方法,该方法包括保持IP网络的各订户的拨号配置文件,每个所述拨号配置文件包括与对应的订户相关联的用户名;将监听信息与其通信要被监视的订户的拨号配置文件相关联,所述监听信息包括用于确定是否监听与所述订户有关的通信的确定信息和用于识别向其发送所监听的与所述订户有关的通信的装置的目的地信息;以及当所述确定信息满足监听标准时,与媒体中继器进行通信以使所述媒体中继器将所述通信的拷贝发送至由所述目的地信息所指定的仲裁装置,其中,通过所述媒体中继器,将要进行与所述订户有关的所述通信或者正在进行与所述订户有关的所述通信。2.根据权利要求1所述的方法,其中关联监听信息包括当与所述订户有关的通信没有在进行时,将所述监听信息与所述拨号配置文件相关联。3.根据权利要求1所述的方法,其中关联监听信息包括当与所述订户有关的通信正在进行时,关联所述监听信息。4.根据权利要求2或3所述的方法,其中关联所述监听信息包括设置其通信要视的订户的所述拨号配置文件中的监听信息字段。5.根据权利要求l所述的方法,还包括产生用于通过IP网络的组件对与所述订户有关的通信进行路由的路由消息,并且,在产生所必洛由消息之前,确定所述确定信息是否满足所述监听标准,并且当所述确定信息满足所述监听标准时,将所述监听信息中的至少一些包括在所&洛由消息中。6.根据权利要求5所述的方法,其中确定所述确定信息是否满足所述监听标准包括确定当前日期和时间是否在由所述确定信息所指定的范围内。7.根据权利要求6所述的方法,还包括响应于所述路由消息识别媒体中继器,其中,通过所述媒体中继器,将进行与所述订户有关的通信。8.根据权利要求7所述的方法,还包括预先将至少一个媒体中继器与其通信要视的订户的所述拨号配置文件相关联,并且其中,识别所述媒体中继器包括识别与其通信要视的所述订户预先关联的媒体中继器。9.根据权利要求8所述的方法,其中预先关联包括以至少一个媒体中继器的标识设置所述拨号配置文件中的媒体中继器字段。10.根据权利要求l所述的方法,其中响应于接收到监听请求消息,将所述监听信息与其通信要视的订户的所述拨号配置文件相关联,其中所述监听请求消息包括所述监听信息。11.根据权利要求10所述的方法,还包括调用监听请求消息处理机,以进行a)找到与其通信要视的订户相关联的拨号配置文件;b)执行将所述监听信息与所述拨号配置文件相关联的步骤;c)确定是否满足所述监听标准;以及d)识别媒体中继器,其中,通过所述媒体中继器正在进行所述通信。12.根据权利要求11所述的方法,还包括保持正在进行的通信的主动呼叫记录,所述主动呼叫记录包括用户名标识符和用于识别通过其正在进行所述通信的媒体中继器的媒体中继器标识符,并且其中,识别通过其正在进行所述通信的媒体中继器包括对与其通信要皿视的订户的通信相关联的主动呼叫记录进行定位,以找到与所述通信相关联的媒体中继器。13.根据权利要求12所述的方法,还包括保持用于将PST电话号码与预订所述IP网络的用户的用户名相关联的直接^(DID)记录,并且其中,找到与其通信要视的订户相关联的拨号配置文件包括找到DID记录中的用户名并4吏用所述用户名来对与所述用户名相关联的拨号配置文件进行定位,其中,所述DID记录具有与其通信要视的订户相关联的PSTN号码。14.一种用于监听因特网协议(IP)网络中的通信的设备,该设备包括用于保持IP网络的各订户的拨号配置文件的装置,其中,每个所述拨号配置文件包括与对应的订户相关联的用户名;用于将监听信息与其通信要视的订户的所述拨号配置文件相关联的装置,所述监听信息包括用于确定是否监听与所述订户有关的通信的确定信息和用于识别向其发送所监听的与所述订户有关的通信的装置的目的地信息;以及用于当所述确定信息满足监听标准时,与媒体中继器通信以使得所述媒体中继器将所述通信的拷贝发送至由所述目的地信息所指定的仲裁装置的装置,其中,通过所述媒体中继器,将要进行或正在进行与所述订户有关的通信。15.根据权利要求14所述的设备,其中用于关a听信息的所述装置被可操作地配置成当与所述订户有关的通信没有在进行时,将所述监听信息与所述拨号配置文件相关联。16.根据权利要求14所述的设备,其中用于关联监听信息的所述装置被可操作地配置成当与所述订户有关的通信正在进行时,关联所述监听信息。17.根据权利要求15或16所述的设备,其中用于关联所述监听信息的所述装置被可操作地配置成设置其通信要视的订户的所述拨号配置文件中的监听信息字段。18.根据权利要求14所述的设备,还包括用于产生路由消息的装置,所&洛由消息用于通过IP网络的组件对与所述订户有关的通信进行路由,以及用于在产生所述路由消息之前,确定所述确定信息是否满足所述监听标准的装置,以及其中,用于产生所必洛由消息的所述装置被可操作地配置成当所述确定信息满足所述监听标准时,将所述监听信息中的至少一些包括在所iii洛由消息中。19.根据权利要求18所述的设备,其中用于确定所述确定信息是否满足所述监听标准的所述装置被可操作地配置成确定当前日期和时间是否在由所述确定信息所指定的范围内。20.根据权利要求19所述的设备,还包括用于响应于所述路由消息识别^体中继器的装置,其中,通过所述^^体中继器将进行与所述订户有关的通信。21.根据权利要求20所述的设备,还包括用于将至少一个媒体中继器与其通信要视的订户的所述拨号配置文件预先关联的装置,以及其中,所述路由装置被可操作地配置成根据所述拨号配置文件识别与其通信要视的所述订户预先关联的媒体中继器。22.根据权利要求21所述的设备,其中所述用于预先关联的装置被可^Mt地配置成以至少一个媒体中继器的标识设置所述拨号配置文件中的^^体中继器字段。23.根据权利要求14所述的设备,其中用于关联所述监听信息的装置被可操作地配置成响应于接收到监听请求消息,关联与其通信要视的订户的所述拨号配置文件相关联的所述监听信息,其中所述监听请求消息包括所述监听信息。24.根据权利要求23所述的设备,还包括用于处理监听请求消息的装置,所述用于处理监听请求消息的装置包括a)用于找到与其通信要皿视的订户相关联的拨号配置文件的装置;所述用于找到拨号配置文件的装置和所述用于将所述监听信息与所述拨号配置文件相关联的装置协作,使得将所述监听信息与所述拨号配置文件相关联;b)用于确定是否满足所述监听标准的装置;以及c)用于识别媒体中继器的装置,其中,通过所述媒体中继器正在进行所述通信。25.根据权利要求24所述的设备,还包括用于保持正在进行的通信的主动呼叫记录的装置,所述主动呼叫记录包括用户名标识符和用于识别通过其正在进行所述通信的媒体中继器的媒体中继器标识符;以及其中,用于识别通过其正在进行所述通信的媒体中继器的所述装置被可操作地配置成对与其通信要视的所述订户的通信相关联的主动呼叫记录进行定位,以找到与所述通信相关联的媒体中继器。26.根据权利要求25所述的设备,还包括用于保持将PST电话号码与预订所述IP网络的用户的用户名相关联的直接^(DID)记录,以及其中,用于找到与其通信要M视的订户相关联的拨号配置文件的所述装置被可操作地配置成找到具有与其通信要被监视的订户相关联的PSTN号码的DID记录中的用户名,并JU吏用所述用户名对与所述用户名相关联的拨号配置文件进行定位。全文摘要用于监听因特网协议(IP)网络中的通信的方法和设备包括保持IP网络的各订户的拨号配置文件,每个拨号配置文件包括与对应的订户相关联的用户名;以及将监听信息与其通信要被监视的订户的拨号配置文件相关联。监听信息包括用于确定是否监听与该订户有关的通信的确定信息和用于识别向其发送所监听的与所述订户有关的通信的装置的目的地信息。当确定信息满足监听标准时,与媒体中继器建立通信以使媒体中继器将与该订户有关的通信的拷贝发送至由所述目的地信息所指定的仲裁装置,其中,通过所述媒体中继器,将要进行与该订户有关的通信或者正在进行与该订户有关的通信。文档编号H04L12/66GK101584150SQ200780049791公开日2009年11月18日申请日期2007年11月29日优先权日2006年11月29日发明者约翰·埃米尔·维克托·比约塞尔,马克瑟姆·索博列夫申请人:迪吉福尼卡(国际)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1