对提供电话号码可移植性的电话网的主叫名字传送管理 【发明背景】
【技术领域】
本发明涉及电话网业务或功能的网络管理,更具体地说,涉及电话网主叫名字(CNAM)业务的网络管理,这一电话网还提供电话号码可移植性(NP)业务。
相关现有技术
在历史上,电话公司是通过在它们的交换机里使用新版软件来为它们的用户提供新的主叫业务(Calling Services)或功能的。然而,这样引入新的业务非常缓慢,能提供的服务只限于交换机卖方在最新版软件里引入的新功能。为了解决这一难题,电话工业开发了一种新的网络,叫做智能网(IN),它在交换机外的外围主叫处理计算机里分布支持主叫业务的至少部分智能(软件)。在呼叫处理过程中本地交换机可以访问这些计算机,以便提供需要的服务。
在早期的IN体系结构里,交换机控制呼叫处理过程,它仅仅向外设请求获得数据以及从外设接收数据。而在现在的IN体系结构里,至少可以将处理呼叫的部分智能从交换机下载到业务控制点(SCP)里去,本地通信公司可以很容易地修改这些业务控制点地软件,从而提供新的主叫业务(例如话音邮件)。SCP可以将一些呼叫处理业务交给一个或更多的智能外设(IP)完成,这些智能外设作为SCP的从属处理器,能够提供各种各样的资源(例如话音识别)。
当前的IN体系结构还可以包括一个业务节点(SN),它有一个独立的计算机平台,专用于独立地提供特殊的主叫业务(也就是独立于SCP或者交换机)。用一个公共信道信令(CCS)数据网将各种IN单元或节点(即交换机、SCP、IP和SN)相互连接,该数据网使用例如7号信令系统(SS7)协议。SS7网络通常都有一个信令传输点(STP),用于在各种IN单元之间传递消息(数据包)。
在这一IN体系结构里,进行呼叫处理时,交换机分析与呼叫有关的信息(例如主叫客户业务简档记录,拨号数字等等),以判断它是否需要IN功能为这一呼叫选择路由或者提供一个主叫业务。如果交换机发现需要启动IN功能,它就通过SS7网络向SCP发出一个查询请求(数据消息)。作为相应,SCP可以控制呼叫处理过程,并在内部提供需要的服务,或者在需要的时候,启用能提供所需服务的外部资源(IP、SN或者另一个SCP)。或者SCP可以仅仅访问一个数据库,并将需要的数据(例如路由信息)经由SS7网络返回给交换机。
在当前正在开发的IN功能里,有一个电话号码可移植性(NP)功能。这一NP功能使电话用户能够改变他或她的本地业务而不必改变他或她的电话号码(DN),这在美国通常是一个10位数字的号码,它的格式是NPA-NXX-XXXX(这里“NPA”是用户所在的电话编号区,“NXX”是分配给用户连接的当地交换机的一个3位数字前缀,“XXXX”是当地交换机运营商为用户分配的一个4位后缀)。因此,有NP功能的用户可以改变他或她的电话业务,例如从普通老式电话业务(POTS)变成综合业务数字网(ISDN),从一个电话业务提供商变更到另一个,或者从一个物理区域变到另一个物理区域,而不改变DN。实施NP的第一阶段,叫做本地号码可移植性(LNP),使用户可以在一个计费中心的范围内变更业务提供商或物理位置,却继续使用该计费中心里一个网络分配的“可移植”DN(也就是属于该网络NPA-NXX号码串中的一个DN,该号码串由该网络指定,是一种可移植号码串)。这种注册信息的变更记录在该网络的SCP维护的LNP数据库里。
有人建议在网络里增加两个功能以便支持这一LNP功能,这两个功能就是位置路由选择号(LRN)功能和全局标题变换(GTT)中继功能。这一LRN功能使正在处理到一个可移植DN的呼叫的交换机能够向SCP发送包括这一DN的一个查询请求,请求获得被叫DN当前连接的交换机的路由信息。该SCP检查它的LNP数据库,向请求查询的交换机返回一个响应消息,该消息包括被叫用户当前连接的交换机的LRN,这样这一呼叫就可以连接到该交换机上去。另一方面,GTT中继功能使得网络能够将涉及可移植DN的查询请求传递到正确的目的地去。在采用LNP功能之前,可以用DN的前6个数字(即NPA-NXX)来识别相应用户连接的交换机(和网络)。但可移植DN的前6个数字却不能用于这一识别目的(因为此时用户已经变更了位置或电话公司)。于是GTT中继功能被用于确定为可移植用户(例如某一节点的目的地点码或规定能够完成某一功能的一组节点的功能码(Capability Code))提供所需服务的网络节点的地址。GTT中继功能可以在例如STP这样的网络节点里实现。对一个可移植DN的查询可以交给GTT中继节点,将查询请求消息中的可移植DN变换成正确的目的地地址。
当前网络的另一个功能是主叫名字(CNAM)传送业务,也叫做具有名字功能的主叫用户ID。这一CNAM功能使得被叫方的用户站设备(CPE)能够在振铃周期的第一个静寂时间里,记录和显示主叫方的名字以及呼叫的日期和时间。为了传送CNAM,SCP有一个数据库,其中有对应于用户名字的DN表。在呼叫处理过程中,交换机可以发送包括主叫方号码的一个消息给SCP,SCP查阅CNAM数据库,找出主叫方号码对应的用户名字。从CNAM数据库里一找出主叫方的名字,就在SCP的响应消息里将它返回给上述交换机,该交换机则将名字转发给被叫方的CPE。
既然可以由网络里的几个交换机共享这一CNAM数据库,就有可能出现包括CNAM数据库的SCP由于CNAM数据库查询请求过多而过载。于是为SCP增加了自动呼叫/编码间隔(ACG,Automatic Call/CodeGapping)负载控制功能,它使得SCP能够指令某一节点(例如交换机)在某一段时间中的每一特定间隔时间里,为属于一特定NPA-NXX串的所有号码最多只发送一个CNAM查询请求。在SCP发送给该节点的指令里规定了过载保护期间的长度和间隔长度。在一个节点里针对某一NPA-NXX号码串启动ACG以后,在过载保护期间里,不管什么时候上述节点向SCP发送一个CNAM查询,要查询这一NPA-NXX号码串中的一个号码,在等于规定的间隔长度的一段时间里该节点不能再发送针对这一NPA-NXX号码串的任何CNAM查询请求。这样就将该节点发出针对这一NPA-NXX号码串的CNAM查询的频率减少到每一间隔长度里不多于一次。
虽然可以认为ACG网络管理功能对于有效地实现CNAM功能是必须的,但是应用这一ACG功能在相互连接、支持LNP和CNAM功能的网络里,例如在图1所示的三个网络实例里,可能会导致不良后果。参考图1,为简便起见,假设在三个网络的每一个网络中,LNP和CNAM功能都是由单独一个SCP提供的。因此,第一个网络有一个SCP 16,它有一个LNP数据库(LNP DB)18和一个CNAM数据库(CNAM DB)20,第二个网络有一个SCP 36,它包括一个LNP DB 38和一个CNAM DB40,第三个网络包括有一个LNP DB 58和一个CNAM DB 60的一个SCP56。假设第一、第二和第三个网络的STP 14、34和54分别实现了GTT中继功能。
假设第一个网络里的用户10给第二个网络里的用户30打一个电话。进一步假设用户10的电话号码是从第二个网络移植过来的(也就是说这一电话号码属于分配给第二个网络的可移植NPA-NXX号码串),而且用户30已经启用CNAM功能。用户10发出的呼叫由第一个网络里终端局(OE)12中的本地交换机处理。EO 12分析用户10拨的数字,并通过STP 14和34向被叫用户30所在的第二个网络里的EO 32发出呼叫建立信令数据。EO 32检查用户30的用户简档,确认这一用户已经启用了CNAM功能。因此,EO 32产生包括主叫方号码(CgPN)的一个CNAM查询请求,并将这一CNAM查询请求发送给本地SCP 36。收到这一CNAM查询请求时,SCP 36将无法在CNAM DB 40里找到CgPN(因为这一号码已经被移植走)。于是,SCP 36产生一个所谓的CNAM“再查询请求(“reguery”),发送给STP 34(它完成将查询可移植号码的请求传送到正确目的地所必需的GTT中继功能)。
继续参考图1,第二个网络中STP 34里的GTT中继功能将来自SCP 36的CNAM查询请求传送给STP 14,STP 14在第一个网络里提供GTT中继功能。STP 14将这一CNAM查询请求传送给SCP 16,在这里保存着CNAM DB 20,其中包括CgPN和EO 12的其它号码。如果SCP16处于过载状态,SCP 16给SCP 36的响应消息就会包括一个ACG指令,要求SCP 36对与可移植CgPN的这一NPA-NXX号码串里的DN有关的随后的CNAM再查询请求(根据这一消息里的ACG数据)采用间隔方式。但如果这一可移植号码串中其它9999个用户中的大多数在第三个网络里而不是在这第一个网络里,在SCP 36里对这一号码串应用间隔方式意味着,SCP 36会对涉及这些其它用户(例如用户50)的CNAM查询应用间隔方式,即使这些查询将由SCP 56里的CNAM DB60来处理,它可能并没有过载。换言之,一个网络里CNAM过载会干扰其它网络的CNAM操作管理,而这些其它的CNAM可能并没有相似的过载问题。
如果EO 32采用全局标题变换功能为最初的CNAM查询请求选择路由而不是将它传送给SCP 36,也会出现这种干扰问题。此时,这一CNAM查询请求将从EO 32经过STP 34和14传送到SCP 16。包括SCP16发出的ACG指令的CNAM响应消息将返回到EO 32。如果这一CgPN的可移植NPA-NXX号码串中其余9999个用户的大多数在第二个或第三个网络里,在EO 32里对这一号码串应用间隔方式意味着EO 32会对与这些其它用户有关的CNAM查询请求也采用间隔方式,即使这些查询请求将由SCP 36或SCP 56来处理,而它们可能没有过载。
发明简述
考虑到现有技术中的网络里LNP和CNAM功能之间存在相互干扰,需要一种方案,当这一网络里处理CNAM查询的SCP处于过载状态,这一号码串中的一个或更多号码,但不是所有号码,已经移植到这一SCP里,而在这一号码串中其它号码所在的其它网络里处理CNAM查询的SCP没有过载时,这种方案能避免查询可移植号码串的CNAM时不必要的间隔。本发明提供需要的解决方案,下文将详细介绍。
根据本发明,涉及到可移植号码串中任何主叫方号码(CgPN)的CNAM查询都可以交给本地SCP中的一个应用程序,它能确定这一可移植号码(Portable Number)的位置路由选择号(LRN)。这一本地SCP应用程序能够从本地网的LNP DB中获得同一计费中心内任意一个可移植号码的LRN。或者这一本地SCP应用程序能够维护它自己的可移植号码和它们相应的LRN构成的一个数据库。由于每一个LRN的前6位数字(即LRN的NPA-NXX部分)决定了有关的可移植号码是跟哪一个远端交换机或终端局(EO)相连,因此可以用这一部分来识别储存了主叫方名字的远端CNAM DB。
收到包括一个可移植CgPN的CNAM查询请求时,这一本地SCP应用程序产生一个新的CNAM查询(再查询)请求,然后利用最初的CNAM查询请求中的CgPN通过GTT中继节点发送给远端CNAM DB。本地SCP应用程序还要储存相应的LRN(或者这一LRN的至少前6位数字,即NPA-NXX部分),用于处理远端CNAM DB的SCP过载时采用呼叫间隔方式,从CNAM查询请求的响应中可以知道它是否过载。如果远端SCP的响应说明需要采用间隔方式,那么这一本地SCP应用程序就会在随后的CNAM再查询中启动间隔方式,只要这些再查询包括跟储存的LRN有关的可移植号码,或者包括跟储存的LRN属于同一号码串(NPA-NXX)的不可移植号码(而不是象现有技术里那样,将间隔方式应用到涉及同一个可移植CgPN所属号码串中号码的CNAM再查询请求中去)。
另一方面,如果最初发送给本地SCP应用程序的CNAM查询请求涉及另一个网络一个号码串中的一个不可移植CgPN,这一本地SCP应用程序就利用这一不可移植的CgPN而不是GTT中继功能,将一个CNAM再查询请求发送给那一个网络里的远端CNAM DB,因为这一CgPN不是一个可移植的号码。如果处理远端CNAM DB的远端SCP发回的响应要求采用间隔方式,那么本地SCP就对随后跟CgPN一样属于同一号码串(NPA-NXX)的不可移植号码的CNAM再查询请求采用间隔方式(此时,由于CgPN是一个不可移植号码,因此可以对CgPN的NPA-NXX采用间隔方式,因为这一NPA-NXX准确地说明了跟这一CgPN连接的交换机,以及储存了对应用户的名字的远端CNAM DB)。
按照上述方式,不管最初的CNAM查询请求涉及的是可移植的还是不可移植的CgPN,对随后发往要求采用间隔方式的这一CNAM DB节点的CNAM查询请求都要采用呼叫间隔方式,而不对发往不过载CNAM DB节点的查询请求这样做。
一方面,本发明在多个电话网中的一个里提供一个业务控制点(SCP),该电话网有多个用户,每一个用户都在一个预定号码串中分配了一个电话号码,这串号码跟一个电话网中的某一个交换机有关,这些号码串中有一个或多个被指定为可移植号码串,其中包括分配给一个网络中一个交换机的电话号码,但同时这些号码还可以跟另一个网络中的一个交换机相连,与此同时,其它的号码串中每一个号码串包括的都是不可移植电话号码,被分配给一个网络里的一个交换机,跟该网络中的这一个交换机相连。
本发明的SCP有一个储存多个电话号码和对应用户名字的主叫名字(CNAM)数据库(CNAM DB);接收给CNAM DB的CNAM查询请求的装置,该CNAM查询请求包括给另一用户打电话的用户的电话号码;如果主叫用户的电话号码储存在这一CNAM DB里,就提供主叫用户名字的装置;如果这一CNAM DB里没有储存该主叫用户的电话号码,就向另一个网络里的CNAM DB发出一个CNAM再查询请求的装置,该CNAM再查询请求包括主叫用户的电话号码;从其它网络的响应中接受间隔指令的装置,这一间隔指令规定随后发出CNAM再查询时采用间隔方式,只要这些再查询中的电话号码跟这一主叫用户的电话号码属于同一号码串;以及响应其它网络的间隔指令的装置,响应的方式是(a)如果主叫用户的电话号码是一个可移植电话号码,就用间隔方式进行随后的CNAM再查询,这些查询或者包括跟一个位置路由选择号(LRN)有关的可移植电话号码,这一LRN用来识别主叫用户电话号码连接的交换机和网络,或者包括跟这一LRN属于同一号码串的不可移植电话号码,以及(b)如果主叫用户的电话号码是一个不可移植的电话号码,就用间隔方式发送CNAM再查询请求,这些再查询包括跟主叫用户的电话号码属于同一号码串的不可移植电话号码。
另一方面,本发明提供一种方法,用来在包括多个用户的多个电话网络里管理主叫名字数据库(CNAM DB),这里的每一个用户都有一个电话号码,该电话号码属于跟电话网络之一的某一交换机有关的一个预定号码串,其中的一个或更多的号码串被指定为可移植号码串,这些号码串里的电话号码分配给一个网络里的一个交换机,但也能跟另一个网络的交换机连接,而其它号码串中的号码则是不可移植的电话号码,分配给一个网络里的一个交换机,并跟这一网络的这一交换机相连,每一个网络都有一个CNAM DB,用于储存多个电话号码和跟该网络中的这一个交换机相连的用户的名字。
本发明的方法包括以下步骤:检测一个网络里的主叫用户打给另一个网络中被叫用户的电话;判断主叫用户的号码是一个可移植号码还是一个不可移植号码;如果主叫用户的电话号码是一个可移植电话号码,就获得跟主叫用户的这一电话号码有关的一个位置路由选择号(LRN),该LRN用来识别主叫用户的交换机和网络;如果主叫用户的电话号码是一个不可移植电话号码,就利用主叫用户的电话号码来确定主叫用户的交换机和网络;被叫用户网络向主叫用户网络的CNAMDB发出一个包括主叫用户电话号码的CNAM查询请求;被叫用户网络接受主叫用户网络响应该CNAM查询请求发出的间隔指令,该指令规定包括跟主叫用户的电话号码属于同一号码串的电话号码的随后的CNAM查询采用间隔方式发送;如果认定主叫用户的电话号码是一个可移植号码,被叫用户的网络就用间隔方式发送随后的CNAM查询请求,这些查询请求包括跟LRN有关的可移植号码,或者包括跟这一LRN一样属于同一号码串的不可移植号码;如果认定主叫用户的号码是不可移植号码,就在被叫用户的网络里用间隔方式发送CNAM查询请求,这些查询请求包括跟主叫用户的电话号码属于同一号码串的不可移植号码。
通过以下附图和详细介绍,本发明的这些方面和其它方面将更加明了。
附图简述
通过参考以下附图,本发明及其目的和优点,对本领域里的技术人员来说将是显而易见的,在这些附图中,
图1是三个现有技术网络实例的一个框图,它们中的每一个都有提供主叫业务的一个业务控制点(SCP);
图2A~B是按照本发明构造的SCP所执行的步骤的流程图;和
图3是图2中的SCP使用的一个呼叫间隔表。
发明详述
现在参考图2A~B,其中是按照本发明构造的SCP执行的步骤的一个流程图。无论什么时候SCP收到对某一呼叫的CNAM查询请求,都按图中所示方式执行这些步骤,见图2A里的方框50。这一CNAM查询请求可能来自例如本地网中的一个EO,或者远端网络里的一个SCP。在方框52里,SCP通过比较CANM查询请求中的始发点代码(OPC)和它自己的OPC(在本领域里众所周知,网络里的每一个节点都有一个唯一的OPC,这一个节点发出的所有全局标题路由选择消息(GlobalTitle Routed messages)中都有这一OPC。),判断收到的CNAM查询请求是它还是其它节点发出的。这一步骤是为了防止当这一CNAM查询就是这一SCP自己发出的时候,在图2A~B的流程图里出现“死循环”。此时,SCP产生一个“返回错”消息,如方框54所示。另一方面,如果该CNAM查询请求是网络里的另一个节点发出的,SCP就执行方框56里的步骤,用收到的CNAM查询请求里的主叫方号码(CgPN)为CNAM DB编制索引,试图找出主叫方的名字。
在步骤58里,SCP判断在CNAM DB里是否找到了CgPN。如果在CNAM DB里找到了CgPN,SCP就产生一个“返回结果”消息,其中有主叫方的名字,如方框60所示。但如果在CNAM DB里没有找到CgPN,这意味着主叫方是跟另一个网络里的一个交换机相连的,SCP就在步骤62里判断为了获得主叫方名字,是否可以查询主叫方网络里的CNAM DB。这一判断的依据可以是例如,跟这另一个网络是否有交换CNAM数据的协议,这一SCP是否能够发出CNAM再查询请求,等等。如果不能查询这另一网络里的CNAM DB,SCP就产生一个“返回错”消息,如方框64所示。另一方面,如果SCP认定应当查询这另一个网络里的CNAM DB,该SCP就在步骤66里判断查询其它网络的CgPN是否属于一个可移植号码串。如果这一CgPN确实属于一个可移植号码串,那么SCP就在方框68中从LNP DB获取位置路由选择号(LRN),并将这一LRN(或者它的NPA-NXX部分)作为间隔号码(GappingNumber)存起来,如果需要,可以对这一间隔号码采用间隔方式。
继续参考图2A,更具体地说参考方框66,如果发现CgPN不是可移植号码串,SCP就进入到方框70,并将这一CgPN作为间隔号码存起来。该SCP下一步在方框72里判断是否应该对这一呼叫(即这一CNAM查询)采用间隔呼叫方式。为此,SCP查询图3所示的一个呼叫间隔表110。呼叫间隔表110储存了一个间隔号码表(CgPN和/或LRN),以及间隔长度定时器使用的有关值。无论何时SCP在对应于这一间隔号码的CgPN的CNAM查询响应里收到一个自动呼叫间隔(ACG,Automatic Call Gapping)指令,都在间隔表110里增加一个间隔号码。此时,SCP按照ACG数据里的值设置间隔长度和间隔长度定时器(gap interval timer)。回到步骤72,如果间隔表110里有这一呼叫的间隔号码(就象在方框66~70里确定的那样),而且有关的间隔长度定时器还没有停止计时,SCP就对这一呼叫采用间隔方式。如果这两个条件都满足,SCP就在方框74里产生一个“返回错”消息,因为此时它无法向另一个网络发出CNAM再查询请求。
另一方面,如果此时不需要采用间隔方式呼叫,SCP就进入图2B中的步骤76,并判断是否应当启动间隔表110里所有间隔号码的间隔长度定时器。这一步骤主要是为了确定间隔表110里是否有这一呼叫的间隔号码(如方框66~70所示)。如果是这样,就启动这一间隔号码的间隔长度定时器,如方框78所示,因为此时SCP要为这一间隔号码对应的CgPN发出一个CNAM再查询请求,如方框80所示,这一CNAM再查询请求通过全局标题(Global Title)方式被传送给另一个网络里的CNAM DB。在方框82里,SCP等待另一个网络的响应消息。如同方框84、86和88所示,SCP从另一个网络收到的响应消息可以是“拒绝”消息、“返回错”消息或者“返回结果”消息。如果传输出错或者SCP发送的CNAM再查询请求里存在某种格式错误,这另一个网络就会返回一个“拒绝”消息。如果在它的CNAM DB里找不到这一CgPN,或者没有CNAM DB,这另一个网络就返回一个“返回错”。另一方面,如果这另一个网络在它的CNAM DB里成功地找到了CgPN,它就返回一个“返回结果”消息。
继续参考图2B,一旦从这另一个网络收到CNAM响应消息,SCP就在方框90里判断这一CNAM响应消息里是否有一个ACG参数。如果在这一CNAM响应消息里发现了ACG参数,SCP就在方框92里根据收到的ACG数据,在间隔表110中插入、删除或者保留这一呼叫的间隔号码。否则,SCP就直接进入方框94,并判断另一个网络发来的CNAM响应消息的类型,以便给CNAM查询请求的发出方以适当的响应。如果从这另一个网络收到的CNAM响应消息是“返回结果”类型的消息,SCP就产生一个相应的“返回结果”消息(包括主叫方名字),如方框96所示。但如果从这另一个网络收到的CNAM响应消息是另一种类型的消息(即“拒绝”或者“返回错”消息),SCP就产生一个“返回错”消息,如方框98所示。在这两种情况下,SCP都进入方框100,以便确定是否在给CNAM查询的发出方的消息里包括ACG数据(注意从图2A中的方框54、60、64或者74都能到达图2B中的方框100)。在方框100里,SCP检查它是否已经过载,以及CNAM查询请求的发出方是否正在采用间隔方式(按照SCP前面发送的指令)。只要这两种情况有一种出现,SCP就在方框102里在给CNAM查询请求的发出方的响应消息里包括适当的ACG数据,从而在该节点里开始或者更新呼叫间隔方式。不管有没有ACG数据,都在方框104里将响应消息发送给CNAM查询请求的发出方。
从图2A~B的流程图可见,如果主叫方号码(CgPN)属于一个可移植号码串,并且另一个网络里储存这一CgPN的CNAM DB处于过载状态,如同间隔表110中存在对应的LRN所说明的那样,SCP就会对LRN里的NPA-NXX而不是对CgPN采用呼叫间隔方式。这样,一个网络里的CNAM DB网络管理就不会干扰另一个网络里的CNAM DB网络管理。
尽管前面介绍了本发明的一些实施方案,本领域里的技术人员应当明白,可以对这里公开的本发明的实施方案进行各种修改,而不会偏离本发明的实质和范围。所以,这里公开的本发明的实施方案只是说明性的,而不是要对以下权利要求所规定的本发明的范围加以限制。