专利名称:一种确定何时发起服务呼叫控制功能选择的方法
技术领域:
本发明涉及网际协议(IP)多媒体子系统(IMS)域中发起服务呼叫控制功能(S-CSCF)选择的技术,特别涉及一种确定何时发起S-CSCF选择的方法。
背景技术:
随着宽带网络的发展,移动通信不仅仅局限于传统的语音通信,结合音频、视频、图片和文本等多种媒体业务将逐渐开展起来。多种媒体业务通过与呈现业务(presence)、短消息、网页(WEB)浏览、定位信息、推送业务(PUSH)和文件共享等数据业务的结合,可以满足用户的多种需求。
在多种数据业务应用的推动下,3GPP以及3GPP2等标准组织都先后推出了IMS架构,目的是在移动网络中使用一种标准化开放结构实现多种多样的多媒体业务应用,提供给用户更多的选择和更丰富的感受。
在3GPP版本5(R5,Release)阶段,引入了IMS,IMS叠加在分组域网络之上,由呼叫状态控制功能(CSCF)、媒体网关控制功能(MGCF)、媒体资源功能(MRF)和归属签约用户服务器(HSS)等功能实体组成,其中CSCF又可以分为S-CSCF、代理CSCF(P-CSCF)和查询CSCF(I-CSCF)三个逻辑实体。S-CSCF是IMS的业务交换中心,执行会话控制,维持会话状态,负责管理用户信息,产生计费信息等;P-CSCF是终端用户接入IMS的接入点,完成用户注册,负责业务质量(QoS)控制和安全管理等,I-CSCF负责IMS域之间的互通,管理S-CSCF的分配和选择,对外隐藏网络拓扑和配置,产生计费数据等。MGCF控制网关,实现IMS和其它网络的互通。MRF提供媒体资源。HSS存储IMS用户的签约数据和配置信息等。
在IMS中,使用会话发起(SIP)协议作为IP多媒体会话的信令控制协议;HSS和I-CSCF以及HSS和S-CSCF之间的Cx接口上使用Diameter协议来进行信息交互。
IMS也可以应用在3GPP2中定义的分组网络、无线局域(WLAN)网络或下一代(NGN)网络中。
目前,当用户要接入IMS时,必须采用已经签约的公共用户标识到IMS网络侧进行注册,公共用户标识用于在IMS网络中标识用户。一个用户可以具有一个或一个以上的已经签约的公共用户标识。
当用户在IMS中注册时的过程如图1所示,其具体步骤为步骤100、用户向I-CSCF发起携带该用户公共用户标识的注册(REGISTER)消息。
步骤101、I-CSCF接收到该消息,向HSS发送携带该用户公共用户标识的查询请求,查询该用户当前的注册状态。
步骤102、HSS根据该请求携带的该用户公共用户标识判断该用户当前的注册状态为已注册状态、未注册状态还是注销状态。
用户的注册状态分为三种已注册状态、未注册状态和注销状态。已注册状态是指该用户已经主动注册,并在已注册状态下分配了S-CSCF;未注册状态是指该用户没有注册,但是曾经作为被访问的对象时分配了S-CSCF。
步骤1 03、如果该用户的注册状态为已注册状态,则HSS直接向I-CSCF返回为该用户提供服务的S-CSCF。
步骤104、如果该用户的注册状态为未注册状态,则HSS向I-CSCF返回该用户的S-CSCF能力信息和已经分配了的S-CSCF,I-CSCF根据上述信息决定是否发起该用户的S-CSCF选择;该用户的S-CSCF能力信息是根据用户存储在HSS的签约数据中获取的。
步骤105、如果该用户的注册状态为注销状态,则HSS向I-CSCF返回该用户的S-CSCF能力信息,使I-CSCF根据该用户的S-CSCF能力信息发起该用户的S-CSCF选择。
当用户第一次注册时,由于HSS中存储的用户注册状态只能为未注册状态或注销状态,所以相应的执行步骤104或步骤105即可。
同样的,当用户作为被访问的对象时,I-CSCF得到携带了该用户的公共用户标识的访问请求,I-CSCF向HSS发送查询请求,根据该请求携带的公共用户标识确定用户,判断该用户的注册状态如果为已注册状态或者未注册状态时,HSS会直接将保存的为该用户服务的S-CSCF返回给I-CSCF使用;如果为注销状态时,HSS可以根据得到的公共用户标识,找到该用户的签约数据,在返回查询请求消息中返回满足用户最严格业务签约要求的S-CSCF能力信息。
从上述描述可以看出,当用户注册过程中,如果该用户在HSS中保存的状态不是已注册状态,则HSS就会将该用户的S-CSCF能力信息发送给I-CSCF,进而使I-CSCF有很大可能发起一次无效的S-CSCF选择,增加Cx接口负荷,同时对I-CSCF处理能力提出了很高的要求。当用户作为被访问对象时,如果该用户在HSS保存的注册状态为注销状态时,则HSS直接就将该用户的S-CSCF能力信息发送给I-CSCF,而不进行其他有效的防止选择S-CSCF的措施,从而也可能使I-CSCF发起一次无效的S-CSCF选择过程,增加Cx接口负荷,同时对I-CSCF处理能力提出了很高的要求。
发明内容
有鉴于此,本发明的主要目的在于提供一种确定何时发起S-CSCF选择的方法,该方法能够防止发起无效的S-CSCF选择,减小Cx接口负荷,降低对I-CSCF处理能力的要求。
根据上述目的,本发明的技术方案是这样实现的一种确定何时发起服务呼叫控制功能选择的方法,该方法包括A、查询呼叫控制功能I-CSCF向归属签约用户服务器HSS发送携带公共用户标识的查询请求;B、HSS根据该请求携带的公共用户标识确定用户,根据所存储的该用户配置信息判断该用户当前的注册状态是否为已注册状态,如果是,将所存储的为该用户服务的服务呼叫控制功能S-CSCF发送给I-CSCF;否则,执行步骤C;C、HSS判断是否存储了为该用户分配的S-CSCF,如果是,执行步骤D;否则,HSS从所存储的该用户签约数据中获取符合该用户最严格业务签约要求的S-CSCF能力信息发送给I-CSCF进行S-CSCF选择。
D、HSS判断是否不满足设置的S-CSCF选择条件,如果是,则将为该用户分配的S-CSCF作为给该用户服务的S-CSCF发送给I-CSCF;否则,HSS从所存储的该用户签约数据中获取符合该用户最严格业务签约要求的S-CSCF能力信息和为该用户分配的S-CSCF发送给I-CSCF,决定是否进行S-CSCF选择。步骤D所述设置的S-CSCF选择条件为HSS所存储的用户签约数据更改导致S-CSCF能力信息变化、或者S-CSCF配置更改导致S-CSCF能力信息变化。
HSS给满足选择S-CSCF条件的用户设置选择标志位;步骤D所述判断是否不满足设置的S-CSCF选择条件过程为判断该用户是否具有选择标志位,如果有,则符合S-CSCF选择条件;否则,则不符合S-CSCF选择条件;步骤D所述HSS获取符合该用户签约要求的S-CSCF能力信息发送给I-CSCF进行S-CSCF选择之后,该方法还包括HSS清除给该用户设置的标志位。
如果HSS判断该用户当前的注册状态为注销状态时,在步骤C之前,该方法还包括C1、判断所存储该用户的除了查询请求携带的公共用户标识的其它公共用户标识是否已经注册,如果是,将所存储的为具有这个其他公共用户标识的该用户服务的S-CSCF发送给I-CSCF;否则,执行步骤C的后续过程。
步骤C所述为该用户分配的S-CSCF是在该用户作为访问对象时分配并存储在HSS中。
步骤A所述查询请求为注册状态查询请求(Cx-Query或Cx-Select-Pull)、或者用户位置查询请求(Cx-Location-Query)。
一种确定何时发起服务呼叫控制功能选择的方法,在满足该用户S-CSCF选择条件时直接通过HSS本地操作维护的方式将重新选择的S-CSCF进行保存;该方法还包括A1、I-CSCF向HSS发送携带公共用户标识和希望选择S-CSCF标识的查询请求;B1、HSS判断该请求是否携带希望选择S-CSCF标识,如果是,HSS根据该请求携带的公共用户标识确定用户,从所存储的该用户签约数据中获取符合该用户最严格业务签约要求的S-CSCF能力信息和已分配的S-CSCF发送给I-CSCF,决定是否进行S-CSCF选择;否则,直接将所存储的为该用户服务的S-CSCF发送给I-CSCF。
所述设置的S-CSCF选择条件为HSS所存储的用户签约数据更改导致S-CSCF能力信息变化、或者S-CSCF配置更改导致S-CSCF能力信息变化。
步骤A所述查询请求为注册状态查询请求(Cx-Query或Cx-Select-Pull)、或者用户位置查询请求(Cx-Location-Query)。
从上述方案可以看出,当HSS收到I-CSCF发送的查询具有公共用户标识的用户注册状态请求时,如果判断得到该用户当前的注册状态不是已注册状态并且已经分配了S-CSCF,并不像现有技术那样直接给I-CSCF发送该用户的S-CSCF能力信息,而是预先在HSS中设置选择S-CSCF条件,如果满足该条件,再给I-CSCF发送该用户的S-CSCF能力信息,否则,将给该用户已经分配的S-CSCF发送给I-CSCF为该用户提供S-CSCF服务。因此,由于选择S-CSCF条件可以按照需要设置,所以本发明提供的方法可以减少发起S-CSCF选择次数,能够防止发起无效的S-CSCF选择,减小Cx接口负荷,降低对I-CSCF处理能力的要求。
图1为当用户在IMS中注册时的过程流程图。
图2为本发明在用户第一次注册时确定何时进行S-CSCF选择的流程图。
图3为本发明在注册过程中确定何时进行S-CSCF选择的流程图。
具体实施例方式
为了使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进行进一步详细的说明。
在本发明中,S-CSCF的选择发生在以下情况1、在用户注册时,如果以前分配的S-CSCF目前不可用了,HSS就必须给I-CSCF发送该用户的S-CSCF能力信息,以供I-CSCF进行选择;2、在用户第一次注册时,HSS判断是否已经在这个未注册用户作为访问对象时分配了S-CSCF,如果已经分配了,则HSS需要判断是否要发起S-CSCF的选择,如果需要,则在查询请求的返回消息中返回I-CSCF选择S-CSCF所需的能力信息和已经分配的S-CSCF,并将选择后的S-CSCF进行保存,否则,直接将该用户作为访问对象时分配了S-CSCF发送给I-CSCF。
图2为本发明在用户第一次注册时确定何时进行S-CSCF选择的流程图,其具体步骤为步骤200、I-CSCF收到用户发送的携带该用户公共用户标识的第一次注册消息;步骤201、I-CSCF向HSS发送携带了该用户公共用户标识的查询请求;步骤202、HSS根据该请求携带的该用户公共用户标识确定该用户,判断是否已经为该用户分配了S-CSCF,如果是,执行步骤203;否则,执行步骤204;步骤203、HSS判断该用户是否满足发起S-CSCF选择条件,如果是,执行步骤206;否则,执行步骤205;步骤204、按照现有技术,HSS根据该请求携带的该用户公共用户标识,查询到该用户的签约数据,在返回查询请求消息中携带满足该用户最严格业务签约要求的S-CSCF能力信息,供I-CSCF选择S-CSCF时使用,将选择后的S-CSCF进行保存;步骤205、HSS将该用户已经分配的S-CSCF携带在返回查询请求的消息中发送给I-CSCF;步骤206、按照现有技术,HSS根据该请求携带的该用户公共用户标识,查询到该用户的签约数据,在返回查询请求消息中携带满足该用户最严格业务签约要求的S-CSCF能力信息和已经分配了的S-CSCF,I-CSCF根据上述信息决定是否发起该用户的S-CSCF选择。
当用户在进行除了第一次注册时的注册过程中,或者作为访问对象被访问时,何时进行S-CSCF选择呢?如图3所示,图3为本发明在注册过程中确定何时进行S-CSCF选择的流程图,其具体步骤为步骤300、I-CSCF接收到用户发起的注册消息(REGESITE)或访问该用户的消息(INVITE),向HSS发送携带该用户公共用户标识的查询请求,查询该用户当前的注册状态;步骤301、HSS根据该请求携带的该用户公共用户标识确定该用户,判断该用户当前的注册状态为已注册状态、未注册状态还是注销状态;步骤302、如果该用户的注册状态为已注册状态,则按照现有技术处理,即HSS直接向I-CSCF返回为该用户提供服务的S-CSCF;步骤303、如果该用户的注册状态为未注册状态,则HSS判断是否满足发起S-CSCF选择的条件,如果是,执行步骤304;否则,执行步骤305;步骤304、按照现有技术,HSS根据该查询请求携带的该用户公共用户标识,查询到该用户的签约数据,在返回查询请求消息中携带满足该用户最严格业务签约要求的S-CSCF能力集信息和已经分配的S-CSCF发送给I-CSCF,供I-CSCF决定是否选择S-CSCF时使用;步骤305、HSS将该用户已经分配的S-CSCF携带在返回查询请求的消息中发送给I-CSCF;步骤306、如果该用户的注册状态为注销状态,则HSS判断其存储的该用户具有的其他公共用户标识对应的注册状态,如果为未注册状态,执行步骤309;如果为已注册状态,执行步骤308;如果为注销状态,执行步骤307;步骤307、HSS根据该查询请求携带的该用户公共用户标识,查询到该用户的签约数据,在返回查询请求消息中携带满足该用户最严格业务签约要求的S-CSCF能力信息,供I-CSCF选择S-CSCF时使用,将选择后的S-CSCF进行保存;步骤308、HSS将为该用户具有的其他公共用户标识分配的S-CSCF携带在返回查询请求的消息中发送给I-CSCF;步骤309、HSS根据这个其他公共用户标识判断是否满足发起S-CSCF选择条件,如果是,执行步骤304;否则,执行步骤308。
在图2和图3中,满足发起S-CSCF选择条件可以由运营商在具体组网的时候配置在HSS中,这些发起S-CSCF选择条件可以为当HSS中存储的用户签约数据发生变化,导致根据用户签约数据选择的S-CSCF能力信息发生变化,那么HSS认为是满足了发起S-CSCF选择条件;当S-CSCF的配置发生变化并且原先S-CSCF支持能力不是更新后S-CSCF支持能力的子集,那么HSS认为是满足了发起S-CSCF选择条件。类似的条件还可以根据运营商的网络配置和运营情况增加设置。
HSS可以在满足S-CSCF选择的条件时设置对应的标志位,当下次接受该S-CSCF服务的用户发起注册、或者重新注册、或者作为未注册的被访问对象的时候,根据该标志位决定要通知I-CSCF发起S-CSCF的选择过程,当选择的S-CSCF保存在HSS中之后,清除这个标志位,从而可以保证当前为用户服务的S-CSCF一定是能够满足该用户所有签约数据要求的S-CSCF。
本发明除了采用上述方法确定何时进行S-CSCF的选择过程之外,还可以由运营商自己确定何时进行S-CSCF的选择过程。这个过程为当HSS中的设置发生变化,比如用户的签约数据更新、或者S-CSCF的配置升级等等,导致需要重新为用户选择一个服务的S-CSCF,HSS可以通过操作维护的方式直接在本地的数据库中进行修改。当下次I-CSCF向HSS查询当前为该用户服务的S-CSCF的时候,得到的直接就是能够满足签约业务要求的S-CSCF,因此不需要后续的S-CSCF选择过程。
采用由运营商自己确定何时进行S-CSCF选择的方法,HSS只有在I-CSCF要求要进行S-CSCF选择的时候,即I-CSCF在注册状态查询请求(Cx-Query或Cx-Select-Pull)、或者用户位置查询请求(Cx-Location-Query)中携带希望选择S-CSCF标识,HSS才返回S-CSCF能力信息和已经分配的S-CSCF,供I-CSCF决定是否进行S-CSCF选择。否则,在收到I-CSCF的查询请求之后,HSS判断是否已经为该用户分配了S-CSCF,如果没有,那么HSS返回满足用户最严格签约要求的S-CSCF能力信息给I-CSCF,否则,不用判断是否满足需要发起S-CSCF选择的条件,直接返回保存的已注册状态下的S-CSCF给I-CSCF。
本发明通过确定发起S-CSCF选择的真正时机,实现只有在满足运营商设置的发起S-CSCF选择的条件时,HSS才通知I-CSCF发起S-CSCF选择,避免了在Cx接口上传递大量冗余信息,造成设备的负担,浪费处理能力。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种确定何时发起服务呼叫控制功能选择的方法,其特征在于,该方法包括A、查询呼叫控制功能I-CSCF向归属签约用户服务器HSS发送携带公共用户标识的查询请求;B、HSS根据该请求携带的公共用户标识确定用户,根据所存储的该用户配置信息判断该用户当前的注册状态是否为已注册状态,如果是,将所存储的为该用户服务的服务呼叫控制功能S-CSCF发送给I-CSCF;否则,执行步骤C;C、HSS判断是否存储了为该用户分配的S-CSCF,如果是,执行步骤D;否则,HSS从所存储的该用户签约数据中获取符合该用户最严格业务签约要求的S-CSCF能力信息发送给I-CSCF进行S-CSCF选择。D、HSS判断是否不满足设置的S-CSCF选择条件,如果是,则将为该用户分配的S-CSCF作为给该用户服务的S-CSCF发送给I-CSCF;否则,HSS从所存储的该用户签约数据中获取符合该用户最严格业务签约要求的S-CSCF能力信息和为该用户分配的S-CSCF发送给I-CSCF,决定是否进行S-CSCF选择。
2.如权利要求1所述的方法,其特征在于,步骤D所述设置的S-CSCF选择条件为HSS所存储的用户签约数据更改导致S-CSCF能力信息变化、或者S-CSCF配置更改导致S-CSCF能力信息变化。
3.如权利要求1所述的方法,其特征在于,HSS给满足选择S-CSCF条件的用户设置选择标志位;步骤D所述判断是否不满足设置的S-CSCF选择条件过程为判断该用户是否具有选择标志位,如果有,则符合S-CSCF选择条件;否则,则不符合S-CSCF选择条件;步骤D所述HSS获取符合该用户签约要求的S-CSCF能力信息发送给I-CSCF进行S-CSCF选择之后,该方法还包括HSS清除给该用户设置的标志位。
4.如权利要求1所述的方法,其特征在于,如果HSS判断该用户当前的注册状态为注销状态时,在步骤C之前,该方法还包括C1、判断所存储该用户的除了查询请求携带的公共用户标识的其它公共用户标识是否已经注册,如果是,将所存储的为具有这个其他公共用户标识的该用户服务的S-CSCF发送给I-CSCF;否则,执行步骤C的后续过程。
5.如权利要求1所述的方法,其特征在于,步骤C所述为该用户分配的S-CSCF是在该用户作为访问对象时分配并存储在HSS中。
6.如权利要求1所述的方法,其特征在于,步骤A所述查询请求为注册状态查询请求(Cx-Query或Cx-Select-Pull)、或者用户位置查询请求(Cx-Location-Query)。
7.一种确定何时发起服务呼叫控制功能选择的方法,其特征在于,在满足该用户S-CSCF选择条件时直接通过HSS本地操作维护的方式将重新选择的S-CSCF进行保存;该方法还包括A1、I-CSCF向HSS发送携带公共用户标识和希望选择S-CSCF标识的查询请求;B1、HSS判断该请求是否携带希望选择S-CSCF标识,如果是,HSS根据该请求携带的公共用户标识确定用户,从所存储的该用户签约数据中获取符合该用户最严格业务签约要求的S-CSCF能力信息和已分配的S-CSCF发送给I-CSCF,决定是否进行S-CSCF选择;否则,直接将所存储的为该用户服务的S-CSCF发送给I-CSCF。
8.如权利要求7所述的方法,其特征在于,所述设置的S-CSCF选择条件为HSS所存储的用户签约数据更改导致S-CSCF能力信息变化、或者S-CSCF配置更改导致S-CSCF能力信息变化。
9.如权利要求7所述的方法,其特征在于,步骤A所述查询请求为注册状态查询请求(Cx-Query或Cx-Select-Pull)、或者用户位置查询请求(Cx-Location-Query)。
全文摘要
本发明公开了一种确定何时发起服务呼叫控制功能选择的方法,当HSS收到I-CSCF发送的查询具有公共用户标识的用户注册状态请求时,如果判断得到该用户当前的注册状态不是已注册状态并且已经分配了S-CSCF,预先在HSS中设置选择S-CSCF条件,如果满足该条件,再给I-CSCF发送该用户的S-CSCF能力信息,否则,将给该用户已经分配的S-CSCF发送给I-CSCF为该用户提供S-CSCF服务。该方法能够防止发起无效的S-CSCF选择,减小Cx接口负荷,降低对I-CSCF处理能力的要求。
文档编号H04L29/06GK1770687SQ200410090289
公开日2006年5月10日 申请日期2004年11月5日 优先权日2004年11月5日
发明者朱东铭, 武亚娟 申请人:华为技术有限公司