CN101156371B - 一种实现初始因特网协议多媒体子系统注册的方法 - Google Patents
一种实现初始因特网协议多媒体子系统注册的方法 Download PDFInfo
- Publication number
- CN101156371B CN101156371B CN2006800119211A CN200680011921A CN101156371B CN 101156371 B CN101156371 B CN 101156371B CN 2006800119211 A CN2006800119211 A CN 2006800119211A CN 200680011921 A CN200680011921 A CN 200680011921A CN 101156371 B CN101156371 B CN 101156371B
- Authority
- CN
- China
- Prior art keywords
- cscf
- state
- hss
- login state
- registered
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
一种实现初始因特网协议多媒体子系统注册的方法包括:在UE发起的初始IMS注册过程中,HSS接收到S-CSCF发起的MAR后,表示发起初始IMS注册的UE进入了认证过程,HSS记录下表示UE进入认证状态的当前注册状态;而在HSS接收到I-CSCF发起的UAR后,HSS根据记录在本地的UE当前注册状态确定UE是否为允许指定S-CSCF状态,若是,则在UAA中携带S-CSCF名称信息并发送给I-CSCF;否则,在UAA中携带S-CSCF能力集信息并发送给I-CSCF。本发明方法保证了初始IMS注册过程中两次UAR/UAA过程使用的S-CSCF是相同的,使UE的初始IMS注册得以顺利实现。同时,本发明方法保证了在初始IMS注册过程中,触发LIR/LIA过程时,I-CSCF能够将LIR/LIA过程中的相应消息转发至已经为用户分配的S-CSCF,保证了LIR/LIA过程的顺利完成。
Description
技术领域
本发明涉及因特网协议多媒体子系统(IMS)技术,尤指一种实现初始IMS注册的方法。
发明背景
为了使得用户设备(UE)可以使用IMS服务,UE必须进行IMS注册。图1是现有技术实现初始IMS注册的流程图,假设在进行初始IMS注册之前,UE已获得一个因特网协议(IP)连接承载,并且发现IMS系统的入口点代理呼叫会话控制功能(P-CSCF),初始IMS注册包括以下步骤:
步骤100~步骤101:UE向已发现的P-CSCF发送第一个基于会话初始化协议(SIP)的注册(Register)请求,并通过该P-CSCF将第一个Register请求转发给问询呼叫会话控制功能(I-CSCF)。
I-CSCF是运营商网络中为所有连接到该运营商的用户提供的连接点。在第一个Register请求中包含要注册的UE的身份和归属网络名称,P-CSCF使用第一个Register请求中提供的归属网络名称来解析I-CSCF的IP地址,并将第一个Register请求转发给该IP地址对应的I-CSCF。
步骤102~步骤103:I-CSCF向归属用户服务器(HSS)发起用户注册状态查询请求(UAR),HSS根据UE当前注册状态,将服务呼叫会话控制功能(S-CSCF)能力集信息或S-CSCF名称信息携带在用户注册状态查询响应(UAA)中返回给I-CSCF。
在IMS中,HSS位于归属网络,用于存储所有与用户和服务相关的数据,比如:用户身份、用户注册状态信息、接入参数和服务触发信息等;S-CSCF是IMS的核心所在,S-CSCF位于归属网络,为用户进行会话控制和注册服务;用户的注册状态包括三种:与网络没有建立任何连接的未注册(not registered)状态、已注册(registered)状态和已与网络建立连接但自身未发起过注册过程的被叫未注册(unregistered)状态。按照相关协议规定,用户的注册状态在HSS接收到来自S-CSCF的用户注册/撤销请求(SAR)后发生改变的:当UE退出网络,比如移动终端关机,则会触发用户撤销请求,HSS接收到该用户撤销请求后,将该移动终端存储在本地的注册状态更改为not registered状态;当UE完成注册后,会触发用户注册请求,HSS接收到该用户注册请求后,将该UE存储在本地的注册状态更改为registered状态;当UE被呼叫后,会触发SAR,HSS接收到该SAR后,将该UE存储在本地的注册状态更改为unregistered状态。这里只是说明UE的注册状态发生改变时,按照协议规定都会在HSS进行注册状态的更改,即HSS都会得知,具体的实现可参见相关协议。
按照协议规定,HSS接收到来自I-CSCF的UAR/LIR后,查询存储在本地的用户注册信息,并根据UE当前的注册状态确定返回的S-CSCF能力集或S-CSCF名称。如果UE还未分配到S-CSCF名称,即UE处于not registered状态,或者I-CSCF明确地请求S-CSCF能力时,S-CSCF能力集信息被携带在UAA中返回给I-CSCF;否则,即UE处于registered状态或unregistered状态时,UE已分配到S-CSCF,并将分配到的S-CSCF存储在了HSS中,所以此时,S-CSCF名称信息被携带在UAA中返回给I-CSCF。
步骤102~步骤103是UE在初始IMS注册过程中的第一次UAR/UAA过程,此时UE还未完成初始IMS注册,即记录在HSS的UE处于not registered状态,因此,在初始IMS注册的第一次UAR/UAA过程中,UAA中将携带S-CSCF能力集信息返回给I-CSCF。
步骤104~步骤105:I-CSCF根据UAA中携带的S-CSCF能力集信息,选择S-CSCF,并将已接收到的第一个Register请求发送给选定的S-CSCF。
按照3GPP TS 29.228协议和3GPP TS 29.229协议相关规定,能力集信息采用服务器-能力属性值对(AVP)来表示,I-CSCF具体根据AVP选择S-CSCF的方法可参见相关协议,这里不再赘述。
步骤106~步骤108:S-CSCF向HSS发送鉴权向量请求(MAR),索取UE的认证数据;HSS进行认证向量(AV)选择后,将选定的参与认证的多个AV携带在鉴权向量响应(MAA)中返回给S-CSCF。
UE认证依赖于预先配置好的共享密码,共享密码可以存储在UE的IP多媒体服务身份模块(ISIM)和网络的HSS中。由于S-CSCF用于用户授权,当S-CSCF需要对用户进行认证时,向HSS发送MAR以获得AV即可。
在HSS接收到MAR后,将存储在本地的悬而未决标识(PendingFlag)置为Pending态,以表示UE当前正处于认证过程中,保存并根据MAR中携带的为UE选择的S-CSCF名称信息,将选定的AV携带在MAA中返回给S-CSCF。
S-CSCF从HSS索取的AV主要包括:一个随机挑战(RAND)、所期望的结果(XRES)、网络认证令牌(AUTN)、完整性密码(IK)和加密密码(CK)。
步骤109~步骤113:S-CSCF通过I-CSCF和P-CSCF向UE发送401未授权响应来挑战UE,UE完成认证挑战后将认证挑战响应(RES)携带在第二个Register请求中经由P-CSCF发送给I-CSCF。
为了进行认证,S-CSCF采用401未授权响应来拒绝UE发起的第一个Register请求,401未授权响应中包含从HSS索取的AV;UE基于存储在本地ISIM中的共享密钥和接收到的AV中的RAND计算RES,并将计算得到的RES携带在第二个Register请求中发送给S-CSCF。关于计算方法可参见相关协议,这里不再赘述。
步骤114~步骤115:I-CSCF接收到第二个Register请求后,向HSS发起UAR,HSS根据用户当前注册状态,将S-CSCF能力集信息或S-CSCF名称信息携带在UAA中返回给I-CSCF。
本步骤的具体实现与步骤102~步骤103完全一致,这里不再重述。需要说明的是,此时,UE处于初始IMS注册过程中,且还未完成注册,所以在HSS中存储的UE当前注册状态仍然为not registered状态。按照协议规定,UE在本步骤初始IMS注册的第二次UAR/UAA过程中,HSS仍然在UAA中携带S-CSCF能力集信息并返回给I-CSCF。
步骤116:I-CSCF根据UAA中携带的S-CSCF能力集信息选择S-CSCF,并将第二个Register请求发送给选定的S-CSCF。
从步骤114~步骤115和步骤116可以看出,由于UE的初始IMS注册尚未完成,存储在HSS中的UE当前注册状态仍为not registered状态,按照协议规定,HSS只能将S-CSCF能力集信息携带在UAA中返回给I-CSCF,而I-CSCF也只能根据UAA中携带的S-CSCF能力集信息重新选择S-CSCF。这样的处理会带来一个问题,即第二次UAR/UAA过程中选择的S-CSCF与步骤104~步骤105的第一次UAR/UAA过程中选择的S-CSCF很有可能不相同。如果不相同,第二次UAR/UAA过程中选择的S-CSCF发现在自身不存在UE相关数据,会向UE发起初始化位置登记流程,如此反复,使得UE不能顺利实现初始IMS注册过程。
本步骤中,假设I-CSCF根据UAA中携带的S-CSCF能力集选择的S-CSCF与步骤104~步骤105中选择的S-CSCF是同一个S-CSCF,这样才能保证UE继续完成认证。
步骤117~步骤119:S-CSCF根据第二个Register请求中携带的RES对UE进行认证,认证通过后,S-CSCF向HSS发送用户注册请求(SAR),HSS接收到SAR后向S-CSCF返回用户注册响应(SAA)。
S-CSCF比较步骤106~步骤108中已从HSS索取的AV中的XRES与第二个Register请求中携带的RES是否相同,若相同,则S-CSCF认为UE通过认证;否则,认为对UE的认证失败。
SAR中携带S-CSCF名称信息,以通知HSS为通过认证的UE提供服务的S-CSCF。HSS接收到SAR后,将存储在本地的UE当前用户注册状态更改为Registered。
步骤120~步骤122:S-CSCF通过I-CSCF和P-CSCF向UE发送接受注册200OK响应,以接受UE发起的初始IMS注册。
从上述现有技术实现初始IMS注册的过程,可以看出,上述方法存在的问题在于:在两次UAR/UAA过程中,HSS中存储的用户注册状态没有发生改变,第一次UAR/UAA时,HSS中存储的用户的注册状态为notregistered状态;第二次UARUAA时,HSS中存储的用户的注册状态仍然为not registered状态。这样,按照协议规定,两次UAA中都只会携带S-CSCF能力集信息并由I-CSCF对S-CSCF进行选择,而不会携带S-CSCF名称信息。现有技术的处理,导致I-CSCF在收到第二次UAA后需要重新选择S-CSCF,而且不能保证此时选择的S-CSCF和第一次接收到UAA后选择的S-CSCF相同,从而使得此时选择的S-CSCF收到Register请求后,发现UE不存在,会向UE发起初始化位置登记流程,如此往复,不能顺利完成初始IMS注册。
发明内容
有鉴于此,本发明的主要目的在于提供一种实现初始因特网协议多媒体子系统注册的方法,能够保证初始IMS注册过程中两次选择的S-CSCF相同,顺利实现初始IMS注册。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种实现初始因特网协议多媒体子系统IMS注册的方法,归属用户服务器HSS接收到来自服务呼叫会话控制功能S-CSCF的鉴权向量请求后,该方法还包括以下步骤:
A.HSS选择认证向量并记录UE当前注册状态后,所述S-CSCF根据HSS返回的认证向量向UE发起认证挑战;
B.UE完成认证挑战后,将第二个Register请求发送问询呼叫会话控制功能I-CSCF;所述I-CSCF通知HSS进行用户注册状态查询,HSS接收到通知后,根据已记录在本地的UE当前注册状态判断是否为允许指定S-CSCF状态,若是,则HSS将存储在本地的S-CSCF名称信息返回给所述I-CSCF;否则,HSS将S-CSCF能力集信息返回给所述I-CSCF;
所述S-CSCF是在用户设备UE的第一个Register请求中选定的。
所述步骤B之后,该方法还包括:所述I-CSCF根据HSS返回的信息确定S-CSCF,并将接收到的第二个Register请求发送给确定好的S-CSCF,该S-CSCF对UE进行认证后更改UE当前注册状态为已注册registered状态。
所述I-CSCF根据HSS返回的信息确定S-CSCF的方法为:若HSS返回的信息为存储在本地的S-CSCF名称信息,则I-CSCF将所返回的S-CSCF名称信息对应的S-CSCF确定为当前S-CSCF;若HSS返回的信息为S-CSCF能力集信息,则根据所返回的S-CSCF能力集信息中的服务器-能力属性值对AVP确定当前S-CSCF。
所述HSS接收到所述S-CSCF的请求鉴权之前,该方法还包括:
a.所述UE经由代理呼叫会话控制功能P-CSCF将第一个注册Register请求发送给所述I-CSCF,所述I-CSCF接收到该第一个Register请求后,通知所述HSS进行用户注册状态查询;
b.所述HSS将S-CSCF能力集信息返回给所述I-CSCF;所述I-CSCF根据所述HSS返回的S-CSCF能力集信息选择S-CSCF并将选定的S-CSCF的名称存储在本地后,将接收到的第一个Register请求发送给选定的S-CSCF。
在步骤b中,所述HSS将S-CSCF能力集信息返回给I-CSCF之前,该方法还包括:HSS判断UE当前注册状态是否为允许指定S-CSCF状态,若是,则HSS将所述存储在本地的S-CSCF名称信息返回给I-CSCF;否则,HSS将S-CSCF能力集信息返回给I-CSCF。
步骤a中所述I-CSCF通知HSS进行用户注册状态查询的方法为:I-CSCF向HSS发送用户注册状态查询请求UAR;
步骤b中所述HSS将S-CSCF能力集信息返回给I-CSCF的方法为:将S-CSCF能力集信息携带在用户注册状态查询响应UAA中发送给I-CSCF。
步骤A中所述记录UE当前注册状态的方法为:所述HSS将自身存储的已有悬而未决标识Pending Flag置为Pending态。
步骤B中所述HSS判断UE是否为允许指定S-CSCF状态的方法为:
若UE当前注册状态为registered状态、或unregistered状态、或notregistered状态且Pending Flag被置为Pending态,则判定UE当前注册状态为允许指定S-CSCF状态;否则,判定UE当前注册状态不是允许指定S-CSCF状态。
步骤A中所述记录UE当前注册状态的方法为:
HSS判断所述选定的S-CSCF名称与HSS已存储的S-CSCF名称是否一致,若不一致,则HSS记录UE当前注册状态为认证状态Authentication Pending;否则,HSS继续判断UE当前的注册状态是否为unregistered状态或not registered状态,若是,则HSS记录UE当前注册状态为Authentication Pending状态;否则,HSS记录UE当前注册状态为registered状态。
步骤B中所述判断UE是否为允许指定S-CSCF状态的方法为:若UE当前注册状态为Authentication Pending状态或registered状态,则判定UE当前注册状态为允许指定S-CSCF状态;否则,判定UE当前注册状态不为允许指定S-CSCF状态。
步骤A中所述记录UE当前注册状态的方法为:存储所述鉴权向量请求中携带的S-CSCF名称信息在所述HSS。
步骤B中所述判断UE是否为允许指定S-CSCF状态的方法为:
若UE的当前公共用户身份注册状态为registered状态或unregistered状态或not registered状态但UE的其它公共用户身份注册状态中存在registered状态或unregistered状态;或者若UE的当前公共用户身份注册状态为not registered状态且UE的其它公共用户身份注册状态中均不存在registered状态或unregistered状态,同时在所述HSS中存储有为UE选择的S-CSCF名称信息,则判定UE当前注册状态为允许指定S-CSCF状态;否则,判定UE当前注册状态不是允许指定S-CSCF状态。
步骤B中所述I-CSCF通知HSS进行用户注册状态查询的方法为:I-CSCF向HSS发送用户注册状态查询请求UAR;
步骤B中所述HSS向I-CSCF返回S-CSCF能力集信息或S-CSCF名称信息的方法为:将S-CSCF能力集信息或S-CSCF名称信息携带在用户注册状态查询响应UAA中发送给I-CSCF。
步骤A中所述请求鉴权向量的方法为:S-CSCF将自身名称信息携带在鉴权向量请求MAR中发送给HSS;
步骤A中所述HSS返回认证向量的方法为:HSS将选择的认证向量携带在鉴权向量响应MAA中发送给选定的S-CSCF。
在步骤A中,所述HSS记录UE当前注册状态之后,该方法还包括:
若所述HSS接收到来自I-CSCF的用户位置查询请求LIR,且判定UE当前注册状态为not registered状态同时HSS自身存储的Pending Flag为Pending态,则所述HSS将自身存储的S-CSCF名称信息携带在LIA中返回I-CSCF;I-CSCF将会话初始化INVITE消息发送给LIA中携带的S-CSCF名称信息对应的S-CSCF;之后继续按照协议执行LIR/LIA流程直至结束该LIR/LIA流程。
在步骤A中,所述HSS记录UE当前注册状态之后,该方法还包括:
若所述HSS接收到来自I-CSCF的用户位置查询请求LIR,且判定UE的注册状态为Authentication Pending状态,或者为registered状态,则所述HSS将自身存储的S-CSCF名称信息携带在LIA中返回I-CSCF;I-CSCF将会话初始化INVITE消息发送给LIA中携带的S-CSCF名称信息对应的S-CSCF;之后继续按照协议执行LIR/LIA流程直至结束该LIR/LIA流程。
在步骤A中,所述HSS记录UE当前注册状态之后,该方法同时还包括:
若所述HSS接收到来自I-CSCF的用户位置查询请求LIR,且判定UE的当前公共用户身份注册状态为registered状态或unregistered状态或not registered状态但UE的其它公共用户身份注册状态中存在registered状态或unregistered状态;或者UE的当前公共用户身份注册状态为not registered状态且UE的其它公共用户身份注册状态中均不存在registered状态或unregistered状态同时在所述HSS中存储有为UIE选择的S-CSCF名称信息,则所述HSS将自身存储的S-CSCF名称信息携带在LIA中返回I-CSCF;I-CSCF将会话初始化INVITE消息发送给LIA中携带的S-CSCF名称信息对应的S-CSCF;之后继续按照协议执行LIR/LIA流程直至结束该LIR/LIA流程。
由上述技术方案可见,本发明在初始IMS注册过程中,HSS接收到S-CSCF发起的MAR后,HSS将进入认证状态的UE的当前注册状态记录为允许指定S-CSCF状态;此后,当HSS接收到I-CSCF发起的UAR时,HSS根据记录在本地的UE当前注册状态判断是否为允许指定S-CSCF状态,若是,则在UAA中携带S-CSCF名称信息并发送给I-CSCF;否则,在UAA中携带S-CSCF能力集信息并发送给I-CSCF。从本发明方法可以看出,只要UE已进入认证状态,并发起第二次Register请求,则在初始IMS注册过程的第二次UAR/UAA过程中,HSS必定将第一次UAR/UAA过程中已选定并存储在本地的S-CSCF名称信息携带在UAA中返回给I-CSCF,保证了两次UAR/UAA过程中使用的S-CSCF是相同的,从而使UE的初始IMS注册得以顺利实现。
同时,本发明方法保证了在初始IMS注册过程中,触发LIR/LIA过程时,I-CSCF能够将LIR/LIA过程中的相应消息转发至已经为用户分配的S-CSCF,保证了LIR/LIA过程的顺利完成。
附图简要说明
图1是现有技术实现初始IMS注册的流程图;
图2是本发明实现初始IMS注册的流程图;
图3是本发明初始IMS注册中一种确定用户注册状态的流程图;
图4是本发明初始IMS注册中记录用户注册状态的流程图。
实施本发明的方式
本发明的核心思想是:在UE发起的初始IMS注册过程中,HSS接收到S-CSCF发起的MAR后,HSS将进入认证过程的UE的当前注册状态记录为允许指定S-CSCF状态;而在HSS此后接收到I-CSCF发起的UAR后,HSS根据记录在本地的UE当前注册状态判断是否为允许指定S-CSCF状态,若是,则在UAA中携带S-CSCF名称信息并发送给I-CSCF;否则,在UAA中携带S-CSCF能力集信息并发送给I-CSCF。
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举较佳实施例,对本发明进一步详细说明。
图2是本发明实现初始IMS注册的流程图,假设在进行初始IMS注册之前,UE已获得一个IP连接承载,并且发现IMS系统的入口点P-CSCF,本发明初始IMS注册包括以下步骤:
步骤200~步骤201:UE向已发现的P-CSCF发送基于SIP的第一个Register请求,并通过该P-CSCF将第一个Register请求转发给I-CSCF。
本步骤实现与现有技术步骤100~步骤101完全一致,这里不再重述。
步骤202:I-CSCF向HSS发起UAR。
步骤203~步骤204:HSS根据记录在本地的UE当前注册状态判断UE当前注册状态是否为允许指定S-CSCF状态,若是,则在UAA中携带S-CSCF名称信息并发送给I-CSCF;否则,在UAA中携带S-CSCF能力集信息并发送给I-CSCF。
现有协议规定的用户的注册状态包括三种:not registered状态、registered状态和unregistered状态;而本发明中,规定用户的注册状态包括四种:not registered状态、registered状态、unregistered状态和新增的认证状态,其中,认证状态用于表明UE处于认证过程中的一种用户的注册状态。本发明中registered状态或unregistered状态或认证状态均属于允许指定S-CSCF状态。可以分别通过以下三种方法来确定UE当前注册状态:
方法一:根据现有协议规定的用户的三种注册状态,结合PendingFlag状态确定UE当前注册状态的方法。
图3是本发明初始IMS注册中一种确定用户注册状态的流程图,该方法包括以下步骤:
步骤2031~步骤2033:HSS接收到来自I-CSCF的UAR后,判断记录在本地的UE当前注册状态,若UE当前注册状态为registered状态或unregistered状态,则HSS将存储在本地的S-CSCF名称信息携带在UAA中返回给I-CSCF;若UE当前注册状态为not registered状态,则进入步骤2034。
步骤2034~步骤2036:HSS判断存储在本地的Pending Flag是否被置为Pending态,若是,则HSS将存储在本地的S-CSCF名称信息携带在UAA中返回给I-CSCF;否则,HSS将存储在本地的S-CSCF能力集信息携带在UAA中返回给I-CSCF。
本步骤中,虽然UE当前注册状态为not registered状态,但是如果HSS存储在本地的Pending Flag被置为Pending态,说明UE正处于认证中,即UE为认证状态,认证状态属于本发明的允许指定S-CSCF状态,所以当UE当前注册状态为not registered状态且Pending Flag被置为Pending态时,HSS将存储在本地的S-CSCF名称信息携带在UAA中返回给I-CSCF。
在步骤203~步骤204中,UAR/UAA过程是初始IMS注册的第一次UAR/UAA过程,UE刚进入初始IMS注册,即UE处于not registered且Pending Flag还未被置为Pending态,因此,UAA中将携带S-CSCF能力集信息返回给I-CSCF。
具体对UE当前注册状态的记录在下文步骤207~步骤209的MAR/MAA过程中进行描述。
方法二:根据记录的用户注册状态确定UE当前注册状态。
采用方法二之前,需新增一用于表示UE处于认证过程中的注册状态,即Authentication pending状态,这样,采用方法二时,UE的注册状态应包括四种:现有协议规定的not registered状态、registered状态和unregistered状态,以及新增的Authentication pending状态。具体对UE当前注册状态的记录在下文步骤207~步骤209的MAR/MAA过程中进行描述。
而在本步骤的UAR/UAA过程中,HSS只是根据记录的UE当前注册状态确定在UAA中携带S-CSCF名称信息还是S-CSCF能力集信息,若UE当前注册状态为允许指定S-CSCF状态,如Authentication pending状态或unregistered状态或registered状态,则HSS将存储在本地的S-CSCF名称信息携带在UAA中返回给I-CSCF;否则,HSS将存储在本地的S-CSCF能力集信息携带在UAA中返回给I-CSCF。
同样,采用方法二时,在步骤203~步骤204中,UAR/UAA过程是初始IMS注册的第一次UAR/UAA过程,UE刚进入初始IMS注册,即UE处于not registered状态,因此,UAA中将携带S-CSCF能力集信息。具体对UE当前注册状态的记录在下文步骤207~步骤209的MAR/MAA过程中进行描述。
方法三:根据现有协议规定的用户的三种注册状态,结合HSS中是否存有S-CSCF名称信息确定UE当前注册状态的方法。
一般,UE拥有惟一的私有用户身份,用私有标识(IMPI)来标识;有多个公共用户身份,各公共用户身份采用不同的公有标识(IMPU)来区分。
该方法三为:HSS接收到来自I-CSCF的UAR后,判断记录在本地的UE当前注册状态,若UE的当前公共用户身份注册状态为registered状态或unregistered状态或not registered状态但UE的其它公共用户身份注册状态中存在registered状态或unregistered状态,则UE当前注册状态为允许指定S-CSCF状态,HSS将自身存储的S-CSCF名称信息携带在UAA中返回给I-CSCF;若UE的当前公共用户身份注册状态为notregistered状态且UE的其它公共用户身份注册状态中均不存在registered状态或unregistered状态,则HSS进一步判断自身是否存储有为UE选择的S-CSCF名称信息,若存储有,则UE当前注册状态为允许指定S-CSCF状态,HSS将存储在本地的S-CSCF名称信息携带在UAA中返回给I-CSCF;若未存储,则HSS将存储在本地的S-CSCF能力集信息携带在UAA中返回给I-CSCF。
需要说明的是,虽然UE当前注册状态为not registered状态,但是如果HSS存储有为UE选择的S-CSCF名称信息,说明UE正处于认证中,即UE为认证状态,认证状态属于本发明的允许指定S-CSCF状态,所以当UE当前注册状态为not registered状态且HSS存储有S-CSCF名称信息时,HSS将该S-CSCF名称信息携带在UAA中返回给I-CSCF。
同样地,采用方法三时,在步骤203~步骤204中,UAR/UAA过程是初始IMS注册的第一次UAR/UAA过程,UE刚进入初始IMS注册,即UE处于not registered且HSS中还未存储有S-CSCF名称信息,因此,UAA中将携带S-CSCF能力集信息返回给I-CSCF。
步骤205~步骤206:I-CSCF根据UAA中携带的S-CSCF能力集信息,选择S-CSCF,并将已接收到的第一个Register请求发送给选定的S-CSCF。
本步骤的实现与现有技术步骤104~步骤105完全一致,这里不再重述。
步骤207~步骤209:S-CSCF向HSS发送MAR,索取UE的认证数据;HSS进行AV选择,并记录下UE当前注册状态后,将选定的参与认证的AV携带在MAA中返回给S-CSCF。
本步骤的实现与现有技术步骤106~步骤108基本一致,在HSS接收到MAR后,将自身存储的Pending Flag置为Pending状态,以表示UE当前正处于认证过程中,保存并根据MAR中携带的S-CSCF名称,将选定的AV携带在MAA中返回给S-CSCF。
不同的是,本步骤中除了完成现有技术步骤106~步骤108的所有过程外,HSS还将UE当前注册状态记录在本地。记录UE当前注册状态的方法,除了现有技术中的将Pending Flag置为Pending态,以进一步表示UE当前正处于初始IMS注册中的认证状态,以及保存MAR中携带的S-CSCF名称信息外,本发明还提供另一种记录UE当前注册状态方法:
图4是本发明初始IMS注册中记录用户注册状态的流程图,预先设置Authentication Pending状态用于表示UE当前处于初始IMS注册中的认证状态,本发明另一种记录用户注册状态的方法包括以下步骤:
步骤2081~步骤2083:HSS接收到来自S-CSCF的MAR后,判断MAR中携带的S-CSCF名称与HSS自身存储的S-CSCF名称是否一致,若不一致,则HSS记录UE当前注册状态为Authentication Pending状态;否则,进入步骤2084。
如果HSS中已经存储了给UE提供服务的S-CSCF的名称,而此时来自S-CSCF的MAR中携带的S-CSCF名称与HSS中存储S-CSCF名称不一致,按照相关协议规定,一定是完成了初始IMS注册的UE发生漫游等情况,重新获得了一个新的S-CSCF,所以,此时HSS记录UE当前注册状态为Authentication Pending状态。
步骤2084~步骤2086:HSS判断UE当前的注册状态是否为unregistered状态或not registered状态,若是,则HSS将UE当前注册状态更改为Authentication Pending状态;否则,HSS记录UE当前注册状态为registered状态。
从上述图4所示本发明记录用户注册状态的处理来看,只要UE进入认证状态,则UE的注册状态要么被记录为Authentication Pending,要么被记录为registered,这样将保证在第二次UAR/UAA过程中,HSS中存储的UE注册状态均为允许指定S-CSCF状态,即要求在UAA中携带第一次UAR/UAA过程中已存储在HSS中的S-CSCF名称,保证了两次UAR/UAA过程中使用相同的S-CSCF为UE提供注册服务,使得UE的初始IMS注册得以顺利执行。
值得注意的是,在步骤207~步骤209中,HSS接收并处理了S-CSCF发送的MAR后,在HSS就已经为用户保存了S-CSCF名称信息即第一次UAR/UAA过程选择的S-CSCF对应的S-CSCF名称信息,此时用户的公共用户身份的注册状态为not registered。如果在HSS接收并处理了S-CSCF发送的MAR后,触发IMS用户做被叫流程即LIR/LIA流程,LIR/LIA流程是独立的流程,此时,IMS注册流程同时继续执行后续步骤,依据3GPP TS29.228v6.7.0协议的描述,HSS接收到来自I-CSCF的用户位置查询请求(LIR)后,由于此时用户对应的公共用户身份的注册状态为not registered,HSS将S-CSCF能力集信息携带在用户位置查询响应(LIA)中返回I-CSCF;I-CSCF根据接收到的S-CSCF能力集信息选择一个S-CSCF,I-CSCF将会话初始化(INVITE)消息发送给当前选择的S-CSCF,之后继续按照协议执行LIR/LIA流程。现有技术这样的处理不能保证LIR/LIA流程中I-CSCF选择的S-CSCF与HSS在第一次UAR/UAA过程中选择的S-CSCF相同,从而使INVITE消息不能发送至第一次UAR/UAA过程选择的S-CSCF,这样S-CSCF发现UE不存在后,会向UE发起初始化位置登记流程,如此往复,不能顺利完成LIR/LIA流程。
如果采用本发明方法三来确定UE当前注册状态,那么,如果在HSS接收并处理了S-CSCF发送的MAR后,触发IMS用户做被叫流程,则处理方法为:HSS接收到来自I-CSCF的LIR后,由于此时用户对应的公共用户身份的注册状态为not registered且在HSS中为UE保存有S-CSCF名称信息,HSS判定UE当前注册状态为认证状态,因此,HSS将自身存储的S-CSCF名称信息携带在LIA中返回I-CSCF;I-CSCF将INVITE消息发送给接收到的S-CSCF名称信息对应的S-CSCF,之后继续按照协议执行LIR/LIA流程。可见,本发明方法保证了在初始IMS注册过程未完成,触发LIR/LIA流程时,I-CSCF能够将LIR/LIA流程中的相应消息转发至已经为用户分配的S-CSCF,保证了LIR/LIA流程的顺利完成。
另外,如果采用本发明方法二来确定UE当前注册状态,那么,如果在HSS接收并处理了S-CSCF发送的MAR后,触发IMS用户做被叫流程,则处理方法为:HSS接收到来自I-CSCF的LIR后,由于此时UE进入认证状态,则UE的注册状态要么被记录为Authentication Pending,要么被记录为registered,HSS中存储的UE注册状态均为允许指定S-CSCF状态,因此,HSS将自身存储的S-CSCF名称信息携带在LIA中返回I-CSCF;I-CSCF将INVITE消息发送给接收到的S-CSCF名称信息对应的S-CSCF,之后继续按照协议执行LIR/LIA流程。可见,本发明方法保证了在初始IMS注册过程未完成,触发LIR/LIA流程时,I-CSCF能够将LIR/LIA流程中的相应消息转发至已经为用户分配的S-CSCF,保证了LIR/LIA流程的顺利完成。
此外,如果采用本发明方法一来确定UE当前注册状态,那么,如果在HSS接收并处理了S-CSCF发送的MAR后,触发IMS用户做被叫流程,则处理方法为:HSS接收到来自I-CSCF的LIR后,虽然UE当前注册状态为not registered状态,但是HSS存储在本地的Pending Flag被置为了Pending态,说明UE正处于认证中,即UE为认证状态,因此,HSS将自身存储的S-CSCF名称信息携带在LIA中返回I-CSCF;I-CSCF将INVITE消息发送给接收到的S-CSCF名称信息对应的S-CSCF,之后继续按照协议执行LIR/LIA流程。可见,本发明方法保证了在初始IMS注册过程未完成,触发LIR/LIA流程时,I-CSCF能够将LIR/LIA流程中的相应消息转发至已经为用户分配的S-CSCF,保证了LIR/LIA流程的顺利完成。
步骤210~步骤214:S-CSCF通过I-CSCF和P-CSCF向UE发送401未授权响应来挑战该UE,UE将RES携带在第二个Register请求中经由P-CSCF发送给I-CSCF。
本步骤具体实现与现有技术步骤109~步骤113完全一致,这里不再重述。
步骤215:I-CSCF向HSS发起UAR。
步骤216~步骤217:HSS根据记录在本地的UE当前注册状态确定UE是否为允许指定S-CSCF状态,若是,则在UAA中携带S-CSCF名称信息并发送给I-CSCF;否则,在UAA中携带S-CSCF能力集信息并发送给I-CSCF。
本步骤的具体实现与步骤203~步骤204完全一致,这里不再重述。
需要说明的是,若采用本发明步骤203~步骤204中的方法一确定UE当前注册状态,那么,由于本步骤中UAR/UAA过程是初始IMS注册的第二次UAR/UAA过程,UE记录在HSS的注册状态虽然仍为notregistered,但Pending Flag已被置为Pending态,所以按照方法一步骤2034~步骤2036中的判断,UE处于认证状态,HSS将第一次UAR/UAA过程中选择的,步骤207~步骤209中存储在本地的S-CSCF名称信息携带在UAA中返回给I-CSCF。
若采用本发明步骤203~步骤204中的方法二确定UE当前注册状态,那么,由于在步骤207~步骤209,UE当前注册状态已被记录为Authentication Pending状态或registered状态,所以,HSS必将第一次UAR/UAA过程中选择的,步骤207~步骤209中存储在本地的S-CSCF名称信息携带在UAA中返回给I-CSCF。
若采用本发明步骤203~步骤204中的方法三确定UE当前注册状态,那么,由于本步骤中UAR/UAA过程是初始IMS注册的第二次UAR/UAA过程,UE记录在HSS的注册状态虽然仍为not registered,但是在HSS中存储有第一次UAR/UAA过程中选择的S-CSCF名称信息,所以按照方法三的处理,UE处于认证状态,HSS将该S-CSCF名称信息携带在UAA中返回给I-CSCF。
步骤218:I-CSCF根据UAA中携带的S-CSCF名称信息,将第二个Register请求发送给该S-CSCF名称对应的S-CSCF。
从步骤216~步骤217和步骤218的处理可以看出,通过本发明对UE不同注册状态的记录,在第二次UAR/UAA过程中,HSS将在第一次UAR/UA过程中选定并存储在本地的S-CSCF名称返回给了I-CSCF,保证了UE的第二次Register请求能顺利发送给接收第一次Register请求的S-CSCF,使UE的初始IMS注册得以顺利执行。
步骤219~步骤221:S-CSCF根据第二个Register请求中携带的RES对UE进行认证,认证通过后,S-CSCF向HSS发送SAR,HSS接收到SAR后向S-CSCF返回SAA。
本步骤具体实现与现有技术步骤117~步骤119完全一致,这里不再重述。
步骤222~步骤224:S-CSCF通过I-CSCF和P-CSCF向UE发送200OK响应,并通过该200OK响应接受UE发起的初始IMS注册。
本步骤具体实现与现有技术步骤120~步骤122完全一致,这里不再重述。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种实现初始因特网协议多媒体子系统IMS注册的方法,其特征在于,归属用户服务器HSS接收到来自服务呼叫会话控制功能S-CSCF的鉴权向量请求后,该方法还包括以下步骤:
A.HSS选择认证向量并记录UE当前注册状态后,所述S-CSCF根据HSS返回的认证向量向UE发起认证挑战;所述UE当前注册状态包括用于表明UE处于认证过程中的认证状态,所述认证状态属于允许指定S-CSCF状态;
B.UE完成认证挑战后,将第二个Register请求发送给问询呼叫会话控制功能I-CSCF;所述I-CSCF通知HSS进行用户注册状态查询,HSS接收到通知后,根据已记录在本地的UE当前注册状态判断是否为允许指定S-CSCF状态,若是,则HSS将存储在本地的S-CSCF名称信息返回给所述I-CSCF;否则,HSS将S-CSCF能力集信息返回给所述I-CSCF;
所述S-CSCF是在用户设备UE的第一个Register请求中选定的。
2.根据权利要求1所述的方法,其特征在于,所述步骤B之后,该方法还包括:所述I-CSCF根据HSS返回的信息确定S-CSCF,并将接收到的第二个Register请求发送给确定好的S-CSCF,该S-CSCF对UE进行认证后更改UE当前注册状态为已注册registered状态。
3.根据权利要求2所述的方法,其特征在于,所述I-CSCF根据HSS返回的信息确定S-CSCF的方法为:若HSS返回的信息为存储在本地的S-CSCF名称信息,则I-CSCF将所返回的S-CSCF名称信息对应的S-CSCF确定为当前S-CSCF;若HSS返回的信息为S-CSCF能力集信息,则根据所返回的S-CSCF能力集信息中的服务器-能力属性值对AVP确定当前S-CSCF。
4.根据权利要求1所述的方法,其特征在于,所述HSS接收到所述S-CSCF的请求鉴权之前,该方法还包括:
a.所述UE经由代理呼叫会话控制功能P-CSCF将第一个注册Register请求发送给所述I-CSCF,所述I-CSCF接收到该第一个Register请求后,通知所述HSS进行用户注册状态查询;
b.所述HSS将S-CSCF能力集信息返回给所述I-CSCF;所述I-CSCF根据所述HSS返回的S-CSCF能力集信息选择S-CSCF并将选定的S-CSCF的名称存储在本地后,将接收到的第一个Register请求发送给选定的S-CSCF。
5.根据权利要求4所述的方法,其特征在于,在步骤b中,所述HSS将S-CSCF能力集信息返回给I-CSCF之前,该方法还包括:HSS判断UE当前注册状态是否为允许指定S-CSCF状态,若是,则HSS将所述存储在本地的S-CSCF名称信息返回给I-CSCF;否则,HSS将S-CSCF能力集信息返回给I-CSCF。
6.根据权利要求4所述的方法,其特征在于,步骤a中所述I-CSCF通知HSS进行用户注册状态查询的方法为:I-CSCF向HSS发送用户注册状态查询请求UAR;
步骤b中所述HSS将S-CSCF能力集信息返回给I-CSCF的方法为:将S-CSCF能力集信息携带在用户注册状态查询响应UAA中发送给I-CSCF。
7.根据权利要求1所述的方法,其特征在于,步骤A中所述记录UE当前注册状态的方法为:所述HSS将自身存储的已有悬而未决标识Pending Flag置为Pending态。
8.根据权利要求7所述的方法,其特征在于,步骤B中所述HSS判断UE是否为允许指定S-CSCF状态的方法为:
若UE当前注册状态为registered状态、或unregistered状态、或UE当前注册状态为not registered状态且Pending Flag被置为Pending态,则判定UE当前注册状态为允许指定S-CSCF状态;否则,判定UE当前注册状态不是允许指定S-CSCF状态。
9.根据权利要求1所述的方法,其特征在于,步骤A中所述记录UE当前注册状态的方法为:
所述HSS判断所述选定的S-CSCF名称与HSS已存储的S-CSCF名称是否一致,若不一致,则HSS记录UE当前注册状态为认证状态Authentication Pending;否则,HSS继续判断UE当前的注册状态是否为unregistered状态或not registered状态,若是,则HSS记录UE当前注册状态为Authentication Pending状态;否则,HSS记录UE当前注册状态为registered状态。
10.根据权利要求9所述的方法,其特征在于,步骤B中所述判断UE是否为允许指定S-CSCF状态的方法为:若UE当前注册状态为Authentication Pending状态或registered状态,则判定UE当前注册状态为允许指定S-CSCF状态;否则,判定UE当前注册状态不是允许指定S-CSCF状态。
11.根据权利要求1所述的方法,其特征在于,步骤A中所述记录UE当前注册状态的方法为:存储所述鉴权向量请求中携带的S-CSCF名称信息在所述HSS。
12.根据权利要求11所述的方法,其特征在于,步骤B中所述判断UE是否为允许指定S-CSCF状态的方法为:
若UE的当前公共用户身份注册状态为registered状态或unregistered状态;或者若UE的当前公共用户身份注册状态为not registered状态但UE的其它公共用户身份注册状态中存在registered状态或unregistered状态;或者若UE的当前公共用户身份注册状态为not registered状态且UE的其它公共用户身份注册状态中均不存在registered状态或unregistered状态,同时在所述HSS中存储有为UE选择的S-CSCF名称信息,则判定UE当前注册状态为允许指定S-CSCF状态;否则,判定UE当前注册状态不是允许指定S-CSCF状态。
13.根据权利要求1所述的方法,其特征在于,步骤B中所述I-CSCF通知HSS进行用户注册状态查询的方法为:I-CSCF向HSS发送用户注册状态查询请求UAR;
步骤B中所述HSS向I-CSCF返回S-CSCF能力集信息或S-CSCF名称信息的方法为:将S-CSCF能力集信息或S-CSCF名称信息携带在用户注册状态查询响应UAA中发送给I-CSCF。
14.根据权利要求1所述的方法,其特征在于,步骤A中所述请求鉴权向量的方法为:S-CSCF将自身名称信息携带在鉴权向量请求MAR中发送给HSS;步骤A中所述HSS返回认证向量的方法为:HSS将选择的认证向量携带在鉴权向量响应MAA中发送给选定的S-CSCF。
15.根据权利要求1所述的方法,其特征在于,在步骤A中,所述HSS记录UE当前注册状态之后,该方法还包括:
若所述HSS接收到来自I-CSCF的用户位置查询请求LIR,且判定UE当前注册状态为not registered状态同时HSS自身存储的Pending Flag为Pending态,则所述HSS将自身存储的S-CSCF名称信息携带在用户位置查询响应LIA中返回I-CSCF;I-CSCF将会话初始化INVITE消息发送给LIA中携带的S-CSCF名称信息对应的S-CSCF;之后继续按照3GPP TS29.228v6.7.0协议执行LIR/LIA流程直至结束该LIR/LIA流程。
16.根据权利要求1所述的方法,其特征在于,在步骤A中,所述HSS记录UE当前注册状态之后,该方法还包括:
若所述HSS接收到来自I-CSCF的用户位置查询请求LIR,且判定UE的注册状态为Authentication Pending状态,或者为registered状态,则所述HSS将自身存储的S-CSCF名称信息携带在用户位置查询响应LIA中返回I-CSCF;I-CSCF将会话初始化INVITE消息发送给LIA中携带的S-CSCF名称信息对应的S-CSCF;之后继续按照3GPPTS29.228v6.7.0协议执行LIR/LIA流程直至结束该LIR/LIA流程。
17.根据权利要求1所述的方法,其特征在于,在步骤A中,所述HSS记录UE当前注册状态之后,该方法还包括:
若所述HSS接收到来自I-CSCF的用户位置查询请求LIR,且判定UE的当前公共用户身份注册状态为registered状态或unregistered状态,或UE的当前公共用户身份注册状态为not registered状态但UE的其它公共用户身份注册状态中存在registered状态或unregistered状态;或者UE的当前公共用户身份注册状态为not registered状态且UE的其它公共用户身份注册状态中均不存在registered状态或unregistered状态,同时在所述HSS中存储有为UE选择的S-CSCF名称信息,则所述HSS将自身存储的S-CSCF名称信息携带在用户位置查询响应LIA中返回I-CSCF;I-CSCF将会话初始化INVITE消息发送给LIA中携带的S-CSCF名称信息对应的S-CSCF;之后继续按照3GPP TS29.228v6.7.0协议执行LIR/LIA流程直至结束该LIR/LIA流程。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200510090109 | 2005-08-08 | ||
CN200510090109.X | 2005-08-08 | ||
CN200510115672.8 | 2005-11-08 | ||
PCT/CN2006/001641 WO2007016847A1 (fr) | 2005-08-08 | 2006-07-11 | Procédé de mise en œuvre d’enregistrement initial du sous-système multimédia du protocole internet |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101156371A CN101156371A (zh) | 2008-04-02 |
CN101156371B true CN101156371B (zh) | 2010-08-18 |
Family
ID=39256961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800119211A Active CN101156371B (zh) | 2005-08-08 | 2006-07-11 | 一种实现初始因特网协议多媒体子系统注册的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101156371B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002032084A2 (en) * | 2000-10-09 | 2002-04-18 | Nokia Corporation | Address de-registration from ip multimedia networks |
CN1642346A (zh) * | 2004-01-07 | 2005-07-20 | 华为技术有限公司 | 一种用户到归属签约用户服务器进行注册的方法 |
-
2006
- 2006-07-11 CN CN2006800119211A patent/CN101156371B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002032084A2 (en) * | 2000-10-09 | 2002-04-18 | Nokia Corporation | Address de-registration from ip multimedia networks |
CN1642346A (zh) * | 2004-01-07 | 2005-07-20 | 华为技术有限公司 | 一种用户到归属签约用户服务器进行注册的方法 |
Non-Patent Citations (3)
Title |
---|
Signallingflows and message contents.3GPP TS 29.228 V6.7.0.2005,3(29228670),1,9-11,20-24. * |
Technical Specification Group Core Network and Terminals.IP Multimedia (IM) Subsystem Cx and Dx interfaces * |
Technical Specification Group Core Network and Terminals.Signalling flows for the IP multimedia call control basedonSession Initiation Protocol (SIP)and Session DescriptionProtocol (SDP).3GPP TS 24.228 V5.13.0.2005,3(242285130),1,32-44. * |
Also Published As
Publication number | Publication date |
---|---|
CN101156371A (zh) | 2008-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1327681C (zh) | 一种实现初始因特网协议多媒体子系统注册的方法 | |
JP4944202B2 (ja) | 通信ネットワークにおけるアクセス情報の提供 | |
CN101091374B (zh) | Ip多媒体子系统接入方法和设备 | |
US8041349B2 (en) | Home subscriber server configuration method and system | |
CN101573934B (zh) | 在通信网络中的鉴别 | |
US20130046971A1 (en) | Authentication method, system and device | |
CN101106795B (zh) | 一种ims域隐含注册的方法 | |
CN101971592B (zh) | 接入地会话控制器、ip多媒体子系统及其注册会话方法 | |
US8270418B2 (en) | Access control in a communication network | |
CN103329499A (zh) | 服务网络节点的动态分配 | |
US9032483B2 (en) | Authenticating a communication device and a user of the communication device in an IMS network | |
US20130091546A1 (en) | Transmitting Authentication Information | |
CN101911651A (zh) | 保护联系信息的安全 | |
US9692835B2 (en) | Method and apparatuses for the provision of network services offered through a set of servers in an IMS network | |
CN106790055B (zh) | 一种ims系统的注册方法与装置 | |
CN103701780A (zh) | 一种鉴权方法和系统 | |
CN100433913C (zh) | 在ip多媒体子系统中实现注册的方法 | |
CN101156371B (zh) | 一种实现初始因特网协议多媒体子系统注册的方法 | |
CN101083838B (zh) | Ip多媒体子系统中的http摘要鉴权方法 | |
CN100562019C (zh) | Ip多媒体子系统中的操作处理方法和归属签约用户服务器 | |
CN102055754B (zh) | 一种无卡硬终端的初始化方法、系统和设备 | |
CN105635098B (zh) | Ims网络的注册方法及系统 | |
CN103607411A (zh) | 一种ims用户标识的处理方法及装置 | |
US8804698B2 (en) | Method and system for find me/ follow me in IMS through editing of IMS registrations at S-CSCF | |
CN101299874B (zh) | 用户数据返回方法、系统及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |