会话控制装置和方法

文档序号:7956039阅读:195来源:国知局
专利名称:会话控制装置和方法
技术领域
本发明涉及通信装置和方法,尤其涉及网络中的会话控制装置和方法。
背景技术
会话发起协议(Session Initiation Protocl,简称SIP)是因特网工程任务组(IETF)于1999年3月发布的一种VoIP的标准。会话发起协议将电话作为因特网(Internet)的一个重要应用,增加了电话信令和服务质量(Quality of Service,简称QoS)方面的要求,并具有独特的用户寻址与定位的功能。近来会话发起协议的实际作用已远远超出了VoIP的应用。会话发起协议是电话信令的协议,用于发起会话,能控制多个参与者参加的多媒体会话的建立和终结,并能动态调整和修改会话属性,诸如会话带宽要求、传输媒体类型(语音、视频、数据等)、媒体的编解码格式、对多播和单播的支持等。因此,会话发起协议有利于与因特网结合开发多种应用的增值服务。
IP多媒体核心网子系统(IP Multimedia Subsystem,简称IMS)是第三代移动通信标准化伙伴项目(3rdGeneration PartnershipProiect,简称3GPP)在分组网络上叠加一个子系统,采用分组域作为其控制信令和媒体传输的承载通道,引入会话发起协议作为业务控制协议,利用会话发起协议简单、易扩展、媒体组合方便的特点,通过将业务控制与承载控制分离,提供丰富的多媒体业务。IP多媒体核心网子系统架构如图1所示,IP多媒体核心网子系统架构的主要功能实体包括用于控制用户注册、会话控制等功能的呼叫会话控制功能实体(Call Session Control Function,简称CSCF)102、用于集中管理用户签约数据的归属用户服务器(Home SubscriberServer,简称HSS)104、用于提供各种业务逻辑控制功能的应用服务器(Application Server,简称AS)、用于选择PSTN/CS域中断发生的网络的中断网关控制功能(BGCF)实体106、用于控制媒体网关与电路域/PSTN/软交换网络互通的媒体网关控制功能(MediaGate Control Function,简称MGCF)实体108、用于控制盒处理分组域的媒体流资源的多媒体资源功能控制器(MRFC)110和多媒体资源功能处理器(MRFP)112、代理SCSF(P-CSCF)114、用于提供用户签约归属用户服务器的查询功能的签约定位器功能(SLF)实体116。其中,Cx接口支持呼叫会话控制功能实体和归属用户服务器之间的路有信息的获取,通过呼叫会话控制功能实体隧道传输用户和归属用户服务器间的信息,采用Diameter协议。Dx接口是呼叫会话控制功能实体和签约定位器功能实体之间的接口,用于获得为一个给定的用户保持签约的归属用户服务器的地址。Gm接口主要传输用户和呼叫会话控制功能实体之间的登记相关、用户业务控制、鉴权相关的流程。Mg接口是媒体网关控制功能实体和呼叫会话控制功能实体之间的接口,基于3GPP会话发起协议。Mj接口允许中断网关控制功能实体前转会话信令媒体网关控制功能实体,以便到PSTN(Public Switched Telephone Network,公共交换电话网络)的交互,基于会话发起协议。Mk接口允许呼叫会话控制功能实体前转会话信令到另一个中断网关控制功能实体,基于会话发起协议。Mm接口是呼叫会话控制功能实体和IP网络之间的IP接口,用于IP多媒体业务的业务控制,例如,从IP网上的VOIP呼叫控制服务器或IP网上的终端接收一个呼叫请求。Mp接口允许多媒体资源功能控制器控制MRF提供的媒体流资源,完全符合H.248标准并增加了3GPP的扩展。Mr接口允许呼叫会话控制功能实体和多媒体资源功能控制器之间的交互,基于3GPP会话发起协议。
IP多媒体核心网子系统网络使用会话发起协议进行注册,实现用户接入IP多媒体核心网子系统网络。在用户注册过程中,IP多媒体核心网子系统网络针对用户私有标识进行认证并建立接入域安全通道,用户注册成功将在归属域S-CSCF(Serving-Call SessionControl Function,服务-呼叫会话控制功能)实体102建立用户公有标识与该用户当前位置间的关系,S-CSCF同时从归属用户服务器104取下用户的签约数据。
在S-CSCF下载的IP多媒体核心网子系统签约中,可以包含一个或者多个业务描述(Service Profile)。业务描述包含公共标识、核心网业务授权、初始过滤规则集、共享初始过滤规则集等信息。其中的初始过滤规则是一组用户的服务参数。一个业务描述可以包含多个初始过滤规则组成的列表。
一个触发规则包含以下信息被触发的应用服务器地址、触发规则的优先级、触发点、缺省处理、可选服务信息。
根据这些参数,S-CSCF按照触发规则的优先级从高到低,根据触发点中的触发信息和从Mw接口接收到请求消息匹配。如果匹配成功,S-CSCF通过ISC接口发送相关的请求到匹配触发规则的应用服务器。
如果接收到的是一个注册消息,S-CSCF给每个匹配触发规则的应用服务器发送第三方注册消息。
如果接收到的是一个其他请求,S-CSCF在给每个匹配触发规则的应用服务器发送消息中,添加特殊标识和路由信息。应用服务器在处理完成业务逻辑后,根据路由信息,将请求消息返回给S-CSCF。S-CSCF将继续进行低优先级的触发规则匹配,直至将业务描述中的所有触发规则检查完毕。
IP多媒体核心网子系统中S-CSCF和应用服务器之间通过ISC接口交互提供业务,其架构图2所示。其中,应用服务器可以是如下类型1、会话发起协议应用服务器(SIP AS)202能够提供某些服务,可以基于业务影响一个会话发起协议会话。
2、IP多媒体业务切换功能(IP Multimedia Services SwitchingFunction,简称IM SSF)204这是一个特殊类型的应用服务器,它是用来负责CAMEL(服务网络增强逻辑)网的特性(例如触发DP点、CAMEL服务交换的有限状态机等),它提供一个CAP接口。
3、开放业务接入的业务能力服务器(Open ServicesAccess-Service Capability Server,简称OSA-SCS)206它给开放业务接入的应用服务器(OSA AS)208提供了一个接口,它给第三方安全接入IM子系统提供了一个标准方式。OSA参考架构定义了一个开放业务接入的应用服务器实体,它通过OSA API(ApplicationProgram Interface,应用程序接口)为客户端的应用提供一个逻辑执行环境。这里开放业务接入的应用服务器的定义不同于上文中给IP多媒体核心网子系统提供服务的应用服务器的定义,即,IP多媒体核心网子系统的应用服务器是通过内部服务控制接口(InternalService Control Interface,简称ISC接口)和S-CSCF交互的。
所有的应用服务器(包括IP多媒体业务切换功能实体(IPMultimedia Services Switching Function,简称IM-SSF)和开放业务接入的业务能力服务器)都是在ISC接口上执行一个会话发起协议应用服务器的行为。
应用服务器可以采用以下几种模型来处理会话发起协议请求。
1、应用服务器作为终结用户代理(User Agent,简称UA)如图3所示,应用服务器302执行终结用户代理或者重定向服务器角色。在这种操作模型下,S-CSCF 304将收到的会话发起协议请求传递给应用服务器302,应用服务器302执行RFC 3261中定义的终结用户代理或者重定向服务器角色。
2、应用服务器作为PROXY(代理)如图4所示,应用服务器302执行会话发起协议代理的角色。在这种操作模型下,S-CSCF 304将收到的会话发起协议请求代理给应用服务器302,应用服务器302执行IETF RFC 3261中定义的PROXY角色,将请求代理回S-CSCF 304,然后S-CSCF 304代理该消息给目的地。在代理操作过程中,应用服务器302能够根据IETF RFC 3261中描述的PROXY的规则,增加、删除和修改会话发起协议请求中的头域内容。
在这种模型下,应用服务器302还可以通过到S-CSCF 304订阅用户设备(User Equipment,简称UE)的注册事件,获得用户设备的所有联系地址,对用户设备发起分叉(Forking)。Forking是Proxy串行或者并行对多个终端发起会话的一种处理方式。
3、应用服务器302作为背靠背用户代理(Back-to-Back UserAgent,简称B2BUA)
如图5所示,应用服务器302作为路由背靠背用户代理。应用服务器从S-CSCF接收到一个请求,终结请求,并且基于接收到的请求生成一个新的请求。
在这种操作模型下,接收的会话发起协议请求被S-CSCF 304代理到应用服务器,应用服务器302生成一个不同的会话发起协议会话的一个新会话发起协议请求,并发送给S-CSCF,然后S-CSF将该请求代理到目的地。在这种模型下,应用服务器302执行IETFRFC 3261中描述的多个会话发起协议会话的背靠背用户代理的角色。
在这种模型下,应用服务器302可以根据业务的需要进行前转处理、或者对多个IP多媒体公开身份(IP Multimedia Public Identity,简称IMPU)发起请求。
根据3GPP TS 24.229,现有的会话处理方式如下一、被服务用户发起的请求处理过程由被服务用户发起的请求,当S-CSCF从服务用户或PSI接收到对话的最初请求或者独立会话的请求时,在转发请求之前,S-CSCF应该1、检查是否S-CSCF以前放置在Route头域中的原始对话标识存在于到来请求Route头域的最高项。
a)如果不存在,它表示这个请求是第一次拜访这个S-CSCF;b)如果存在,它表示了与一个现存对话的联系,这请求是从应用服务器发来的对于先前发送请求的响应。
2、取出这个请求消息中P-Asserted-Identity头域中的公共标识对应的初始过滤规则。按照优先级顺序,检查这个初始请求是否与下一条未执行的初始过滤规则相匹配。如果匹配,S-CSCF在Route头域中最高项的自己的用户资源标识符(Uniform ResourceIdentifier,简称URI)之后,插入将要联系的AS URI,转发这个请求到那个应用服务器。如果不匹配,S-CSCF接着检查余下的较低优先级的过滤规则的匹配情况,直至所有初始过滤规则检查完成,然后处理请求消息的目的地址;在处理目的地址之前,S-CSCF可能联系一个或多个应用服务器;3、如果Route头域中最高项没有原始对话标识,S-CSCF保存从P-Charging-Vector头域接收到的icid参数并且保留P-Charging-Vector头域的icid参数。可选地,S-CSCF可以产生一个新的、全局唯一的icid并在转发这条消息时将这个新数值插入到P-Charging-Vector头域的icid参数中。如果S-CSCF生成新的icid,那么它将有责任在后续通讯中维护这两个icid数值;4、S-CSCF处理目的地址时,如果存在,使用最高Route头域中的URI来决定目的地址,否则就基于Request-URI;5、如果这请求是INVITE请求,S-CSC保存从请求中接收到的Contact、Cseq和Record-Route头域数值以使需要时S-CSCF能够释放这个对话。
二、被服务用户终结的请求处理过程当S-CSCF接收到发往静态预制的PSI或已注册的服务用户的对话的初始请求或者独立事务的请求时,在转发这请求前,S-CSCF应该
1、检查是否S-CSCF以前放置在Route头域中的原始对话标识存在于到来请求Route头域的最高项。
a)如果不存在,它表示这个请求是第一次拜访这个S-CSCF,在这时S-CSCF将保存请求的Request-URI;b)如果存在,它表示了与一个现存对话的联系,这请求是从应用服务器发来的对于先前发送请求的响应。
2、如果Route头域中的原始对话标识存在,检查是否这个Request-URI与已经保存的Request-URI相等。如果不匹配,则S-CSCF应该a)如果这请求是INVITE请求,保存从请求中接收到的Contact、Cseq和Record-Route头域以使S-CSCF能够在需要时释放这个对话;并且b)基于这个Request-URI转发这条请求并且跳过下述步骤;3、取出这个请求消息中Request-URI头域中的公共标识对应的初始过滤规则。按照优先级顺序,检查这个初始请求是否与下一条未执行的初始过滤规则相匹配。如果匹配,S-CSCF在Route头域中最高项的自己的URI之后,插入将要联系AS URI,转发这个请求到那个应用服务器。如果不匹配,S-CSCF接着检查余下的较低优先级的过滤规则的匹配情况,直至所有初始过滤规则检查完成,然后处理请求消息的目的地址;在处理目的地址之前,S-CSCF可能联系一个或多个应用服务器;4、如果Route头域中最高项没有原始对话标识,S-CSCF保存从P-Charging-Vector头域接收到的icid参数并且保留P-Charging-Vector头域的icid参数。
5、如果这请求是INVITE请求,S-CSC保存从请求中接收到的Contact、Cseq和Record-Route头域数值以使需要时S-CSCF能够释放这个对话。
三、被服务用户释放会话处理过程当S-CSCF内部指示会话释放时(例如注册定时器超时、管理注销用户等),S-CSCF按照RFC3261发送CANCEL消息取消正在建立的相关的对话,或者发送BYE释放已经建立的会话。
发送BYE的方法如下1、根据保存的对话信息,为被叫用户构造第一个BYE请求;2、根据保存的对话信息,为主叫用户构造第二个BYE请求;3、如果S-CSCF在主叫侧,将第一个BYE消息当作从主叫用户接收的消息处理,发送到业务控制,进一步根据结果转发到被叫用户。
4、如果S-CSCF在主叫侧,将第二个BYE消息直接发到主叫用户。
5、如果S-CSCF在被叫侧,将第一个BYE消息直接发到被叫用户。
6、如果S-CSCF在被叫侧,将第二个BYE消息当作从被叫用户接收的消息处理,发送到业务控制,进一步根据结果转发到主叫用户。
现有技术中存在以下问题
1、网络注销用户时,S-CSCF不能释放该用户当前业务控制的所有对话。
2、S-CSCF接收到应用服务器的释放消息后,无法判断是否需要释放该业务控制的所有被触发的应用服务器的对话。
例如,一个会话请求的业务控制,在S-CSCF触发到三个应用服务器,其中第一个应用服务器为IP多媒体业务切换功能实体,该用户有根据会话释放消息触发一个新会话的业务;第二个应用服务器为IMS-GWF(在线计费网关),需要根据用户的计费信息,随时可以释放当前业务控制的所有对话;第三个为一个背靠背用户代理角色的应用服务器,该用户有被叫控制业务。在业务控制的所有对话建立完成后如果归属用户服务器管理注销用户,S-CSCF按照现有的标准释放会话,由于应用服务器存在业务逻辑,将不能释放所有对话。
如果由于计费原因,在线计费网关IMS-GWF需要释放会话,向会话两侧发送BYE消息。S-CSCF按照现有的标准描述,将释放消息BYE发送给第一个应用服务器和第三个应用服务器,则第一个应用服务器和第三个应用服务器按照自己的业务逻辑继续执行业务,不能被释放。显然,这无法满足IMS-GWF释放当前业务控制的所有对话的要求。

