应用服务器的用户处理方法和应用服务器

申请号 CN200910206603.6 申请日 2009-10-21 公开(公告)号 CN102045318A 公开(公告)日 2011-05-04
申请人 中兴通讯股份有限公司; 发明人 邵彬; 周凯祺;
摘要 本 发明 公开了一种应用 服务器 的用户处理方法和 应用服务器 ,该方法包括:应用服务器确定注册用户是否超时;在注册用户超时的情况下,应用服务器删除注册用户的数据,并释放注册用户的呼叫。通过本发明提高了用户体验,进而保证了计费信息的正确性。
权利要求

1.一种应用服务器的用户处理方法,其特征在于,包括:
应用服务器确定注册用户是否超时;
在所述注册用户超时的情况下,所述应用服务器删除所述注册用户的数据,并释放所述注册用户的呼叫。
2.根据权利要求1所述的方法,其特征在于,所述应用服务器确定所述注册用户是否超时包括:
在所述应用服务器接收到所述注册用户的注册请求消息之后,所述应用服务器为所述注册用户设置生存时长;
在所述生存时长超时后,所述应用服务器确定所述注册用户超时。
3.根据权利要求2所述的方法,其特征在于,所述应用服务器为所述注册用户设置所述生存时长包括:
所述应用服务器根据所述注册请求消息中携带的失效时间字段中的所述失效时间设置所述生存时长。
4.根据权利要求1所述的方法,其特征在于,所述应用服务器删除所述注册用户的数据包括:删除所述注册用户的业务数据和通话数据。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在所述应用服务器确定所述注册用户超时之后,所述方法还包括:
所述应用服务器将所述注册用户的计费结束信息发送给计费网关。
6.一种应用服务器,其特征在于,包括:
确定模,用于确定注册用户是否超时;
删除模块,用于在所述注册用户超时的情况下,删除所述注册用户的数据;
释放模块,用于释放所述注册用户的呼叫。
7.根据权利要求6所述的应用服务器,其特征在于,还包括:
接收模块,用于接收到所述注册用户的注册请求消息;
设置模块,用于为所述注册用户设置生存时长;
所述确定模块具体用于在所述生存时长超时后,确定所述注册用户超时。
8.根据权利要求7所述的应用服务器,其特征在于,所述设置模块包括:
获取子模块,用于从所述注册请求消息中携带的失效时间字段中获取所述失效时间;
设置子模块,根据所述失效时间设置所述生存时长。
9.根据权利要求6所述的应用服务器,其特征在于,所述删除模块包括:
第一子模块,用于删除所述注册用户的业务数据;
第二子模块,用于删除所述注册用户的通话数据。
10.根据权利要求6至9中任一项所述的应用服务器,其特征在于,还包括:
发送模块,用于将所述注册用户的计费结束信息发送给计费网关。

说明书全文

应用服务器的用户处理方法和应用服务器

技术领域

[0001] 本发明涉及通信领域,具体而言,涉及一种应用服务器的用户处理方法和应用服务器。

背景技术

