一种VoIP系统中信令的传输方法

文档序号:7759497阅读:199来源:国知局
专利名称:一种VoIP系统中信令的传输方法
技术领域
本发明属于计算机网络传输领域,具体涉及是一种VoIP系统中信令的传输方法。
背景技术
VoIP (Voice over Internet Protocol)即网络电话,通俗来说也就是互联网电话 或IP电话。其基本原理就是通过语音压缩设备对我们的语音进行压缩编码处理,然后再把 这些语音数据根据相关的协议进行打包,经过IP网络把数据包传送到目的地后,再把这些 语音数据包串起来,经过解压解码处理后,恢复成原来的信号,从而达到由IP网络发送语 音的目的。简而言之,VOIP网络电话就是通过互联网打电话,将网络电话机直接接上诸如 非对称数字用户环路(ADSL,Asymmetric Digital Subscriber Line)、有线宽带、局域网等 任何宽带接口,简单设置所申请的地址号码后,即可像打普通电话一样随意拨打想通话的 号码了。网络电话自从1995年首次面世以来已经成为世界上使用最广泛的电话产品。将 打电话通过互联网传输的VoIP技术也是目前世界上最经济的电话技术之一。VoIP技术发 展到今天,已经比较成熟,传统网络电话中都是建立在客户/服务器系统模式下,服务器必 须负责所有用户在通话过程中的数据包的转发,当通话用户不断增加的时候,服务器端的 压力会越来越大,直到达到服务能力上限。这种解决方案通常是以增加服务器的数量和提 高带宽的大小来增强系统的服务能力。因此,这种办法有一定的局限性,其一是随着用户的 增加,广播包的数量会以指数增加,其二是随着用户的不断递增,服务器的服务能力难以达 到要求。对等网络技术(P2P,Peer-to-Peer)是一项新的利用终端个人计算机(PC, Personal Computer)计算能力以及终端网络带宽在用户之间进行文件共享的技术。它具有 可扩展性,负载均衡,灵活等优点。近几年来,基于这种技术的文件共享已基本成熟,基于这 种技术的流媒体技术也日趋广泛,这也为VOIP的发展提供了一个更有创造性的思路。VoIP 与P2P融合,P2P技术综合利用分散的网络资源,使得语音呼叫的接通率、语音质量在很大 程度上甚至超过传统的电话网络。P2P技术是一种用于不同PC用户之间,不经过中继设备 直接交换数据或服务的技术。P2P技术主要指由硬件形成连接后的信息控制技术,其代表形 式是软件。它打破了传统的客户机/服务器(C/S,Client/Server)模式,在对等网络中,每 个节点的地位都是相同的,同时具备客户端和服务器双重特性,既享用服务也提供服务。VoIP充分利用了 P2P技术的特点。非集中式P2P网络可以无限的扩展,并且不会 因为扩展而导致搜索时间的延长和费用的增加——利用终端用户机器的处理能力和网络 带宽,每增加一个节点,P2P网络的处理能力和带宽都相应增加;P2P技术在穿透防火墙和 网络地址转换(NAT,NetworkAddressTranslation)方面也具有优势。传统的集中式网络也 可以穿透防火墙和NAT,但通常会因此增加非常昂贵的费用,用户越多费用越高。使用P2P 技术的典型VoIP产品是Skype,Skype实现了将网络资源分散(即不是利用集中式的服务 器资源,而是利用各节点的网络资源),使得语音呼叫接通率、语音质量在很大程度上甚至超过传统电话。