发明内容
本发明的目的在于提供一种呼叫会话控制装置和方法,能够释放当前业务控制的所有对话的要求。
该装置包括会话建立模块,根据用户签约数据中的初始过滤规则将会话请求触发到一个或多个应用服务器,并存储所有经过呼叫会话控制功能实体并与会话请求相关的对话信息;以及会话释放模块,用于当释放会话时,根据存储的与会话请求相关的对话信息释放对话。
会话释放模块包括第一释放请求构造单元,用于为每个对话的服务器端(UAS)构造第一释放请求,并且将第一释放请求沿对话建立的路径发送至对话的服务器端;以及第二释放请求构造单元,用于为每个对话的客户端(UAC)构造第二释放请求,并且将第二释放请求沿对话建立的路径发送至对话的客户端。
对话信息为释放对话的必要信息,对话信息包括对话请求中的Call-ID头域、From头域、To头域、Contact头域、Cseq头域、和Record-Route头域。
该方法包括步骤702,根据用户签约数据中的初始过滤规则将会话请求触发到一个或多个应用服务器,并存储所有经过呼叫会话控制功能实体并与会话请求相关的对话信息;以及步骤704,当释放会话时,根据存储的所有与会话请求相关的对话信息释放对话。
对话信息为释放对话的必要信息,对话信息包括对话请求中的Call-ID头域、From头域、To头域、Contact头域、Cseq头域、和Record-Route头域。
步骤704包括当呼叫会话控制功能实体本身或外部实体指示释放会话时,根据存储的所有与会话请求相关的对话信息释放所有对话。
根据存储的所有与会话请求相关的对话信息释放所有对话包括为每个对话的服务器端(UAS)构造第一释放请求,并且将对话建立的路径发送至对话的服务器端;以及为每个对话的客户端(UAC)构造第二释放请求,并且将对话建立的路径发送至对话的客户端。
步骤704包括当应用服务器释放会话时,根据存储的与会话请求相关的对话信息和释放处理指示,释放所有对话或部分对话。
其中,释放处理指示是在用户签约数据中应用服务器对应的初始过滤规则中的缺省处理指示;在用户签约数据的初始过滤规则中添加的释放处理指示;或者在呼叫会话控制功能实体中配置的释放处理指示。
释放处理指示包括会话继续指示和会话终止指示。如果释放处理指示不存在,则按照会话继续指示处理。
当指示为会话继续指示时,沿着对话建立的路径传送释放请求,释放对话;以及当指示为会话终止指示时,沿着对话建立的路径传送释放请求,同时根据存储的所有与会话请求相关的对话信息,释放应用服务器的释放请求所在一侧的所有对话。
释放应用服务器的释放请求所在一侧的所有对话的过程包括为对话的服务器端(UAS)构造第一释放请求,并且沿对话建立的路径将第一释放请求发送至对话的服务器端;以及为对话的客户端(UAC)构造第二释放请求,并且沿对话建立的路径将第二释放请求发送至对话的客户端。
通过使用本发明提供的呼叫会话控制装置和方法,可以在接收到应用服务器的释放请求信息后,根据存储的对话信息和释放处理指示来判断是否需要释放所有被触发的与应用服务器的对话,并且在需要时,释放所有被触发的与应用服务器的对话。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1示出根据本发明的IP多媒体核心网子系统的框图;图2示出根据本发明的IP多媒体核心网子系统网络业务提供的架构图;图3示出根据本发明的应用服务器执行终结用户代理或重定向服务器角色的示意图;图4示出根据本发明的应用服务器执行会话发起协议代理角色的示意图;图5示出根据本发明的应用服务器作为路由背靠背用户代理执行第三方呼叫控制的示意图;图6示出根据本发明的呼叫会话控制装置的框图;图7示出根据本发明的呼叫会话控制方法的流程图;图8示出根据本发明的实施例的网络注销用户时S-CSCF释放所有业务控制会话的过程的示意图;以及图9示出根据本发明的实施例的应用服务器发起会话释放时S-CSCF释放所有业务控制会话的过程的示意图。
具体实施例方式
下面将参考附图详细说明本发明。
图6示出根据本发明的呼叫会话控制装置的框图。如图6所示,该装置600包括会话建立模块602,根据用户签约数据中的初始过滤规则将会话请求触发到一个或多个应用服务器,并存储所有经过呼叫会话控制功能实体并与会话请求相关的对话信息;以及会话释放模块604,用于当释放会话时,根据存储的与会话请求相关的对话信息释放对话。
会话释放模块604包括第一释放请求构造单元604-2,用于为每个对话的服务器端(UAS)构造第一释放请求,并且将第一释放请求沿对话建立的路径发送至对话的服务器端;以及第二释放请求构造单元604-4,第二释放请求构造单元,用于为每个对话的客户端(UAC)构造第二释放请求,并且将第二释放请求沿对话建立的路径发送至对话的客户端。
对话信息为释放对话的必要信息,对话信息包括对话请求中的Call-ID头域、From头域、To头域、Contact头域、Cseq头域、和Record-Route头域。
图7示出根据本发明的呼叫会话控制方法的流程图。如图7所示,呼叫会话控制方法包括以下步骤步骤702,根据用户签约数据中的初始过滤规则将会话请求触发到一个或多个应用服务器,并存储所有经过呼叫会话控制功能实体并与会话请求相关的对话信息;以及步骤704,当释放会话时,根据存储的所有与会话请求相关的对话信息释放对话。
其中,对话信息为释放对话的必要信息,对话信息包括对话请求中的Call-ID头域、From头域、To头域、Contact头域、Cseq头域、和Record-Route头域。
步骤704包括当呼叫会话控制功能实体本身或外部实体指示释放会话时,根据存储的所有与会话请求相关的对话信息释放所有对话。
根据存储的所有与会话请求相关的对话信息释放所有对话包括为每个对话的服务器端(UAS)构造第一释放请求,并且将对话建立的路径发送至对话的服务器端;以及为每个对话的客户端(UAC)构造第二释放请求,并且将对话建立的路径发送至对话的客户端。
步骤704包括当应用服务器释放会话时,根据存储的与会话请求相关的对话信息和释放处理指示,释放所有对话或部分对话。
其中,释放处理指示是在用户签约数据中应用服务器对应的初始过滤规则中的缺省处理指示;在用户签约数据的初始过滤规则中添加的释放处理指示;或者在呼叫会话控制功能实体中配置的释放处理指示。
释放处理指示包括会话继续指示和会话终止指示。
当指示为会话继续指示时,沿着对话建立的路径传送释放请求,释放对话;以及当指示为会话终止指示时,沿着对话建立的路径传送释放请求,同时根据存储的所有与会话请求相关的对话信息,释放应用服务器的释放请求所在一侧的所有对话。
释放应用服务器的释放请求所在一侧的所有对话的过程包括为对话的服务器端(UAS)构造第一释放请求,并且沿对话建立的路径将第一释放请求发送至对话的服务器端;以及为对话的客户端(UAC)构造第二释放请求,并且沿对话建立的路径将第二释放请求发送至对话的客户端。
S-CSCF进行网络业务控制的会话触发和释放的过程为A.业务控制的会话触发过程当S-CSCF接收到会话请求消息时,检查S-CSCF以前放置在Route头域中的原始对话标识是否存在于请求消息中Route头域的最高项。
1、如果不存在,它表示这个请求是第一次拜访这个S-CSCF。如果这请求是INVITE请求,这时S-CSCF保存从请求中接收到的Call-ID头域、From头域的tag参数、To头域的tag参数、Contact头域、Cseq头域和Record-Route头域值,以在需要时S-CSCF能够释放这个对话。
2、如果存在,它表示了与一个现存对话的联系,这请求是从应用服务器发来的对于先前发送请求的回应。如果这请求是INVITE请求,这时S-CSCF判断该请求消息和自己发往该应用服务器的请求是否是同一个对话(将接收的请求消息中的Call-ID头域、From头域的tag、To头域的tag和发往该应用服务器的相关联的请求消息中的Call-ID头域、From头域的tag、To头域的tag进行比较),如果发现不是同一个对话,则S-CSCF保存从请求中接收到的Call-ID头域、From头域的tag、To头域的tag、Contact头域、Cseq头域和Record-Route头域值,以在需要时S-CSCF能够释放这个对话。
然后按照以上描述的现有会话处理方式进行处理。
B.S-CSCF发起的业务控制会话释放过程当S-CSCF内部或者外部指示会话释放时(例如注册定时器超时、管理注销用户等),S-CSCF按照RFC3261向该业务控制的每个事务发送CANCEL消息取消正在建立的相关的对话,或者向该业务控制的每个对话两侧发送BYE释放已经建立的对话。
S-CSCF发送BYE的方法如下1、根据S-CSCF保存的每个对话信息,为每个对话的被叫侧构造第一个BYE请求,然后发送该对话的用户代理服务器端(UserAgent Server,简称UAS)。
2、根据S-CSCF保存的每个对话信息,为每个对话的主叫侧构造第二个BYE请求,然后发送该对话的用户代理客户端(User AgentClient,简称UAC)。
C.应用服务器发起的业务控制会话释放过程当业务控制流程中的某个应用服务器释放对话后,S-CSCF需要判断是否仅释放当前的对话,还是释放该业务控制流程中的所有对话。方法如下方法一当S-CSCF从ISC接口接收到应用服务器发起的会话释放请求时,S-CSCF检查该应用服务器对应的初始过滤规则的缺省处理指示
1、如果过滤规则中的缺省处理的值为″SESSION_CONTINUED″,或者没有缺省处理指示,S-CSCF直接按照该对话建立的路径转发释放消息。
2、如果过滤规则中的缺省处理的值为″SESSION_TERMINATED″,则S-CSCF直接按照该对话建立的路径转发释放消息,并且按照B描述的方法释放该应用服务器释放消息所在的一侧的所有业务控制对话。
方法二在用户的签约数据中的初始过滤规则中增加一个释放处理指示,或者在呼叫会话控制功能实体中配置释放处理指示,其值为SESSION_CONTINUED表明如果初始过滤规则中的应用服务器释放对话,其他初始过滤规则中被触发的应用服务器控制的对话如果不是同一个对话,S-CSCF不释放这些对话。
SESSION_TERMINATED表明如果初始过滤规则中的应用服务器释放对话,S-CSCF必须同时释放其他初始过滤规则中被触发的应用服务器控制的对话。
当S-CSCF从ISC接口接收到该应用服务器发起的对话释放请求时,S-CSCF检查触发该应用服务器对应的初始过滤规则的释放处理指示1、如果过滤规则中的释放处理指示的值为″SESSION_CONTINUED″,或者没有缺省处理指示,S-CSCF直接按照该对话建立的路径转发释放消息。
2、如果过滤规则中的释放处理指示的值为″SESSION_TERMINATED″,则S-CSCF直接按照该对话建立的路径转发释放消息,并且按照B描述的方法释放该应用服务器释放消息所在的一侧的所有业务控制对话。
如果没有释放处理指示,则按照SESSION_CONTINUED进行处理。
图8示出根据本发明的实施例的网络注销用户时S-CSCF 304释放所有业务控制对话的过程的示意图。如图8所示,网络注销用户时S-CSCF释放所有业务控制对话包括以下步骤步骤1、S-CSCF 304从Mw接口接收到会话请求,请求消息中的对话标识为Call-ID1、From tag1和To tag1。
步骤2、S-CSCF 304保存消息中的对话标识Call-ID1、From tag1和To tag1的对话信息,然后取出用户的签约数据,处理初始过滤规则检查,匹配某条规则后,转发请求到对应的应用服务器1。
步骤3、应用服务器1为背靠背用户代理,处理业务逻辑之后,发回的请求消息中的对话标识为Call-ID2、From tag2和To tag2。
步骤4、S-CSCF 304比较保存的发送消息中的对话标识和接收消息中的对话标识,发现二者不同,则保存消息中的对话标识为Call-ID2、From tag2和To tag2的对话信息,然后S-CSCF继续低优先级的初始过滤规则检查,匹配某条规则后,转发请求到对应的应用服务器2。
步骤5、应用服务器2为Proxy,处理业务逻辑之后,发回的请求消息中的对话标识为Call-ID2、From tag2和To tag2。
步骤6、S-CSCF 304比较保存的发送消息中的对话标识和接收消息中的对话标识,发现二者相同,则S-CSCF继续低优先级的初始过滤规则检查,匹配某条规则后,转发请求到对应的应用服务器3。
步骤7、应用服务器3为背靠背用户代理,处理业务逻辑之后,发回的请求消息中的对话标识为Call-ID3、From tag3和To tag3。
步骤8、S-CSCF 304比较保存的发送消息中的对话标识和接收消息中的对话标识,发现二者不同,则保存消息中的对话标识为Call-ID3、From tag3和to tag3的对话信息,然后S-CSCF继续低优先级的初始过滤规则检查,没有发现匹配的规则,转发请求出去到Mw接口。
会话建立后,网络注销用户,S-CSCF释放该用户的会话。
步骤9、S-CSCF 304首先释放对话3,向Mw接口发送BYE消息释放被叫侧。
步骤10、S-CSCF 304向应用服务器3发送BYE消息释放被叫侧,释放对话3另一侧。
步骤11、S-CSCF 304释放对话2,向应用服务器3接口发送BYE消息释放对话2一侧。
步骤12、S-CSCF 304向应用服务器2发送BYE消息释放被叫侧,释放对话2另一侧。
步骤13、应用服务器2304沿着对话2的路径转发BYE释放消息。
步骤14、S-CSCF 304沿着对话2的路径转发BYE释放消息到应用服务器1。
步骤15、S-CSCF 304向应用服务器1发送BYE消息释放被叫侧,释放对话1一侧。
步骤16、S-CSCF 304向Mw接口发送BYE消息释放主叫侧。
图9示出根据本发明的实施例的应用服务器发起会话释放时S-CSCF释放所有业务控制对话的过程的示意图。如图9所示,应用服务器发起会话释放时S-CSCF释放所有业务控制对话包括以下步骤步骤1、S-CSCF 304从Mw接口接收到会话请求,请求消息中的对话标识为Call-ID1、From tag1和To tag1。
步骤2、S-CSCF 304保存消息中的对话标识Call-ID1、From tag1和To tag1的对话信息,然后取出用户的签约数据,处理初始过滤规则检查,匹配某条规则后,转发请求到对应的应用服务器1。
步骤3、应用服务器1为背靠背用户代理,处理业务逻辑之后,发回的请求消息中的对话标识为Call-ID2、From tag2和To tag2。
步骤4、S-CSCF 304比较保存的发送消息中的对话标识和接收消息中的对话标识,发现二者不同,则保存消息中的对话标识为Call-ID2、From tag2和To tag2的对话信息,然后S-CSCF继续低优先级的初始过滤规则检查,匹配某条规则后,转发请求到对应的应用服务器2。
步骤5、应用服务器1为Proxy,处理业务逻辑之后,发回的请求消息中的对话标识为Call-ID2、From tag2和To tag2。
步骤6、S-CSCF 304比较保存的发送消息中的对话标识和接收消息中的对话标识,发现二者相同,则S-CSCF继续低优先级的初始过滤规则检查,匹配某条规则后,转发请求到对应的应用服务器3。
步骤7、应用服务器3为背靠背用户代理,处理业务逻辑之后,发回的请求消息中的对话标识为Call-ID3、From tag3和To tag3。
步骤8、S-CSCF 304比较保存的发送消息中的对话标识和接收消息中的对话标识,发现二者不同,则保存消息中的对话标识为Call-ID3、From tag3和To tag3的对话信息,然后S-CSCF继续低优先级的初始过滤规则检查,没有发现匹配的规则,转发请求出去到Mw接口。
会话建立后,应用服务器3发起会话释放请求。
步骤9、应用服务器3首先释放对话2,通过ISC接口向S-CSCF发送BYE消息。
步骤10、S-CSCF 304接收到对话2的释放消息后,检查应用服务器3对应初始过滤规则中的释放处理指示为SESSION_TERMINATED,同时释放对话2一侧的对话1。
步骤11、S-CSCF 304转发对话2的释放消息BYE到应用服务器2。
步骤12、S-CSCF 304接收应用服务器2转发的对话2的BYE释放消息。
步骤13、S-CSCF 304转发对话2的释放消息BYE到应用服务器1。
步骤14、S-CSCF 304向应用服务器1接口发送BYE消息释放对话1。
步骤15、S-CSCF 304向Mw接口发送BYE消息释放主叫侧对话1。
步骤16、应用服务器3释放对话3,通过ISC接口向S-CSCF发送BYE消息。
步骤17、S-CSCF 304向被叫侧发送BYE消息释放对话3。
S-CSCF保存所有经过S-CSCF的对话信息,在网络发起释放用户当前业务控制的所有对话时,S-CSCF能够根据保存的对话信息释放所有被触发应用服务器的对话。
S-CSCF保存所有经过S-CSCF的对话信息,当应用服务器发起释放用户业务控制的对话时,S-CSCF能够根据保存的对话信息,以及触发该应用服务器的初始过滤规则中的释放处理指示,判断是否释放当前业务控制的所有对话。
本发明实现了S-CSCF根据初始过滤规则触发到应用服务器后,在网络发起释放当前业务控制的所有对话时,或者应用服务器发起释放用户业务控制的对话时,S-CSCF能够根据保存的对话信息,释放当前业务控制的所有对话。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种呼叫会话控制装置,其特征在于,所述装置包括会话建立模块,根据用户签约数据中的初始过滤规则将会话请求触发到一个或多个应用服务器,并存储所有经过呼叫会话控制功能实体并与所述会话请求相关的对话信息;以及会话释放模块,用于当释放会话时,根据存储的所有与所述会话请求相关的对话信息释放对话。
2.根据权利要求1所述的呼叫会话控制装置,其特征在于,所述会话释放模块包括第一释放请求构造单元,用于为每个对话的服务器端(UAS)构造第一释放请求,并且将所述第一释放请求沿所述对话建立的路径发送至所述对话的服务器端;以及第二释放请求构造单元,用于为每个对话的客户端(UAC)构造第二释放请求,并且将所述第二释放请求沿所述对话建立的路径发送至所述对话的客户端。
3.根据权利要求1或2所述的呼叫会话控制装置,其特征在于,所述对话信息为释放对话的必要信息,所述对话信息包括对话请求中的Call-ID头域、From头域、To头域、Contact头域、Cseq头域和Record-Route头域。
4.一种呼叫会话控制方法,其特征在于,所述方法包括步骤702,根据用户签约数据中的初始过滤规则将会话请求触发到一个或多个应用服务器,并存储所有经过呼叫会话控制功能实体并与所述会话请求相关的对话信息;以及步骤704,当释放会话时,根据存储的与所述会话请求相关的对话信息释放对话。
5.根据权利要求4所述的呼叫会话控制方法,其特征在于,所述对话信息为释放对话的必要信息,所述对话信息包括对话请求中的Call-ID头域、From头域、To头域、Contact头域、Cseq头域和Record-Route头域。
6.根据权利要求4所述的呼叫会话控制方法,其特征在于,所述步骤704包括当呼叫会话控制功能实体本身或外部实体指示释放会话时,根据存储的所有与所述会话请求相关的对话信息释放所有对话。
7.根据权利要求6所述的呼叫会话控制方法,其特征在于,根据存储的所有与所述会话请求相关的对话信息释放所有对话包括为每个对话的服务器端(UAS)构造第一释放请求,并且将所述对话建立的路径发送至所述对话的服务器端;以及为每个对话的客户端(UAC)构造第二释放请求,并且将所述对话建立的路径发送至所述对话的客户端。
8.根据权利要求4所述的呼叫会话控制方法,其特征在于,所述步骤704包括当所述应用服务器释放会话时,根据存储的与所述会话请求相关的对话信息和释放处理指示,释放所有对话或部分对话。
9.根据权利要求8所述的呼叫会话控制方法,其特征在于,所述释放处理指示是在用户签约数据中应用服务器对应的初始过滤规则中的缺省处理指示、在用户签约数据的初始过滤规则中添加的释放处理指示、或者在呼叫会话控制功能实体中配置的释放处理指示。
10.根据权利要求9所述的呼叫会话控制方法,其特征在于,所述释放处理指示包括会话继续指示和会话终止指示。
11.根据权利要求8至10中任一项所述的呼叫会话控制方法,其特征在于当指示为会话继续指示或者指示不存在时,沿着对话建立的路径传送释放请求,释放所述对话;以及当指示为会话终止指示时,沿着对话建立的路径传送释放请求,同时根据存储的所有与所述会话请求相关的对话信息,释放所述应用服务器的释放请求所在一侧的所有对话。
12.根据权利要求11所述的呼叫会话控制方法,其特征在于,释放所述应用服务器的释放请求所在一侧的所有对话的过程包括为所述对话的服务器端(UAS)构造第一释放请求,并且沿所述对话建立的路径将所述第一释放请求发送至所述对话的服务器端;以及为所述对话的客户端(UAC)构造第二释放请求,并且沿所述对话建立的路径将所述第二释放请求发送至所述对话的客户端。
全文摘要
本发明提供了一种呼叫会话控制装置和方法,该方法包括以下步骤步骤702,根据用户签约数据中的初始过滤规则将会话请求触发到一个或多个应用服务器,并存储所有经过呼叫会话控制功能实体并与会话请求相关的对话信息;以及步骤704,当释放会话时,根据存储的与会话请求相关的对话信息释放对话。通过使用本发明提供的会话控制装置和方法,可以在接收到应用服务器的释放请求信息后,判断是否需要释放所有被触发的与应用服务器的会话,并且在需要时,释放所有被触发的与应用服务器的会话,满足实际应用中的要求。
文档编号H04L29/06GK101030964SQ20061005680
公开日2007年9月5日 申请日期2006年3月3日 优先权日2006年3月3日
发明者李辉 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1