一种应答用户注册状态请求的方法及系统的制作方法

文档序号:7622331阅读:185来源:国知局
专利名称:一种应答用户注册状态请求的方法及系统的制作方法
技术领域
本发明涉及IP多媒体业务子网络(IMS)领域,特别是一种应答用户注册状态请求的方法及系统。
背景技术
在IMS域中,在一条签约数据(IMS Subscription)中含有公有用户标识(IMS Public User Identity,IMPU)、私有用户标识(IMS Private UserIdentity,IMPI)和移动台国际综合业务数字网(ISDN)号码(MSISDN)。图1所示的是IMS域用户标识之间的关系,图中的IMS Subscription中存在两个IMPIIMPI-1和IMPI-2,而IMPI-1与IMPU-1和IMPU-2关联、IMPI-2与IMPU-2和IMPU-3关联,IMPU-1与业务数据(Service Profile)-1关联、IMPU-2和IMPU-3与业务数据-2关联。从图1中可以看出在每个IMSSubscription中存在多个IMPI,同时也存在着一个IMPI与多个IMPU关联以及一个IMPU与多个IMPI关联的情况,即IMPI和IMPU是多对多的关系。
在归属签约用户服务器(HSS)中保存的用户注册状态(IMSUserState)与一对IMPI和IMPU对应,即HSS中保存着IMPI和IMPU与用户注册状态的对应关系。根据第三代合作组织(3GPP)的TS 29328v6.4.0协议,HSS中保存的用户状态包括如下四种用户注册状态(REGISTERED)、离线业务状态(REGISETERED_WITH_UNREG_SERVICE)、离线未注册状态(NOT_REGISTERED)、正在验证身份状态(AUTHENTICATION_PENDING)。其中,REGISTERED表示该用户已经通过注册;REGISETERED_WITH_UNREG_SERVICE表示该用户没有通过注册,但是享有离线业务;NOT_REGISTERED表示该用户没有注册,并处于离线状态;AUTHENTICATION_PENDING表示该用户已经发起注册,正在被验证身份,但是还没有通过。在HSS中保存有IMPI与IMPU的关联关系以及IMPI和IMPU与用户注册状态对应关系的记录。
AS可以通过AS与HSS之间的接口(Sh接口)发起用户数据请求(UDR)消息请求读取用户注册状态。在现有技术中,当AS向HSS发起UDR消息读取数据时,根据协议规定,在UDR消息中携带的用户标识只有IMPU。UDR消息的格式如下<User-Data-Request>::=<Diameter Header306,REQ,PXY,16777217>
<Session-Id>
{Vendor-Specific-Application-Id}{Auth-Session-State}{Origin-Host}{Origin-Realm}[Destination-Host]{Destination-Realm}*[Supported-Features]{User-Identity}[Server-Name][Service-Indication]{Data-Reference}[Identity-Set]*[Requested-Domain][Current-Location]*[AVP]*[Proxy-Info]*[Route-Record]在AS向HSS请求用户状态数据时,UDR消息中的参数Data-Reference的值为IMSUserState,表明该消息请求读取的数据类型是IMS用户注册状态。UDR消息中的User-Identity参数是用于标识用户的用户标识,它的结构如下User-Identity::=<AVP header70010415> [MSISDN]*[AVP]从User-Identity的结构可以看出,在UDR消息中没有携带IMPI,仅携带了IMPU和MSISDN。
HSS接收到UDR消息后,根据UDR消息中的用户标识以及IMPI和IMPU与用户注册状态的对应关系获取对应的用户注册状态,并把所获取的用户注册状态通过用户数据响应(UDA)消息下发给AS。
但是,由于HSS中保存的用户注册状态和一对IMPI和IMPU对应,而IMPU与IMPI之间是多对多的对应关系,在UDR消息中仅仅携带IMPU,不一定能够准确定位到正确的用户注册状态。当上述对应关系中IMPU只与一个IMPI关联时,HSS下发该IMPI和IMPU对应的用户注册状态;当IMPU与多个IMPI关联时,HSS无法对UDR消息进行正确处理。