发明内容
本发明的目的在于提供一种基于P2P的SIP VoIP系统中信令的传输方法,该方法 保证了会话发起协议(SIP,Session Initiation Protocol)信令能够在进行通话的用户客 户端之间可靠的传输,避免了由于某些网络状况而导致SIP信令丢失的无法正常建立通话 的情况。实现本发明目的所采用的具体技术方案如下一种VoIP系统中信令的传输方法,基于P2P技术实现SIP信令的可靠传输,具体 包括如下步骤(1)首先终端节点向引导节点发送注册消息,并从引导节点提供的服务器节点中 选择两个服务器节点,将该终端节点注册到所述两个服务器节点上;其中,所述引导节点指覆盖网的启动节点,其指导服务器节点加入覆盖网,并响应 终端节点的消息,返回服务器节点给终端节点;所述服务器节点响应终端节点的各种SIP 信令消息;(2)注册成功之后的终端节点之间即可建立通话过程,具体建立过程如下(2. 1)任意终端节点UEl作为通话发起方将邀请(INVITE)消息分别发给其注册的 服务器节点SN-Cl和SN-C2,并通过SN-Cl和SN-C2将INVITE消息发送给作为通话接受方 的终端节点UE2 ;(2. 2)UE2通过其所注册的两个服务器节点SN-C3和SN-C4收到UEl的INVITE消 息;(2. 3)UE2收到INVITE消息后,将180消息后分别发给SN-C3和SN-C4,并通过 SN-C3和SN-C4将180消息发给UEl ;(2. 4) UEl收到180消息,等待UE2接听;(2. 5)若UE2确认接听,UE2会将OK消息发给SN-C3和SN-C4,并通过SN-C3和 SN-C4将OK消息发给UEl ;(2. 6)UEl接收到OK消息后,将确认字符(ACK)消息分别发到SN-Cl和SN-C2,并 通过SN-Cl和SN-C2发给UE2 ;(2. 7)UE2收到ACK消息后,两个客户端间通话建立;(3)通话建立后,在通话过程中用户终端定期向服务器节点发送注册消息,进行注 册更新;(4)通话完成后,一个用户终端会向另一方发送挂机消息来释放呼叫,该过程包含 以下步骤(4. 1)当UEl要结束通话时,UEl将BYE消息分别转发到SN-Cl和SN-C2 ;(4. 2) UE2接收到BYE消息后,结束通话,将发送OK消息给SN-C3和SN-C4,通过他 们发给UEl ;(4. 4)UEl收到OK消息后,呼叫释放完成,本次通话结束。作为本发明的进一步改进,所述的步骤(1)的具体注册过程为(1. 1)终端节点向引导节点发送注册消息;
(1. 2)引导节点通过负载均衡算法选择服务器节点,并将服务器节点列表转发给 终端节点;(1. 3)终端节点从服务器节点列表中任选2个服务器节点,并将用户标识(UID)和 这2个服务器节点的IP保存在本地列表中;(1. 4)终端节点分别向上述两个服务器节点发送注册消息;(1. 5)终端节点收到来自上述两个服务器节点的Ok消息,则表示注册成功。作为本发明的进一步改进,在步骤(1)或步骤(3)的注册过程中由于网络问题出 现服务器节点失效的情况时,为保证信令的可靠传输,进行如下处理(A)在注册过程中,若终端节点检测到所注册的两个服务器节点中有服务器节点 失效时,终端节点再向引导节点发送注册消息;(B)引导节点根据IP邻近原则返回服务器节点的IP列表给终端节点;(C)终端节点再次从中选择新的服务器节点,重新向其发送注册消息;(D)当该再次选择的服务器节点返回OK消息后,终端节点更新本地列表,该再次 选择的服务器节点成为终端节点的服务器节点。本发明根据VOIP系统的需求,采用可靠信令传输方法来传输系统SIP信令,保证 了系统通话的可靠性。具体而言,本发明具有以下特征(1)可靠性在本系统中一直有两个SN-C节点服务器用户UE,系统的SIP信令流必须分别向两 个服务器节点发送,当出现由于网络原因导致的单服务器节点(其中一个SN-C)失效时,剩 下的服务器节点能够完成SIP信令的继续传送,保证了通话的正常进行。(2)稳定性从系统的整体架构图可以看出在构成的分布式哈希表(DHT,Distributed Hash Table)网络中有许多SN-C超级节点,它们是系统部署在网络环境中的,具有较好的性能, 能够保证用户节点之间的通话要求。由于是固定部署的节点,也就不存在这些节点进入和 退出对系统造成的影响,而各用户节点的随意进入和退出也不会对系统造成影响。(3)自适应性用户节点在进入系统中以后,一直都保持着动态的调整,在不影响系统性能的前 提下,与自己的每个SN-C服务器节点保持一定频率的心跳(具体表现为定期向服务器节点 发送register信息)。当出现单个服务器节点失效的时候,用户节点回向SN-T节点发送注 册消息,SN-T会向用户节点返回新的可用的SN-C节点,从而避免了服务器节点失效造成的影响。(4)较强的可扩展性由于系统是采用P2P模式的,所以相对于C/S模式,有较强的可扩展性,服务器的 压力和网络承受的带宽并不会因为节点的增加,而呈线性增长,因此对服务器和带宽的要 求并不高。同时,也不会产生其他P2P结构所会引起的单一服务器节点失效和消息冗余等 问题。并且本系统基于SIP的V0IP,而SIP协议本身遵循因特网基本原则,协议很容易进 行扩展,便于增加新的业务,具有较强的互操作性,所以本系统也比较容易进行新业务的扩 展。(5)负载均衡
用户要进行通话前回向SN-T发送register消息,而SN-T节点会通过载均衡算法 选择合适(当前负载较小)SN-C节点,并将SN-C列表转发给用户UE,这样就能保证系统在 任何时候各SN-C节点负载均衡。


