一种SIP会话保护的方法和系统转让专利

申请号 : CN201110039955.4

文献号 : CN102647397B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郝振武彭永林陶全军

申请人 : 中兴通讯股份有限公司

摘要 :

本发明提供了一种会话初始协议会话保护方法,包括:主用会话初始协议(SIP)实体为需要保护的SIP会话选择备用SIP实体,将所述需要保护的SIP会话的相关数据备份到所述备用SIP实体,并将所述备用SIP实体的地址信息告知其邻接SIP实体;邻接SIP实体向所述主用SIP实体发送会话请求消息时,若发现主用SIP实体不能提供服务,则向备用SIP实体发送所述会话请求消息;备用SIP实体接收到会话请求消息时,代替主用SIP实体处理相关会话消息。本发明还提供了一种会话初始协议会话保护系统。本发明当主SIP实体不能提供服务时,备用SIP实体能够代替主SIP实体提供服务支持,从而实现SIP会话业务不中断的目的。

权利要求 :

1.一种会话初始协议会话保护方法,其特征在于,包括:

主用会话初始协议SIP实体为需要保护的SIP会话选择备用SIP实体,将所述需要保护的SIP会话的相关数据备份到所述备用SIP实体,并将所述备用SIP实体的地址信息告知其邻接SIP实体;

所述邻接SIP实体向所述主用SIP实体发送会话请求消息时,若发现所述主用SIP实体不能提供服务,则向所述备用SIP实体发送所述会话请求消息;

所述备用SIP实体接收到所述会话请求消息时,代替所述主用SIP实体处理相关会话消息;

所述主用SIP实体将所述备用SIP实体的地址信息告知其邻接SIP实体的步骤包括:所述主用SIP实体在所述需要保护的SIP会话的路由集构建过程中,将所述备用SIP实体的地址信息告知其邻接SIP实体,以及,在该路由集构建过程中,告知所述邻接SIP实体自己具有支持会话保护的能力。

2.如权利要求1所述的方法,其特征在于,所述路由集构建过程包括如下之一或其组合:边界SIP实体发现过程,SIP注册过程,SIP会话建立过程。

3.如权利要求1所述的方法,其特征在于,所述路由集构建过程为边界SIP实体发现过程时,所述主用SIP实体通过如下方式将所述备用SIP实体的地址信息告知其邻接SIP实体:在边界SIP实体的地址信息中携带SIP会话保护支持能力和所述备用SIP实体的地址信息。

4.如权利要求1所述的方法,其特征在于,所述路由集构建过程为SIP注册过程时,所述主用SIP实体通过如下方式将所述备用SIP实体的地址信息告知其邻接SIP实体:在联系地址(Contact)头域,或者路径(path)头域,或者服务路由(service-route)头域携带SIP会话保护支持能力和所述备用SIP实体的地址信息。

5.如权利要求1所述的方法,其特征在于,所述路由集构建过程为SIP会话建立过程时,所述主用SIP实体通过如下方式将所述备用SIP实体的地址信息告知其邻接SIP实体:在Contact头域,或者路由记录(record-route)头域携带SIP会话保护支持能力和所述备用SIP实体的地址信息。

6.如权利要求1至5任一所述的方法,其特征在于,所述邻接SIP实体通过如下方式之一发现所述主用SIP实体是否能提供服务:所述邻接SIP实体和所述主用SIP实体之间执行保活机制、所述邻接实体向所述主用SIP实体发送请求消息后超过设定时间没有收到响应消息、主用SIP实体或备用SIP实体主动通知所述邻接SIP实体、所述邻接SIP实体向第三方服务器查询所述主用SIP实体是否能提供服务。

7.如权利要求1至5任一所述的方法,其特征在于,所述方法还包括:所述备用SIP实体的下一跳SIP实体接收到所述备用SIP实体的会话请求消息时,首先对所述备用SIP实体进行认证,认证通过时才继续处理所述会话请求消息。

8.一种会话初始协议会话保护系统,其特征在于,包括主用会话初始协议SIP实体,邻接SIP实体和备用SIP实体,其中:主用SIP实体用于:为需要保护的SIP会话选择备用SIP实体,将所述需要保护的SIP会话的相关数据备份到所述备用SIP实体,并将所述备用SIP实体的地址信息告知其邻接SIP实体;

所述邻接SIP实体用于:向所述主用SIP实体发送会话请求消息时,若发现所述主用SIP实体不能提供服务,则向所述备用SIP实体发送所述会话请求消息;

所述备用SIP实体用于:接收到所述会话请求消息时,代替所述主用SIP实体处理相关会话消息;

所述主用SIP实体是用于:在所述需要保护的SIP会话的路由集构建过程中,将所述备用SIP实体的地址信息告知其邻接SIP实体,以及,在该路由集构建过程中,告知所述邻接SIP实体自己具有支持会话保护的能力。

9.如权利要求8所述的系统,其特征在于,所述路由集构建过程包括如下之一或其组合:边界SIP实体发现过程,SIP注册过程,SIP会话建立过程。

10.如权利要求8所述的系统,其特征在于,所述主用SIP实体是用于:在边界SIP实体发现过程中,在边界SIP实体的地址信息中携带SIP会话保护支持能力和所述备用SIP实体的地址信息。

