一种通过路由服务器实现域用户路由的方法

文档序号:7588910阅读:207来源:国知局
专利名称:一种通过路由服务器实现域用户路由的方法
技术领域
本发明是涉及域用户路由服务,特别涉及在下一代网络体系架构下的域用户路由服务的方法。
背景技术
在以分组交换网为核心传输网络的系统中,建立对终端的呼叫需要知道终端当前的地址,或者终端当前的呼叫代理的地址。其中部分终端用户是以帐号的方式来标记并进行呼叫的。建立呼叫必须知道用户的帐号、终端当前的联系地址、终端当前的呼叫代理等信息。用户的帐号一般是周知的,而终端当前的联系地址和呼叫代理地址是可以变化的,因此终端要向呼叫代理(或呼叫控制)设备进行注册,将自己当前的联系地址写入到一个位置服务器中,以便其他终端用户与其建立呼叫。当一个终端呼叫另一个终端时,通过查询位置服务器,得到被叫终端当前的联系地址和当前呼叫代理地址等路由信息,然后可建立呼叫。位置服务器可以是呼叫代理本身,或者是路由服务器。位置服务器是呼叫代理本身的时候,呼叫代理上保存着自己的归属域中所有域用户终端当前的联系地址;位置服务器是路由服务器的时候,路由服务器上保存着它所代理的一个或者多个呼叫代理的归属域中所有域用户终端当前的联系地址。
由于在小规模的网络中,呼叫代理和终端的数量都很少,一般只需设置少量几个位置服务器,并在所有的呼叫代理上配置这几个位置服务器的地址,即可解决域用户的帐号和终端路由信息的映射问题。但当网络规模足够大时,呼叫代理设备增多,不可能在所有的呼叫代理上都配置所有位置服务器的地址,对所有位置服务器也需专门进行管理。因此需要有一个专门的系统来提供这种公用服务。
在下一代网络中对呼叫提供路由服务是目前发展的一个趋势,在本申请人的专利申请“路由服务装置及应用该装置实现呼叫路由的方法和系统”(申请号200310112905.X)中提出了路由服务装置及应用该装置实现呼叫路由的方法和系统。路由服务器提供路由查询功能,通过被叫号码查询到被叫用户的实际属地,并进行正确的路由。路由服务器可分为多层,层次低的路由服务器为本区域的呼叫代理路由服务,并将本区域的路由信息上报给上级路由服务器和同级路由服务器,层次高的路由服务器为较大区域的呼叫代理提供路由服务。一旦某个路由服务器上的某些路由信息发生变动,它会自动通知相关的路由服务器进行路由更新。
路由服务器架构了一个全网公用的路由体系,但目前还只有针对号码用户的号码路由,不支持对域用户的帐号进行路由。而越来越多的智能终端使用帐号作为呼叫标志,因此需要进行功能扩充,对域用户提供路由支持。
随着网络规模的不断扩大,域的数量也越来越多,记录所有域用户的路由信息需要巨大的空间,因此需要使用合理、有效的方法存储域用户的路由信息,避免占用过多空间和影响系统的可扩展性。