发明内容
有鉴于此,本发明提出了一种应答用户注册状态请求的方法及系统,用以解决当IMPU与多个IMPI关联时HSS无法处理UDR消息的问题。
根据上述目的,本发明提供了一种应答用户注册状态请求的方法,该方法包括以下步骤A.预先在HSS中设置保存用户注册状态优先级的用户注册状态优先级表;B.HSS根据UDR消息中的第一用户标识以及预先保存的第一用户标识和第二用户标识与用户注册状态的对应关系,获取所有与所述第一用户标识对应的用户注册状态,根据所述用户注册状态优先级表得到所获取的用户注册状态中优先级最高的用户注册状态,并通过UDA消息将所述优先级最高的用户注册状态下发给AS。
步骤B之前进一步包括HSS根据所述第一用户标识以及预先保存的第一用户标识与第二用户标识的关联关系判断所述第一用户标识是否只与一个第二用户标识关联,如果是,则根据所述预先保存的第一用户标识和第二用户标识与用户注册状态的对应关系获取与所述第一用户标识对应的用户注册状态,并通过UDA消息将所获取的用户注册状态下发给AS,否则执行步骤B。
在上述技术方案中,步骤A中所设置的用户注册状态优先级为正在验证身份状态AUTHENTICATION_PENDING高于注册状态REGISTERED;注册状态REGISTERED高于离线业务状态REGISTERED_WITH_UNREG_SERVICE;离线业务状态REGISTERED_WITH_UNREG_SERVICE高于未注册状态NOT_REGISTERED。
在上述技术方案中,所述第一用户标识为IMPU,所述第二用户标识为IMPI;或者第一用户标识为IMPI,第二用户标识为IMPU。
本发明还提供了一种应答用户注册状态请求的系统,该系统包括记录单元、优先级表单元、应答单元,其中,记录单元,与应答单元相连接,用于保存第一用户标识与第二用户标识的关联关系以及第一用户标识和第二用户标识与用户注册状态的对应关系,并用于向应答单元提供所述对应关系;优先级表单元,与应答单元相连接,用于保存预先设置的用户注册状态优先级的用户注册状态优先级表,以及向应答单元提供所述用户注册状态优先级表;应答单元,用于根据所接收UDR消息中的第一用户标识以及记录单元提供的所述对应关系获取与该第一用户标识对应的所有的用户注册状态,然后根据优先级表单元提供的用户注册状态优先级表,得到所获取的用户注册状态中优先级最高的用户注册状态,并通过UDA消息将所述优先级最高的用户注册状态下发给AS。
该系统进一步包括分别与记录单元和应答单元相连接的第一用户标识检查单元,用于根据所接收UDR消息中的第一用户标识以及记录单元提供的所述关联关系判断该第一用户标识是否只与一个第二用户标识关联,如果是,则根据记录单元提供的所述对应关系获取与该第一用户标识对应的用户注册状态,并通过UDA消息将所获取的用户注册状态下发给AS;否则将接收到的UDR消息转发给应答单元;所述记录单元进一步用于向第一用户标识检查单元提供所述关联关系和对应关系。
在上述技术方案中,所述第一用户标识为IMPU,所述第二用户标识为IMPI;或者第一用户标识为IMPI,第二用户标识为IMPU。
从上述方案中可以看出,由于本发明在HSS中设置了用户注册状态优先级表,接收到UDR消息后根据UDR消息中的IMPU或IMPI查找到所有与该IMPU或IMPI对应的用户注册状态,然后根据优先级表将其中优先级最高的用户注册状态下发给AS。由此可见,当IMPU对应多个IMPI或者IMPI对应多个IMPU时,本发明能够正确应答UDR消息,向AS返回合适的用户注册状态,弥补了现有协议的不足。


图1为IMS域中用户标识之间的对应关系示意图;图2为根据本发明第一实施例的方法的流程示意图;图3为根据本发明第一实施例的系统的结构示意图;图4为根据本发明第二实施例的方法的流程示意图;图5为根据本发明第二实施例的系统的结构示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,以下举实施例对本发明进一步详细说明。
本发明在HSS中设置了用户注册状态优先级表,接收到UDR消息后HSS根据UDR消息中的IMPU或IMPI查找到所有与该IMPU或IMPI对应的用户注册状态,然后根据优先级表将其中优先级最高的用户注册状态下发给AS。
第一实施例参照图2,第一实施例包括以下步骤步骤201,预先在HSS上设置用户注册状态优先级表。
在该优先级表中,对于四种用户注册状态REGISTERED、REGISTERED_WITH_UNREG_SERVICE、NOT_REGISTERED、AUTHENTICATION_PENDING,可以根据需要设置其优先级从高到低的顺序,第一实施例以表1为例说明用户注册状态优先级的设置。
在表1中,优先级从高到低的顺序为AUTHENTICATION_PENDING>REGISTERED>REGISTERED_WITH_UNREG_SERVIC>REGISTERED_WITH_UNREG_SERVICE>NOT_REGISTERED,其中“>”表示前面的用户注册状态的优先级高于后面的用户注册状态的优先级。