11.如权利要求8所述的系统,其特征在于,所述主用SIP实体是用于:在SIP注册过程中,在联系地址(Contact)头域,或者路径(path)头域,或者服务路由(service-route)头域携带SIP会话保护支持能力和所述备用SIP实体的地址信息。

12.如权利要求8所述的系统,其特征在于,所述主用SIP实体是用于:在SIP会话建立过程中,在Contact头域,或者路由记录(record-route)头域携带SIP会话保护支持能力和所述备用SIP实体的地址信息。

13.如权利要求8至12任一所述的系统,其特征在于,所述邻接SIP实体是用于通过如下方式之一发现所述主用SIP实体是否能提供服务:所述邻接SIP实体和所述主用SIP实体之间执行保活机制、所述邻接实体向所述主用SIP实体发送请求消息后超过设定时间没有收到响应消息、主用SIP实体或备用SIP实体主动通知所述邻接SIP实体、所述邻接SIP实体向第三方服务器查询所述主用SIP实体是否能提供服务。

14.如权利要求8至12任一所述的系统,其特征在于,所述系统还包括所述备用SIP实体的下一跳SIP实体,所述下一跳SIP实体用于:接收到所述备用SIP实体的会话请求消息时,首先对所述备用SIP实体进行认证,认证通过时才继续处理所述备用SIP实体发送的会话请求消息。

说明书 :

一种SIP会话保护的方法和系统

技术领域

[0001] 本发明涉及采用SIP(Session Initiation Protocol,会话初始协议)的网络及其业务处理和通信领域,尤其涉及一种SIP会话保护的方法和系统。

背景技术

[0002] SIP是一个应用层的信令控制协议,用于创建、修改和释放一个或多个参与者的会话。这些会话可以是互联网多媒体会议、IP(Internet Protocol,网络协议)电话或多媒体分发等。SIP协议在Softswitch(软交换)、IMS(IP Multimedia Subsystem,IP多媒体子系统)中广泛应用,在这些电信网络中,一般认为核心网网元具有大容量、高可靠性,其会话保护一般可以在网元内部实现。通常不考虑网元之间会话保护。
[0003] 但在另一些SIP网络中,如以P2P(Peer to Peer,点对点)技术构建的分布式核心网中,单节点采用普通PC(Personal Computer,个人电脑),甚至是用户侧的设备。其单节点容量小,且可靠性和稳定性都比较低。当这些节点发生故障,甚至退出服务时,会导致服务用户正在进行的SIP呼叫中断,从而增加呼叫损失,降低整个网络可用性。因此,需要对用户的会话进行必要的保护,以保证网络的高可靠性和高可用性。
[0004] 综上考虑,需要研究一种通用的SIP会话保护机制,不仅能应用于P2P VoIP体系中,而且可以应用于Softswitch、IMS中,进一步提高采用SIP协议构建网络的可靠性。
[0005] 在SIP网络中,用户使用统一资源标识(Uniform Resource Identifier,简称URI)来标识。SIP网络应用模型示意图如图1所示,它涵盖了SIP注册、SIP会话这些典型应用的示例模型。
[0006] 用户代理(User Agent,UA),一个逻辑实体,可以作为用户代理服务器或用户代理客户端;
[0007] SIP Proxy(SIP代理),一个进行消息路由和保证策略实施的中间实体;
[0008] Registrar(注册服务器),接收注册请求,并将该信息放入Location Service Server(位置服务器);
[0009] Location Service Server:位置服务器,是一个存储用户绑定信息(SIP URI与位置映射)的数据库。
[0010] 图2是现有技术实现的注册流程,示出了现有技术中的注册过程,包括:
[0011] 步骤201:UA发现接入点为SIP Proxy;
[0012] 步骤202:UA向SIP Proxy发送注册消息Register,其联系地址(contact)头域中携带自己的地址;
[0013] 步骤203:SIP Proxy在路径(path)头域中插入自己的地址,然后向Registrar发送Register消息;
[0014] 步骤204:Registrar收到Register消息后,从contact头域和path头域中获取并保存用户的联系地址以及SIP Proxy的地址,然后向SIP Proxy返回200OK响应消息,在该200OK响应消息的service-route(服务路由)头域中携带Registrar自身地址;
[0015] 步骤205:SIP Proxy收到该200OK响应消息后,从service-route头域中获取并保存Registrar的地址,然后将该200OK响应消息转发给UA,UA也同样从service-route头域中获取并保存Registrar的地址。
[0016] 通过上述过程,UA、SIP Proxy、Registrar建立各自的路由集(Route Set),用于后续会话建立过程中的消息路由,比如UA建立路由集(SIP Proxy、Registrar),当UA发起SIP会话时,会在会话中显式指明此次会话期望的路径为UA-->SIP Proxy-->Registrar,这样UA首先将会话建立请求发送给SIP Proxy,SIP Proxy进一步根据会话中指明的路径,以及自己保存的路径信息,将呼叫建立请求发送给Registrar。同理,Registrar获取到UA的路由集(SIP Proxy,UA),当有到UA的呼叫建立请求时,Registrar首先将呼叫建立请求发送到SIP Proxy,然后由SIP Proxy发送给UA。
[0017] 图3是现有技术实现的会话建立流程,示出了现有技术中UA-A呼叫UA-B的过程。
[0018] 步骤301:UA-A向SIP Proxy-1发送会话建立请求Invite消息,其联系地址(contact)头域中携带自己的地址信息,在路由(route)头域中携带在注册过程获取的路由集;
[0019] 步骤302:SIP Proxy-1根据路由头域中的指示或本地保存的路由信息,向SIP Proxy-2发送Invite消息,并在其路由记录(record-route)头域中添加自己的地址信息;
[0020] 步骤303:SIP Proxy-2收到Invite消息后,在record-route头域中增加自己的地址信息,然后向UA-B转发该Invite消息;
[0021] 在向UA-B转发过程中,会经过其他SIP实体,为简便起见,这里不做进一步描述。
[0022] 步骤304:UA-B收到该Invite消息后,向SIP Proxy-2返回振铃响应消息180ringing,在该响应消息的contact头域中携带自己的地址。同时,将Invite请求中的record-route头域复制入该响应消息中;
[0023] 步骤305~306:SIP Proxy-2经SIP Proxy-1向UA-A转发收到的振铃响应消息;
[0024] 步骤307~309:UA-B经SIP Proxy-2和SIP Proxy-1向UA-A返回200OK响应消息,该响应消息的record-route头域信息同步骤304~306中record-route头域的信息。
[0025] 通过record-route头域,路径上的各个节点建立本次会话的路由集,比如这次会话的路由集为(UA-A,SIP Proxy-1,SIP Proxy-2,UA-B),当UA-A向UA-B发送会话内消息时,会在会话中显示指明消息的路径,并延路径传递,从UA-B发送的会话内消息与此类似。
[0026] 在会话过程中,若SIP Proxy-1发生故障就会导致该次会话发生中断,具体流程如图4所示:
[0027] 步骤401:UA-A通过SIP Proxy-1和SIP Proxy-2与UA-B已经建立了SIP会话,其具体建立过程如图3所示;
[0028] 步骤402:在SIP会话的进行过程中,SIP Proxy-1发生了异常,不能继续提供服务;
[0029] 步骤403:UA-A向SIP Proxy-1发送SIP会话消息失败;
[0030] 步骤404:本次会话被迫中断。
[0031] 从上面的过程可以看出,由于缺乏会话保护机制,当会话过程中的某一中间节点发生故障时,将导致会话中断,这在P2P等单节点稳定性比较低的网络中,问题尤为严重。

