应用于AS系统的终端用户注册事件订阅和取消订阅方法与流程

文档序号:18160995发布日期:2019-07-13 09:19阅读:518来源:国知局
应用于AS系统的终端用户注册事件订阅和取消订阅方法与流程

本发明属于下一代网络通信技术领域,特别是指一种应用于as系统的终端用户注册事件订阅和取消订阅方法。



背景技术:

as(applicationserver,应用服务器)是ims(ipmultimediasubsystem,ip多媒体子系统)系统中位于最上层的应用层设备,as与cscf(callsessioncontrolfunction,呼叫会话控制功能)之间通过标准sip协议进行交互,进而实现各种网络业务的触发和执行。

sip(sessioninitiationprotocol,会话初始协议)是由ietf(internetengineeringtaskforce,互联网工程任务组)制定的多媒体通信协议。它是一个基于文本的应用层控制协议,用于创建、修改和释放一个或多个参与者的会话,广泛应用于cs(circuitswitched,电路交换)、ngn(nextgenerationnetwork,下一代网络)以及ims的网络中。

在rfc3265中定义了sip的订阅机制,其主要流程包括:

1、as应用服务器向注册服务器发送消息,请求订阅用户终端的注册事件。

2、注册服务器返回响应,接收所述订阅请求,订阅对话机制建立。

3、订阅对话建立后,注册服务器向as应用服务器发送通知消息通知当前被订阅的用户的终端的注册状态。

发明人发现,通过订阅ims终端用户的注册事件获取用户注册状态信息,as系统可以获取用户注册状态的变化,如用户需要重鉴权、用户重注册、用户发起网络注销等事件。因此,实现as系统向ims核心网发起订阅终端用户事件可以更好的对as系统的状态进行维护管理。



技术实现要素:

有鉴于此,本发明提出一种应用于as系统的终端用户注册事件订阅和取消订阅方法,该方法能够高效、快速、易于管理地实现as订阅或取消订阅用户注册事件,从而更好地对ims终端用户的状态进行维护管理。

为了实现上述目的,本发明采用的技术方案是:

一种应用于as系统的终端用户注册事件订阅方法,其包括以下步骤:

(1)as系统正常启动后,在其内存中创建三个链表,并开启循环驱动定时器;所述的三个链表分别是未订阅链表、正在订阅链表和已订阅链表;

(2)ims终端用户完成ims网络基本注册且s-cscf向as系统发起第三方注册请求成功后,as系统将该ims终端放置到未订阅链表中;

(3)循环驱动定时器时超后,as系统从未订阅链表中取出一个或多个ims终端向s-cscf发起订阅请求,并将这些ims终端从未订阅链表中移动到正在订阅链表中;

(4)as系统检测接收到的消息,如果消息为订阅响应,则进入步骤(5);如果消息为循环驱动定时器时超消息,则进入步骤(6);如果消息为notify请求消息,则进入步骤(7);

(5)as系统进一步检测消息,若消息为订阅成功响应,且对应的ims终端处于正在订阅链表中,则将其从正在订阅链表中移动到已订阅链表中;若消息为订阅成功响应,且对应的ims终端处于已订阅链表中,则将其重新移动到已订阅链表中;若消息为订阅失败响应,且对应的ims终端处于正在订阅链表中,则重新发起订阅请求,转入步骤(4);若消息为订阅失败响应,且对应的ims终端处于已订阅链表中,则将其从已订阅链表中移动到正在订阅链表,然后重新发起订阅请求,转入步骤(4);

(6)as系统更新正在订阅链表和已订阅链表中的ims终端的重新订阅时长,当重新订阅时长为0时,重新发起订阅请求,转入步骤(4);

(7)as系统对notify请求消息进行解析,获取ims终端注册事件,发起对notify请求消息的响应,然后转入步骤(4);所述ims终端注册事件包括registered事件、created事件、refreshed事件、shortened事件和unregister事件。

一种应用于as系统的终端用户注册事件取消订阅方法,其包括以下步骤:

(1)as系统正常启动后,在其内存中创建取消订阅链表,以及如权利要求1所述的未订阅链表、正在订阅链表和已订阅链表,并开启循环驱动定时器;

(2)ims终端用户向ims网络发起终端用户注销请求,s-cscf向as系统发起第三方注销请求;as系统收到注销请求消息后,发送第三方注销响应,并依次检查未订阅链表、正在订阅链表和已订阅链表,从这三个链表中移除要取消订阅的ims终端,并将其移动到取消订阅链表中;

(3)循环驱动定时器时超后,as系统更新取消订阅链表中的各ims终端的取消订阅定时时长;当取消订阅定时时长为0时,as系统向ims网络发起取消订阅请求消息;

(4)as系统检测接收到的消息,如果消息为取消订阅响应,则进入步骤(5);如果消息为循环驱动定时器时超消息,则进入步骤(6);如果消息为notify请求消息,则进入步骤(7);

(5)as系统进一步检测消息,如果消息为取消订阅成功响应,则将ims终端从取消订阅链表中移除;如果消息为订阅失败响应,则转入步骤(4),等待ims终端重新发起取消订阅请求;

(6)as系统更新取消订阅链表中的ims终端的重新取消订阅时长,当重新取消订阅时长为0时,重新发起取消订阅请求,转入步骤(4);

(7)as系统对notify请求消息进行解析,获取ims终端注册事件,发起对notify请求消息的响应,然后转入步骤(4);所述ims终端用户注册事件包括registered事件、created事件、refreshed事件、shortened事件和unregistered事件。

采用上述方案产生的有益效果在于:

本发明将as订阅终端注册事件以链表形式进行管理,统一维护控制as订阅所有终端事件的时超时长,可以有效地降低as系统内的消息量,显著提高as系统处理订阅机制的效率,大大增强as系统的可靠性和稳定性。

附图说明

图1为本发明实施例中as系统向ims网络发起订阅的时序图。

图2为本发明实施例中as系统向ims网络发起取消订阅的时序图。

具体实施方式

下面结合附图以及实施实例对本发明进行详细描述。

一种应用于as系统的终端用户注册事件订阅方法,其包括以下步骤:

(1)as系统正常启动后,在其内存中创建三个链表,并开启循环驱动定时器;所述的三个链表分别是未订阅链表、正在订阅链表和已订阅链表;

(2)ims终端用户完成ims网络基本注册且s-cscf向as系统发起第三方注册请求成功后,as系统将该ims终端放置到未订阅链表中;

(3)循环驱动定时器时超后,as系统从未订阅链表中取出一个或多个ims终端向s-cscf发起订阅请求,并将这些ims终端从未订阅链表中移动到正在订阅链表中;

(4)as系统检测接收到的消息,如果消息为订阅响应,则进入步骤(5);如果消息为循环驱动定时器时超消息,则进入步骤(6);如果消息为notify请求消息,则进入步骤(7);

(5)as系统进一步检测消息,若消息为订阅成功响应,且对应的ims终端处于正在订阅链表中,则将其从正在订阅链表中移动到已订阅链表中;若消息为订阅成功响应,且对应的ims终端处于已订阅链表中,则将其重新移动到已订阅链表中;若消息为订阅失败响应,且对应的ims终端处于正在订阅链表中,则重新发起订阅请求,转入步骤(4);若消息为订阅失败响应,且对应的ims终端处于已订阅链表中,则将其从已订阅链表中移动到正在订阅链表,然后重新发起订阅请求,转入步骤(4);

(6)as系统更新正在订阅链表和已订阅链表中的ims终端的重新订阅时长,当重新订阅时长为0时,重新发起订阅请求,转入步骤(4);

(7)as系统对notify请求消息进行解析,获取ims终端注册事件,发起对notify请求消息的响应,然后转入步骤(4);所述ims终端注册事件包括registered事件、created事件、refreshed事件、shortened事件和unregister事件。

一种应用于as系统的终端用户注册事件取消订阅方法,其包括以下步骤:

(1)as系统正常启动后,在其内存中创建取消订阅链表,以及如权利要求1所述的未订阅链表、正在订阅链表和已订阅链表,并开启循环驱动定时器;