表1用户注册状态优先级表步骤202,在接收到AS发送来的请求读取用户注册状态的UDR请求后,HSS在预先保存的记录中查找与该IMPU关联的IMPI,并根据查找结果判断该IMPU是否只与一个IMPI关联,如果是,则执行步骤203,否则执行步骤204。
与现有技术一样,所述预先保存的记录是保存了IMPI与IMPU的关联关系以及IMPI和IMPU与用户注册状态对应关系的记录。
步骤203,根据记录中IMPI和IMPU与用户注册状态对应关系,获取与该IMPI和IMPU对应的用户注册状态,并通过UDA消息将与该IMPI和IMPU对应的用户注册状态下发给AS。
步骤204,根据记录中IMPI和IMPU与用户注册状态对应关系,获取所有与该IMPU对应的用户注册状态,并根据步骤201中设置的用户注册状态优先级表,得到所获取的用户注册状态中优先级最高的用户注册状态,并通过UDA消息将该用户注册状态下发给AS。
在上述技术方案中,也可以不执行步骤202的步骤,直接根据记录中IMPI和IMPU与用户注册状态对应关系,获取所有与UDR消息中的IMPU对应的用户注册状态,然后根据预先设置的用户注册状态优先级表,得到所获取的用户注册状态中优先级最高的用户注册状态,并通过UDA消息向AS下发该用户注册状态。
本发明可以通过如图3所示的HSS中的系统实现。参照图3,该系统包括记录单元、优先级表单元、IMPU检查单元和应答单元。其中,IMPU检查单元分别与记录单元和应答单元相连接,应答单元分别与IMPU检查单元、记录单元、优先级表单元相连接。
在该系统中,记录单元中预先保存了IMPU与IMPI的关联关系以及IMPI和IMPU与用户注册状态的对应关系,并且记录单元还用于向IMPU检查单元提供所述关联关系和对应关系,以及向应答单元提供所述对应关系。优先级表单元中预先设置了保存四种用户注册状态的优先级的用户注册状态优先级表,例如表1所示的优先级表,优先级表单元还用于向应答单元提供所述用户注册状态优先级表。
在接收到请求用户注册状态的UDR消息后,IMPU检查单元用于根据所接收UDR消息中的IMPU,根据记录单元中保存的IMPU与IMPI的关联关系中查找与该IMPU关联的IMPI,并根据查找结果判断该IMPU是否只与一个IMPI关联,如果是,则根据记录单元提供的IMPI和IMPU与用户注册状态的对应关系获取与该IMPI和IMPU对应的用户注册状态,并通过UDA消息将所获取的用户注册状态下发给AS;如果该IMPU与多于1个的IMPI关联,则将接收到的UDR消息转发给应答单元。
应答单元接收到UDR消息后,根据该UDR消息中的IMPU以及记录单元提供的IMPI和IMPU与用户注册状态的对应关系获取与该IMPU对应的所有的用户注册状态,然后根据优先级表单元提供的用户注册状态优先级表,得到所获取的用户注册状态中优先级最高的用户注册状态,并通过UDA消息将该用户注册状态下发给AS。
当然,该系统中也可以不包括IMPU检查单元,由应答单元直接处理接收到的UDR消息,即应答单元根据该UDR消息中的IMPU以及记录单元提供的IMPI和IMPU与用户注册状态的对应关系获取与该IMPU对应的所有的用户注册状态,然后根据优先级表单元提供的用户注册状态优先级表,得到所获取的用户注册状态中优先级最高的用户注册状态,并通过UDA消息将该用户注册状态下发给AS。
第二实施例与第一实施例UDR消息中携带IMPU不同,第二实施例中,UDR消息中携带的是IMPI,HSS根据携带IMPI的UDR消息进行相应的处理,向AS返回合适的用户注册状态。
参照图4,第二实施例包括以下步骤步骤401,预先在HSS上设置用户注册状态优先级表。
第二实施例仍然以表1说明用户注册状态的优先级。在表1中,优先级从高到低的顺序为AUTHENTICATION_PENDING>REGISTERED>REGISTERED_WITH_UNREG_SERVIC>REGISTERED_WITH_UNREG_SERVICE>NOT_REGISTERED,其中“>”表示前面的用户注册状态的优先级高于后面的用户注册状态的优先级。
步骤402,在接收到AS发送来的请求读取用户注册状态的UDR请求后,HSS在预先保存的记录中查找与该IMPI关联的IMPU,并根据查找结果判断该IMPI是否只与一个IMPU关联,如果是,则执行步骤403,否则执行步骤404。
与现有技术一样,所述预先保存的记录是保存了IMPI与IMPU的关联关系以及IMPI和IMPU与用户注册状态对应关系的记录。
步骤403,根据记录中IMPI和IMPU与用户注册状态对应关系,获取与该IMPI和IMPU对应的用户注册状态,并通过UDA消息将与该IMPI和IMPU对应的用户注册状态下发给AS。
步骤404,根据记录中IMPI和IMPU与用户注册状态对应关系,获取所有与该IMPI对应的用户注册状态,并根据步骤401中设置的用户注册状态优先级表,得到所获取的用户注册状态中优先级最高的用户注册状态,并通过UDA消息将该用户注册状态下发给AS。
在上述技术方案中,也可以不执行步骤402的步骤,直接根据记录中IMPI和IMPU与用户注册状态对应关系,获取所有与UDR消息中的IMPI对应的用户注册状态,然后根据预先设置的用户注册状态优先级表,得到所获取的用户注册状态中优先级最高的用户注册状态,并通过UDA消息向AS下发该用户注册状态。
本发明可以通过如图5所示的HSS中的系统实现。参照图5,该系统包括记录单元、优先级表单元、IMPI检查单元和应答单元。其中,IMPI检查单元分别与记录单元和应答单元相连接,应答单元分别与IMPI检查单元、记录单元、优先级表单元相连接。
在该系统中,记录单元中预先保存了IMPI与IMPU的关联关系以及IMPI和IMPU与用户注册状态的对应关系,并且记录单元还用于向IMPI检查单元提供所述关联关系和对应关系,以及向应答单元提供所述对应关系。优先级表单元中预先设置了保存四种用户注册状态的优先级的用户注册状态优先级表,例如表1所示的优先级表,优先级表单元还用于向应答单元提供所述用户注册状态优先级表。
在接收到请求用户注册状态的UDR消息后,IMPI检查单元用于根据所接收UDR消息中的IMPI,根据记录单元中保存的IMPI与IMPU的关联关系中查找与该IMPI关联的IMPU,并根据查找结果判断该IMPI是否只与一个IMPU关联,如果是,则根据记录单元提供的IMPI和IMPU与用户注册状态的对应关系获取与该IMPI和IMPU对应的用户注册状态,并通过UDA消息将所获取的用户注册状态下发给AS;如果该IMPI与多于1个的IMPU关联,则将接收到的UDR消息转发给应答单元。
应答单元接收到UDR消息后,根据该UDR消息中的IMPI以及记录单元提供的IMPI和IMPU与用户注册状态的对应关系获取与该IMPI对应的所有的用户注册状态,然后根据优先级表单元提供的用户注册状态优先级表,得到所获取的用户注册状态中优先级最高的用户注册状态,并通过UDA消息将该用户注册状态下发给AS。
当然,该系统中也可以不包括IMPI检查单元,由应答单元直接处理接收到的UDR消息,即应答单元根据该UDR消息中的IMPI以及记录单元提供的IMPI和IMPU与用户注册状态的对应关系获取与该IMPI对应的所有的用户注册状态,然后根据优先级表单元提供的用户注册状态优先级表,得到所获取的用户注册状态中优先级最高的用户注册状态,并通过UDA消息将该用户注册状态下发给AS。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种应答用户注册状态请求的方法,其特征在于,该方法包括以下步骤A.预先在归属签约用户服务器HSS中设置保存用户注册状态优先级的用户注册状态优先级表;B.HSS根据用户数据请求UDR消息中的第一用户标识以及预先保存的第一用户标识和第二用户标识与用户注册状态的对应关系,获取所有与所述第一用户标识对应的用户注册状态,根据所述用户注册状态优先级表得到所获取的用户注册状态中优先级最高的用户注册状态,并通过用户数据应答UDA消息将所述优先级最高的用户注册状态下发给应用服务器AS。
2.根据权利要求1所述的方法,其特征在于,步骤B之前进一步包括HSS根据所述第一用户标识以及预先保存的第一用户标识与第二用户标识的关联关系判断所述第一用户标识是否只与一个第二用户标识关联,如果是,则根据所述预先保存的第一用户标识和第二用户标识与用户注册状态的对应关系获取与所述第一用户标识对应的用户注册状态,并通过UDA消息将所获取的用户注册状态下发给AS,否则执行步骤B。
3.根据权利要求1所述的方法,其特征在于,步骤A中所设置的用户注册状态优先级为正在验证身份状态AUTHENTICATION_PENDING高于注册状态REGISTERED;注册状态REGISTERED高于离线业务状态REGISTERED_WITH_UNREG_SERVICE;离线业务状态REGISTERED_WITH_UNREG_SERVICE高于未注册状态NOT_REGISTERED。
4.根据权利要求1所述的方法,其特征在于,所述第一用户标识为公有用户标识IMPU,所述第二用户标识为私有用户标识IMPI;或者第一用户标识为IMPI,第二用户标识为IMPU。
5.一种应答用户注册状态请求的系统,其特征在于,该系统包括记录单元、优先级表单元、应答单元,其中,记录单元,与应答单元相连接,用于保存第一用户标识与第二用户标识的关联关系以及第一用户标识和第二用户标识与用户注册状态的对应关系,并用于向应答单元提供所述对应关系;优先级表单元,与应答单元相连接,用于保存预先设置的用户注册状态优先级的用户注册状态优先级表,以及向应答单元提供所述用户注册状态优先级表;应答单元,用于根据所接收UDR消息中的第一用户标识以及记录单元提供的所述对应关系获取与该第一用户标识对应的所有的用户注册状态,然后根据优先级表单元提供的用户注册状态优先级表,得到所获取的用户注册状态中优先级最高的用户注册状态,并通过UDA消息将所述优先级最高的用户注册状态下发给AS。
6.根据权利要求5所述的系统,其特征在于,该系统进一步包括分别与记录单元和应答单元相连接的第一用户标识检查单元,用于根据所接收UDR消息中的第一用户标识以及记录单元提供的所述关联关系判断该第一用户标识是否只与一个第二用户标识关联,如果是,则根据记录单元提供的所述对应关系获取与该第一用户标识对应的用户注册状态,并通过UDA消息将所获取的用户注册状态下发给AS;否则将接收到的UDR消息转发给应答单元;所述记录单元进一步用于向第一用户标识检查单元提供所述关联关系和对应关系。
7.根据权利要求5或6所述的系统,其特征在于,所述第一用户标识为IMPU,所述第二用户标识为IMPI;或者第一用户标识为IMPI,第二用户标识为IMPU。
全文摘要
本发明公开了一种应答用户注册状态请求的方法,该方法包括以下步骤预先在HSS中设置保存用户注册状态优先级的用户注册状态优先级表;HSS根据UDR消息中的第一用户标识以及预先保存的第一用户标识和第二用户标识与用户注册状态的对应关系,获取所有与所述第一用户标识对应的用户注册状态,根据所述用户注册状态优先级表得到所获取的用户注册状态中优先级最高的用户注册状态,并通过UDA消息将所述优先级最高的用户注册状态下发给AS。本发明还提供了一种应答用户注册状态请求的系统。当第一用户标识对应多个第二用户标识时,本发明能够正确应答UDR消息,向AS返回合适的用户注册状态,弥补了现有协议的不足。
文档编号H04L29/06GK1852292SQ200510092809
公开日2006年10月25日 申请日期2005年8月18日 优先权日2005年8月18日
发明者王金城, 马春燕 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1