发明内容

[0032] 本发明所要解决的技术问题是,克服现有技术的不足,提供一种通用的SIP会话保护的方法和系统,以克服现在网络中SIP网元退出服务时,会导致正在进行的会话中断的问题。
[0033] 为了解决上述问题,本发明提供了一种会话初始协议会话保护方法,包括:
[0034] 主用会话初始协议(SIP)实体为需要保护的SIP会话选择备用SIP实体,将所述需要保护的SIP会话的相关数据备份到所述备用SIP实体,并将所述备用SIP实体的地址信息告知其邻接SIP实体;
[0035] 所述邻接SIP实体向所述主用SIP实体发送会话请求消息时,若发现所述主用SIP实体不能提供服务,则向所述备用SIP实体发送所述会话请求消息;
[0036] 所述备用SIP实体接收到所述会话请求消息时,代替所述主用SIP实体处理相关会话消息。
[0037] 进一步的,上述方法还可具有以下特点,所述主用SIP实体将所述备用SIP实体的地址信息告知其邻接SIP实体的步骤包括:所述主用SIP实体在所述需要保护的SIP会话的路由集构建过程中,将所述备用SIP实体的地址信息告知其邻接SIP实体,以及,在该路由集构建过程中,告知所述邻接SIP实体自己具有支持会话保护的能力。
[0038] 进一步的,上述方法还可具有以下特点,所述路由集构建过程包括如下之一或其组合:边界SIP实体发现过程,SIP注册过程,SIP会话建立过程。
[0039] 进一步的,上述方法还可具有以下特点,所述路由集构建过程为边界SIP实体发现过程时,所述主用SIP实体通过如下方式将所述备用SIP实体的地址信息告知其邻接SIP实体:在边界SIP实体的地址信息中携带SIP会话保护支持能力和所述备用SIP实体的地址信息。
[0040] 进一步的,上述方法还可具有以下特点,所述路由集构建过程为SIP注册过程时,所述主用SIP实体通过如下方式将所述备用SIP实体的地址信息告知其邻接SIP实体:在联系地址(Contact)头域,或者路径(path)头域,或者服务路由(service-route)头域携带SIP会话保护支持能力和所述备用SIP实体的地址信息。
[0041] 进一步的,上述方法还可具有以下特点,所述路由集构建过程为SIP会话建立过程时,所述主用SIP实体通过如下方式将所述备用SIP实体的地址信息告知其邻接SIP实体:在Contact头域,或者路由记录(record-route)头域携带SIP会话保护支持能力和所述备用SIP实体的地址信息。
[0042] 进一步的,上述方法还可具有以下特点,所述邻接SIP实体通过如下方式之一发现所述主用SIP实体是否能提供服务:所述邻接SIP实体和所述主用SIP实体之间执行保活机制、所述邻接实体向所述主用SIP实体发送请求消息后超过设定时间没有收到响应消息、主用SIP实体或备用SIP实体主动通知所述邻接SIP实体、所述邻接SIP实体向第三方服务器查询所述主用SIP实体是否能提供服务。
[0043] 进一步的,上述方法还可具有以下特点,所述方法还包括:所述备用SIP实体的下一跳SIP实体接收到所述备用SIP实体的会话请求消息时,首先对所述备用SIP实体进行认证,认证通过时才继续处理所述会话请求消息。
[0044] 本发明还提供一种会话初始协议会话保护系统,包括主用会话初始协议(SIP)实体,邻接SIP实体和备用SIP实体,其中:
[0045] 主用SIP实体用于:为需要保护的SIP会话选择备用SIP实体,将所述需要保护的SIP会话的相关数据备份到所述备用SIP实体,并将所述备用SIP实体的地址信息告知其邻接SIP实体;
[0046] 所述邻接SIP实体用于:向所述主用SIP实体发送会话请求消息时,若发现所述主用SIP实体不能提供服务,则向所述备用SIP实体发送所述会话请求消息;
[0047] 所述备用SIP实体用于:接收到所述会话请求消息时,代替所述主用SIP实体处理相关会话消息。
[0048] 进一步的,上述系统还可具有以下特点,所述主用SIP实体是用于:在所述需要保护的SIP会话的路由集构建过程中,将所述备用SIP实体的地址信息告知其邻接SIP实体,以及,在该路由集构建过程中,告知所述邻接SIP实体自己具有支持会话保护的能力。
[0049] 进一步的,上述系统还可具有以下特点,所述路由集构建过程包括如下之一或其组合:边界SIP实体发现过程,SIP注册过程,SIP会话建立过程。
[0050] 进一步的,上述系统还可具有以下特点,所述主用SIP实体是用于:在边界SIP实体发现过程中,在边界SIP实体的地址信息中携带SIP会话保护支持能力和所述备用SIP实体的地址信息。
[0051] 进一步的,上述系统还可具有以下特点,所述主用SIP实体是用于:在SIP注册过程中,在联系地址(Contact)头域,或者路径(path)头域,或者服务路由(service-route)头域携带SIP会话保护支持能力和所述备用SIP实体的地址信息。
[0052] 进一步的,上述系统还可具有以下特点,所述主用SIP实体是用于:在SIP会话建立过程中,在Contact头域,或者路由记录(record-route)头域携带SIP会话保护支持能力和所述备用SIP实体的地址信息。
[0053] 进一步的,上述系统还可具有以下特点,所述邻接SIP实体是用于通过如下方式之一发现所述主用SIP实体是否能提供服务:所述邻接SIP实体和所述主用SIP实体之间执行保活机制、所述邻接实体向所述主用SIP实体发送请求消息后超过设定时间没有收到响应消息、主用SIP实体或备用SIP实体主动通知所述邻接SIP实体、所述邻接SIP实体向第三方服务器查询所述主用SIP实体是否能提供服务。
[0054] 进一步的,上述系统还可具有以下特点,所述系统还包括所述备用SIP实体的下一跳SIP实体,所述下一跳SIP实体用于:接收到所述备用SIP实体的会话请求消息时,首先对所述备用SIP实体进行认证,认证通过时才继续处理所述备用SIP实体发送的会话请求消息。
[0055] 采用本发明提出的SIP会话保护的方法,当主SIP实体不能提供服务时,备用SIP实体能够代替主SIP实体提供服务支持,从而实现SIP会话业务不中断的目的。