发明内容
本发明要解决的技术问题是提供一种通过路由服务器实现域用户路由的方法,支持对域用户的帐号进行路由,可以完成对域用户的呼叫。
为了解决上述技术问题,本发明提出了一种通过路由服务器实现域用户路由的方法,应用于由路由服务器组成的分层网状的路由体系中,其中的底层路由服务器至少与一个呼叫代理相连,该方法包括路由服务器地址的存放方法、域用户路由信息的更新方法和呼叫时对被叫域用户路由信息的查询方法,其中所述路由服务器地址的存放方法是底层路由服务器是其所服务的呼叫代理域中用户的归属域路由服务器,存放着域中用户的路由信息,至少包括域用户的当前联系地址和当前呼叫代理地址,非底层的路由服务器存放了下一级和上一级路由服务器的地址;所述更新方法包括以下步骤(a1)域用户终端获得分配的联系地址,向当前呼叫代理注册;(a2)当前呼叫代理将所述域用户的当前路由信息通知所述域用户的归属域呼叫代理,该归属域呼叫代理再将该路由信息通知本域的路由服务器;
(a3)归属域路由服务器更新路由信息库中该域用户的路由信息;所述对路由信息的查询方法包括以下步骤(b1)其它用户发起对域用户的呼叫请求,并提供被叫域用户的帐号;(b2)主叫呼叫代理根据所述帐号,在本地查找被叫域用户的归属域路由服务器地址,如果查到,则向所述归属域路由服务器查询被叫域用户的路由信息,并执行步骤(b4),否则执行下一步;(b3)主叫呼叫代理继续发起对所述归属域路由服务器地址的查询,查到后向所述归属域路由服务器查询被叫域用户的路由信息,并将查到的被叫域用户的路由信息返回主叫呼叫代理;(b4)主叫呼叫代理将呼叫接续到所述路由信息中被叫域用户的当前呼叫代理,建立呼叫。
上述方法可具有以下特点所述帐号信息中包括被叫域用户的归属域域名,步骤(b3)又包括以下步骤(c1)主叫呼叫代理首先向本域的底层路由服务器查询被叫域用户的归属域路由服务器地址,并提供被叫域用户的帐号信息;(c2)收到查询的底层路由服务器根据所述帐号信息在本地查找所述归属域路由服务器地址,如果查到,执行步骤(c4),否则继续向上一级的路由服务器查询;(c3)如此逐次查询,查询时优先向域名和被叫归属域域名相同字段多的域的路由服务器发起查询,直到查到所述归属域路由服务器的地址;(c4)查到所述归属域路由服务器地址的路由服务器向该归属域路由服务器查询被叫域用户的路由信息,并将查到的被叫域用户路由信息返回主叫呼叫代理;或者查到所述归属域路由服务器地址的路由服务器将该地址返回到主叫呼叫代理,由主叫呼叫代理向所述归属域路由服务器查询被叫域用户的路由信息,所述归属域路由服务器向其返回被叫域用户的路由信息。
上述方法可具有以下特点所述帐号信息中包括被叫域用户的归属域呼叫代理的地址,步骤(b3)又包括以下步骤(d1)主叫呼叫代理根据帐号中的归属域呼叫代理地址,向所述归属域呼叫代理查询被叫域用户的路由信息;(d2)所述归属域呼叫代理收到查询后,向本域的路由服务器查询被叫域用户的路由信息,并将查到的被叫域用户路由信息返回主叫呼叫代理。
上述方法可具有以下特点所述主叫呼叫代理或路由服务器发起的查询请求中均携带主叫呼叫代理的地址,所述步骤(c4)中,查到归属域路由服务器地址或者被叫域用户路由信息的路由服务器直接将查询结果返回主叫呼叫代理。
为了进一步加快查询速度,可在所述呼叫代理中存放与其业务量大的域的路由服务器地址。
为了进一步加快查询速度,可在所述非底层的路由服务器中还存放了同级路由服务器的地址。
为了进一步加快查询速度,可在所述非底层的路由服务器中存放着其服务域内所有底层路由服务器的地址。
由上可知,本发明提供了一种在分层的路由体系中实现域用户的全网路由的方法,从而完成对域用户的呼叫。进一步的,提出一种合理存储域用户的路由信息,路由信息按照层次存储,从而减少了占用的空间,增加了网络的可扩展性。并且由于路由信息总是保存在域用户的路由服务器中,因而更新速度很快。


