具体实施方式
首先,参照图1并结合图2对本发明的一个具体实施例进行概括性描述。其中,在各媒体网关控制器(MGC3、MGC4)处配置有本发明第二方面所提供的重路由装置,以用于实现本发明第一方面所提供的方法。图1中,MGC3、MGC4、TGW7、TGW8属于IP网络;TS1、TS2、TS5、TS6属于PSTN网络。图2所示的各个网络设备之间通信所用信令类型及所属协议在下文中一并作为参考。本申请附图中用虚线表示信令,实线则表示媒体流。
结合图2可以看出,UEa拨叫UEb后,TS1通过其信令接口经由信令网关(Signaling Gateway,即SGW,所谓信令网关,就是完成基于电路中继的七号信令系统和基于分组网的SIGTRAN信令系统的转换的网关)向MGC3发送用于请求建立UEa与UEb之间的呼叫的第一呼叫建立请求,如ISUP-IAM消息,所述ISUP-IAM消息中包含UEb的逻辑号码。根据ISUP-IAM消息中的被叫逻辑号码,MGC3得以确定UEb所属的媒体网关控制器为MGC4,并将该ISUP-IAM消息转换为SIP-I标准中的INVITE消息,再将该INVITE消息经由MGC3与MGC4之间的Virtual TKG(虚拟电路群)发送给MGC4。本领域技术人员理解,这也即利用经由IP网络的第一路由(首选路由)发送第一呼叫建立请求,所述首选路由对应于MGC4。
而后,MGC3要根据来自MGC4的呼叫建立响应等来判断前次利用IP网络(以IP网络为承载网)所进行的呼叫建立过程是否成功。如果此次呼叫建立过程成功,则UEa与UEb之间的呼叫将由TS1、TGW7、IP承载网络、TGW8、TS2来负责承载。如果该次呼叫建立过程没有成功,则MGC3将由出局路由表中根据UEb的逻辑号码选择备选的其它路由来作为重新尝试建立呼叫所用的第二路由,假设所述第二路由为对应于TS5的第一备选路由。于是,利用该第二路由进行的呼叫建立过程如果成功,则相应的媒体数据将由图示PSTN承载网络来参与承载。本领域技术人员理解,为简明起见而未能示于图中的其它可用网络如ATM网络/不同于图1所示IP网络的另一IP网络等也能够像图1所示PSTN网络一样作为图1所示IP网络的后备。
在此需要说明一下首选路由、第一备选路由甚至第二、第三备选路由之间的关系:当利用首选路由进行的呼叫建立过程失败时,MGC会转而选择第一备选路由,如果选择并利用第一备选路由进行的呼叫建立过程仍未成功,则尝试第二备选路由,以此类推。这样,相互关联的首选路由与各备选路由组成了一个路由组。
图3为根据本发明的一个具体实施例的在通信网络的网关控制设备中用于为呼叫进行重路由的方法流程图。
以下将参照图3并结合图1来对本发明的第一方面进行详述。具体地,在步骤S10中,MGC3接收到TS1经由SGW发来的ISUP-IAM消息,并根据其中包含的UEb的逻辑号码来在出局路由表中选择出局路由(在此,假设出局路由表中相应的首选路由对应MGC4)。于是,MGC3将ISUP-IAM消息转换为INVITE消息并发往MGC4,其中,所述INVITE消息包含UEb的逻辑号码。
接收到MGC3发来的INVITE消息后,MGC4利用H.248与TGW8进行交互,指示TGW8为可能建立的呼叫预留资源(也即:关联,Context)。此外,MGC4还将所述INVITE消息转换为ISUP-IAM消息,并经由SGW发送给TS2,并控制建立UEa与UEb之间的呼叫。当MGC4在其间发现该次呼叫无法成功建立(如,在与TGW8的交互中发现TGW8因故障而无法工作),其将向MGC3返回相应的呼叫建立响应,以使MGC3得知:MGC3此前利用经由IP网络的第一路由所尝试进行的呼叫建立过程已经失败。其中,根据SIP-I标准和ITU-T Q.850的现有定义,呼叫建立过程失败的原因包括但不限于:
-Destination out of order目的地不可达;
-No circuit/channel available无电路/通路可用;
-Invalid number format无效的号码格式;
-Temporary failure临时故障;
-Switching equipment congestion交换设备拥塞
-Resource unavailable资源不可用
对上文中的概念Context(关联)解释如下:关联代表了一组端点之间的连接关系。空关联就是不与任何其它端点相联系的物理端点的集合。一个非空关联代表了一个会话。关联由Add创建,由Substract删除。
优选地,根据SIP-I标准,为使MGC3得知呼叫建立为何失败,MGC4会在所述呼叫建立过程失败时将表示呼叫建立过程失败的相应原因相关信息加入到呼叫建立响应中返回给MGC3。本领域技术人员能够由SIP-I标准和ITU-T Q.850知晓呼叫建立成功/失败时相应的呼叫建立响应所采用的具体消息,在此不作举例。
于是,在步骤S11中,MGC3将接收到来自MGC4的呼叫建立响应,所述呼叫建立响应用于告知MGC3前次经由利用图示IP网络的第一路由进行的呼叫建立过程是否已经成功。优选地,如果前次呼叫建立过程未能成功,则到达MGC3的呼叫建立响应中还包含了原因相关信息,如上文中所述的各种中的一种。举例来说,当呼叫建立失败缘于TGW8故障时,MGC4发给MGC3的呼叫建立响应中的原因相关信息为“No circuit available”即“无电路通路可用”。由于各种呼叫建立失败原因与原因相关信息之间的对应关系为标准所定义,因此,本领域技术人员能够熟知,下文中也不再赘述。
借助所述呼叫建立响应,MGC3得以在步骤S12中判断所述呼叫建立过程是否成功。在此需要说明的是,由于呼叫建立成功的情形并不涉及重路由,因此下文中主要针对呼叫建立过程失败的情形进行讨论。
本实例中,MGC3在步骤S12中得到否定的判断结果后,不会直接将该次呼叫重路由,而是优选地执行步骤S13-S15中的一系列操作。
具体地,根据建网需要,运营商会事先为各个MGC的出局路由表中的各个出局路由组设置一个标志位(Flag),供MGC对呼叫的重路由进行控制。该标志位的作用在于,利用MGC可识别的方式向MGC指明在利用经由第一网络的第一路由进行的呼叫建立过程失败后,是否需要利用经由另一网络的另一路由来重新进行呼叫建立过程。在实际应用中进行标志位设置时,可以用“1”表示需要重路由,而用“0”表示不需重路由。所述标志位可以与出局路由表一起存于各个MGC自身的存储设备中,也可以与出局路由表相对应地存储于独立于MGC并可被MGC访问的数据库型服务器中。
于是,在得知利用经由IP网络的第一路由未能成功建立呼叫时,MGC3在步骤S13中获取与第一路由(与MGC4对应)相对应的标志位。本领域技术人员能够理解,如果标志位随出局路由表一起存储在MGC3处,则MGC3在本地查询即可获取该标志位;如果标志位存储在独立于MGC3的一个服务器处(图中未示出),则MGC3需访问该服务器以获取相应标志位,以下不再对此赘述。
此后,在步骤S14中,MGC3从来自MGC4的表示呼叫建立失败的呼叫建立响应中提取原因相关信息,在此假设该次呼叫建立过程的失败原因为TGW8故障,相应地,原因相关信息为“No circuitavailable”。
至此,MGC3掌握了标志位以及前次呼叫建立过程的失败原因。于是,在此后的步骤S15中,MGC3根据该标志位以及“No circuitavailable”来判断是否需要利用其它路由重新进行呼叫建立过程。在此,假设标志位表示需要利用其他路由重新进行所述呼叫建立过程。
于是,在TGW8故障,标志位表示需要重路由的情况下,在步骤S16中,MGC3在出局路由表中选择与首选路由(第一路由,对应MGC4)相对应的经由PSTN网络的第一备选路由(第二路由,与TS5对应)。
接着在步骤S17中,MGC3先基于H.248协议来指示TGW7为即将建立的呼叫预留Context,并随后生成一个新的ISUP-IAM消息(即第二呼叫建立请求)后通过SGW发送给TS5。具体地,如果此次呼叫建立过程成功,则相应的媒体数据传输路径为传输路径为:UEa-TS1-TGW7-TS5-TS6-TS2-UEb。当然,本领域技术人员能够理解,SGW还需对MGC3与TS5之间传输的信令进行必要的格式/协议转换。
由所述第二呼叫建立请求承担的此次呼叫建立过程可能因为种种原因而同样未能成功,则,MGC3可以由出局路由表中再选择经由利用第三网络(可以是不同于图示IP网络的另一IP网络,或不同于图示PSTN网络的另一PSTN网络,或是一个ATM网络)的第三路由(如,第二备选路由)来再次进行呼叫建立过程。本领域技术人员理解,重路由通常不会不停地进行下去,因此,优选地,本发明在MGC3处设置一个重路由次数的阈值,当重路由次数达到该阈值时,MGC3会释放该次呼叫而不再为其选择路由来尝试建立呼叫。出局路由表中的各路由组可以拥有各自不同的所述重路由次数阈值,也可使用同一阈值。
根据本发明的另一具体实施例,假设来自MGC4的呼叫建立响应中的原因相关信息表示被叫占线,此时,由于被叫占线的状态并不受重路由这一动作的影响,也即,重路由后,UEa仍无法与UEb建立呼叫,因此MGC3可以不经由利用PSTN网络的路由来重新进行呼叫建立过程,而选择直接释放该次呼叫,相应地,UEa端的用户将听到忙音或提示被叫占线的语音提示。
根据本发明的又一具体实施例,其中,MGC4故障或MGC3与MGC4之间的IP网络故障,此时,MGC4于步骤S10中转发第一呼叫建立请求后,将不会接收到来自MGC4的任何反馈。此种情形下,本领域技术人员能够理解,MGC3可以依赖各个相连网元之间用于告知对方自己正在正常工作的心跳(Heart Beat)消息。也即,在一定时间内没有接收到来自MGC4的心跳消息后,MGC3至少可以确定MGC4或MGC3与MGC4之间的IP网络存在故障,而其此前向MGC4发出的第一呼叫建立请求并未到达UEb。由此,MGC3便可判定经由利用IP网络的第一路由进行的呼叫建立过程已经失败了。
本领域技术人员理解,此种情形下,由于MGC3不会接收到来自MGC4的呼叫建立响应,因此,对是否需要经由利用第二网络的第二路由重新进行呼叫建立过程的判断将主要依赖于出局路由表中的标志位,如果标志位表示需要进行重路由,则MGC3控制进行相应的后续操作,具体不再赘述。
根据本发明的一个优选实施例,在网关控制设备中的路由表中包含多个备选路由,所述步骤S16还包括:如果需要利用第二路由来重新尝试建立该次呼叫,则MGC3根据MGC4告知的失败原因来确定是否直接跳过第一备选路由而选择第二备选路由作为所述第二路由,或者跳过第一、第二备选路由而选择第三备选路由作为所述第二路由,如此类推。本优选实施例尤其适用于这样的场景,利用首选路由或第一备选路由所建立的呼叫均需经由图1/图4/图5所示IP网络并需由TGW8来承载。于是,当呼叫建立失败原因为TGW8故障时,即使转用第一备选路由来尝试建立该次呼叫也不会取得成功,只会带来令人难以接受的等待时长,不利于优化用户体验。
上述方案有以下实现方式:
-MGC3对各个备选路由进行分析,以确定哪些备选路由是不可用的(重路由仍不会成功建立呼叫),以及哪些备选路由是可用的(重路由的呼叫建立过程不会因与前次建立过程同样的失败原因而失败),从而针对性地选择再次尝试建立呼叫所使用的第二路由。
-在建网时或运营过程中,在路由表中配置MGC3可以识别的与失败原因相对应的标志位。为了便于区分,下文中将步骤S13中所获得的用于确定是否进行重路由的标志位称为第一标志位,将步骤S16中用于结合失败原因针对性地选择(而非简单地根据顺位依次选择)所述第二路由的标志位称为第二标志位。如果前次呼叫建立过程因TGW8故障而失败,MGC3基于所述第一标志位和失败原因确定需要进行重路由,而后,基于所述第二标志位和失败原因来在备选路由中选择第二路由。举例来说,如果第一备选路由与均需利用则标志位应设置为使MGC3知晓当利用首选路由进行的呼叫建立尝试因“No circuit available”而失败时,选择第二备选路由而非第一备选路由来作为所述第二路由。
以上各实施例中,对用户终端为PSTN局下的模拟电话的情形进行了描述,以下将对用户终端为SIP电话以及基于H.248的终端的情形进行简要说明。本领域技术人员理解,具体的终端类型并不会本发明的技术方案产生任何实质性影响。
对于图4中的UEc为基于H.248的用户终端,其需要AGWI(接入网关)为其对信令/媒体数据进行IP与模拟之间的转换,UEd为模拟电话。媒体流的默认传输路径为:
UEc-AGWI-TGW7-IP承载网络-TGW8-TS2-UEd
如果TGW8故障不能工作,且标志位表示应该进行重路由,则重路由之后,建立成功的呼叫将由如下设备/网络负责承载:
UEc-AGWI-TGW7-TS5-PSTN承载网络-TS6-TS2-UEd
图5中,主叫终端UEe为一个SIP终端(如,SIP Phone,能够与MGC3直接进行信令交互而无须网关或交换机),而被叫终端UEf则为一个普通的PSTN模拟终端。于是,当MGC3基于UEe的请求进行的呼叫建立过程失败后(如,TGW8故障),MGC3将选用PSTN网络来承载该次呼叫,重新选路后的呼叫成功建立后,相应媒体流的传输路径为:
UEe-TGW7-TS5-PSTN承载网络-TS6-TS2-UEf
在结合流程图对本发明第一方面提供的方法进行说明后,再参照装置框图并结合图1、图2对本发明第二方面所提供的重路由装置进行详述。
其中,图6所示的重路由装置1包括:第一发送装置10、第一判断装置11、选择装置12以及第二发送装置13。其中,所述第一判断装置11包括接收装置110和第三判断装置111;所述选择装置12包括获取装置120、第二判断装置121、受控选择装置122以及提取装置123。
MGC3中的一个图中未示出的呼叫请求接收装置接收到TS1经由SGW发来的ISUP-IAM消息后,MGC3将根据其中包含的UEb的逻辑号码来在出局路由表中选择出局路由(在此,假设出局路由表中相应的首选路由对应MGC4)。于是,MGC3将ISUP-IAM消息转换为INVITE消息并通过第一发送装置10发往MGC4,其中,所述INVITE消息包含UEb的逻辑号码。
接收到MGC3发来的INVlTE消息后,MGC4利用H.248标准与TGW8进行交互,指示TGW8为可能建立的呼叫预留资源(也即:关联,Context)。此外,MGC4还将所述INVITE消息转换为ISUP-IAM消息,并经由SGW发送给TS2,并控制建立UEa与UEb之间的呼叫。当MGC4在其间发现该次呼叫无法成功建立(如,在与TGW8的交互中发现TGW8因故障而无法工作)时,其将向MGC3返回相应的呼叫建立响应,以使MGC3得知:MGC3此前利用经由IP网络的第一路由所尝试进行的呼叫建立过程已经失败。其中,根据SIP-I标准和ITU-T Q.850的现有定义,呼叫建立过程失败的原因包括但不限于:
-Destination out of order目的地不可达;
-No circuit/channel available无电路/通路可用;
-lnvalid number format无效的号码格式;
-Temporary failure临时故障;
-Switching equipment congestion交换设备拥塞
-Resource unavailable资源不可用
优选地,根据SIP-I标准,为使MGC3得知呼叫建立为何失败,MGC4会在所述呼叫建立过程失败时将表示呼叫建立过程失败的相应原因相关信息加入到呼叫建立响应中返回给MGC3。本领域技术人员能够由SIP-I标准和ITU-T Q.850中知晓呼叫建立成功/失败时相应的呼叫建立响应所采用的具体消息,在此不作举例。
于是,MGC3中的所述接收装置110将接收到来自MGC4的呼叫建立响应,所述呼叫建立响应用于告知MGC3前次经由利用图示IP网络的第一路由进行的呼叫建立过程是否已经成功。优选地,如果前次呼叫建立过程未能成功,则到达MGC3的呼叫建立响应中还包含了原因相关信息,如上文中所述的各种中的一种。举例来说,当呼叫建立失败缘于TGW8故障时,MGC4发给MGC3的呼叫建立响应中的原因相关信息为“No circuit available”即“无电路通路可用”。由于各种呼叫建立失败原因与原因相关信息之间的对应关系为标准所定义,因此,本领域技术人员能够熟知,下文中也不再赘述。
借助所述呼叫建立响应,第三判断装置111得以判断所述呼叫建立过程是否成功。在此需要说明的是,由于呼叫建立成功的情形并不涉及重路由,因此下文中主要针对呼叫建立过程失败的情形进行讨论。
根据建网需要,运营商会事先为各个MGC的出局路由表中的各个出局路由组设置一个标志位(Flag),供MGC对呼叫的重路由进行控制。该标志位的作用在于,利用MGC可识别的方式向MGC指明在利用经由第一网络的第一路由进行的呼叫建立过程失败后,是否需要利用经由另一网络的另一路由来重新进行呼叫建立过程。在实际应用中进行标志位设置时,可以用“1”表示需要重路由,而用“0”表示不需重路由。所述标志位可以与出局路由表一起存于各个MGC自身的存储设备中,也可以与出局路由表相对应地存储于独立于MGC并可被MGC访问的数据库型服务器中。
于是,在得知利用经由IP网络的第一路由未能成功建立呼叫时,选择装置12中的所述获取装置120获取与第一路由(如,MGC3与MGC4之间的IP路由)相对应的标志位。本领域技术人员能够理解,如果标志位随出局路由表一起存储在MGC3处,则获取装置120在本地查询即可获取该标志位;如果标志位存储在独立于MGC3的一个服务器处(图中未示出),则获取装置120需访问该服务器以获取相应标志位,以下不再对此赘述。
此后,提取装置123从来自MGC4的表示呼叫建立失败的呼叫建立响应中提取原因相关信息,在此假设该次呼叫建立过程的失败原因为TGW8故障,相应地,原因相关信息为“No circuit available”。
至此,MGC3掌握了标志位以及前次呼叫建立过程的失败原因。于是,第二判断装置121根据该标志位以及“No circuit available”来判断是否需要利用其它路由重新进行呼叫建立过程,并将判断结果提供给受控选择装置。在此,假设标志位表示需要利用其他路由重新进行所述呼叫建立过程。
于是,在TGW8故障,标志位表示需要重路由的情况下,受控选择装置122将在出局路由表中选择与首选路由(第一路由,对应MGC4)的经由PSTN网络的备选路由(第二路由,与TS5对应)。
接着,MGC3先基于H.248来指示TGW7为即将建立的呼叫预留Context,并随后生成一个新的ISUP-IAM消息(第二呼叫建立请求)后通过第二发送装置13并经由SGW发送给TS5。具体地,如果此次呼叫建立过程成功,则相应的媒体数据传输路径为传输路径为:UEa-TS1-TGW7-TS5-TS6-TS2-UEb。当然,SGW还需对MGC3与TS5之间传输的信令进行必要的格式/协议转换,这是本领域技术人员应知晓的,在此不作赘述。
由所述第二呼叫建立请求承担的此次呼叫建立过程可能因为种种原因而同样未能成功,则,MGC3可以由出局路由表中再选择经由利用第三网络(可以是不同于图示IP网络的另一IP网络,或不同于图示PSTN网络的另一PSTN网络,或是一个ATM网络)的第三路由来再次进行呼叫建立过程。本领域技术人员应理解,重路由通常不会不停地进行下去,因此,优选地,本发明在MGC3处设置一个重路由次数的阈值,当重路由次数达到该阈值时,MGC3会释放该次呼叫而不再为其选择路由来尝试建立呼叫。出局路由表中的各路由可以拥有各自不同的所述重路由次数阈值,也可使用同一阈值。
根据本发明的另一具体实施例,假设来自MGC4的呼叫建立响应中的原因相关信息表示被叫占线,此时,由于被叫占线的状态并不受重路由这一动作的影响,也即,重路由后,UEa仍无法与UEb建立呼叫,因此,第二判断装置121得到的判断结果将表明:可不经由利用PSTN网络的路由来重新进行呼叫建立过程。于是,MGC3将直接释放该次呼叫,相应地,UEa端的用户将听到忙音或提示被叫占线的语音提示。
根据本发明的又一具体实施例,其中,MGC4故障或MGC3与MGC4之间的IP网络故障,此时,第一发送装置10经由使用IP网络的第一路由将UEa的第一呼叫建立请求发往UEb后,接收装置110将不会接收到来自MGC4的任何反馈。此种情形下,本领域技术人员能够理解,第一判断装置11可以依赖各个相连网元之间用于告知对方自己正在正常工作的心跳(Heart Beat)消息来确定该次呼叫能否成功建立。也即,在一定时间内没有接收到来自MGC4的心跳消息后,第一判断装置11至少可以确定MGC4或MGC3与MGC4之间的IP网络存在故障,而MGC3此前向MGC4发出的第一呼叫建立请求并未到达UEb。由此,第一判断装置11便可判断出经由利用IP网络的第一路由进行的呼叫建立过程已经失败了。
本例中,本领域技术人员理解,接收装置110不会接收到来自MGC4的呼叫建立响应,因此,第二判断装置121中对是否需要经由第二网络的第二路由重新进行呼叫建立过程的判断将主要依赖于出局路由表中的标志位,如果标志位表示需要进行重路由,则MGC3控制进行相应的后续操作,不再赘述。
根据本发明的一个优选实施例,在网关控制设备中的路由表中包含多个备选路由,所述受控选择装置122还用于:如果需要利用第二路由来重新尝试建立该次呼叫,则根据MGC4告知的失败原因来确定是否直接跳过第一备选路由而选择第二备选路由作为所述第二路由,或者跳过第一、第二备选路由而选择第三备选路由作为所述第二路由。本优选实施例尤其适用于这样的场景,利用首选路由或第一备选路由所建立的呼叫均经由图1/图4/图5所示IP网络并需由TGW8来承载。于是,当呼叫建立失败原因为TGW8故障时,即使转用第一备选路由来尝试建立该次呼叫也不会取得成功。
上述方案有以下实现方式:
-选择装置122对各个备选路由进行分析,以确定哪些备选路由是不可用的(重路由仍不会成功建立呼叫),以及哪些备选路由是可用的(重路由的呼叫建立过程不会因与前次建立过程同样的失败原因而失败),从而针对性地选择再次尝试建立呼叫所使用的第二路由。
-在建网时或运营过程中,在路由表中配置MGC3可以识别的与失败原因相对应的标志位。如果前次呼叫建立过程因TGW8故障而失败,选择装置122将基于所述第二标志位和失败原因来在备选路由中选择第二路由。举例来说,如果第一备选路由与选路由进行的呼叫建立尝试因“No circuit available”而失败时,选择装置122将优选地选择第二备选路由而非第一备选路由来作为所述第二路由。
以上对本发明的实施例进行了描述,但是本发明并不局限于特定的系统、设备和具体协议,本领域内技术人员可以在所附权利要求的范围内做出各种变形或修改。