图1为整个系统通话过程的流程图;图2为正常情况下注册的SIP信令流程示意图;图3为正常情况下呼叫发起的SIP信令流程示意图;图4为正常情况下呼叫释放的SIP信令流程图;图5为非正常情况下通话过程中(注册)的SIP信令流程图;图6为非正常情况下呼叫发起的SIP信令流程图;图7为非正常情况下呼叫结束的SIP信令流程图;图8为利用实验室的设备部署的本发明的一个实例。
具体实施例方式本发明根据VOIP系统保证通话的正常进行的需要而设计的SIP信令的可靠传输 方法,下面结合附图和具体实施对本发明作详细的说明。本发明中涉及的三种节点类型的说明终端节点(UE,User Edge)指运行标准SIP协议或流媒体协议的终端节点。引导节点(SN-T,Server Node-Track)覆盖网的启动节点,指导SN-C加入覆盖 网,并响应UE的消息,返回SN-C给UE。服务器节点(SN-C,Server Node-Core)服务器节点SN-C通过SN-T加入到覆盖 网中,SN-C响应UE的各种SIP信令消息。一种VoIP系统中信令的传输方法,基于P2P技术实现SIP信令的可靠传输,具体 包括如下步骤(1)首先UE向SN-T发送注册消息,得到两个SN-C,并注册到所述两个SN-C上。该 过程(如图2所示)包含以下步骤(1. DUE 向 SN-T 发送 register (注册)消息。用户要使用本系统与其它用户进行通话,必须首先注册到网络中,通过向SN-T发 送Register消息实现,用于向SIP网络服务器登记用户位置和账号信息,只有注册成功后 才能通过该用户名进行通话。(1. 2) SN-T通过负载均衡算法选择SN-C节点,并将SN-C列表转发给UE。SN-T管理着域内所有的SN-C节点,为了保证所有的SN-C均衡负载,SN-T通常选 择负载最小的SN-C,负载均衡保证了所有的SN-C能够共同分担任务,不会出现某些SN-C负 载过大而其它SN-C空闲的状态,提高了系统的可用性。(1. 3) UE选择2个SN-C,并将用户标识(UID)和这2个SN-C的IP保存在本地列 表中。(1. 4) UE分别向两个SN-C发送register消息。在发送给两个SN-C的register消息中,会附加上相同的时间戳,并附加不同的编号来区分。在消息中附加时间戳主要是为了方便消息的接收者能够根据时间先后顺序,用 当前最新的消息替代相同的旧信息,以保证实时的反映系统的最新网络状况。(1.5) UE收到来自两个SN-C的Ok消息,则表示注册成功。SN-C收到UE的register消息后,会分别返回OK消息并附加上时间戳。UE接收 到第一个OK后,并缓存OK消息。此后,UE收到0K,将其时间戳与缓存的OK消息时间戳进 行比较。如果时间戳相同,则忽略该消息;如果时间戳不同,则接受该消息,并将其替换原缓 存的消息。在注册过程中很可能由于网络问题出现服务器节点失效的情况,如图5所示则会 包含以下过程(A)在注册过程中,若UE检测到其中一个服务器节点失效时,UE再向SN-T发送注 册消息。(B) SN-T根据IP邻近原则返回部分SN-C节点IP列表给用户UE。(C)UE从中再次选择一个节点,重新向其发送注册消息。(D)当该再次选择的节点返回OK消息后,UE更新本地的对应表,该再次选择的节 点成为UE的服务器节点。(2)注册成功之后两个终端节点UEl和UE2之间如果想通话,假定由一方UEl发起 呼叫,整个呼叫发起建立过程(如图3)包含以下步骤,其中包括了在单服务器节点失效的 情况下如何完成通话建立的SIP信令流程(如图6)(2. DUEl将INVITE (邀请)消息分别发给其注册的服务器节点SN-C1和SN-C2, 通过这两个服务器节点将INVITE消息发送给UE2,具体包含以下过程(2. 1. DUEl将INVITE消息加上时间戳和序列号后分别发到SN-C1和SN-C2。(2. 1. 2) SN-Cl解析INVITE消息,通过分布式哈希表(DHT)网络找到UE2注册的服 务器节点SN-C3和SN-C4,并将INVITE消息发送到SN-C3和SN-C4。(2. 1. 3) SN-C3和SN-C4接收到INVITE消息后,都将INVITE消息发送给UE2。(2. 2)UE2 通过 SN-C3 和 SN-C4 收到 UEl 的 INVITE 消息。UE2接受第一个INVITE消息,并缓存INVITE消息,以后UE2收到INVITE后,将其 时间戳与缓存的INVITE消息时间戳进行比较。如果时间戳相同,则忽略该消息;如果时间 戳不同,则接受该消息,并将其替换原缓存的消息。所有SN-C在收到INVITE消息后都向发送方返回一个100消息。服务器节点发送 的100信息,表示对收到主叫的INVITE消息应答,并开始处理INVITE消息。(2. 3)UE2收到INVITE消息后,将180消息后分别发给SN-C3和SN-C4,并通过 SN-C3和SN-C4将180消息发给UEl。当UE2收到INVITE消息后,开始振铃,并发送180信息给其注册的服务器节点,表 示被叫正在振铃。UE2会在180消息中加上时间戳和序列号后分别发给SN-C3和SN-C4, SN-C3和SN-C4都将其收到的消息分别发给SN-Cl和SN-C2,SN-Cl和SN-C2都将该消息发 给 UE1。由于网络的不稳定性在通话建立过程的各个阶段都可能发生服务器节点失效的 情况,最普遍的情况就是单服务器节点失效。在通话建立的任何时候都可能发生但服务器 节点失效的情况,下面我们仅结合图6对这种情况进行说明。如图6所示(红色消息表示在正常流程中SN-Cl发出的消息)在通话过程中SN-Cl失效,SN-Cl无法再接收或传送SIP信 令,只有SN-C2可以正常传输SIP信令。UE2振铃后,UE2将180消息加上时间戳和序列号 后分别发给SN-C3和SN-C4,SN-C3和SN-C4都将其收到的消息分别发给SN-Cl和SN-C2,由 于SN-Cl失效,最终只有SN-C2收到来自SN-C3和SN-C4的180信息并将该信息发给UEl。(2. 4) UEl 收到来自 SN-Cl 和 SN-C2 的 180 消息。UEl将接受第一个180消息,并缓存180消息,以后UEl收到180消息后,将其时间 戳与缓存的180消息时间戳进行比较。如果时间戳相同,则忽略该消息;如果时间戳不同, 则接受该消息,并将其替换原缓存的消息。若在非正常情况下如图6所示SN-Cl失效,只有SN-C2发送180消息给UEl,UEl 最终只收到SN-C2的180消息,但是通过该消息UEl足以知道UE2已经收到INVITE消息并 开始振铃。(2. 5)若UE2确认接听,UE2会将OK消息发给SN-C3和SN-C4,通过SN-C3和SN-C4 将该消息发给UEl。UEl收到200 (OK)消息表明UE2接受了 UEl的INVITE消息,即UE2用户接起了电 话。UE2会在发送的OK消息加上时间戳和序列号后发给SN-C3和SN-C4,SN-C3和SN-C4都 将该消息分别发给SN-Cl和SN-C2,SN-Cl和SN-C2都将该消息发给UEl。若在非正常情况下如图6所示SN-Cl失效,UE2接听后,UE2将OK消息发给SN-C3 和SN-C4,SN-C3和SN-C4都将该消息分别发给SN-Cl和SN-C2,只有SN-C2收到OK信息, 并将消息发给UEl。(2. 6)UEl接收到OK消息后,将确认字符(ACK)消息分别发到SN-C1和SN-C2,通 过它们发给UE2,具体包含以下过程(2. 6. DUEl会在ACK消息中加上时间戳和编号后分别转发到SN-C1和SN-C2,并 缓存OK消息,以后UEl收到OK消息后,将其时间戳与缓存的OK消息时间戳进行比较。如 果时间戳相同,则忽略该消息;如果时间戳不同,则接受该消息,并将其替换原缓存的消息。若在非正常情况下如图6所示SN-Cl失效,UEl只收到了来自SN-C2的OK消息, 但是已经足以让UEl知道被叫UE2已经接听了电话,所以UEl会发送ACK消息给服务器节 点SN-Cl和SN-C2,虽然只有SN-C2能收到消息。(2. 6. 2) SN-Cl 和 SN-C2 都将 ACK 消息分别发送给 SN-C3 和 SN-C4。若在非正常情况下如图6所示SN-Cl失效,只有SN-C2将ACK消息发送给SN-C3 和 SN-C4。(2. 6. 3) SN-C3和SN-C4接收到ACK消息后,都将ACK消息发送给UE2。(2. 7)UE2收到其服务器节点发来的ACK消息后,两个客户端间通话建立。UE2接受第一个ACK消息,并缓存ACK消息,以后UE2收到ACK消息后,将其时间戳 与缓存的ACK消息时间戳进行比较。如果时间戳相同,则忽略该消息;如果时间戳不同,则 接受该消息,并将其替换原缓存的消息。若在非正常情况下如图6所示SN-Cl失效,但是由于另一个服务器节点SN-C2仍 能够正常传输消息,所以在单服务器节点失效的情况下,另一个服务器节点还是完成整个 呼叫建立过程中的SIP信令传输,整个呼叫建立过程依然可以顺利完成,并且对用户而言 保持透明(红色消息表示在正常流程中SN-Cl发出的消息)。对于其它SN-C,在呼叫建立过程中的任意时刻失效,整个呼叫发起流程可以顺利进行,正常建立通话(只考虑一个客 户端的两个服务器节点中一个失效的这一普遍情况下出现的问题)。(3)通话建立后,用户终端之间可以一直通话,在通话过程中用户终端还要定期向 服务器节点发送注册消息(相当于心跳包),在服务器节点上重新注册。UE在Register消息中附加上相同的时间戳,并附加上不同的编号,UE根据本地列 表中服务器节点的信息,分别发送给2个SN-C节点,建立注册,具体如步骤(1. 4)-(1· 5)。在注册过程中很可能由于网络问题出现服务器节点失效的情况,则执行步骤 (1.6)建立注册。(4)通话完成后,一个用户终端会向另一方发送挂机消息来释放呼叫,该过程(如 图4所示)包含以下步骤(4. 1)当UEl要结束通话时,UEl将BYE消息分别转发到SN-Cl和SN-C2,通过 SN-Cl和SN-C2发送给UE2,具体包含以下过程(4. 1. 1)当UEl要结束通话时,UEl在BYE消息加上时间戳和编号后分别转发到 SN-Cl 禾口 SN-C2。(4. 1. 2) SN-Cl 和 SN-C2 都将 BYE 消息分别发送给 SN-C3 和 SN-C4。(4. 1. 3) SN-C3和SN-C4接收到BYE消息后,都将BYE消息发送给UE2。(4. 2) UE2 通过 SN-C3 和 SN-C4 收到 BYE 消息发。UE2接收第一个BYE消息,并缓存BYE消息,以后UE2收到BYE消息后,将其时间戳 与缓存的BYE消息时间戳进行比较。如果时间戳相同,则忽略该消息;如果时间戳不同,则 接受该消息,并将其替换原缓存的消息。(4. 3)UE2接收到BYE消息后,结束通话,将发送OK消息给SN-C3和SN-C4,通过 SN-C3 和 SN-C4 发给 UEl。UE2将该消息加上时间戳和序列号后发给SN-C3和SN-C4,SN-C3和SN-C4都将该 消息分别发给SN-Cl和SN-C2,SN-Cl和SN-C2都将该消息发给UEl。由于网络的不稳定性在结束通话过程的各阶段都可能发生服务器节点失效的情 况,最普遍的情况就是单服务器节点失效。在结束通话释放呼叫的任何时候都可能发生单 服务器节点失效的情况,下面我们仅结合图7对这种情况进行说明。如图7所示(红色消 息表示在正常流程中SN-Cl发出的消息)在释放呼叫过程中SN-Cl失效,SN-Cl无法再接 收或传送SIP信令,只有SN-C2可以正常传输SIP信令。UE2接收到BYE消息后,结束通话, 将发送OK消息,UE2将该消息加上时间戳和序列号后发给SN-C3和SN-C4,SN-C3和SN-C4 都将该消息分别发给SN-Cl和SN-C2,由于SN-Cl失效,只有SN-C2收到OK消息并将将该消 息发给UEl。(4. 4) UEl通过其注册的服务器节点SN-Cl和SN-C2收到OK消息后,本次通话完全结束。UEl将接受第一个OK消息,并缓存OK消息,以后UEl收到OK消息后,将其时间戳 与缓存的OK消息时间戳进行比较。如果时间戳相同,则忽略该消息;如果时间戳不同,则接 受该消息,并将其替换原缓存的消息。若在非正常情况下如图7所示在释放呼叫过程中SN-Cl失效,UEl只收到来自 SN-C2的OK消息,但是已经足以让UEl知道被叫端同意正常挂机结束通话。由于另一个服务器节点SN-C2仍能够正常传输消息,所以在单服务器节点失效的情况下,另一个节点还 是完成整个呼叫释放过程中的SIP信令传输,整个呼叫释放过程依然可以顺利完成,并且 对用户而言保持透明(红色消息表示在正常流程中SN-Cl发出的消息)。对于其它SN-C 节点,在呼叫释放过程中的任意时刻失效,整个呼叫释放流程可以顺利进行,正常结束通话 (只考虑一个客户端的两个服务器节点中一个失效的这一普遍问题)。(5)呼叫释放完成,用户终端正常结束通话。至此,基于P2P的SIP VoIP系统中可靠信令传输方法完成了 VOIP系统中需要的 各种SIP信令传输。实例利用本发明所阐述基于P2P的SIP VoIP系统中可靠信令传输方法,实验室提供了 10个超级节点以及2台普通PC机。PC机的硬件配置如下
机器名CPU内存硬盘网络带宽超级节点PIIII2. OG2G40GIOOM终端节点PCPIIII1. 7G256M40GIOM如图8利用实验室的设备部署的本系统,本系统主要有超级节点和终端节点组 成。超级节点分为核心超级节点SN-C和资源索引超级节点SN-T。核心超级节点SN-C的功 能有会话控制和业务处理,分布式数据存储与定位(Reload),周期地报告自身状态给资 源索引超级节点SN-T。索引超级节点SN-T的功能有指导SN-C加入业务网络,指导UE找 到管理节点SN-C,周期性统计核心超级节点SN-C的状态。终端节点UE是指运行标准SIP 协议或流媒体协议的终端节点,这类终端既可以是PC等设备也可以是可移动的手持设备。 标准的终端节点通过标准的SIP协议或流媒体协议接入到业务网络。在搭建好的实验环境下,用户终端UE1、UE2首先向SN-T节点发送注册消息,SN-T 节点根据负载均衡原则分别向UE1、UE2返回SN-C列表,用户终端挑选SN-C1、SN-C2作为服 务器节点,为了验证在单服务器节点失效的情况下SIP信令流程,我们人为的在注册过程 中是SN-C2失效,注册完成后我们查看UEl的UID-IP对应表,我们发现表中没有SN-C2,取 而代之的是SN-3节点作为服务器节点。接着,开始模拟通话建立的过程,UEl有服务器节 点SN-Cl和SN-C3,我们在任意时刻SN-C3失效断开网络,UE2均能顺利收到了 UEl的呼叫 消息,UE2接通后可以与UEl进行通话,通过全过程的抓包,我们发现是SIP信令流程符合 我们的分析的。最后,我们完成通话,UE2挂机,人为的使UEl的一个服务器节点失效,UEl 能够收到UE2的BYE消息,UEl确认后,两边终端正常完成呼叫的释放,通过抓包分析,呼叫 释放过程中SIP信令流程是按我们上述预期进行的。经多次测试,采用本发明所论述的可靠SIP信令传输方法,在任意时刻使用户终 端的一个服务器节点失效,终端用户都能完成注册、呼叫建立、呼叫释放的SIP信令流程, 整个系统能够稳定地工作。本领域一般技术人员根据本发明公开的内容,能够采用其它具体实施方式
实现本 发明创造。
权利要求
一种VoIP系统中信令的传输方法,基于P2P技术实现SIP信令的可靠传输,该方法具体包括如下步骤(1)首先终端节点向引导节点发送注册消息,并从引导节点提供的服务器节点中选择两个服务器节点,将该终端节点注册到所述两个服务器节点上;其中,所述引导节点指覆盖网的启动节点,其指导服务器节点加入覆盖网,并响应终端节点的消息,返回服务器节点给终端节点;所述服务器节点响应终端节点的各种SIP信令消息;(2)注册成功之后的终端节点之间即可建立通话过程,具体建立过程如下(2.1)任意终端节点UE1作为通话发起方将邀请(INVITE)消息分别发给其注册的服务器节点SN C1和SN C2,并通过SN C1和SN C2将INVITE消息发送给作为通话接受方的终端节点UE2;(2.2)UE2通过其所注册的两个服务器节点SN C3和SN C4收到UE1的INVITE消息;(2.3)UE2收到INVITE消息后,将180消息后分别发给SN C3和SN C4,并通过SN C3和SN C4将180消息发给UE1;(2.4)UE1收到180消息,等待UE2接听;(2.5)若UE2确认接听,UE2会将OK消息发给SN C3和SN C4,并通过SN C3和SN C4将OK消息发给UE1;(2.6)UE1接收到OK消息后,将确认字符(ACK)消息分别发到SN C1和SN C2,并通过SN C1和SN C2发给UE2;(2.7)UE2收到ACK消息后,两个客户端间通话建立;(3)通话建立后,在通话过程中用户终端定期向服务器节点发送注册消息,进行注册更新;(4)通话完成后,一个用户终端会向另一方发送挂机消息来释放呼叫,该过程包含以下步骤(4.1)当UE1要结束通话时,UE1将BYE消息分别转发到SN C1和SN C2;(4.2)UE2接收到BYE消息后,结束通话,将发送OK消息给SN C3和SN C4,通过他们发给UE1;(4.4)UE1收到OK消息后,呼叫释放完成,本次通话结束。
2.根据权利要求1所述的传输方法,其特征在于,所述的步骤(1)的具体注册过程为(1. 1)终端节点向引导节点发送注册消息;(1. 2)引导节点通过负载均衡算法选择服务器节点,并将服务器节点列表转发给终端 节占.I— /、、、 (1.3)终端节点从服务器节点列表中任选2个服务器节点,并将用户标识(UID)和这2 个服务器节点的IP保存在本地列表中;(1.4)终端节点分别向上述两个服务器节点发送注册消息;(1. 5)终端节点收到来自上述两个服务器节点的Ok消息,则表示注册成功。
3.根据权利要求1或2所述的传输方法,其特征在于,在步骤(1)或步骤(3)的注册 过程中由于网络问题出现服务器节点失效的情况时,为保证信令的可靠传输,进行如下处 理(A)在注册过程中,若终端节点检测到所注册的两个服务器节点中有服务器节点失效 时,终端节点再向引导节点发送注册消息;(B)引导节点根据IP邻近原则返回服务器节点的IP列表给终端节点;(C)终端节点再次从中选 择新的服务器节点,重新向其发送注册消息;(D)当该再次选择的服务器节点返回OK消息后,终端节点更新本地列表,该再次选择 的服务器节点成为终端节点的服务器节点。
全文摘要
本发明公开了一种基于P2P的SIP VoIP系统中可靠信令传输方法,各用户终端执行以下步骤①用户终端向服务器发送注册消息,得到两个服务器节点;②用户终端之间通过SIP信令建立呼叫;③呼叫建立后,用户终端之间可以通话了;在通话过程中,用户终端还会定期向服务器节点发送注册消息,告诉服务器节点当前自己的状态;④通话完成后,一方向另一方发送挂机消息;⑤用户终端之间通过SIP信令释放呼叫,正常结束通话。本发明保证了系统的可靠性和动态性,避免了网络状况造成的节点失效导致无法正常通话的情况,并提高了系统的可用性。
文档编号H04L29/08GK101938521SQ20101027821
公开日2011年1月5日 申请日期2010年9月10日 优先权日2010年9月10日
发明者廖小飞, 徐飞, 舒畅, 蒋洪磊, 邱飞, 郭峰江, 金海 , 钱力 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1