图1是在本发明第一实施例的路由体系,以及域用户U1在归属域外注册的示意图。
图2是在本发明第一实施例用户U2呼叫域用户U1@S1.H1.com的过程示意图。
图3是在本发明第二实施例用户U2呼叫域用户U1@211.12.1.1的过程示意图。
具体实施例方式
本发明实现域用户路由的方法,基于以路由服务器为节点组成的路由体系。除最上层的节点外,每个节点有一个父节点,除底层的节点外,每个节点至少有一个子节点,共同组成了一个存储和解析全网路由信息的分层网状的路由体系。
底层的路由服务器为一个或多个呼叫代理服务,作为它所服务的呼叫代理域中域用户(指签约用户)的归属域路由服务器,并在其路由信息库中记录着服务域内所有域用户的路由信息,包含域用户的当前联系地址和当前呼叫代理地址,也可以包含其他必须的路由信息。其它用户呼叫域用户时,先找到被叫域用户的归属域路由服务器,再向其查询被叫域用户的路由信息后,才能与被叫域用户建立呼叫。域用户可能在归属域外注册,当域用户终端开机或者进入一个呼叫代理控制的域时,它从当前域的地址分配服务器获得一个联系地址,并向当前呼叫代理注册。这时需要将其当前的路由信息更新到其归属域的路由服务器。
第一实施例图1示出了本发明实施例的路由体系,以及域用户U1在归属域外注册的情形。如图所示,图1中的路由体系共分为三层,最上层域com的路由服务器R1与第2层域H1.com、H2.com的路由服务器R21、R22连接,第2层域的路由服务器R21、R22分别与底层域S1.H1.com、S2.H1.com,及S3.H2.com、S4.H2.com的路由服务器R31、R32、R33、R34连接,形成网状结构,实际的体系可能有众多的路由服务器。本实施例中,底层域的路由服务器是该域的呼叫代理的一个功能模块,但也可以是直接为该域服务的独立的路由服务器。需说明的是,图中路由服务器的分层连接是虚拟的连接。他们在功能上分层,并连接在一起,物理上并不一定直接相连。
图中,用户U1的归属域是S1.H1.com,因而其路由信息保存在为该域服务的路由服务器R31中。当U1在归属域外的S2.H1.com域进行注册时,其过程如下步骤10,U1在S2.H1.com域注册,从地址分配服务器获得一个动态IP地址,并将自己的帐号、归属域呼叫代理地址等信息告知S2.H1.com域的呼叫代理S2;步骤11,S2.H1.com域的呼叫代理S2将U1的当前联系地址和当前呼叫代理地址等信息告知S1.H1.com域的呼叫代理S1;步骤12,S1.H1.com域的呼叫代理S1将U1的当前联系地址和当前呼叫代理地址等路由信息通知为本域服务的路由服务器R31;
步骤13,U1的归属域路由服务器R31更新路由信息库中U1的联系地址和呼叫代理地址。
通过以上步骤即可完成域用户的注册和路由更新,使其归属路由服务器中总是保存着当前路由。
在其它用户呼叫域用户时,首先要查询域用户的路由,对域用户路由的查询是依据被叫域用户的帐号进行的,域用户的帐号通常是“用户名@归属域域名”或者“用户名@归属域呼叫代理IP地址”的形式,例如12345@ss.name.com或者12345@211.12.1.1。通常采用域名的形式。域名可以保持不变,而域名对应的地址可以改变。本实施例即是采用这种形式。另外,域用户帐号中的域名并不一定是呼叫代理的域名,也可以是归属域的一个入口标志。
路由服务器的地址按一定的策略存放在相关域的路由服务器上,本实施例中,每个域中的路由服务器只存放自己的下一级路由服务器和上一级路由服务器的地址,即子节点和父节点的地址。另外,本实施例的呼叫代理还在本地保存了某些业务量大的域的路由服务器的地址信息,从而可直接向某些域用户的路由服务器进行查询。
此外,呼叫代理也可能在本地保存有被叫用户的路由信息。例如此被叫用户不久前曾被呼叫过,而且根据一定机制,知道此被叫用户的路由信息当前仍然有效,例如给域用户的当前联系地址设置一个有效生存时间,呼叫代理查询域用户的路由信息的时候,可以向归属域路由服务器注册自己的地址,同时在本地保留域用户的路由信息。在有效生存时间内,如果此域用户更新了当前联系地址,可以将这种更新通知给注册的呼叫代理,更新呼叫代理上的联系地址。超过有效生存时间,则呼叫代理需要重新查询域用户的当前联系地址。
如图2所示,假设S4.H2.com域中的用户U2呼叫域用户U1,域用户的帐号采用“用户名@归属域域名”的形式,为U1@S1.H1.com。U1的当前呼叫代理为S2,则呼叫的具体过程如下步骤20,U2向S4.H2.com域的呼叫代理S4发起对域用户U1@S1.H1.com的呼叫请求;步骤21,S4.H2.com域的呼叫代理S4查找被叫域用户路由信息,如果存在且有效,执行步骤28;如果不存在,则查找被叫域用户的归属路由服务器R31的地址,假设S4上未配置R31地址,则S4向本域的路由服务器R34继续查询;步骤22,R34收到查询请求后,在本地查不到U1@S1.H1.com域路由服务器R31的地址,继续向其上级域H2.com的路由服务器R22查询;步骤23,R22收到查询请求后,在本地查不到U1@S1.H1.com域路由服务器R31的地址,继续向上级域com的路由服务器R1查询;步骤24,R1收到查询请求后,在本地查不到U1@S1.H1.com域路由服务器R31的地址,继续向自己的下级域且S1.H1.com的上级域H1.com的路由服务器R21查询;步骤25,R21收到查询请求后,在本地可以查到下级域即用户U1归属域S1.H1.com的路由服务器R31地址,然后向R31查询用户U1的当前联系地址和当前呼叫代理S2的地址等路由信息;步骤26,R31向R21返回用户U1的路由信息;步骤27,R21再将该路由信息逐级返回到S4.H2.com域的呼叫代理S4;步骤28,主叫呼叫代理S4将呼叫接续到被叫域用户U1的当前呼叫代理S2,建立起用户U2与用户U1之间的呼叫。
以上步骤中,如果对路由的查询失败,则呼叫失败。
在本实施例中,域com中的路由服务器只需保存下一级域H1.com和H2.com的路由服务器的地址信息,同样域H1.com的路由服务器也只需保存下一级域S1.H1.com和S2.H1.com以及上一级域com中的路由服务器的地址信息。在底层域S1、S2、S3、S4的路由服务器中则保存各自的域用户的路由信息。这样的分层存储结构减少了存储空间,同时,下一级域的路由服务器地址信息仅由上一级域进行维护,域用户的路由信息仅由归属域的路由服务器进行维护,增强了网络的可管理性、可维护性和可扩展性。
实际上,路由服务器不一定严格遵循这种分层结构,可以增加一定的冗余度来加快路由查询的速度。例如可以在H2.com域中的路由服务器上保留H1.com域的路由服务器的地址,这样上述实施例的情况下,在H2.com域就可以转向H1.com域查询,而不用通过com域。路由服务器在根据帐号中的归属域蜮名查找归属域路由服务器地址时,可以先比域名中的最后一级com,再看name,再看ss,三级都相同即是归属域的路由服务器,否则先向后二级都相同的查,再向最后一级相同的查。
作为另一种冗余的方法,可以在各级路由服务器中记录其服务域内所有底层路由服务器的地址,在上述实施例的情况下,查询到com域的路由服务器时,就可以得到用户U1归属域S1.H1.com的路由服务器R31的地址,从而加快查询速度。
另外,如果S4.H2.com和S1.H1.com域之间的话务量很大,那么可以在S4.H2.com域和S1.H1.com域的呼叫代理上分别保留对方的路由服务器地址,直接进行查询。在上述实施例的情况,S4.H2.com域的呼叫代理可以直接向被叫域用户U1的归属域路由服务器R31查询U1的路由信息,从而大大加快查询的速度。这相当于传统电信网络中的直达路径。冗余路由信息的增加和减少由网络管理员根据本地网路的实际情况制定本地策略来执行。
从上可以看出,采用不同的路由服务器地址存放的策略,查询的过程也不同。此外,查询过程还与采用的查询策略有关。
例如,在实施例中,H1.com域的路由服务器R21查到被叫域用户的归属域路由服务器R31的地址后,可以先返回到主叫呼叫代理S4,由S4向R31查询U1的路由信息。
又如,如果在查询请求中携带发起查询的呼叫代理的地址,查到归属域路由服务器地址或者被叫域用户路由信息的路由服务器就可以直接将查询结果返回主叫呼叫代理,从而加快查询进程。
又如,如果存在另一个和com域并列的路由服务体系,并且查询可能跨越两个体系进行时,com域中应保存与其并列的最上层路由服务器的地址,这时,查询也可以跳跃进行,例如,S4.H2.com域的路由服务器发现被叫域用户归属域域名的最后一级是不com时,就以直接向com域的路由服务器继续查询。当然前提是底层服务器中也存放了最上层路由服务器的地址。
实施例2本实施例的域用户的帐号采用“用户名@归属域呼叫代理IP地址”的形式,归属域采用IP地址的形式可直接知道用户归属域呼叫代理的地址,加快查询速度,但呼叫代理地址发生变动时,影响较大。
如图3所示,假设U1的帐号为U1@211.12.1.1,其归属域为S1.H1.com域,即S1.H1.com域的呼叫代理的地址是211.12.1.1,其呼叫过程如下步骤30,U2向S4.H2.com域的呼叫代理S4发起对域用户U1@211.12.1.1的呼叫请求;步骤31,S4.H2.com域的呼叫代理S4查找域用户U1的路由信息,如果存在且有效,执行步骤35;如果不存在,则向域用户U1的归属域呼叫代理S1(IP地址为211.12.1.1)查询U1的路由信息;步骤32,S1.H1.com域的呼叫代理S1向本域的路由服务器R31查询域用户U1的当前联系地址和当前呼叫代理地址等路由信息;步骤33,U1归属域的路由服务器R31将U1的路由信息返回给S1;步骤34,S1再将该路由信息返回给主叫呼叫代理S4;步骤35,主叫呼叫代理S4将呼叫接续到被叫域用户U1的当前呼叫代理S2,建立起用户U2与用户U1之间的呼叫。
在该实施例中,如果在S4.H2.com域的呼叫代理S4中已经配置了呼叫代理211.12.1.1所在的路由服务器R31的地址,则可以直接向其查询域用户U1的路由信息。
综上所述,本发明方法可以根据域用户的帐号进行路由,找到被叫域用户的当前联系地址和当前呼叫代理地址等路由信息,同时由于路由信息总是保存在底层的路由服务器中,因而占用的存储空间很少,更新时只需要更新其归属域路由服务器的信息,因而速度很快。
权利要求
1.一种通过路由服务器实现域用户路由的方法,应用于由路由服务器组成的分层网状的路由体系中,其中的底层路由服务器至少与一个呼叫代理相连,该方法包括路由服务器地址的存放方法、域用户路由信息的更新方法和呼叫时对被叫域用户路由信息的查询方法,其中所述路由服务器地址的存放方法是底层路由服务器是其所服务的呼叫代理域中用户的归属域路由服务器,存放着域中用户的路由信息,至少包括域用户的当前联系地址和当前呼叫代理地址,非底层的路由服务器存放了下一级和上一级路由服务器的地址;所述更新方法包括以下步骤(a1)域用户终端获得分配的联系地址,向当前呼叫代理注册;(a2)当前呼叫代理将所述域用户的当前路由信息通知所述域用户的归属域呼叫代理,该归属域呼叫代理再将该路由信息通知本域的路由服务器;(a3)归属域路由服务器更新路由信息库中该域用户的路由信息;所述对路由信息的查询方法包括以下步骤(b1)其它用户发起对域用户的呼叫请求,并提供被叫域用户的帐号;(b2)主叫呼叫代理根据所述帐号,在本地查找被叫域用户的归属域路由服务器地址,如果查到,则向所述归属域路由服务器查询被叫域用户的路由信息,并执行步骤(b4),否则执行下一步;(b3)主叫呼叫代理继续发起对所述归属域路由服务器地址的查询,查到后向所述归属域路由服务器查询被叫域用户的路由信息,并将查到的被叫域用户的路由信息返回主叫呼叫代理;(b4)主叫呼叫代理将呼叫接续到所述路由信息中被叫域用户的当前呼叫代理,建立呼叫。
2.如权利要求1所述的方法,其特征在于,所述帐号信息中包括被叫域用户的归属域域名,步骤(b3)又包括以下步骤(c1)主叫呼叫代理首先向本域的底层路由服务器查询被叫域用户的归属域路由服务器地址,并提供被叫域用户的帐号信息;(c2)收到查询的底层路由服务器根据所述帐号信息在本地查找所述归属域路由服务器地址,如果查到,执行步骤(c4),否则继续向上一级的路由服务器查询;(c3)如此逐次查询,查询时优先向域名和被叫归属域域名相同字段多的域的路由服务器发起查询,直到查到所述归属域路由服务器的地址;(c4)查到所述归属域路由服务器地址的路由服务器向该归属域路由服务器查询被叫域用户的路由信息,并将查到的被叫域用户路由信息返回主叫呼叫代理;或者查到所述归属域路由服务器地址的路由服务器将该地址返回到主叫呼叫代理,由主叫呼叫代理向所述归属域路由服务器查询被叫域用户的路由信息,所述归属域路由服务器向其返回被叫域用户的路由信息。
3.如权利要求1所述的方法,其特征在于,所述帐号信息中包括被叫域用户的归属域呼叫代理的地址,步骤(b3)又包括以下步骤(d1)主叫呼叫代理根据帐号中的归属域呼叫代理地址,向所述归属域呼叫代理查询被叫域用户的路由信息;(d2)所述归属域呼叫代理收到查询后,向本域的路由服务器查询被叫域用户的路由信息,并将查到的被叫域用户路由信息返回主叫呼叫代理。
4.如权利要求2所述的方法,其特征在于,所述主叫呼叫代理或路由服务器发起的查询请求中均携带主叫呼叫代理的地址,所述步骤(c4)中,查到归属域路由服务器地址或者被叫域用户路由信息的路由服务器直接将查询结果返回主叫呼叫代理。
5.如权利要求1所述的方法,其特征在于,所述呼叫代理中存放了与其业务量大的域的路由服务器地址。
6.如权利要求1所述的方法,其特征在于,所述非底层的路由服务器中还存放了同级路由服务器的地址。
7.如权利要求1所述的方法,其特征在于,所述非底层的路由服务器中存放着其服务域内所有底层路由服务器的地址。
全文摘要
本发明公开一种通过路由服务器实现域用户路由的方法,应用于由路由服务器组成的分层网状的路由体系中,域用户的路由信息存放在底层的归属域路由服务器中,域用户注册时,由其当前呼叫代理通过其归属域呼叫代理通知其归属域路由服务器更新该域用户的路由信息;用户呼叫域用户时,主叫呼叫代理在本地查找被叫的归属域路由服务器地址,如果查不到,通过路由服务器逐级发起查询,查到后向该归属域路由服务器查询被叫域用户的路由信息,并返回到主叫呼叫代理,主叫呼叫代理和被叫域用户的当前呼叫代理控制呼叫建立。本发明方法可以实现对域用户的呼叫,并减少了路由信息占用的空间,增加了网络的可扩展性。
文档编号H04L12/56GK1561048SQ20041000641
公开日2005年1月5日 申请日期2004年3月2日 优先权日2004年3月2日
发明者彭燕林, 李海鹏, 王忱 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1