一种业务触发点的匹配方法转让专利

申请号 : CN200410092031.0

文献号 : CN1770764B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 武亚娟

申请人 : 华为技术有限公司

摘要 :

本发明公开了一种业务触发点的匹配方法,本发明将用户公共用户标识对应的注册状态只设置在用户描述文件中的ProfilePartlndicator中,而在相应的Service Point Trigger中不设置用户公共用户标识对应的注册状态,只设置具有该公共用户标识的用户是会话发起方还是会话结束方,从而在进行SIP消息匹配时,只在用户描述文件的ProfilePartlndicator中区分该SIP消息携带的公共用户标识对应的是已注册状态还是未注册状态,从而分配相应的Service PointTrigger,Service Point Trigger再对该SIP消息要传输给会话发起方还是会话终结方进行匹配。因此,该方法不仅能够删除用户描述文件中的冗余信息,减轻S-CSCF设备处理信息的负担,而且使用户描述文件的数据结构更为清晰。

权利要求 :

1.一种业务触发点的匹配方法,其特征在于,设置用户描述文件中业务触发点的会话方向属性为会话发起方或会话终结方,该方法包括:A、服务呼叫状态控制功能S-CSCF接收到携带公共用户标识的会话发起协议SIP消息;

B、S-CSCF获取具有该公共用户标识的用户描述文件,根据该用户描述文件中的初始过滤规则中的文件内容指示确定具有该公共用户标识的用户是否已注册,如果是,执行步骤C;否则,执行步骤D;

C、S-CSCF将属性为已注册的该用户描述文件初始过滤规则的文件内容指示的业务触发点中的会话方向属性和收到的SIP消息进行匹配,如果执行该SIP消息的会话方向和业务触发点的会话方向属性相同,都为会话发起方或会话终结方,则匹配成功,否则,匹配失败;

D、S-CSCF将属性为未注册的该用户描述文件初始过滤规则的文件内容指示的业务触发点中的会话方向属性和收到的SIP消息进行匹配,如果执行该SIP消息的会话方向和业务触发点的会话方向属性相同,都为会话发起方或会话终结方,则匹配成功,否则,匹配失败。

2.如权利要求1所述的方法,其特征在于,所述的用户描述文件中业务触发点的会话方向属性是构成用户描述文件初始过滤规则中的业务触发点的一个组成元素。

3.如权利要求1所述的方法,其特征在于,步骤B所述的用户描述文件是从S-CSCF本地或者归属签约用户服务器HSS中获取的。

4.如权利要求1所述的方法,其特征在于,在步骤C中确定该SIP消息的会话方向和业务触发点的会话方向属性相同的步骤之后,该方法还包括:将业务触发点中的其他属性和该SIP消息进行匹配,直到匹配成功。

5.如权利要求1所述的方法,其特征在于,在步骤D中确定该SIP消息的会话方向和业务触发点的会话方向属性相同的步骤之后,该方法还包括:将业务触发点中的其他属性和该SIP消息进行匹配,直到匹配成功。

说明书 :

技术领域

本发明涉及多媒体子系统(IMS)中匹配业务描述文件技术,特别涉及一种业务触发点的匹配方法。

背景技术