[0002] IP多媒体子系统(IP Multimedia Core Network Subsystem,简称为IMS)基于会话启动协议(Session Initiation Protocol,简称为SIP),其中,SIP协议是一种能够在两方或者多方之间创建、修改、终结会话的应用层的协议。IMS的功能实体主要包括:控制用户注册、会话等功能的呼叫控制实体(Call Session Control Function,简称为CSCF);集中管理用户签约数据的归属用户服务器(Home Subscriber Server,简称为HSS);提供各种业务逻辑控制功能的应用服务器(Application Server,简称为AS)。
[0003] 图1是根据相关技术的IMS用户第三方注册注销的流程图,如图1所示,该流程主要涉及执行服务会话控制功能(Serving Call Session Control Function,简称为S-CSCF)、HSS和AS,该流程包括如下步骤:
[0004] 步骤S101,IMS用户发起注册请求
[0005] 步骤S102至步骤S103,S-CSCF从HSS获取该用户的用户数据。
[0006] 步骤S104,S-CSCF向该用户发送注册成功响应。
[0007] 步骤S105至步骤S106,S-CSCF向AS发起第三方注册,并注册成功。
[0008] 步骤S107,IMS用户发起注销请求。
[0009] 步骤S108至步骤S109,S-CSCF向AS发起第三方注销,并注销成功。
[0010] 步骤S110,S-CSCF向用户发送注销成功响应。
[0011] 从以上步骤可以看出,现有的第三方注册注销模式存在下面问题:
[0012] 1、现有协议中约定:当注册用户超时后,S-CSCF需要向主被叫发送BYE结束会话。但是,在实际应用中存在AS注册用户超时而S-CSCF没有超时的情况(或者,当用户注销时,由于网络原因S-CSCF的注销消息没有发送到AS侧),协议中对上述情况下AS侧的行为并没有做出约定。
[0013] 2、当AS侧发生注册用户超时的情况下,如果AS不进行处理,由于用户并不知道自身已经注销,后续发起业务触发会失败,导致用户体验不好。
[0014] 3、当AS侧发生注册用户超时的情况下,如果AS不进行处理,可能会导致存在对该用户的计费时间过长,进而计费错误。
[0015] 针对相关技术中由于注册用户超时后AS侧没有相应处理而导致用户通话异常以及用户计费信息错误的问题,目前尚未提出有效的解决方案。

发明内容

[0016] 考虑到相关技术中由于注册用户超时后AS侧没有相应处理而导致用户通话异常以及用户计费信息错误的问题而提出本发明,为此,本发明的主要目的在于提供一种应用服务器的用户处理方案,以解决上述问题至少之一。
[0017] 为了实现上述目的,根据本发明的一个方面,提供了一种应用服务器的用户处理方法。
[0018] 根据本发明的应用服务器的用户处理方法包括:应用服务器确定注册用户是否超时;在注册用户超时的情况下,应用服务器删除注册用户的数据,并释放注册用户的呼叫。
[0019] 优选地,应用服务器确定注册用户是否超时包括:在应用服务器接收到注册用户的注册请求消息之后,应用服务器为注册用户设置生存时长;在生存时长超时后,应用服务器确定注册用户超时。
[0020] 优选地,应用服务器为注册用户设置生存时长包括:应用服务器根据注册请求消息中携带的失效时间字段中的失效时间设置生存时长。
[0021] 优选地,应用服务器删除注册用户的数据包括:删除注册用户的业务数据和通话数据。
[0022] 优选地,在应用服务器确定注册用户超时之后,上述方法还包括:应用服务器将注册用户的计费结束信息发送给计费网关。
[0023] 为了实现上述目的,根据本发明的另一方面,还提供了一种应用服务器。
[0024] 根据本发明的应用服务器包括:确定模,用于确定注册用户是否超时;删除模块,用于在注册用户超时的情况下,删除注册用户的数据;释放模块,用于释放注册用户的呼叫。
[0025] 优选地,上述应用服务器还包括:接收模块,用于接收到注册用户的注册请求消息;设置模块,用于为注册用户设置生存时长;确定模块具体用于在生存时长超时后,确定注册用户超时。
[0026] 优选地,设置模块包括:获取子模块,用于从注册请求消息中携带的失效时间字段中获取失效时间;设置子模块,根据失效时间设置生存时长。
[0027] 优选地,删除模块包括:第一子模块,用于删除注册用户的业务数据;第二子模块,用于删除注册用户的通话数据;
[0028] 优选地,上述应用服务器还包括:发送模块,用于将注册用户的计费结束信息发送给计费网关。
[0029] 通过本发明,采用AS删除与超时注册用户相关的业务信息,保证了用户数据在AS的正常处理,此外,AS还可以在删除超时注册用户的相关业务信息之后发送计费结束信息,解决了相关技术中由于注册用户超时后AS侧没有相应处理而导致用户通话异常以及用户计费信息错误的问题,提高了用户体验,进而保证了计费信息的正确性。附图说明
[0030] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0031] 图1是根据相关技术的IMS用户第三方注册注销的流程图;
[0032] 图2是根据本发明实施例的应用服务器的用户处理方法的流程图;
[0033] 图3根据本发明实施例的注册用户超时情况下AS释放会话的详细处理的流程图;
[0034] 图4根据本发明实施例的注册用户超时情况下AS内部“用户生存周期检测”模块处理流程图;
[0035] 图5根据本发明实施例的应用服务器的结构框图
[0036] 图6根据本发明实施例的应用服务器具体的结构框图。

