一种实现状态订阅的方法、装置及系统的制作方法_2

文档序号:8433784阅读:来源:国知局
在接收到状态服务器发送的通知消息之后,还用于判断接收的通知消息的源IP地址是否为所述通信终端从所述鉴权服务器获取的状态服务器的IP地址或所述SBC的IP地址,如果不是,则丢弃接收的通知消息。
[0036]根据本发明实施例,所述状态服务器向所述通信终端发送的通知消息是直接发送到所述通信终端的,因此,所述通知消息绕过了所述通信终端注册的MGC和所述通信终端归属的SBC,从而解决了现有技术中沿着订阅消息的传输路径逐跳发送通知消息所导致的对MGC和SBC的性能造成较大压力的问题。
【附图说明】
[0037]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038]图1是本发明实施例提供的一种通信系统的组网结构示意图;
[0039]图2-4是本发明实施例1提供的方法流程示意图;
[0040]图5-6是本发明实施例2提供的状态服务器的结构示意图;
[0041]图7-8是本发明实施例3提供的通信终端的结构示意图;
[0042]图9是本发明实施例4提供的状态服务器的结构示意图;
[0043]图10是本发明实施例5提供的通信终端的结构示意图;
[0044]图11是本发明实施例6提供的状态订阅系统的结构示意图。
【具体实施方式】
[0045]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046]图1为本发明实施例提供的一种通信系统的组网结构示意图。
[0047]该通信系统包括通信终端110、MGC (Media Gateway Controller,媒体网关控制器)130、状态服务器140和被订阅实体150,其中,通信终端110注册到MGC130上,并向状态服务器140订阅被订阅实体150的状态。
[0048]所述被订阅实体,具体可以是另一个通信终端。
[0049]基于所述通信系统,在本发明实施例1中,通信终端110向状态服务器140发送订阅消息(如SIP SUBSCRIBE)以订阅被订阅实体150的状态,当状态服务器140接收到所述订阅消息时或者当被订阅实体150的状态发生变化时,状态服务器140向通信终端110发送包括被订阅实体150的当前状态的通知消息。具体地,所述订阅消息包括旁路字段,所述旁路字段中的IP地址为所述通信终端的IP地址,状态服务器140接收到所述订阅消息后,通过所述旁路字段中的IP地址向所述通信终端发送所述通知消息,其中,所述通知消息的目的IP地址为所述旁路字段中的IP地址。
[0050]进一步地,所述通信系统还可以包括SBC(Sess1n Border Controller,会话边界控制器)120,通信终端110具体通过SBC120注册到MGC130上。
[0051]基于所述通信系统,在本发明实施例1中,通信终端110向状态服务器140发送的订阅消息先后经过SBC120和MGC130的转发到达状态服务器140。通信终端110发送的订阅消息的旁路字段的IP地址和CONTACT (联系)字段的IP地址均为通信终端110的IP地址,SBC120转发所述订阅消息前,会将所述订阅消息中的CONTACT字段中的IP地址替换为SBC120的IP地址,状态服务器140接收到所述订阅消息后,可以先判断所述订阅消息中的CONTACT字段中的IP地址和所述旁路字段中的IP地址是否相同,如果不同,则可以确定所述CONTACT字段中的IP地址为SBC120的IP地址(即,所述订阅消息是经过SBC120转发的),则状态服务器140可以在检测出通信终端路由不可达时,通过所述CONTACT字段中的SBC120的IP地址向所述通信终端发送通知消息,则所述通知消息的目的IP地址为所述CONTACT字段中的SBC120的IP地址。
[0052]图2是本发明实施例1提供的方法流程示意图,本发明实施例1的方法可以应用于图1所示的通信系统。
[0053]如图2所示,本发明实施例1提供的方法包括:
[0054]步骤210:通信终端向状态服务器发送订阅消息以订阅被订阅实体的状态,所述订阅消息包括旁路字段,所述旁路字段中的IP地址为所述通信终端的IP地址。
[0055]所述订阅消息,具体可以是SIP SUBSCRIBE消息,在SIP SUBSCRIBE消息中扩展NOTIffAY (旁路)字段以携带所述通信终端的IP地址。在具体实现时,可能有些通信终端支持旁路字段扩展,则所述支持旁路字段扩展的通信终端发送的订阅消息中包括旁路字段,有些终端不支持旁路字段扩展,则所述不支持旁路字段扩展的通信终端发送的订阅消息不包括旁路字段。
[0056]扩展了旁路字段的SIP SUBSCRIBE消息的示例如下:
[0057]SUBSCRIBE sip:50000ihuawe1.com sip/2.0
[0058]From:〈sip:50091ihuawe1.com〉;tag=dadda050
[0059]To:〈sip:50000ihuawe1.com〉
[0060]Contact:〈sip:500910192.168.1.20:5062〉
[0061]......
[0062]N0TIWAY:〈sip:192.168.1.20:5060〉
[0063]其中,N0TIWAY字段的192.168.1.20即为该通信终端的IP地址。
[0064]步骤220:所述状态服务器通过所述旁路字段中的IP地址向所述通信终端发送包括所述被订阅实体的状态的通知消息,其中,所述通知消息的目的IP地址为所述旁路字段中的IP地址。
[0065]所述状态服务器在接收到所述订阅消息时,即可以将所述被订阅实体当前已经发布到所述状态服务器的状态通过通知消息发送给所述通信终端,并且,当后续所述被订阅实体的状态发生变化并且被订阅实体将变化后的状态发布到所述状态服务器时,所述状态服务器还可以将所述被订阅实体变化后的状态通过通知消息发送给所述通信终端。
[0066]所述订阅消息,具体可以是SIP NOTIFY消息。
[0067]所述状态服务器接收的订阅消息,可能包括旁路字段,也可能不包括旁路字段,则所述状态服务器在发送所述通知消息之前还需要先判断所述订阅消息是否包括旁路字段,并在判断为是时通过步骤220中的方式向所述通信终端发送所述通知消息,如果判断为否,则可以通过现有技术的逐跳发送的方式将通知消息发送给所述通信终端。
[0068]可选地,所述状态服务器可以设置通知消息旁路开关,如果打开通知消息旁路开关,则启用通知消息旁路功能,在后续收到包括旁路字段的订阅消息时,通过步骤220中的方式向所述通信终端发送所述通知消息;如果关闭通知消息旁路开关,则禁用通知消息旁路功能,相应地,不管后续收到的订阅消息是否包括旁路字段,均通过逐跳传输的方式沿着订阅消息的传输路径反向发送该通知消息。当网络中用户数较多(例如超过5000用户),或者SBC由于处理大量NOTIFY消息而导致性能无法满足要求时,所述状态服务器可以打开通知消息旁路开关以启用通知消息旁路功能;相反地,当网络中用户数较少,或者SBC性能较好时,所述状态服务器可以关闭通知消息旁路开关以禁用通知消息旁路功能。
[0069]在具体实现时,所述通信终端可能是直接注册到MGC上的,也可能是通过SBC注册到所述MGC上的,则所述SBC可以称为所述通信终端归属的SBC。
[0070]当所述通信终端是通过SBC注册到MGC上时,所述通信终端向所述状态服务器发送的所述订阅消息先后经过所述SBC和所述MGC的转发到达所述状态服务器。
[0071 ] 所述通信终端生成的订阅消息的旁路字段的IP地址和CONTACT字段的IP地址均为所述通信终端的IP地址,如果所述通信终端通过所述SBC注册到所述MGC,则所述订阅消息会先被发送到所述SBC,所述SBC转发所述订阅消息前,会将所述订阅消息中的CONTACT字段中的IP地址替换为所述SBC自身的IP地址。
[0072]所述状态服务器接收到所述订阅消息后,可以先判断所述订阅消息中的CONTACT字段中的IP地址和所述旁路字段中的IP地址是否相同,如果不同,则可以确定所述CONTACT字段中的IP地址为所述SBC的IP地址卿,所述订阅消息是经过所述SBC转发的),如果相同,则可以确定所述订阅消息没有经过SBC的转发。
[0073]所述状态服务器可以在判断结果为相同时,通过所述旁路字段中的IP地址直接向所述通信终端发送通知消息,所述通知消息的目的IP地址为所述旁路字段中的IP地址。
[0074]如果判断结果为不同,说明所述订阅消息是经过所述SBC转发的,所述CONTACT字段中的IP地址为所述SBC的IP地址。在这种情况下,所述状态服务器可以进一步检测所述通信终端的IP地址是否路由可达,如果检测出所述通信终端的IP地址是路由可达的,则所述状态服务器也可以通过所述通信终端的IP地址直接向所述通信终端发送所述通知消息(即,将所述通知消息的目的IP地址填写为所述旁路字段中的IP地址)。如果检测出所述通信终端的IP地址路由不可达,有可能存在的情况是,所述通信终端归属的所述SBC是部署在公网中的SBC,所述通信终端的IP地址确实路由不可达,则状态服务器可以通过所述CONTACT字段中的所述SBC的IP地址向所述通信终端发送通知消息(所述通知消息的目的IP地址为所述SBC的IP地址);也有可能存在的情况是,所述SBC是部署在局域网中的SBC且所述通信终端是路由可达的,只不过所述通信终端禁止其它网络实体检测该通信终端的IP地址是否路由可达,此时,状态服务器也可以通过所述CONTACT字段中的所述SBC的IP地址向所述通信终端发送通知消息(所述通知消息的目的IP地址为所述SBC的IP地址)。
[0075]优选地,在步骤210之前还包括,所述通信终端向鉴权服务器获取所述状态服务器的IP地址,还可以向所述鉴权服务器获取所述SBC的IP地址或所述MGC的IP地址。具体地,所述通信终端向所述鉴权服务器发送鉴权请求,所述鉴权请求包括所述通信终端对应的用户的用户名和密码,所述鉴权服
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1