随着宽带网络的发展,移动通信不仅仅局限于传统的语音通信,结合音频、视频、图片和文本等多种媒体业务将逐渐开展起来。多种媒体业务通过与呈现业务(presence)、短消息、网页(WEB)浏览、定位信息、推送业务(PUSH)和文件共享等数据业务的结合,可以满足用户的多种需求。
在多种数据业务应用的推动下,3GPP以及3GPP2等标准组织都先后推出了IMS架构,目的是在移动网络中使用一种标准化开放结构实现多种多样的多媒体业务应用,提供给用户更多的选择和更丰富的感受。
在3GPP版本5(R5,Release)阶段,引入了IMS,IMS叠加在分组域网络之上,由呼叫状态控制功能(CSCF)、媒体网关控制功能(MGCF)、媒体资源功能(MRF)和归属签约用户服务器(HSS)等功能实体组成,其中CSCF又可以分为服务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)网络中。
目前,S-CSCF都是根据从HSS中下载的用户描述文件来执行业务控制的,下载后的用户描述文件可以保存在S-CSCF中,也可以在使用完了就删除,下次使用时再次从HSS下载。S-CSCF根据所收到SIP消息中的各种信息单元和从HSS中下载的用户描述文件进行匹配,如果匹配成功,则将所收到的SIP消息转发给和业务触发点(Service Point Trigger)对应的应用服务器(AS,Application Server)处理。
用户描述文件的数据结构模型如图1所示,具有一个私有用户标识(Private User Identity)和IMS签约(IMS Subscription)作为属性参数,其还包括一个或多个业务描述文件(Service Profile)。
其中,每个Service Profile的数据结构模型如图2所示,包括:一个或多个和该Service Profile相关的公共用户标识(Public Identification)、至多一个Service Profile下的核心网业务授权(Core Network ServiceAuthorization)、初始过滤规则(Initial Filter Criteria)和共用初始过滤规则组(Shared iFC Set)。Initial Filter Criteria和Shared iFC Set可以应用在这一个或多个Public Identification,数量为零个或多个。Initial Filter Criteria包含Service Point Trigger的相关信息,Shared iFC Set是一组可供多个业务描述文件共用的初始过滤规则的集合。
Initial Filter Criteria的数据结构模型如图3所示,Initial Filter Criteria的属性包括优先级(Priority)和文件内容指示(ProfilePartlndicator)。其中,Priority是指Initial Filter Criteria进行匹配的优先顺序;ProfilePartlndicator指示用于标识Initial Filter Criteria属于用户描述文件的注册相关部分还是未注册相关部分,如果ProfilePartlndicator不指示时,说明Initial Filter Criteria同时和用户描述文件的注册以及未注册相关,即通用的。Initial Filter Criteria中包含0个或者一个触发点(Trigger Point)和一个AS,其中Trigger Point描述所有用于检查以便发现要联系AS的Service Point Trigger,即TriggerPoint由一个或多个Service Point Trigger组成,AS定义了Service PointTrigger匹配成功之后要交互的AS,包含0个或者一个业务信息(ServiceInformation),用于下载到S-CSCF然后透传到对应的AS。
Initial Filter Criteria中可以有一个或者多个Service Point Trigger用于匹配收到的SIP请求消息,将匹配成功的SIP请求消息发送到对应的AS,为了让S-CSCF能够按照所设置顺序处理多个Initial Filter Criteria,每个InitialFilter Criteria被分配了一个Priority。
Service Point Trigger指的是SIP消息中属于Initial Filter Criteria的触发点,其数据结构模型如图4所示,包含各个用于配置成匹配表达式的元素,包括标识SIP消息中要建立会话的对端标识(Request-URI),使用某个SIP方法(SIP Method),如注册(REGISTER),邀请(INVITE),签约(SUBSCRIBE),消息(MESSAGE)等,任何一个SIP头部(SIP Header)以及该头部的内容,会话方向(Session Case)和会话描述信息(SessionDescription)。Trigger Point的属性中还包括注册类型(Registration Type),Registration Type只有当SIP Method是REGISTER的时候才有用,用于指示Service Point Trigger要匹配的注册消息是和初始注册、重新注册还是注销相关的。
每个Initial Filter Criteria是由最基本的Service Point Trigger属性中的元素使用布尔运算符AND、OR和NOT构成的,一个例子:
一个Service Point Trigger的属性组成:
Method=“INVITE”OR Method=“MESSAGE”OR(Method=”SUBSCRIBE”AND NOT Header=“from”Content=“joe”),其中INVITE和MESSAGE和SUBSCRIBE都是属性Method的可能取值,“from”是SIP Header的可能取值。
当收到一个INVITE消息的时候,S-CSCF将这个INVITE消息的method部分,以及SIP Header中的from字段取出来,和这个Service Point Trigger进行匹配,发现全部匹配,则匹配成功一个Service Point Trigger。如果一个Trigger Point下所有的Service Point Trigger都匹配成功,则匹配成功一个Trigger Point,从而S-CSCF将收到的请求消息发送给该Trigger Point对应的AS。
当收到一个SIP消息时,S-CSCF执行如下步骤:
步骤1、S-CSCF根据用户描述文件中Initial Filter Criteria的Priority为该请求建立一个Initial Filter Criteria列表,在该请求最终离开S-SCSF之前,该列表不应被修改;
步骤2、解析该消息,确定该消息中包含的Service Point Trigger;
过程为:按照Priority级别依次判断列表中Initial Filter Criteria包含的Service Point Trigger是否与该消息匹配,如果不匹配,再判断列表中下一个Initial Filter Criteria包含的Service Point Trigger是否与该消息匹配,直到将列表中最后一个Initial Filter Criteria判断完;如果匹配,S-CSCF向该消息中加入指示,该指示允许S-CSCF标识入侧的消息,转发该消息至当前InitialFilter Criteria指示的AS,该AS接着执行该消息的业务逻辑,也许修改请求,也许将请求发送回S-SCSF,执行步骤3;
步骤3、将该消息按照SIP路由行为路由到下一个节点。
在现有的用户描述文件中,Service Point Trigger中用于配置成匹配表达式的一个元素是Session Case,表示SIP消息的方向,可能的取值是“会话发起方”、“已注册的会话终结方”,“未注册的会话终结方”。Session Case的作用是为了区分执行业务控制的S-CSCF所在的会话的位置,是发起方一侧还是终结方一侧,根据会话所在位置的不同,采用的Service Point Trigger可能会不一样。由于根据当前终结方的注册状态可能决定执行的业务控制会不一样,目前Session Case在取值时将会话终结方进一步细分为针对已注册公共用户标识和针对未注册公共用户标识的会话终结方。但是在用户描述文件的Initial Filter Criteria中,ProfilePartlndicator也将Initial Filter Criteria按照用于注册状态相关业务还是用于未注册状态相关业务进行了区分,因此Session Case和ProfilePartlndicator这两个参数在不同的位置对同样的配置进行定义,不仅造成现有用户描述文件的数据结构存在冗余,会增加S-CSCF处理的负担,而且运营商在配置用户描述文件的时候容易造成混淆,如ProfilePartlndicator指示配置得和Session Case不符,造成匹配失败,进而影响用户的业务处理。