具体实施方式

[0037] 功能概述
[0038] 相关技术中由于注册用户超时后AS侧没有相应处理而导致用户通话异常以及用户计费信息错误的问题的原因如下:如果注册用户已经超时,则对于AS而言,该用户实际已经注销,后续对于该用户的处理也只能按照未注册状态处理,如果不删除用户的相关数据、释放与该用户相关的呼叫,则会导致用户业务发生异常;并且,AS在注销用户、释放与该用户相关的呼叫的同时,如果没有将该用户相关的计费结束信息发送给计费网关,则会导致计费错误,基于此,本发明实施例提供了一种应用服务器的用户处理方案,该方案的处理原则如下:AS确定注册用户是否超时;在注册用户超时的情况下,AS删除注册用户的数据,并释放注册用户的呼叫;优选地,该应用服务器还可以发送注册用户的计费结束信息给计费网关。
[0039] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0040] 在以下实施例中,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0041] 方法实施例
[0042] 根据本发明的实施例,提供了一种应用服务器的用户处理方法,图2是根据本发明实施例的应用服务器的用户处理方法的流程图,如图2所示,该方法包括如下步骤202至步骤204:
[0043] 步骤202,AS确定注册用户是否超时;
[0044] 步骤204,在该注册用户超时的情况下,AS删除该注册用户的数据,并释放该超时注册用户的呼叫。具体地,当注册用户超时后,AS会将相关的用户数据删除(即,此后该用户对AS而言是未注册用户),同时,释放超时注册用户的当前呼叫(即,结束该超时注册用户的会话)。
[0045] 通过上述步骤202至步骤204,删除了超时注册用户的相关数据,释放了该超时注册用户的呼叫,就可以保证该用户在AS后续流程的正常处理。
[0046] 优选地,在步骤202中,AS可以在接收到注册用户的注册请求消息之后为注册用户设置生存时长(即,注册生存周期),在生存时长超时后,AS确定该注册用户超时。优选地,AS可以根据注册请求消息中携带的失效时间字段中的失效时间来设置注册用户的生存时长。
[0047] 具体地,注册用户注册后,AS实时监测用户的注册生存周期;当注册用户超时后,AS删除通过用户账户查找到的该超时注册用户的业务数据区和通话数据区的数据,如果用户还在通话态(即,存在通话数据区),则删除用户的通话数据区;然后,AS分别发送BYE消息到主叫和被叫侧。优选地,可以在此同时发送本次会话计费结束消息给计费网关,并将计费信息中的原因码值填写为内部失败。
[0048] 下面将结合实例对本发明实施例的实现过程进行详细描述。
[0049] 图3根据本发明实施例的注册用户超时情况下AS释放会话的详细处理的流程图,如图3所示,该流程包括如下步骤:
[0050] 步骤S301,当AS侧用户注册超时的时候,AS删除该用户数据,并释放该用户呼叫。
[0051] 步骤S302,AS发送本次会话计费结束消息给计费网关,计费信息中原因码值填写为内部失败(该值填写为″Internal error″3,该值具体可以参考3GPP TS 32.299,在此不再赘述)。
[0052] 步骤S303-步骤S306,AS分别发送BYE消息到主叫侧和被叫侧。具体地:
[0053] 步骤S303,AS发送BYE消息给主叫侧;
[0054] 步骤S304,主叫侧返回200 OK的消息回复响应;
[0055] 步骤S305,AS发送BYE消息给被叫侧;
[0056] 步骤S306,被叫侧返回200 OK的消息回复响应。
[0057] 具体地,为了实现步骤S301,可以在AS内部增加-个“用户生存周期检测”逻辑功能模块,实时动态地检测每一个注册用户数据的生存周期,当注册用户超时后,立即删除该注册用户的信息,并通知业务模块结束会话,同时,发送计费结束消息给计费网关。
[0058] 其中,上述“用户生存周期检测”逻辑功能模块的具体功能原理如下:
[0059] 当模块收到用户的初始第三方注册消息时,从注册(register)消息的失效时间(expire)字段中取出该用户的生存周期时间作为定时器时长,设置该用户的保活定时器。如果在该用户的保活定时器超时之前,本模块收到了该用户的刷新注册消息,则将该刷新注册消息的expire字段中的时长重设为该用户的保活定时器;如果在用户的保活定时器超时之前,本模块收到了该用户的注销消息,则删除该用户的保活定时器与所有业务信息。
具体的,本模块可以根据删除该用户的公共用户标识(Public User Identities,简称为PUI)账号遍历所有的业务呼叫数据区,如果能够搜索到该用户的数据区,表明该用户正处于通话态,此时,本模块将通知业务模块释放该用户的数据区、结束该用户的会话,并发送该用户的计费结束消息给计费网关;如果该用户的保活定时器超时,且在之间未收到任何此用户的刷新注册或注销消息。则说明该用户的生存周期已到,这时候本模块将删除该用户的所有业务信息。
[0060] 图4根据本发明实施例的注册用户超时情况下AS内部“用户生存周期检测”模块处理流程图,如图4所示,该流程包括如下步骤:
[0061] 步骤S402,将接收到的初始注册或刷新注册消息中的expire字段值取出;
[0062] 步骤S404,设置并启动用户的保活定时器。
[0063] 步骤S406,在保活定时器到达时,删除用户数据。
[0064] 步骤S408,通知业务模块删除数据区、结束会话,并发送计费结束消息给计费网关。
[0065] 装置实施例
[0066] 根据本发明的实施例,提供了一种应用服务器,该应用服务器对应于上述的方法实施例,在方法实施例中已经进行过的说明在此不再赘述,下面是对该应用服务器中的具体的模块进行的说明。图5根据本发明实施例的应用服务器的结构框图,如图5所示,该应用服务器包括:确定模块51、删除模块52、释放模块53,下面对此结构进行详细的说明。
[0067] 确定模块51,该模块用于确定注册用户是否超时;删除模块52连接至确定模块51,用于在注册用户超时的情况下,删除注册用户的数据;释放模块53连接至确定模块51,用于释放注册用户的呼叫。
[0068] 图6是根据本发明实施例的应用服务器具体的结构框图,如图6所示,该应用服务器还包括:接收模块62,用于接收到注册用户的注册请求消息;设置模块64连接至接收模块62和确定模块51,用于为注册用户设置生存时长,当生存时长超时后,确定模块51确定注册用户超时。
[0069] 优选地,如图6所示,设置模块64包括:获取子模块641、设置子模块642,下面对此进行详细说明。
[0070] 获取子模块641、用于从注册请求消息中携带的失效时间字段中获取失效时间;设置子模块642,用于根据失效时间设置生存时长。
[0071] 优选地,如图6所示,删除模块52包括:第一子模块521,用于删除注册用户的业务数据;第二子模块522,用于删除注册用户的通话数据。
[0072] 如图6所示,应用服务器还包括:发送模块66连接至确定模块51,该模块用于将注册用户的计费结束信息发送给计费网关。
[0073] 综上所述,通过本发明上述实施例,解决了当AS侧发生用户注册超时情况下,对于该用户的会话处理异常的问题,保证用户数据在AS的正常处理,同时也保证了计费信息的正确性,提高了用户体验。
[0074] 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件软件结合。
[0075] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
QQ群二维码
意见反馈