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.X | 2005-08-08 | ||
CN200510090109 | 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 | |
CN101106795B (zh) | 一种ims域隐含注册的方法 | |
CN101573934B (zh) | 在通信网络中的鉴别 | |
US20130046971A1 (en) | Authentication method, system and device | |
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 | |
WO2006136097A1 (fr) | Procédé pour traiter une anomalie lors de la procédure d'inscription d'un utilisateur | |
KR20150058534A (ko) | 인증 정보 전송 | |
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多媒体子***中的操作处理方法和归属签约用户服务器 | |
CN105635098B (zh) | Ims网络的注册方法及*** | |
CN113162886A (zh) | Pbx注册方法、设备及*** | |
CN103607411A (zh) | 一种ims用户标识的处理方法及装置 | |
CN102055754A (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 |