一种实现媒体网关监测媒体网关控制器运作状态的方法技术领域
本发明涉及下一代网络(NGN)中监测分离构件运作状态的技术,更确
切地说是涉及NGN中的媒体网关(MG)监测媒体网关控制器(MGC)运
作状态的方法。
背景技术
MGC和MG是NGN中的两个关键构件,MGC负责呼叫控制功能,MG
负责业务承载功能,NGN通过这两个构件实现呼叫控制平面和业务承载平
面的分离,使呼叫控制和业务承载可以充分共享NGN的网络资源,并能简
化NGN中的设备升级和业务扩展,以及大大降低网络的开发和维护成本。
MGC和MG作为NGN中的分离构件,二者之间通信主要基于媒体网
关控制协议,目前应用较为广泛的媒体网关控制协议有由互联网工程任务组
(IETF)于1999年10月制订的媒体网关控制协议(MGCP)和由IETF和
国际电信联盟(ITU)于2000年11月制订的媒体网关控制协议
(MeGaCo/H.248)两种。
因为呼叫控制和业务承载分别在MGC和MG这两个分离的构件上实
现,并且MGC和MG之间基于NGN这种分组化网络进行通信,而NGN中
的MeGaCo/H.248协议规定呼叫控制消息可以基于传输层协议中的传输控制
协议(TCP)、用户数据报协议(UDP)或信令控制传输协议(SCTP)传输,
MGCP协议规定呼叫控制消息只能基于传输层协议中的UDP协议传输,因
此需要MGC和MG相互了解对方的运作情况。
传输层协议为分离构件了解对方运作情况提供了一定的支持,但是传输
层协议要求分离构件间的通信采用如TCP协议之类的可靠传输协议,而不
能采用如UDP之类的不可靠传输协议,这样传输层可选用的协议就受到限
制,并且也只有MeGaCo/H.248协议可以基于TCP传输,因而就限制了分
离构件通信时所能采用的协议。并且,传输层协议提供的支持还要求分离构
件之间一直有业务使用来触发控制交互,如果分离构件处于空闲,则无法获
知对方的运作情况。另外,传输层协议所提供的支持只能使分离构件了解传
输层的通信是否正常,而分离构件在传输层通信正常并不能说明在应用层运
作也正常。因此传输层协议所提供的方法不能满足分离构件了解对方运作是
否正常的要求。
MeGaCo/H.248协议和MGCP协议从应用层为MGC实时了解MG的运
作状态提供了有效的手段,MGC可以通过MeGaCo/H.248协议或MGCP协
议的审计命令在任何时刻要求MG答复其当前的运作状态。然而
MeGaCo/H.248协议和MGCP协议并没有提供对等的MG实时监测MGC运
作状态的方法。
具体来说,基于MeGaCo/H.248协议和MGCP协议,MG目前监测MGC
只有两种局限性很大的的方法。
一种是MG采取监测其与MGC之间的呼叫控制消息的方式来获取
MGC的运作状态,即MG通过监测是否持续收到MGC的请求或者响应消
息来判断MGC的状态是否正常。参见图1,以MG向MGC发送呼叫控制
请求消息为例,如果MGC在规定时间内返回呼叫控制响应消息,则MG确
定MGC运作正常;如果MGC在规定时间内没有返回呼叫控制响应消息,
则MG确定MGC运作不正常。MG采用这种方法监测MGC时,MG需要
依赖MG与MGC之间的呼叫控制消息,而在线业务流量的随机性将影响呼
叫控制消息发出频度的变动,因此MG无法实现对MGC状态的实时判断。
并且,如果MG和MGC之间没有呼叫控制消息流量,则MG无法对MGC
的运作状态进行监测。
另一种是MG采取被动监测MGC周期性地发送来的审计命令的方式来
获取MGC的运作状态,即MG通过监测是否周期性地接收到来自MGC的
审计命令来判断MGC的运作状态是否正常。参见图2,MG判断在规定时
间内是否收到MGC发送来的审计请求消息,如果收到,则MG确定MGC
运作正常,否则,MG确定MGC运作不正常。MG采用这种方法监测MGC
时,MG需要依赖MGC发送审计请求消息,因此MG只能被动地设置监测
周期,而不能保证MG判断的实时性。并且,如果MGC没有周期性地发送
审计请求消息,则MG无法对MGC的运作状态进行监测。
综上所述,传输层协议提供的监测方法要求分离构件中有业务使用来触
发控制交互,并且只能使分离构件了解对方在传输层的通信是否正常,无法
了解对方在应用层的运作状态。MeGaCo/H.248协议和MGCP协议只提供了
MGC实时监测MG的方法,没有提供MG实时监测MGC的方法,且MG
监测MGC时需要依赖MG与MGC之间的消息,如果MG与MGC之间没
有消息,则MG无法对MGC进行监测。
发明内容
有鉴于此,本发明的主要目的在于提供一种实现MG监测MGC运作状
态的方法,使MG能从应用层实时监测MGC的运作状态。
为达到以上目的,本发明的技术方案是这样实现的:一种实现媒体网关监
测媒体网关控制器运作状态的方法,该方法包括以下步骤:
a.MG主动向MGC发送基于媒体网关控制协议的心跳触发命令;
b.MGC收到心跳触发命令后,向MG返回心跳反射命令;
c.MG判断是否收到MGC的心跳反射命令,如果收到,则确定MGC运作
正常,否则,确定MGC运作异常。
所述步骤a中,所述心跳触发命令至少包括媒体网关控制协议规定的事物
标识及用于标识心跳触发命令的命令参数,该命令参数设置为对媒体网关控制
协议进行扩展的包/事件。
所述步骤a中,所述心跳触发命令至少包括媒体网关控制协议规定的事物
标识及用于标识心跳触发命令的命令类型,该命令类型设置为对媒体网关控制
协议进行扩展。
如果将MGC设置为能够识别心跳触发命令,则所述步骤b中MGC收到心
跳触发命令后,返回包含事物标识及正常响应标识的心跳反射命令;否则,所
述步骤b中MGC收到心跳触发命令后,返回包含事物标识及异常响应标识的
心跳反射命令。
所述步骤c中,MG根据事物标识判断是否收到心跳反射命令。
所述步骤a中,所述MG周期性地向MGC发送心跳触发命令,所述步骤c
中,MG判断是否在预定的时间阈值内收到MGC的心跳反射命令。
所述预定的时间阈值为每次发送的心跳触发命令的响应监测时间阈值,设
置为小于MG向MGC发送心跳触发命令的周期。
所述预定的时间阈值为连续无响应的监测时间阈值,设置为大于MG向
MGC发送心跳触发命令的周期。
该方法还可以进一步包括,预先设置MG未收到心跳反射命令的次数阈值,
所述步骤c中,MG判断连续未收到心跳反射命令的次数是否超过次数阈值,
如果超过,则确定MGC运作异常,否则,确定MGC运作正常。
本发明方案通过在MG中设置定期发送给MGC的心跳触发命令,并由
MG判断是否收到MGC返回的心跳反射命令来确定MGC的运作状态是否
正常,实现了MG对MGC在应用层运作状态的实时监测。并且本发明方案
可以通过扩展MeGaCo/H.248协议或MGCP协议中的命令参数来实现,对
于MG和MGC由不同厂商制造的情况来说,本发明方案可以使MG和MGC
对接时能够得到比较方便的协议兼容支持。
附图说明
图1为MG采用现有技术方法一由MG监测MGC运作状态的流程图;
图2为MG采用现有技术方法二由MG监测MGC运作状态的流程图;
图3为本发明实施例MG监测MGC运作状态的消息流时序图;
图4为本发明实施例MG监测MGC运作状态的流程图。
具体实施方式
下面结合附图及具体实施例对本发明方案作进一步详细的说明。
本发明方案为:在MG中设置心跳触发命令,MG定期向MGC发送该
心跳触发命令,MGC返回心跳反射命令,MG通过判断是否收到MGC的心
跳反射命令实现对MGC的监测。
具体来说,心跳触发命令可以是根据媒体网关控制协议重新定义的一个
命令,该命令中用于标识心跳触发命令的命令类型,该命令类型通过对媒体
网关控制协议扩展得到;可以是预先设置一个用于标识心跳触发命令的命令
参数,并将该命令参数设置在呼叫控制请求命令中,从而形成心跳触发命令。
预先设置的命令参数可以是对协议进行扩展的包/事件。对于媒体网关控制
协议中的MeGaCo/H.248协议来说,该包/事件可以是it/ito,其中,it为一个
包,ito为该包中的一个事件;对于媒体网关控制协议中的MGCP协议来说,
该包/事件可以是H/CO2,其中H为一个包,CO2为该包中的一个事件。基
于MeGaCo/H.248协议,MG发送给MGC的呼叫控制请求命令有服务改变
请求命令、通报请求命令和删除请求命令;基于MGCP协议,MG发送给
MGC的呼叫控制请求命令有重启进行命令、通报请求命令和删除连接命令,
因此可以采用以上任意一种命令格式,在该命令格式中加上设置的命令参
数,即构成了心跳触发命令。
下面以在MG基于MeGaCo/H.248协议发送给MGC的通报请求命令,
或基于MGCP协议发送给MGC的通报请求命令,并增加命令参数生成心跳
触发命令为例。参见图3的消息流时序图,该消息流与图4的流程图对应,
该过程通过以下步骤实现:
A、预先设置命令参数,在通报请求命令中加入命令参数形成心跳触发
命令。
所设置的心跳触发命令中包括协议规定的事物标识信息及对协议扩展
的命令参数信息。
B、MG在自身激活的状态下,周期性地向MGC发送该心跳触发命令。
该心跳触发命令与原有通报请求命令的处理流程相同,由MG从应用层
发出,依次经过MG协议栈编码、IP网传输、MGC协议栈解码,到达MGC
的应用层。
C、MGC接收到该心跳触发命令后,对该命令进行处理,并返回心跳
反射命令。
可以对MGC进行预先设置,使其能识别该命令参数,则MGC在接收
到该心跳触发命令后,向MG返回包含心跳触发命令中的事物标识及正常响
应标识的心跳反射命令;也可以不进行设置,根据协议规定,MGC针对该
心跳触发命令向MG返回包含事物标识及异常响应标识的心跳反射命令。不
管MGC返回的响应命令是正常响应命令还是异常响应命令,其中都会包含
心跳触发命令中的事物标识,MG根据该事物标识信息确定该响应命令为
MGC返回的心跳反射命令。
该心跳反射命令与原有通报响应命令的处理流程相同,由MGC从应用
层发出,依次经过MGC协议栈编码、IP网传输、MG协议栈解码,到达
MG的应用层。
D、MG设置发出心跳触发命令后接收到心跳反射命令的时间阈值,该
时间阈值小于MG向MGC发送心跳触发命令的周期,并判断是否在该时间
阈值内收到MGC返回的心跳反射命令,如果收到,则认为MGC在应用层
的运作状态正常,如果没有收到,则认为MGC在应用层的运作状态异常。
为避免MGC返回心跳反射命令时,由于网络闪断的瞬时情况导致MG
因在预设期限内没有收到MGC返回的心跳反射命令而误判MGC运作异常,
还可以预先设置MG连续未收到心跳反射命令的次数阈值,MG对连续未收
到心跳反射命令的情况作统计,如果连续无心跳反射命令的次数超过了预设
的阈值,则认为MGC的运作状态异常,否则认为MGC运作状态正常,并
继续对MGC进行监测。也可以设置一个MG连续未收到心跳反射命令的时
间阈值,该时间阈值大于MG向MGC发送心跳触发命令的周期,如果超过
设定的时间阈值还没有收到心跳反射命令,则认为MGC运作状态异常,否
则认为MGC运作状态正常,并继续对MGC进行监测。