附图说明

[0056] 图1是SIP网络应用模型示意图;
[0057] 图2是现有技术实现的注册流程;
[0058] 图3是现有技术实现的会话建立流程;
[0059] 图4是现有技术中出现的会话中断流程;
[0060] 图5是本发明实现的通过注册过程实现会话保护的方法示意图;
[0061] 图6是本发明实现的通过会话建立过程实现会话保护的方法示意图;
[0062] 图7是本发明实现的通过注册过程实现会话保护信息交互的流程;
[0063] 图8是本发明实现的通过会话建立过程实现会话保护信息交互的流程;
[0064] 图9是本发明实现的会话保护实施的流程一;
[0065] 图10是本发明实现的会话保护实施的流程二。

具体实施方式

[0066] 本发明的核心思想是,支持会话保护的SIP实体告知会话路由路径上的其他SIP实体自己支持会话保护,若主用SIP实体有备用SIP实体,则还要把备用SIP实体的地址等信息告知其里邻接SIP实体,以便于在SIP业务发生过程中,当主用SIP实体不能提供服务时,备用SIP实体可以代替主用SIP实体进行后续的SIP业务处理,并与相关SIP实体交互相应的SIP消息。
[0067] 本发明提供了一种SIP会话保护方法,包括:
[0068] A:主用SIP实体为需要保护的SIP会话选择备用SIP实体,并将所述需要保护的SIP会话相关数据备份到所述备用SIP实体;在会话过程中,会话状态改变时则备份会话相关数据至备用SIP实体。
[0069] B:在所述需要保护的SIP会话的路由集构建过程中,所述主用SIP实体向所述路由集中的邻接SIP实体告知自己具有支持会话保护的能力,以及选择的备用SIP实体的地址信息;
[0070] C:当所述路由集中的邻接SIP实体向所述主用SIP实体发送会话请求消息时,若发现所述主用SIP实体不能提供服务,则向在所述路由集构建过程中得到的所述备用SIP实体发送所述会话请求消息。
[0071] D:所述备用SIP实体接收到所述会话请求消息时,代替所述主用SIP实体处理相关会话消息。
[0072] 此外,步骤A中,所述主用SIP实体根据本地配置的备份节点策略或者选择算法选择一个或多个备用SIP实体。其中,可将多个备用SIP实体进行排序,或者增加优先级信息,故障时,所述邻接SIP实体按照排序或者优先级选择一个备用SIP实体,将会话请求消息发送给该备用SIP实体。
[0073] 此外,步骤B中,路由集构建过程包括如下之一或其组合:边界SIP实体发现过程,SIP注册过程,SIP会话建立过程。
[0074] 此外,步骤B中,路由集中的邻接SIP实体如果支持SIP会话保护机制,则需要告知主用SIP实体支持SIP保护机制,如果它也有备用SIP实体,则进一步向主用SIP实体告知该邻接SIP实体的备用SIP实体的地址信息。即:SIP会话路由路径中任一主用SIP实体如果有备用SIP实体,均告知其邻接SIP实体自己的备用SIP实体的地址信息。
[0075] 此外,步骤B中,如果路由集构建过程是边界SIP实体发现过程,需要在边界SIP实体的地址信息中携带SIP会话保护支持能力和备用SIP实体地址信息。
[0076] 此外,步骤B中,如果路由集构建过程是SIP注册过程,则所述主用SIP实体和/或邻接SIP实体根据其在路由集中的位置,使用Contact头域,或者Path头域,或者Service-Route头域携带SIP会话保护支持能力和/或备用SIP实体地址信息。
[0077] 此外,步骤B中,如果路由集构建过程是SIP会话建立过程,则所述主用SIP实体和/或邻接SIP实体根据其在路由集中的位置,使用Contact头域,或者record-route头域携带SIP会话保护支持能力和/或备用SIP实体地址信息。
[0078] 此外,步骤C中,SIP实体发现路由集邻接SIP实体不能提供服务的方法可以包括保活机制、请求无响应、主用SIP实体或备用SIP实体主动通知、第三方服务器查询方式。
[0079] 具体的,保活机制指:所述邻接SIP实体和所述主用SIP实体之间执行保活机制;
[0080] 请求无响应指:所述邻接实体向所述主用SIP实体发送请求消息后,超过设定时间没有收到响应消息;
[0081] 主用SIP实体或备用SIP实体主动通知指:主用SIP实体主动通知所述邻接SIP实体将不再提供服务,而由备用SIP实体提供服务,或备用SIP实体主动通知所述邻接SIP实体主用SIP实体将不再提供服务,而由其接管服务;
[0082] 第三方服务器查询指:第三方服务器收集SIP实体的运行状态,所述邻接SIP实体向所述第三方服务器查询所述主用SIP实体是否能提供服务。
[0083] 此外,步骤C中,SIP实体使用路由集构建过程中获得的备用SIP实体的地址生成Route头域,并根据该Route头域将会话请求发送给Route头域所指定的备用SIP实体。
[0084] 此外,步骤C中,所述会话请求消息包括初始会话建立请求消息和会话中的事务请求消息。
[0085] 此外,步骤D中,备用SIP实体收到上一跳SIP实体的会话请求消息,在处理该会话请求消息后,如果还需要向下一跳SIP实体转发该会话请求消息,则所述下一跳SIP实体需要允许接受备用SIP实体发送的会话请求消息,可以通过路径构建过程中获取的备用SIP实体的地址信息对请求进行认证,保护安全性。具体的,所述备用SIP实体的下一跳SIP实体接收到所述备用SIP实体的会话请求消息时,首先对所述备用SIP实体进行认证,认证通过时才继续处理所述会话请求消息。认证方法为:判断发送会话请求消息的备用SIP实体和本地获取的备用SIP实体地址是否一致,如果一致,则认证通过。
[0086] 下面对采用本发明的SIP会话保护方法进行详细描述。
[0087] 通过注册过程实现会话保护的方法
[0088] 图5是本发明实现的通过注册过程实现会话保护的方法示意图。具体原理如下:
[0089] 1、网元SIP Proxy-1根据一定的策略选择SIP Proxy-2作为自己的备用SIP实体。
[0090] 2、在路由集构建过程中,通过请求消息,UA-A告知SIP Proxy-1自己支持会话保护,SIP Proxy-1告知Registrar自己支持会话保护以及自己的备用SIP实体SIP Proxy-2的地址等信息。通过响应消息,Registrar告知SIP Proxy-1或UA-A自己支持会话保护,SIP Proxy-1告知UA-A自己支持会话保护以及自己的备用SIP实体SIP Proxy-2的地址等信息。
[0091] 3、当主用SIP实体SIP Proxy-1的会话状态和/或用户数据发生变换时,均会向其备用SIP实体SIP Proxy-2备份会话状态和/或用户数据。
[0092] 4、当UA-A或Registrar发送会话消息时,若察觉到路由下一跳的目标主网元SIP Proxy-1不能提供服务,则向SIP Proxy-1的备用SIP实体SIP Proxy-2发送会话消息。
[0093] 其中,发现下一跳的目标主网元SIP Proxy-1不能提供服务的方法可以包括保活机制、请求无响应、主用节点或备用节点主动通知、第三方服务器查询方式。
[0094] 5、备用SIP实体SIP Proxy-2代替主用SIP实体SIP Proxy-1处理相应会话消息。
[0095] 通过上述方法,各SIP实体在注册的过程中获得了相关SIP实体的会话保活支持信息,在后续流程中若主SIP实体发生了异常不能提供服务时,备用实体就可以代替之完成后续的服务,从而保证了业务的稳定性。
[0096] 通过会话建立过程实现会话保护的方法
[0097] 图6是通过会话建立过程实现会话保护的方法示意图。具体原理如下:
[0098] 1、网元SIP Proxy-1根据一定的策略选择SIP Proxy-2作为自己的备用SIP实体,网元SIP Proxy-3根据一定的策略选择SIP Proxy-4作为自己的备用SIP实体,网元UA-1根据一定的策略选择UA-2作为自己的备用SIP实体。
[0099] 2、在路由集构建过程中,通过请求消息,UA-A告知SIP Proxy-1自己支持会话保护,SIP Proxy-1告知SIP Proxy-3自己支持会话保护以及自己的备用SIP实体SIP Proxy-2的地址等信息,SIP Proxy-3告知UA-1自己支持会话保护以及自己的备用SIP实体SIP Proxy-4的地址等信息。
[0100] 通过响应消息,UA-1告知SIP Proxy-3自己支持会话保护及自己的备用SIP实体UA-2的地址等信息,SIP Proxy-3告知SIP Proxy-1自己支持会话保护以及自己的备用SIP实体SIP Proxy-4的地址等信息,SIP Proxy-1告知UA-A自己支持会话保护以及自己的备用SIP实体SIP Proxy-2的地址等信息。
[0101] 3、当主用SIP实体SIP Proxy-1或SIP Proxy-3或UA-1的会话状态发生变换时,均会向备用SIP实体SIP Proxy-2或SIP Proxy-4或UA-2备份会话状态数据。
[0102] 4、当UA-A或SIP Proxy-1或SIP Proxy-3或UA-1发送会话消息时,若察觉到目标主网元不能提供服务,则向目标主网元的备用SIP实体SIP Proxy-2或SIP Proxy-4或UA-2或SIP Proxy-4发送会话消息。
[0103] 其中,发现下一跳的目标主网元不能提供服务的方法可以包括保活机制、请求无响应、主用节点或备用节点主动通知、第三方服务器查询方式。
[0104] 5、备用SIP实体SIP Proxy-2或SIP Proxy-4或UA-2代替主网元处理相应的会话消息。
[0105] 通过上述方法,各SIP实体在会话建立的过程中获得了相关SIP实体的会话保活支持信息,在后续流程中若主SIP实体发生了异常不能提供服务时,备用实体就可以代替之完成后续的服务,从而保证了业务的稳定性。
[0106] 通过注册过程实现会话保护信息交互
[0107] 在此过程中,需要使各SIP实体在注册消息的路由过程中告知和得知其他SIP实体关于SIP会话保护的相关信息。具体流程如图7所示:
[0108] 步骤701:如果SIP Proxy-1支持会话保护,在SIP Proxy-1主机名或地址中增加SIP会话保护支持能力标识以及备用SIP实体地址信息,SIP会话保护支持能力标识可根据需要设定,本发明不作限定,本实施例中,使用sp参数作为SIP会话保护支持能力标识,表示SIP Proxy-1支持会话保护。这样,UA在使用分组协议发现过程或动态地址配置协议发现Outbound(边界)SIP Proxy时,根据SIP Proxy主机名或地址中携带的会话保护支持能力标识就可知道该SIP Proxy是否支持会话保护;
[0109] 步骤702:UA-A在向SIP Proxy-1发送Register消息的contact头域中携带标识sp,表示自己支持会话保护。这样SIP Proxy-1收到该Register请求后就能知道UA-A支持会话保护;
[0110] 步骤703:SIP Proxy-1在向Registrar发送的Register消息的path头域中携带标识sp,表示自己支持会话保护,并且携带自己的备用SIP实体SIP Proxy-2的地址信息。这样Registrar收到该Register请求后就能知道SIP Proxy-1支持会话保护,并且知道其备用SIP实体是SIP Proxy-2;
[0111] 步骤704:Registrar收到Register请求后,向SIP Proxy-1返回响应消息,在该响应消息的service-route头域中携带标识sp,表示自己支持会话保护。这样SIP Proxy-1收到该响应消息后就能知道Registrar支持会话保护;
[0112] 步骤705:SIP Proxy-1收到响应消息后,也可以进一步在该响应消息的service-route头域中增加标识sp,表示自己支持会话保护,并增加自己的备用SIP实体SIP Proxy-2的地址信息,然后将之转发给UA-A。这样UA-A收到该响应消息后就能知道SIP Proxy-1支持会话保护,并且知道其备用SIP实体是SIP Proxy-2;
[0113] 步骤706:SIP Proxy-1向自己的备用SIP实体SIP Proxy-2备份UA-A的注册数据。
[0114] 这样,各SIP实体之间就相互了解到相关实体支持会话保护及其备用实体的地址信息。
[0115] 通过会话建立过程实现会话保护信息交互
[0116] 要通过会话建立过程实现会话保护的首要工作就是交互保护信息,使各SIP实体在会话建立消息的路由过程中告知和得知其他SIP实体关于SIP会话保护的相关信息。具体流程如图8所示:
[0117] 步骤801:UA-A在向SIP Proxy-1发送Invite消息的contact头域中携带标识sp,表示自己支持会话保护。SIP Proxy-1收到该Invite请求后就能知道UA-A支持会话保护;
[0118] 步骤802:SIP Proxy-1在向SIP Proxy-3发送的Invite消息的record-route头域中携带标识sp,表示自己支持会话保护,并且携带自己的备用SIP实体SIP Proxy-2的地址信息。SIP Proxy-3收到该Invite请求后就能知道SIP Proxy-1支持会话保护,并且知道其备用SIP实体是SIP Proxy-2;
[0119] 步骤803:SIP Proxy-3在收到的Invite消息的record-route头域中增加标识sp,表示自己支持会话保护,并且携带自己的备用SIP实体SIP Proxy-4的地址信息。然后向UA-1转发该Invite消息。这样UA-1收到该Invite请求后就能知道SIP Proxy-3支持会话保护,及其备用SIP实体是SIP Proxy-4;
[0120] 步骤804:UA-1收到Invite请求后,向SIP Proxy-3返回振铃响应消息,在该振铃响应消息的contact头域中携带标识sp,表示自己支持会话保护,且携带自己的备用SIP实体UA-2的地址信息。同时,将Invite请求中的record-route头域复制到该振铃响应消息中。这样SIP Proxy-3就能知道UA-1支持会话保护,及其备用SIP实体是UA-2;
[0121] 步骤805~806:SIP Proxy-3经SIP Proxy-1向UA-A转发收到的振铃响应消息。这样SIP Proxy-1和UA-A就能知道SIP Proxy-3和SIP Proxy-1支持会话保护,及其备用SIP实体分别是SIP Proxy-4和SIP Proxy-2;
[0122] 步骤807a~807c:SIP Proxy-1、SIP Proxy-3、UA-1分别向自己的备用SIP实体SIP Proxy-2、SIP Proxy-4、UA-2备份会话数据;
[0123] 步骤808~810:UA-1经SIP Proxy-3和SIP Proxy-1向UA-A返回200OK响应消息,该响应消息的头域同804~806。这样,SIP Proxy-3、SIP Proxy-1、UA-A就能知道UA-1、SIP Proxy-3、SIP Proxy-1支持会话保护,及对应的备用SIP实体UA-2、SIP Proxy-4、SIP Proxy-2的地址信息;
[0124] 步骤811a~811c:SIP Proxy-1、SIP Proxy-3、UA-1分别向自己的备用实体SIP Proxy-2、SIP Proxy-4、UA-2备份会话数据;
[0125] 这样,各SIP实体之间就相互了解到相关实体支持会话保护及其备用实体的地址信息。
[0126] 会话保护实施一
[0127] 通过会话建立过程交换了保护信息后,在后续的会话过程中,若其中的某个SIP实体(如SIP Proxy-1)发生了异常,其备用实体(SIP Proxy-2)就能够接管其负责的任务处理,使该会话不中断。具体流程如图9所示:
[0128] 步骤901:UA-A通过SIP Proxy-1和SIP Proxy-3与UA-1建立了SIP会话;
[0129] 步骤902:在SIP会话的进行中,SIP Proxy-1发生了异常,不能继续提供服务;
[0130] 步骤903:UA-A获知SIP Proxy-1异常后,选择在路由集构建过程中获得的SIP Proxy-1的备用实体SIP Proxy-2;
[0131] UA-A发现SIP Proxy-1不能提供服务的方法包括保活机制、请求无响应、主用节点或备用节点主动通知、第三方服务器查询等方式。
[0132] 步骤904:UA-A将原本要发给SIP Proxy-1的SIP请求消息改发给SIP Proxy-2,此时该请求消息的第一route头域中填写SIP Proxy-2的地址;
[0133] 步骤905:SIP Proxy-2收到该请求消息后进行相关业务处理,并将该请求消息转发给SIP Proxy-3,并在via(经由)头域中添加自己的地址;
[0134] 步骤906~907:SIP Proxy-3收到备用SIP实体SIP Proxy-2发来的请求消息后,与在注册或会话建立过程中获取的备用SIP实体相比较,若一致则认为SIP Proxy-2合法,将请求消息转发给UA-1;
[0135] 步骤908~910:UA-1收到请求消息后进行处理,然后经SIP Proxy-3和SIP Proxy-2向UA-A返回对应的SIP响应。
[0136] 这样,系统就可以在SIP Proxy-1异常的情况下,由SIP Proxy-2代替之继续提供SIP会话服务,从而避免了因部分实体异常导致的SIP会话中断问题。
[0137] 会话保护实施二
[0138] 当通过注册过程建立路由集进行会话保护时,此时可以对会话建立请求,如SIP Invite进行保护。
[0139] 通过注册过程交换了保护信息后,在后续的会话建立过程中,若其中的某个SIP实体(如SIP Proxy-1)发生了异常,其备用实体(SIP Proxy-2)就能够接管其负责的任务处理,使该会话不中断。具体流程如图10所示,其中此时Registrar同时充当SIP Proxy,因此在图中使用Registrar/SIP Proxy-3表示。
[0140] 步骤A01:UA-A通过SIP Proxy-1和Registrar注册成功,SIP Proxy-1选择SIP Proxy-2作为备用实体,并通知UA-A和Registrar/SIP Proxy-3;
[0141] 步骤A02:在SIP会话建立时,SIP Proxy-1发生了异常,不能继续提供服务;
[0142] 步骤A03:UA-A获知SIP Proxy-1异常后,选择在路由集构建过程中获得的SIP Proxy-1的备用实体SIP Proxy-2;
[0143] UA-A发现SIP Proxy-1不能提供服务的方法包括保活机制、请求无响应、主用节点或备用节点主动通知、第三方服务器查询等方式。
[0144] 步骤A04:UA-A将原本要发给SIP Proxy-1的Invite请求消息改发给SIP Proxy-2,此时Invite请求消息的第一route头域中填写SIP Proxy-2的地址;
[0145] 步骤A05:SIP Proxy-2收到Invite请求消息后进行相关业务处理,并将该Invite请求消息转发给SIP Proxy-3,并在via头域中添加自己的地址;
[0146] 步骤A06~A07:SIP Proxy-3收到备用SIP实体SIP Proxy-2发来的Invite请求消息后,与在注册过程中获取的备用SIP实体相比较,若一致则认为SIP Proxy-2合法,将Invite请求消息转发给UA-1;
[0147] 步骤A08~A10:UA-1收到Invite请求消息后进行处理,然后经SIP Proxy-3和SIP Proxy-2向UA-A返回对应的SIP响应。
[0148] 另外在上述过程中,还执行图8所述的呼叫过程中构建会话路由集的过程,并进而路径上的各节点可以建立包含会话保护信息的路由集,这样可以利用图9过程保护会话中的请求。
[0149] 这样,系统就可以在SIP Proxy-1异常的情况下,由SIP Proxy-2代替之继续提供SIP会话服务,从而避免了因部分实体异常导致的SIP会话中断问题。
[0150] 本发明提供一种会话初始协议会话保护系统,包括主用会话初始协议(SIP)实体,邻接SIP实体和备用SIP实体,其中:
[0151] 主用SIP实体用于:为需要保护的SIP会话选择备用SIP实体,将所述需要保护的SIP会话的相关数据备份到所述备用SIP实体,并将所述备用SIP实体的地址信息告知其邻接SIP实体;
[0152] 所述邻接SIP实体用于:向所述主用SIP实体发送会话请求消息时,若发现所述主用SIP实体不能提供服务,则向所述备用SIP实体发送所述会话请求消息;
[0153] 所述备用SIP实体用于:接收到所述会话请求消息时,代替所述主用SIP实体处理相关会话消息。
[0154] 其中,所述主用SIP实体是用于:在所述需要保护的SIP会话的路由集构建过程中,将所述备用SIP实体的地址信息告知其邻接SIP实体,以及,在该路由集构建过程中,告知所述邻接SIP实体自己具有支持会话保护的能力。
[0155] 其中,所述路由集构建过程包括如下之一或其组合:边界SIP实体发现过程,SIP注册过程,会话建立过程。
[0156] 其中,所述主用SIP实体是用于:在边界SIP实体发现过程中,在边界SIP实体的地址信息中携带SIP会话保护支持能力和所述备用SIP实体的地址信息。
[0157] 其中,所述主用SIP实体是用于:在SIP注册过程中,在联系地址(Contact)头域,或者路径(path)头域,或者服务路由(service-route)头域携带SIP会话保护支持能力和所述备用SIP实体的地址信息。
[0158] 其中,所述主用SIP实体是用于:在SIP会话建立过程中,在Contact头域,或者路由记录(record-route)头域携带SIP会话保护支持能力和所述备用SIP实体的地址信息。
[0159] 其中,所述邻接SIP实体是用于通过如下方式之一发现所述主用SIP实体是否能提供服务:所述邻接SIP实体和所述主用SIP实体之间执行保活机制、所述邻接实体向所述主用SIP实体发送请求消息后无响应消息、主用SIP实体或备用SIP实体主动通知所述邻接SIP实体、所述邻接SIP实体向第三方服务器查询所述主用SIP实体是否能提供服务。
[0160] 其中,所述系统还包括所述备用SIP实体的下一跳SIP实体,所述下一跳SIP实体用于:接收到所述备用SIP实体的会话请求消息时,首先对所述备用SIP实体进行认证,认证通过时才继续处理所述备用SIP实体发送的会话请求消息。
[0161] 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。