发明内容

有鉴于此,本发明的主要目的在于提供一种业务触发点的匹配方法,该方法不仅能够删除用户描述文件中的冗余信息,减轻S-CSCF设备处理信息的负担,而且使用户描述文件的数据结构更为清晰。
根据上述目的,本发明的技术方案是这样实现的:
一种业务触发点的匹配方法,设置用户描述文件中业务触发点的会话方向属性为会话发起方或会话终结方,该方法包括:
A、服务呼叫状态控制功能S-CSCF接收到携带公共用户标识的会话发起协议SIP消息;
B、S-CSCF获取具有该公共用户标识的用户描述文件,根据该用户描述文件中的初始过滤规则中的文件内容指示确定具有该公共用户标识的用户是否已注册,如果是,执行步骤C;否则,执行步骤D;
C、S-CSCF将属性为已注册的该用户描述文件初始过滤规则的文件内容所指示的业务触发点中的会话方向属性和收到的SIP消息进行匹配,如果执行该SIP消息的会话方向和业务触发点的会话方向属性相同,都为会话发起方或会话终结方,则匹配成功,否则,匹配失败;
D、S-CSCF将属性为未注册的该用户描述文件初始过滤规则的文件内容所指示的业务触发点中的会话方向属性和收到的SIP消息进行匹配,如果执行该SIP消息的会话方向和业务触发点的会话方向属性相同,都为会话发起方或会话终结方,则匹配成功,否则,匹配失败。
所述的用户描述文件中业务触发点的会话方向属性是构成用户描述文件初始过滤规则中的业务触发点的一个组成元素。
步骤B所述的用户描述文件是从S-CSCF本地或者归属签约用户服务器HSS中获取的。
在步骤C中确定该SIP消息的会话方向和业务触发点的会话方向属性相同的步骤之后,该方法还包括:
将业务触发点中的其他属性和该SIP消息进行匹配,直到匹配成功。
在步骤D中确定该SIP消息的会话方向和业务触发点的会话方向属性相同的步骤之后,该方法还包括:
将业务触发点中的其他属性和该SIP消息进行匹配,直到匹配成功。
从上述方案可以看出,本发明将用户公共用户标识对应的注册状态只设置在用户描述文件中的ProfilePartlndicator中,而在相应的Service PointTrigger中不设置用户公共用户标识对应的注册状态,只设置具有该公共用户标识的用户是会话发起方还是会话结束方,从而在进行SIP消息匹配时,只在用户描述文件的ProfilePartlndicator中区分该SIP消息携带的公共用户标识对应的是已注册状态还是未注册状态,从而分配相应的Service PointTrigger,Service Point Trigger再对该SIP消息要传输给会话发起方还是会话终结方进行匹配。因此,该方法不仅能够删除用户描述文件中的冗余信息,减轻S-CSCF设备处理信息的负担,而且使用户描述文件的数据结构更为清晰。更进一步的,由于在Initial Filter Criteria就对SIP消息携带的公共用户标识对应的注册状态进行了区分,因此加快了Service Point Trigger的匹配过程,便于运营商使用。

附图说明