(2)ims终端用户向ims网络发起终端用户注销请求,s-cscf向as系统发起第三方注销请求;as系统收到注销请求消息后,发送第三方注销响应,并依次检查未订阅链表、正在订阅链表和已订阅链表,从这三个链表中移除要取消订阅的ims终端,并将其移动到取消订阅链表中;

(3)循环驱动定时器时超后,as系统更新取消订阅链表中的各ims终端的取消订阅定时时长;当取消订阅定时时长为0时,as系统向ims网络发起取消订阅请求消息;

(4)as系统检测接收到的消息,如果消息为取消订阅响应,则进入步骤(5);如果消息为循环驱动定时器时超消息,则进入步骤(6);如果消息为notify请求消息,则进入步骤(7);

(5)as系统进一步检测消息,如果消息为取消订阅成功响应,则将ims终端从取消订阅链表中移除;如果消息为订阅失败响应,则转入步骤(4),等待ims终端重新发起取消订阅请求;

(6)as系统更新取消订阅链表中的ims终端的重新取消订阅时长,当重新取消订阅时长为0时,重新发起取消订阅请求,转入步骤(4);

(7)as系统对notify请求消息进行解析,获取ims终端注册事件,发起对notify请求消息的响应,然后转入步骤(4);所述ims终端用户注册事件包括registered事件、created事件、refreshed事件、shortened事件和unregistered事件。

具体来说,如图1所示,as系统向ims网络发起订阅的过程如下:

步骤1:as系统正常启动后,在其内存中创建四个链表,管理ims终端用户的订阅和取消订阅。其中四个链表分别是:未订阅链表、正在订阅链表、已订阅链表和取消订阅链表(取消订阅链表用于取消订阅的过程),并开启循环定时驱动器驱动订阅流程;

步骤2:ims终端用户向ims网络发起基本注册请求成功后,s-cscf向as系统发起第三方注册请求成功,as系统将对应的ims终端用户放置到未订阅链表中;

步骤3:循环驱动定时器时超后,as系统从未订阅链表中取出n个ims终端向s-cscf发起订阅请求,并从未订阅链表中移动到正在订阅链表中,其中n为正整数,n的取值可根据ims网络处理能力和as设备处理能力综合计算得到。订阅请求消息中的生存周期expires不为0,表示此时正在发起订阅请求;订阅事件event为reg,表示订阅ims用户注册事件;接收消息类型accept为application/reginfo+xml,表示可以接收xml等类型的消息体;

步骤4:ims网络订阅响应成功,as系统将ims终端从未订阅链表或者正在订阅链表中移除并移动到已订阅链表中。

步骤5:as系统接收到notify请求消息,对notify消息体的解析,获取ims终端注册事件registered;

步骤6:as系统发起对notify通知消息的响应。

如图2所示,as系统向ims网络发起取消订阅的过程如下:

步骤1:ims终端发起注销请求到ims网络成功后,s-cscf向as系统发起第三方注销请求,as将消息中响应的ims终端移动到取消订阅链表中;

步骤2:循环驱动定时器时超后,as系统更新取消订阅链表中的ims终端的重取消订阅时长,当时长为0时发起取消订阅请求;订阅请求消息中的生存周期expires为0,表示此时正在发起取消订阅请求;订阅事件event为terminated,表示订阅ims用户注销事件;接收消息类型accept为application/reginfo+xml,表示可以接收xml等类型的消息体;

步骤3:ims网络取消订阅响应成功,as系统将as终端从取消订阅链表中移除;

步骤4:as系统接收到notify请求消息,对notify消息体的解析,获取ims终端注册事件unregistered;

步骤5:as系统发起对notify通知消息的响应。

总之,本发明通过订阅ims终端用户的注册事件获取用户注册状态信息,使得as系统可以获取用户注册状态的变化,如用户需要重鉴权、用户重注册、用户发起网络注销等事件,从而更好地对as系统的状态进行维护管理。

需要说明的是,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之外,所作的任何修改、等同替换、改进等,均包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1