一种实现话务控制的方法 【技术领域】
本发明涉及下一代网络,尤其涉及一种下一代网络中实现话务控制的方法。
背景技术
下一代网络(Next Generation Network,NGN)以软交换为核心,如图1所示,NGN包括MG(媒体网关)和MGC(媒体网关控制器,即软交换),MG负责媒体变换以及建立PSTN(公共交换电话网)与IP网的连接;MGC负责根据接收到的信令,控制MG连接的建立和释放,主要包括:协议接入层(L2/L3)、业务层(L4)和业务管理层(L5)等,MGC还与TG(中继网关)等网元相连。
MGC采用与IP及ATM(异步传输模式)传输网络相同的机制,一方面实现语音、图象和数据的交互;另一方面可以更多、更容易地引入业务。MGC可以通过MG与传统的PSTN、PLMN(公众陆地移动电话网)网络互通。
在NGN中,采用H.248协议作为MGC与MG之间的控制协议,H.248协议是一种上下控制协议,MGC完全控制MG的行为,MGC与MG主要完成以下任务:
1)MGC控制MG完成媒体通道的建立和释放;
2)MGC控制MG完成媒体通道和承载通道的连接和拆除;
3)MGC控制MG对媒体通道和承载通道的属性进行配置;
4)MGC控制MG完成对媒体通道和承载通道的操作,包括放音、审计等;
5)MG将其发生的事件上报给MGC;
6)在MGC与MG之间实现一些简单的呼叫信令,如模拟用户线信令、随路信令等。
在实际使用中的绝大部分情况下,同时接入MGC的实际用户数往往远远低于MGC允许接入用户数的理论极限值。因此,考虑到MGC的实际使用率,通常将允许接入MGC的用户数都设置得比较大。而在某些如中秋、春节等特殊时间,电话、数据等业务大量产生,导致大量用户通过MG接入MGC,在这种情况下,MGC的CPU占用率突发式增加,如果不加以控制,很容易导致MGC的CPU负荷过大,进而产生死机现象。
现有技术中,有多种实现话务控制的方法,如,数据区限制法、上层业务控制法等。然而,这些方法都存在处理不及时的缺陷,数据区限制法必须要等到每一路呼叫的子系统申请数据区时方可判断是否需要话务控制;参照图1,上层业务控制法需要呼叫由协议接入层(L2/L3)接入,由协议接入层转至业务层(L4),再由业务层根据一定的方法评估是否需要话务控制;上述方法均会导致无法及时对话务进行控制,而且上述方法中,MGC的CPU均需要在完成一定操作后才能判断是否进行话务控制,这样不仅会进一步增加CPU的负荷,而且无法在第一时间实现话务控制。
【发明内容】
本发明要解决的技术问题是提供一种实现话务控制的方法,能够在第一时间及时地对话务进行控制。
为解决上述技术问题,本发明的一种实现话务控制的方法,包括:
媒体网关MG检测到用户发生主叫摘机事件时,向媒体网关控制器MGC上报该用户发生主叫摘机事件;
MGC获知该用户发生主叫摘机事件后,判断是否需要进行话务控制,如果需要,则获取话务控制级别,按照该话务控制级别进行话务控制。
进一步地,MG通过向MGC发送呼叫请求信令,通知MGC该用户发生主叫摘机事件。
进一步地,呼叫请求信令为Notify通报请求信令,Notify请求信令的上下文id为空,并携带AL/OF参数。
进一步地,MGC接收到Notify请求信令后,根据该Notify请求信令的上下文id是否为空,以及是否携带AL/OF参数,判断该Notify请求信令是否为主叫摘机信令,如果该Notify请求信令为主叫摘机信令,则MGC获知该用户发生主叫摘机事件。
进一步地,MGC获知该用户发生主叫摘机事件后,根据中央处理器CPU的当前占用率和所配置的话务控制表,判断是否需要进行话务控制。
进一步地,话务控制表包含一条或多条项目,项目中包括CPU占用率和话务控制级别,CPU占用率和话务控制级别的对应关系根据MGC的性能确定。
进一步地,MGC根据CPU的当前占用率和话务控制表判断是否需要进行话务控制时,MGC将CUP的当前占用率与话务控制表中所记录的最低CPU占用率进行比较,当CPU的当前占用率高于最低CPU占用率时,则需要进行话务控制。
进一步地,MGC根据CPU的当前占用率从话务控制表中获取话务控制级别,当CPU当前占用率等于某一项目中记录的CPU占用率时,则采用该条项目中记录的话务控制级别进行话务控制;当CPU当前占用率在两条项目记录的CPU占用率之间时,采用较高CPU占用率所在项目记录的话务控制级别,进行话务控制。
进一步地,MGC进行话务控制后,向MG返回错误码,通知该MG暂停上报信令。
进一步地,MGC向MG返回错误代码后,还向MG发送模拟线路检测包AL/*,通知MG对用户的任意状态均进行检测并上报。
本发明在呼叫进入MGC后即判断是否进行话务控制,在第一时间实现MGC的CPU可控,从而避免由于用户接入数量的突发式增加,导致MGC的CPU超过极限,致使MGC死机的故障发生,并且是在不进一步增加CPU负荷的情况下,高效、迅速地实现MGC的话务控制。
【附图说明】
图1为NGN的典型组网图;
图2为本发明实施例的流程图。
【具体实施方式】
本发明的MGC在接收到MG上报的呼叫请求信令时,判断该呼叫请求信令是否为主叫摘机信令,如果是主叫摘机信令,进而根据所配置的话务控制表判断是否进行话务控制,如果需要话务控制,则MGC向MG发送一错误码,指示MG暂停向MGC上报信令。
下面结合附图对本发明的具体实施方式进行说明:
本发明为实现话务控制的方法,为使MGC能够判断是否需要进行话务控制,并获知在进行话务控制时如何进行控制,因此,在MGC中配置话务控制表,话务控制表包含一条或多条项目,每条项目中均包含一CPU占用率与一话务控制级别的对应关系,CPU占用率与话务控制级别的对应关系是根据MGC地性能制定的,如:CPU的占用率达到50%时进行3级控制,3级控制是指丢弃在指定时间内接收到的30%的呼叫,指定时间可设置为1S。需要进行多级控制时,在话务控制表中配置多条项目,每条项目中记录不同级别的不同控制方法,如CPU的占用率达到50%时进行3级控制;CPU的占用率达到60%时进行5级控制;CPU的占用率达到80%时进行10级控制等。
图2所示为本发明实现话务控制的方法,包括如下步骤:
201:MGC向MG发送检测摘机事件请求;
202:MG接收到检测摘机事件请求后,进行摘机事件检测,当MG检测到用户主叫摘机时,向MGC发送呼叫请求信令上报主叫摘机事件;
NGN中,用户通过MG接入MGC,在进行各种业务时,均需要从摘机开始。MG采用Notify(通报)请求信令作为呼叫请求信令,向MGC上报摘机事件。由于用户为主叫摘机,因此将Notify请求信令的上下文id设置为空,并携带AL/OF参数。
203:MGC接收到呼叫请求信令后,判断该呼叫请求信令是否为主叫摘机信令,如果是,则执行步骤204;否则,根据该呼叫请求信令进行业务;
由于用户的各种状态均是采用Notify请求信令上报,因此,MGC接收到Notify请求信令后,并不能获知MG上报何种信息,因此需要判断Notify请求信令上报的是否为主叫摘机事件。
MGC在判断呼叫请求信令是否为主叫摘机信令时,首先判断其上下文id是否为空,如果为空,表示为主叫动作;其次,根据其是否携带AL/OF参数判断其是否为一摘机事件,如果携带,则为摘机事件;当呼叫请求信令的上下文id为空,且携带AL/OF参数时,表示该呼叫请求信令为主叫摘机信令。
204:MGC检测CPU的当前占用率,根据CPU的当前占用率及所配置的话务控制表,判断是否需要话务控制,如果需要进行话务控制,则执行步骤205;否则,向MG返回呼叫请求信令的正确响应消息;
在判断是否需要进行话务控制时,MGC将其CUP的当前占用率与话务控制表中各条项目记录的CPU占用率分别进行比较,当其CPU当前占用率高于话务控制表中记录的最低CPU占用率时,则需要进行话务控制;否则,不需要。
205:MGC根据CPU当前占用率获取话务控制级别,按照话务控制级别进行话务控制;
MGC将其CPU的当前占用率与话务控制表中各条项目记录的CPU占用率分别进行比较,当MGC的CPU当前占用率等于某一项目中记录的CPU占用率时,则采用该条项目中记录的话务控制级别进行话务控制;当其CPU当前占用率在两条项目记录的CPU占用率之间时,采用较高CPU占用率所在条目记录的话务控制级别进行话务控制。
206:MGC向MG发送对呼叫请求信令的响应消息,在该消息中携带错误码,通知MG当前MGC处于话务控制中;
MGC可向MG发送错误码ERROR 503,通知MG当前无可用业务。
207:MG在接收到MGC发送的响应消息,解析到错误码后,暂停向MGC上报信令;
可设定MG暂停10s再向MGC上报信令,由于MGC下通常连接有多个MG,MG下接入有多个用户,暂停一个MG上报信令,可以大大降低MGC的负荷。
208:MGC向MG发送模拟线路检测包(Analog Line Supervision Package,检测AL包),即AL/*,通知MG对用户的任意状态均进行检测并上报;
MG需要根据MGC的控制上报用户的状态,如果未接收到MGC的指令,MG即使检测到用户的新状态也不会上报,由于有些MG设计得比较灵活,在上报状态1后,就会自动去检测状态2;在本实施例中,对于设计比较灵活的MG,上报摘机事件后,MG即认为用户状态已经转换,则开始检测新的状态,如开始检测挂机事件;在MGC端,如果已经开始进行话务控制,向MG下发ERROR 503,MG接收到ERROR 503后,暂停向MGC上报用户的状态;此时,MG检测挂机事件且不向MGC上报用户状态;如果在MG暂停上报的时间内,用户挂机,那么在暂停结束后,当用户再次摘机时,MG并未处于摘机事件检测中,导致其无法上报摘机事件,致使用户不可用。
为避免上述问题的发生,MGC向MG发送AL/*,通知MG检测用户的全部状态,并进行上报。
209:MG接收到AL/*后,向MGC发送对AL/*的响应信令。
请再次参考图1,本发明在L2/L3层进行话务控制,因此,在第一时间完成话务控制,相对于现有技术更加及时、高效,且不额外增加MGC的CPU的负荷。
上述内容仅为本发明的最佳实施方案,其并非用来限制本发明的具体实施方式,凡根据本方法的主要发明构思而进行的修改和变动,均应属于本发明权利要求书所要求的保护范围。