图1为用户描述文件的数据结构模型图。
图2为Service Profile的数据结构模型图。
图3为Initial Filter Criteria的数据结构模型图。
图4为Service Point Trigger的数据结构模型图。
图5为本发明在Session Case和ProfilePartlndicator设置之后,进行Service Point Trigger的匹配过程流程图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚明白,以下举具体实施例并参照附图,对本发明进行进一步详细说明。
在本发明中,对Service Point Trigger中的Session Case的取值进行了修改,确定其可能的取值只有两个,一个是“会话发起方”,另一个是“会话终结方”,对于取值是“会话终结方”的不再区分是针对已注册公共用户标识的会话终结方还是针对未注册公共用户标识的会话终结方。将所有和公共用户标识注册状态相关的Service Point Trigger按照其所属的Initial FilterCriteria,配置在Initial Filter Criteria中相应的ProfilePartlndicator指示下。
表1为本发明Session Case和ProfilePartlndicator设置的取值,如表1所示:    属性名称 数据类型     取值范围 ProfilePartIndicator 列    举(enumerated)可能取值0(注册REGISTERED)1(未注册UNREGISTERED) DirectionOfRequest  enumerated 可能取值0(会话发起方ORIGINATING_SESSION)1(会话终结方TERMINATING_SESSION)
表1
相应的,用xml语言描述表1所述的Session Case和ProfilePartlndicator的数据结构如下:
<?xml version=″1.0″encoding=″UTF-8″?>


      
         
         
            
               
                  REGISTERED
                  iFC is part of the registeredprofile
               

            

         
         
            
               
                  UNREGISTERED
                  iFC is part of theunregistered profile
                  

               

            
      

     
        
           
           
              
                 
                    ORIGINATING_SESSION
                    OriginatingSession
                 

              

           
           
              
                 
                    TERMINATING_SESSION
                    TerminatingSession
                 

              

           
      

为了描述清晰,以上Session Case和ProfilePartlndicator的数据结构只是摘取了和现有技术相比有变化的部分,省略了沿用现有技术的部分。
在具体应用的时候,图5为本发明在Session Case和ProfilePartlndicator设置之后,进行Service Point Trigger的匹配过程流程图,其具体过程为:
步骤500、S-CSCF收到携带公共用户标识的SIP消息,从HSS或从本地S-CSCF获取该公共用户标识对应的用户描述文件;
步骤501、S-CSCF判断该消息携带的公共用户标识是否已经注册,即具有该公共用户标识的用户的当前注册状态为已注册状态,如果是,执行步骤502;否则,执行步骤504;
判断该消息携带的公共用户标识是否已经注册,可以采用现有技术根据具有该公共用户标识的用户在HSS所存储的配置信息判断,如果配置信息指示为已经注册,则表示已经注册;否则,未注册;
步骤502、S-CSCF的用户描述文件将该SIP消息和Initial Filter Criteria的ProfilePartlndicator指示在注册状态下的Service Point Trigger进行匹配;
步骤503、在匹配过程中,如果执行该SIP消息的会话方向和业务触发点的会话方向属性相同,都为会话发起方或会话终结方,则匹配成功,否则,匹配失败,即如果该消息是在会话发起方执行,则该消息与Session Case为会话发起方的Service Point Trigger匹配成功;如果该消息是在会话终结方执行,则该消息与Session Case为会话终结方的Service Point Trigger匹配成功;
步骤504、S-CSCF所下载用户描述文件给该SIP消息分配在Initial FilterCriteria的ProfilePartlndicator指示在未注册状态下的Service Point Trigger;
步骤505、在匹配过程中,如果执行该SIP消息的会话方向和业务触发点的会话方向属性相同,都为会话发起方或会话终结方,则匹配成功,否则,匹配失败,即如果该消息是在会话发起方执行,则该消息与Session Case为会话发起方的Service Point Trigger匹配成功;如果该消息是在会话终结方执行,则该消息与Session Case为会话终结方的Service Point Trigger匹配成功。
如果Initial Filter Criteria的ProfilePartlndicator未指示注册状态,则直接将该SIP消息和Initial Filter Criteria的ProfilePartlndicator指示的该公共用户标识的Service Point Trigger匹配,进行步骤503或504。
SIP消息除了和Service Point Trigger的Session Case属性进行,还和Service Point Trigger中其他的属性进行匹配,直到都匹配完成并成功后,一个Service Point Trigger和SIP消息匹配成功。如果一个Trigger Point下所有的Service Point Trigger都匹配成功,则匹配成功一个Trigger Point,从而S-CSCF将收到的请求消息发送给该Trigger Point对应的AS。
本发明通过重新定义现有的用户描述文件中的部分数据结构,消除了目前存在的结构冗余情况,避免了相同内容重复定义可能导致的问题,使得用户描述文件的定义清晰准确,同时因为在Initial Filter Criteria就对用户注册状态进行了区分,因此加快了Service Point Trigger的匹配过程,便于运营商的使用。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。