背景技术
IP多媒体子系统(IP Multimedia Core Network Subsystem,简称IMS)是第三代合作伙伴组织(3rd Generation Partnership Project,简称3GPP)定义的下一代网络标准,它的显著特点是采用了会话初始协议(Session InitialProtocol,简称SIP)体系,通讯与接入无关,可以具备多媒体业务控制功能与承载能力分离,呼叫与业务分离,应用与服务分离,业务与网络分离,以及移动网与因特网业务融合等多种能力。
IMS中主要的功能实体包括:控制用户注册、会话控制等功能的呼叫会话控制功能实体(Call Session Control Function,简称CSCF),集中管理用户签约数据的归属用户服务器(Home Subscriber Server,简称HSS),提供各种业务逻辑控制功能的应用服务器(Application Server,简称AS)。另外,在会话过程中还涉及互连边界控制功能(Interconnection Border Control Function,简称IBCF),签约定位器功能(Subscription Locator Function,简称SLF)等功能实体。
呈现业务(Presence Service)是IP多媒体子系统IMS中的一种使能业务,是一种搜集和发布呈现信息的通信业务,它能够实现告知一个用户关于另一用户的可达性、可用性和通信意愿等信息。例如:显示其它用户是否在线,或者,如果它们在线则显示它们是空闲的还是繁忙的(正在通话或者正在参加会议等);显示用户的心情、爱好、个性签名等信息。
呈现业务的框架定义了多种角色,图1中描述了其系统结构,包括提供状态呈现业务的呈现服务器102,向呈现服务器102提供呈现信息的状态实体103,从呈现服务器102获取状态信息的观察实体101。观察实体101向呈现服务器102发送订阅消息(在IMS网络中为SUBSCRIBE消息)订阅状态实体103的呈现信息;状态实体103的呈现信息发生改变时,状态实体103主动向呈现服务器102发送状态发布消息(在IMS网络中为PUBLISH消息);呈现服务器102接收到状态实体103的状态发布消息,向观察实体101发送状态通知消息(在IMS网络中为NOTIFY消息)。
假设多个观察实体101订阅了某一状态实体103的呈现信息,当状态实体103的状态发生变化时,首先向呈现服务器102发送状态发布消息,这会触发呈现服务器102对所有已订阅该状态实体103呈现信息的观察实体101发送状态通知消息。
在IMS网络中,某个网元如果想收到后续请求,则在本次处理的SIP请求消息中添加含有自身主机名或者IP地址的Record-Route头部。
在现有IMS网络中,CSCF在向呈现服务器转发的SUBSCRIBE消息中添加了CSCF自身的Record-Route头部,因此,当状态实体的呈现信息发生变化时,呈现服务器向所有观察实体发出的状态通知消息NOTIFY都会经过CSCF,再由CSCF下发到观察实体,会造成大量的NOTIFY消息经过CSCF网元,不仅使IMS核心网的信令流量大大增加,还使得CSCF网元的负荷大大增加,性能大大下降。其中,在IMS网络中,CSCF从功能逻辑上可细分为P-CSCF、I-CSCF和S-CSCF,其中,P-CSCF(代理CSCF)是IMS系统的第一个接入点,用于将呼叫请求代理至I-CSCF(咨询CSCF)或移动终端(UE),负责产生CDR(Charging Data Record,计费数据记录),与UE建立安全连接;I-CSCF主要负责向HSS查询归属用户信息,将移动终端注册消息和呼叫正确寻路至S-CSCF;S-CSCF(服务CSCF)主要完成终端注册,呼叫控制和处理功能,并向应用服务器触发智能业务。
图2是现有IMS网络中,观察实体订阅一个状态实体的呈现信息和呈现服务器进行状态通知的处理流程:
201,观察实体向CSCF发送SUBSCRIBE的请求订阅状态实体的呈现信息;
202,CSCF在SUBSCRIBE中添加含有自身主机名或者IP地址的Record-Route头部;
203,CSCF向呈现服务器转发SUBSCRIBE;
204,呈现服务器向CSCF发送订阅关系建立成功的200OK消息;
205,CSCF向观察实体发送订阅关系建立成功的200OK消息;
206,状态实体向呈现服务器发送状态发布消息PUBLISH;
207,呈现服务器向状态实体返回状态发布成功的响应200OK;
208,呈现服务器向CSCF发送状态通知消息NOTIFY;
209,CSCF向观察实体转发状态通知消息NOTIFY;
210,观察实体向CSCF返回状态通知成功的响应200OK;
211,CSCF向呈现服务器返回状态通知成功的响应200OK。
图3是现有IMS网络中,多个观察实体(如观察实体1、观察实体2和观察实体3)订阅一个状态实体的呈现信息和呈现服务器进行状态通知的处理流程:
301,与201~205相同,观察实体1通过CSCF向呈现服务器订阅状态实体的呈现信息成功,CSCF在SUBSCRIBE消息中添加含有自身主机名或者IP地址的Record-Route头部;
302,与201~205相同,观察实体2通过CSCF向呈现服务器订阅状态实体的呈现信息成功,CSCF在SUBSCRIBE消息中添加含有自身主机名或者IP地址的Record-Route头部;
303,与201~205相同,观察实体3通过CSCF向呈现服务器订阅状态实体的呈现信息成功,CSCF在SUBSCRIBE消息中添加含有自身主机名或者IP地址的Record-Route头部;
304,状态实体向呈现服务器发送状态发布消息PUBLISH;
305,呈现服务器向状态实体返回状态发布成功的响应200OK;
306,与208~211相同,呈现服务器通过CSCF向观察实体1发送状态通知消息NOTIFY成功;
307,与208~211相同,呈现服务器通过CSCF向观察实体2发送状态通知消息NOTIFY成功;
308,与208~211相同,呈现服务器通过CSCF向观察实体3发送状态通知消息NOTIFY成功。
从上述图3过程中可以看出,现有呈现服务器向所有观察实体发出的状态通知消息NOTIFY都会经过CSCF,再由CSCF下发到观察实体,由于观察实体和状态实体数量很大,并且状态实体的呈现状态变化很频繁,会造成大量、持续的NOTIFY消息经过CSCF网元,不仅使IMS核心网的信令流量大大增加,还使得CSCF网元的负荷大大增加,性能大大下降。
发明内容
本发明要解决的技术问题是提供一种能减轻CSCF网元的负荷的呈现信息订阅方法和IP多媒体子系统。
为解决上述技术问题,本发明的实施例提供一种呈现信息订阅方法,包括:
步骤一,代理呼叫会话功能实体P-CSCF接收观察实体发送的第一订阅请求消息,对所述第一订阅请求消息进行处理,生成第二订阅请求消息,并转发所述第二订阅请求消息;
步骤二,咨询呼叫会话功能实体I-CSCF接收所述第二订阅请求消息,对所述第二订阅请求消息进行处理,生成第三订阅请求消息,并转发所述第三订阅请求消息;
步骤三,服务呼叫会话功能实体S-CSCF接收所述第三订阅请求消息,并直接转发所述第三订阅请求消息给呈现服务器;其中,所述第三订阅请求消息使所述呈现服务器直接向所述观察实体回复状态实体的呈现信息,或者不经过S-CSCF且经由所述I-CSCF和/或所述P-CSCF向所述观察实体回复状态实体的呈现信息。
其中,所述步骤一具体为:所述P-CSCF接收观察实体发送的第一订阅请求消息,判断所述第一订阅请求消息不需要进行安全机制检查时,在所述第一订阅请求消息中不添加路由字段信息,生成第二订阅请求消息,并转发所述第二订阅请求消息;
所述步骤三中:所述呈现服务器直接向所述观察实体回复状态实体的呈现信息,或者经由所述I-CSCF向所述观察实体回复状态实体的呈现信息。
其中,所述步骤一具体为:
所述P-CSCF接收观察实体发送的第一订阅请求消息,判断所述第一订阅请求消息需要进行安全机制检查时,在所述第一订阅请求消息中添加路由字段信息,生成第二订阅请求消息,并转发所述第二订阅请求消息;
所述步骤三中:所述呈现服务器根据所述第三订阅请求消息中的所述路由字段信息,不经过S-CSCF,且在P-CSCF和I-CSCF中至少经过所述P-CSCF向所述观察实体回复状态实体的呈现信息。
其中,所述路由字段信息至少包括:所述P-CSCF的主机名或者IP地址。
其中,所述步骤二具体为:
所述I-CSCF接收所述第二订阅请求消息,判断所述第二订阅请求消息不需要进行信令压缩时,在所述第二订阅请求消息中不添加路由字段信息,生成第三订阅请求消息,并转发所述第三订阅请求消息;
所述步骤三中:所述呈现服务器直接向所述观察实体回复状态实体的呈现信息,或者经由所述P-CSCF向所述观察实体回复状态实体的呈现信息。
其中,所述步骤二具体为:
所述I-CSCF接收所述第二订阅请求消息,判断所述第二订阅请求消息需要进行信令压缩时,在所述第二订阅请求消息中添加路由字段信息,生成第三订阅请求消息,并转发所述第三订阅请求消息;
所述步骤三中:所述呈现服务器根据所述第三订阅请求消息中的所述路由字段信息,不经过S-CSCF,且在P-CSCF和I-CSCF中至少经过所述I-CSCF向所述观察实体回复状态实体的呈现信息。
其中,所述路由字段信息至少包括:所述I-CSCF的主机名或者IP地址。
为解决上述技术问题,本发明的实施例还提供一种IP多媒体子系统,包括:观察实体、呼叫会话功能实体CSCF、呈现服务器和状态实体;其中,所述CSCF包括:代理呼叫会话功能实体P-CSCF、咨询呼叫会话功能实体I-CSCF和服务呼叫会话功能实体S-CSCF;
所述观察实体,用于发送一状态实体的呈现信息的第一订阅请求消息;
所述P-CSCF,用于接收所述第一订阅请求消息,对所述第一订阅请求消息进行处理,生成第二订阅请求消息,并转发所述第二订阅请求消息;
所述I-CSCF,用于接收所述第二订阅请求消息,对所述第二订阅请求消息进行处理,生成第三订阅请求消息,并转发所述第三订阅请求消息;
所述S-CSCF,用于接收所述第三订阅请求消息,并转发所述第三订阅请求消息直接给所述呈现服务器;
所述呈现服务器,用于根据所述第三订阅请求消息,直接向所述观察实体回复状态实体的呈现信息,或者不经过S-CSCF且经由所述I-CSCF和/或所述P-CSCF向所述观察实体回复状态实体的呈现信息。
其中,所述P-CSCF包括:第一判断模块,用于接收所述第一订阅请求消息,判断所述第一订阅请求消息是否需要进行安全机制检查,若是,产生第一判断结果;若否,产生第二判断结果;
第一处理模块,用于根据所述第一判断结果,在所述第一订阅请求消息中添加路由字段信息,生成第二订阅请求消息,并转发所述第二订阅请求消息;或者根据所述第二判断结果,在所述第一订阅请求消息中不添加路由字段信息,生成第二订阅请求消息,并转发所述第二订阅请求消息;
所述呈现服务器在所述第一订阅请求消息需要进行安全机制检查时,根据所述路由字段信息,不经过S-CSCF,且在P-CSCF和I-CSCF中至少经过所述P-CSCF向所述观察实体回复状态实体的呈现信息;或者在所述第一订阅请求消息不需要进行安全机制检查时,直接向所述观察实体回复状态实体的呈现信息或者经由所述I-CSCF向所述观察实体回复状态实体的呈现信息。
其中,所述I-CSCF包括:第二判断模块,用于接收所述第二订阅请求消息,判断所述第二订阅请求消息是否需要进行信令压缩,若是,则产生第三判断结果;若否,产生第四判断结果;
第二处理模块,用于根据所述第三判断结果在所述第二订阅请求消息中添加路由字段信息,生成第三订阅请求消息,并转发所述第三订阅请求消息;或者根据所述第四判断结果,在所述第二订阅请求消息中不添加路由字段信息,生成第三订阅请求消息,并转发所述第三订阅请求消息;
所述呈现服务器在所述第二订阅请求消息需要进行信令压缩时,根据所述路由字段信息,不经过S-CSCF,且在P-CSCF和I-CSCF中至少经过所述I-CSCF向所述观察实体回复状态实体的呈现信息;或者在所述第二订阅请求消息不需要进行信令压缩时,直接向所述观察实体回复状态实体的呈现信息或者经由所述P-CSCF向所述观察实体回复状态实体的呈现信息。
本发明的上述技术方案的有益效果如下:
上述方案中,通过P-CSCF和I-CSCF对订阅请求消息进行处理,使得当状态实体的呈现信息发生变化时,呈现服务器的状态实体的呈现信息变更通知不经过或少经过CSCF,即直接向所述观察实体回复状态实体的呈现信息,或者不经过S-CSCF,且经由所述I-CSCF和/或所述P-CSCF向所述观察实体回复状态实体的呈现信息,从而减小CSCF的负荷,也减少IMS核心网的信令流量,提高了IMS系统的性能。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有呈现服务器向所有观察实体发出的状态通知消息NOTIFY都会经过CSCF,再由CSCF下发到观察实体,使CSCF网元的负荷大大增加,使性能下降的问题,提供一种能减轻CSCF网元的负荷的呈现信息订阅方法和IP多媒体子系统。
如图4所示,本发明的实施例呈现信息订阅方法,包括:
步骤401,代理呼叫会话功能实体P-CSCF接收观察实体发送的第一订阅请求消息,对所述第一订阅请求消息进行处理,生成第二订阅请求消息,并转发所述第二订阅请求消息;
步骤402,咨询呼叫会话功能实体I-CSCF接收所述第二订阅请求消息,对所述第二订阅请求消息进行处理,生成第三订阅请求消息,并转发所述第三订阅请求消息;
步骤403,服务呼叫会话功能实体S-CSCF接收所述第三订阅请求消息,并直接转发所述第三订阅请求消息给呈现服务器;其中,所述第三订阅请求消息使所述呈现服务器直接向所述观察实体回复状态实体的呈现信息,或者不经过S-CSCF,且经由所述I-CSCF和/或所述P-CSCF向所述观察实体回复状态实体的呈现信息。
该实施例在IP多媒体子系统订阅呈现信息过程中,通过P-CSCF和I-CSCF对订阅请求消息进行处理,使得当状态实体的呈现信息发生变化时,呈现服务器的状态实体的呈现信息变更通知不经过或少经过CSCF,即直接向所述观察实体回复状态实体的呈现信息,或者不经过S-CSCF,且经由所述I-CSCF和/或所述P-CSCF向所述观察实体回复状态实体的呈现信息,从而减小CSCF的负荷,也减少IMS核心网的信令流量,提高了IMS系统的性能。
如图5所示,为观察实体订阅一个状态实体的呈现信息和呈现服务器进行状态通知的处理流程示意图,其中,P-CSCF对所述第一订阅请求消息进行处理时,不进行安全机制检查,I-CSCF对所述第二订阅请求消息进行处理时,进行信令压缩,该流程包括:
步骤501,观察实体向P-CSCF发送第一订阅请求消息,即第一SUBSCRIBE消息,请求订阅状态实体的呈现信息;
步骤502,P-CSCF接收第一SUBSCRIBE消息,判断第一SUBSCRIBE消息不需要进行安全机制检查时(如,检查发起SUBSCRIBE请求的用户不需要进行IPSec、TLS等安全机制),在第一SUBSCRIBE消息中不添加路由字段信息,生成第二订阅请求消息(即第二SUBSCRIBE消息),并转发所述第二SUBSCRIBE消息;
步骤503,P-CSCF向I-CSCF转发第二SUBSCRIBE消息;
步骤504,I-CSCF检查到需要进行信令压缩,在所述第二SUBSCRIBE消息中添加路由字段信息(如,在该第二SUBSCRIBE消息中添加含有I-CSCF主机名或者IP地址的Record-Route头部),生成第三订阅请求消息(即第三SUBSCRIBE消息),并转发所述第三SUBSCRIBE消息;
步骤505,I-CSCF向S-CSCF转发第三SUBSCRIBE消息;
步骤506,S-CSCF向呈现服务器转发第三SUBSCRIBE消息;
步骤507,呈现服务器向S-CSCF发送订阅关系建立成功的200OK消息;
步骤508,S-CSCF向I-CSCF发送订阅关系建立成功的200OK消息;
步骤509,I-CSCF向P-CSCF发送订阅关系建立成功的200OK消息;
步骤510,P-CSCF向观察实体发送订阅关系建立成功的200OK消息;
步骤511,状态实体向呈现服务器发送呈现信息PUBLISH(即状态发布消息);
步骤512,呈现服务器向状态实体返回状态发布成功的响应200OK;
步骤513,呈现服务器向I-CSCF发送呈现信息NOTIFY(即状态通知消息);
步骤514,I-CSCF对NOTIFY消息进行解压缩后,直接向观察实体发送该解压缩后的NOTIFY消息,该解压缩后的NOTIFY消息不经过P-CSCF;
步骤515,观察实体向I-CSCF返回通知成功的响应200OK,该消息不经过P-CSCF。
由上述流程可以看出,该实施例中,从呈现服务器返回的状态实体的呈现信息(即NOTIFY消息)不经过S-CSCF和P-CSCF,减小了CSCF的负荷,也减少IMS核心网的信令流量,提高了IMS系统的性能。
如图6所示,为观察实体订阅一个状态实体的呈现信息和呈现服务器进行状态通知的处理流程示意图,其中,P-CSCF对第一订阅请求消息进行处理时,不进行安全机制检查,I-CSCF对第二订阅请求消息进行处理时,不进行信令压缩;该流程包括:
步骤601,观察实体向P-CSCF发送第一订阅请求消息,即第一SUBSCRIBE消息,请求订阅状态实体的呈现信息;
步骤602,P-CSCF接收第一SUBSCRIBE消息,判断第一SUBSCRIBE消息不需要进行安全机制检查时(如,检查发起SUBSCRIBE请求的用户不需要进行IPSec、TLS等安全机制),在第一SUBSCRIBE消息中不添加路由字段信息,生成第二订阅请求消息(即第二SUBSCRIBE消息),并转发所述第二SUBSCRIBE消息;
步骤603,P-CSCF向I-CSCF转发第二SUBSCRIBE消息;
步骤604,I-CSCF检查到不需要进行信令压缩,不在所述第二SUBSCRIBE消息中添加路由字段信息,生成第三订阅请求消息(即第三SUBSCRIBE消息),并转发所述第三SUBSCRIBE消息;
步骤605,I-CSCF向S-CSCF转发第三SUBSCRIBE消息;
步骤606,S-CSCF向呈现服务器转发第三SUBSCRIBE消息;
步骤607,呈现服务器向S-CSCF发送订阅关系建立成功的200OK消息;
步骤608,S-CSCF向I-CSCF发送订阅关系建立成功的200OK消息;
步骤609,I-CSCF向P-CSCF发送订阅关系建立成功的200OK消息;
步骤610,P-CSCF向观察实体发送订阅关系建立成功的200OK消息;
步骤611,状态实体向呈现服务器发送呈现信息PUBLISH(即状态发布消息);
步骤612,呈现服务器向状态实体返回状态发布成功的响应200OK;
步骤613,呈现服务器直接向观察实体发送呈现信息NOTIFY(即状态通知消息),该NOTIFY消息不经过S-CSCF、I-CSCF和P-CSCF,即该NOTIFY消息不经过CSCF;
步骤614,观察实体向呈现服务器返回通知成功的响应200OK,该消息不经过S-CSCF、I-CSCF和P-CSCF,即该消息也不经过CSCF。
由上述流程可以看出,该实施例中,从呈现服务器返回的状态实体的呈现信息(即NOTIFY消息)不经过S-CSCF、I-CSCF和P-CSCF,即不经过CSCF,减小了CSCF的负荷,也减少IMS核心网的信令流量,提高了IMS系统的性能。
如图7所示,为观察实体订阅一个状态实体的呈现信息和呈现服务器进行状态通知的处理流程示意图,其中,P-CSCF对第一订阅请求消息进行处理时,进行安全机制检查,I-CSCF对第二订阅请求消息进行处理时,不进行信令压缩;该流程包括:
步骤701,观察实体向P-CSCF发送第一订阅请求消息,即第一SUBSCRIBE消息,请求订阅状态实体的呈现信息;
步骤702,P-CSCF接收第一SUBSCRIBE消息,判断第一SUBSCRIBE消息需要进行安全机制检查时(如,检查发起SUBSCRIBE请求的用户需要进行IPSec、TLS等安全机制),在第一SUBSCRIBE消息中添加路由字段信息(如,在该第一SUBSCRIBE消息中添加含有P-CSCF主机名或者IP地址的Record-Route头部),生成第二订阅请求消息(即第二SUBSCRIBE消息),并转发所述第二SUBSCRIBE消息;其中,IPSec是一套用来通过公共IP网络进行安全通讯的协议格式,它包括数据格式协议、密钥交换和加密算法等;传输层安全协议(TLS)是确保互联网上通信应用和其用户隐私的协议。当服务器和客户机进行通信,TLS确保没有第三方能窃听或盗取信息;
步骤703,P-CSCF向I-CSCF转发第二SUBSCRIBE消息;
步骤704,I-CSCF检查到不需要进行信令压缩,不在所述第二SUBSCRIBE消息中添加路由字段信息,生成第三订阅请求消息(即第三SUBSCRIBE消息),并转发所述第三SUBSCRIBE消息;
步骤705,I-CSCF向S-CSCF转发第三SUBSCRIBE消息;
步骤706,S-CSCF向呈现服务器转发第三SUBSCRIBE消息;
步骤707,呈现服务器向S-CSCF发送订阅关系建立成功的200OK消息;
步骤708,S-CSCF向I-CSCF发送订阅关系建立成功的200OK消息;
步骤709,I-CSCF向P-CSCF发送订阅关系建立成功的200OK消息;
步骤710,P-CSCF向观察实体发送订阅关系建立成功的200OK消息;
步骤711,状态实体向呈现服务器发送呈现信息PUBLISH(即状态发布消息);
步骤712,呈现服务器向状态实体返回状态发布成功的响应200OK;
步骤713,呈现服务器直接向P-CSCF发送呈现信息NOTIFY(即状态通知消息),该NOTIFY消息不经过S-CSCF和I-CSCF;
步骤714,P-CSCF对NOTIFY消息进行解安全机制(如进行解密),将解安全机制后的NOTIFY消息转发给观察实体;
步骤715,观察实体向P-CSCF返回通知成功的响应200OK。
由上述流程可以看出,该实施例中,从呈现服务器返回的状态实体的呈现信息(即NOTIFY消息)不经过S-CSCF和I-CSCF,减小了CSCF的负荷,也减少IMS核心网的信令流量,提高了IMS系统的性能。
如图8所示,为观察实体订阅一个状态实体的呈现信息和呈现服务器进行状态通知的处理流程示意图,其中,P-CSCF对第一订阅请求消息进行处理时,进行安全机制检查,I-CSCF对第二订阅请求消息进行处理时,进行信令压缩;该流程包括:
步骤801,观察实体向P-CSCF发送第一订阅请求消息,即第一SUBSCRIBE消息,请求订阅状态实体的呈现信息;
步骤802,P-CSCF接收第一SUBSCRIBE消息,判断第一SUBSCRIBE消息需要进行安全机制检查时(如,检查发起SUBSCRIBE请求的用户需要进行IPSec、TLS等安全机制),在第一SUBSCRIBE消息中添加路由字段信息(如,在该第一SUBSCRIBE消息中添加含有P-CSCF主机名或者IP地址的Record-Route头部),生成第二订阅请求消息(即第二SUBSCRIBE消息),并转发所述第二SUBSCRIBE消息;其中,IPSec是一套用来通过公共IP网络进行安全通讯的协议格式,它包括数据格式协议、密钥交换和加密算法等;传输层安全协议(TLS)是确保互联网上通信应用和其用户隐私的协议。当服务器和客户机进行通信,TLS确保没有第三方能窃听或盗取信息;
步骤803,P-CSCF向I-CSCF转发第二SUBSCRIBE消息;
步骤804,I-CSCF检查到需要进行信令压缩,在所述第二SUBSCRIBE消息中添加路由字段信息(如,在该第二SUBSCRIBE消息中添加含有I-CSCF主机名或者IP地址的Record-Route头部),生成第三订阅请求消息(即第三SUBSCRIBE消息),并转发所述第三SUBSCRIBE消息;
步骤805,I-CSCF向S-CSCF转发第三SUBSCRIBE消息;
步骤706,S-CSCF向呈现服务器转发第三SUBSCRIBE消息;
步骤807,呈现服务器向S-CSCF发送订阅关系建立成功的200OK消息;
步骤808,S-CSCF向I-CSCF发送订阅关系建立成功的200OK消息;
步骤809,I-CSCF向P-CSCF发送订阅关系建立成功的200OK消息;
步骤810,P-CSCF向观察实体发送订阅关系建立成功的200OK消息;
步骤811,状态实体向呈现服务器发送呈现信息PUBLISH(即状态发布消息);
步骤812,呈现服务器向状态实体返回状态发布成功的响应200OK;
步骤813,呈现服务器直接向I-CSCF发送呈现信息NOTIFY(即状态通知消息),该NOTIFY消息不经过S-CSCF;
步骤814,I-CSCF对NOTIFY消息进行解压缩,将解压缩后的NOTIFY消息转发给P-CSCF;
步骤815,P-CSCF对NOTIFY消息进行解安全机制(如进行解密),将解安全机制后的NOTIFY消息转发给观察实体;
步骤816,观察实体向P-CSCF返回通知成功的响应200OK。
由上述流程可以看出,该实施例中,从呈现服务器返回的状态实体的呈现信息(即NOTIFY消息)不经过S-CSCF,减小了CSCF的负荷,也减少IMS核心网的信令流量,提高了IMS系统的性能。
总之,图4中所述的步骤401具体为:所述P-CSCF接收所述第一订阅请求消息,判断所述第一订阅请求消息不需要进行安全机制检查时,在所述第一订阅请求消息中不添加路由字段信息,生成第二订阅请求消息,并转发所述第二订阅请求消息;所述步骤403中:所述呈现服务器根据所述第三订阅请求消息,直接向所述观察实体回复状态实体的呈现信息,或者经由所述I-CSCF向所述观察实体回复状态实体的呈现信息。
步骤401具体为:所述P-CSCF接收所述第一订阅请求消息,判断所述第一订阅请求消息需要进行安全机制检查时,在所述第一订阅请求消息中添加路由字段信息,生成第二订阅请求消息,并转发所述第二订阅请求消息;所述步骤403中:所述呈现服务器根据所述第三订阅请求消息,不经过S-CSCF,且在P-CSCF和I-CSCF中,至少经过所述P-CSCF向所述观察实体回复状态实体的呈现信息。如上述图7和图8所示流程。
图4中的步骤402具体为:所述I-CSCF接收所述第二订阅请求消息,判断所述第二订阅请求消息不需要进行信令压缩时,在所述第二订阅请求消息中不添加路由字段信息,生成第三订阅请求消息,并转发所述第三订阅请求消息;所述步骤403中:所述呈现服务器根据所述第三订阅请求消息,直接向所述观察实体回复状态实体的呈现信息,或者经由所述P-CSCF向所述观察实体回复状态实体的呈现信息。
步骤402具体为:所述I-CSCF接收所述第二订阅请求消息,判断所述第二订阅请求消息需要进行信令压缩时,在所述第二订阅请求消息中添加路由字段信息,生成第三订阅请求消息,并转发所述第三订阅请求消息;所述步骤403中:所述呈现服务器根据所述第三订阅请求消息,不经过S-CSCF,且在P-CSCF和I-CSCF中至少经过所述I-CSCF向所述观察实体回复状态实体的呈现信息。如上述图5和图6所示流程。
另外,本发明的上述图5-图8所示实施例中的观察实体可以是多个,状态实体也可以是多个,但每一个观察实体、CSCF、呈现服务器和状态实体之间的处理流程是一致的,在此不再赘述。
综上所述,采用本发明方法,应用于IP多媒体子系统订阅呈现状态过程中,通过在P-CSCF和I-CSCF上通过策略决定是否添加RECODE-ROUTE,在S-CSCF上不添加RECODE-ROUTE,使得当状态实体的呈现信息发生变化时,呈现服务器的状态变更通知不经过或少经过CSCF,从而减小CSCF的负荷,也减少IMS核心网的信令流量,提高了IMS系统的性能。
再如图5-图8所示,本发明的实施例还提供一种IP多媒体子系统,包括:观察实体、呼叫会话功能实体CSCF、呈现服务器和状态实体;其中,所述CSCF包括:代理呼叫会话功能实体P-CSCF、咨询呼叫会话功能实体I-CSCF和服务呼叫会话功能实体S-CSCF;
所述观察实体,用于发送一状态实体的呈现信息的第一订阅请求消息;
所述P-CSCF,用于接收所述第一订阅请求消息,对所述第一订阅请求消息进行处理,生成第二订阅请求消息,并转发所述第二订阅请求消息;
所述I-CSCF,用于接收所述第二订阅请求消息,对所述第二订阅请求消息进行处理,生成第三订阅请求消息,并转发所述第三订阅请求消息;
所述S-CSCF,用于接收所述第三订阅请求消息,并直接转发所述第三订阅请求消息给所述呈现服务器;
所述呈现服务器,用于根据所述第三订阅请求消息,直接向所述观察实体回复状态实体的呈现信息,或者不经过S-CSCF,且经由所述I-CSCF和/或所述P-CSCF向所述观察实体回复状态实体的呈现信息。
其中,所述P-CSCF包括:
第一判断模块,用于接收所述第一订阅请求消息,判断所述第一订阅请求消息是否需要进行安全机制检查(如是否需要进行IPSec、TLS等安全机制),若是,产生第一判断结果;若否,产生第二判断结果;
第一处理模块,用于根据所述第一判断结果,在所述第一订阅请求消息中添加路由字段信息(如在该第一订阅请求消息中添加含有P-CSCF主机名或者IP地址的Record-Route头部),生成第二订阅请求消息,并转发所述第二订阅请求消息;或者根据所述第二判断结果,在所述第一订阅请求消息中不添加路由字段信息,生成第二订阅请求消息,并转发所述第二订阅请求消息;
所述呈现服务器在所述第一订阅请求消息需要进行安全机制检查时,不经过S-CSCF,且在P-CSCF和I-CSCF中至少经过所述P-CSCF向所述观察实体回复状态实体的呈现信息;或者在所述第一订阅请求消息不需要进行安全机制检查时,直接向所述观察实体回复状态实体的呈现信息,或者经由所述I-CSCF向所述观察实体回复状态实体的呈现信息。
其中,所述I-CSCF包括:
第二判断模块,用于接收所述第二订阅请求消息,判断所述第二订阅请求消息是否需要进行信令压缩,若是,则产生第三判断结果;若否,产生第四判断结果;
第二处理模块,用于根据所述第三判断结果在所述第二订阅请求消息中添加路由字段信息(在该第二订阅请求消息中添加含有I-CSCF主机名或者IP地址的Record-Route头部),生成第三订阅请求消息,并转发所述第三订阅请求消息;或者根据所述第四判断结果,在所述第二订阅请求消息中不添加路由字段信息,生成第三订阅请求消息,并转发所述第三订阅请求消息;
所述呈现服务器在所述第二订阅请求消息需要进行信令压缩时,不经过S-CSCF,且在P-CSCF和I-CSCF中至少经过所述I-CSCF向所述观察实体回复状态实体的呈现信息;或者在所述第二订阅请求消息不需要进行信令压缩时,直接向所述观察实体回复状态实体的呈现信息,或者经由所述P-CSCF向所述观察实体回复状态实体的呈现信息。
综上所述,本发明的IP多媒体子系统订阅呈现状态过程中,通过在P-CSCF和I-CSCF上通过策略决定是否添加RECODE-ROUTE,在S-CSCF上不添加RECODE-ROUTE,使得当状态对象的呈现信息发生变化时,呈现服务器的状态变更通知不经过或少经过CSCF,从而减小CSCF的负荷,也减少IMS核心网的信令流量,提高了IMS系统的性能。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。