CN101997870B - 一种保证VoIP系统动态中转可靠性的方法 - Google Patents
一种保证VoIP系统动态中转可靠性的方法 Download PDFInfo
- Publication number
- CN101997870B CN101997870B CN 201010278215 CN201010278215A CN101997870B CN 101997870 B CN101997870 B CN 101997870B CN 201010278215 CN201010278215 CN 201010278215 CN 201010278215 A CN201010278215 A CN 201010278215A CN 101997870 B CN101997870 B CN 101997870B
- Authority
- CN
- China
- Prior art keywords
- transfer server
- local
- client
- transfer
- transit node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种保证基于SIP的VoIP系统动态中转可靠性的方法,通过加入冗余服务器来保证动态中转的可靠性,该方法具体包括如下步骤:步骤(一):客户端申请中转服务器,使每个客户端获得自身的本地中转服务器和本地冗余中转服务器;步骤(二):当客户端通话过程中,发现通话质量不佳时,则进行动态中转;步骤(三):结束通话。本发明确保了系统服务的可靠性和稳定性,消除了单一中转服务器失效时对通话造成的影响。
Description
技术领域
本发明属于VoIP系统应用领域,具体涉及一种提高VoIP系统中的动态中转可靠性的方法。
背景技术
目前基于会话初始化协议(SIP,Session Initiation Protocol)的网络语音电话(VoIP,Voice over Internet Protocol)系统种类繁多,但是客户端通过网络地址转换(NAT:Network Address Translation)之后,由于NAT只对IP层和TCP/UDP层的地址和端口进行转换,而SIP是应用层控制协议,SIP消息中内嵌的地址和端口在SIP穿越NAT时并不能被转换,因而造成SIP信令寻址不成功或媒体通道不能建立。而且对于媒体流,由于是基于实时传输协议(RTP)和采用动态分配UDP端口方式,终端用户在实际传输媒体流之前是无法预知对方媒体流的对外端口的。当终端用户处在对称性NAT之后时,问题变得更加复杂。随着语音和视频业务的蓬勃发展,SIP/NAT问题已成为基于SIP的VoIP技术在NAT设置的城域网和企业网中推广应用的最大障碍。
目前,针对SIP/NAT问题的主要解决方案有:应用层网关(ALG)、中间体通信协议(MIDCOM)、UDP简单穿越NAT(STUN)、Relay方式穿越NAT(TURN)和全代理服务器(Full Proxy)。ALG和MIDCOM均需要对NAT设备升级,但目前网络实际已部署了大量的不支持相关特性的NAT设备,因而这两种方式可行性较差;STUN无需对现有NAT做任何改动,但SIP终端需要支持STUN协议,且不支持对对称性NAT的穿越;TURN同STUN一样,需要SIP终端支持TURN协议.
目前VoIP系统中,比较流行的穿越方案为,在通信双方的RTP通道之间,增加一个中转服务器,用来中转双方的媒体流。对于呼叫方和被叫方来说,中转服务器均扮演着对方通信实体的角色,可以解决双方客户端不能正常直连通话的问题。但是由于中转服务器自身的特点又拥有一些缺点。在动态切换中转时,由于选择新中转节点需要双方中转服务器进行协商,当某方中转服务器失效时,客户 端向中转服务器发送索取新中转节点的请求将得不到返回结果,从而动态切换中转功能失效。如何保证在中转服务器节点失效的情况下,消除单一中转服务器带来的影响,保持通话正常进行,一直是很重要的问题。
发明内容
本发明的目的在于提供一种在基于SIP的VoIP系统中使用动态中转时,提供冗余中转服务器,以提高动态中转可靠性的方法。该方法确保了系统服务的可靠性和稳定性,消除了单一中转服务器失效时对通话造成的影响。
实现本发明的目的所采用的具体技术方案如下:
一种保证基于SIP的VoIP系统动态中转可靠性的方法,其通过加入冗余服务器来保证动态中转的可靠性,具体包括如下步骤:
步骤(一)客户端申请中转服务器,每个客户端获得自身的本地中转服务器和本地冗余中转服务器,具体过程如下:
(1)客户端向覆盖网启动节点请求中转服务器;
(2)启动节点收到客户端的请求后,从自身维护的中转服务器中,返回多个离所述客户端近的中转服务器给该客户端;
(3)客户端得到返回的中转服务器,向其中每个中转服务器发送索要网络状况请求;
(4)上述每个中转服务器收到索要网络状况请求后,分别与所述客户端测试时延,并将结果返回给启动节点;
(5)所述启动节点查看所述返回的结果,并从中选择两个中转服务器,分别作为本地中转服务器和本地冗余中转服务器返回给客户端,具体选择过程如下:
(A)如果返回的结果中至少两个中转服务器的时延小于阈值,则选择其中时延最小的两个分别作为本地中转服务器和本地冗余中转服务器;
(B)如果返回的结果中只有一个中转服务器的时延小于阈值,则选择该中转服务器作为本地中转服务器返回给所述客户端,然后挑选与此本地中转服务器的时延最小的中转服务器作为本地冗余中转服务器;
(C)如果返回的结果中没有中转服务器时延小于阈值,则选择将延时最小的中转服务器返回给客户端作为新的启动节点,重复步骤(1)-(5),直至选择 到本地中转服务器和本地冗余中转服务器;
客户端之间根据上述获得的本地中转服务器和本地冗余中转服务器进行通话,其中本地冗余中转服务器仅仅在使用动态中转功能时作为备选中转服务器;
步骤(二)当客户端通话过程中,发现通话质量不佳时,则进行动态中转,具体过程如下:
通话的任一方客户端UE1向自身的本地中转服务器发送索要新中转节点请求,该本地中转服务器返回ACK确认消息给该客户端UE1,客户端UE1如果收到ACK确认消息,进入步骤(A),否则进入步骤(B);
(A)UE1等待自身的本地中转服务器返回新的中转节点地址,UE1的本地中转服务器与通话另一方客户端UE2的本地中转服务器协商返回中转节点给UE1,如果收到返回中转节点消息超时,进入步骤(C1),否则进入步骤(D);
(B)UE1向自身的本地冗余中转服务器发送索要中转节点请求,UE1的本地冗余中转服务器与对方本地中转服务器协商返回中转节点给UE1,UE1等待自身的本地冗余中转服务器返回新的中转节点地址,如果收到返回中转节点消息超时,进入步骤(C2),否则进入步骤(D);
(C1)UE1向自身的本地中转服务器发送索要新中转节点请求,UE1的本地中转服务器与UE2的本地冗余中转服务器协商返回中转节点给UE1,进入步骤(D);
(C2)UE1向自身的本地冗余中转服务器发送索要新中转节点请求,UE1的本地冗余中转服务器与UE2的本地冗余中转服务器协商返回中转节点给UE1,进入步骤(D);
(D)UE1收到新的中转节点地址,向通话另一方客户端UE2发送RE-INVITE请求,该RE-INVITE请求的会话描述协议(SDP)结构体中包含新的中转节点地址,双方继续通话;
步骤(三)结束通话;
经上述步骤即可保证VoIP系统动态中转的可靠性。
在通话过程中,上述步骤(三)可多次重复,以保证通话质量。
本发明根据VoIP系统实时通话的需求,在客户端UE申请中转服务器地址时,返回中转服务器地址和冗余中转服务器地址,在通话中发现通话质量不佳,由双方中转服务器返回新的中转节点,进行动态中转切换。具体而言,本发明具有以 下特征:
稳定性:由于使用了冗余中转服务器,在动态切换中转时,某方中转服务器失效时能仍然能返回中转节点,保证动态切换功能完整进行。
负载均衡:在中转服务器压力过大时,客户端会切换中转服务器,保证所使用的中转服务器的服务质量。
实时性:当中转服务器失效时,客户端能检测到当前中转服务器失效,并切换到新的中转服务器,保证系统通话的实时性。
附图说明
图1为UE申请中转服务器示意图;
图2为UE发送索取新中转节点流程示意图;
图3为中转服务器收发请求包流程示意图。
具体实施方式
本发明根据基于SIP的VoIP系统动态中转需要提供了一种使用冗余中转服务器的方法,下面结合附图和实例对本发明作详细的说明。
一种保证基于SIP的VoIP系统动态中转可靠性的方法,通过加入冗余服务器保证动态中转的可靠性,具体包括如下步骤:
步骤(一):对所有客户端申请中转服务器,如图1,具体过程如下:
(1)客户端UE向覆盖网启动节点Bootstrap请求中转节点。
客户端在启动时,读取配置文件,找到启动节点Bootstrap,向启动节点Bootstrap发送请求中转请求。
(2)启动节点Bootstrap收到客户端的请求后,根据客户端的网络状况(一般为客户端的地理位置等信息),从自身维护的中转服务器节点中,返回K个离客户端最近的中转服务器给客户端。其中K取值范围为2和当前能够得到的最大中转服务器节点数之间。
(3)客户端得到返回的中转服务器地址,向每个中转服务器发送索要网络状况请求。
由于客户端可能在内网中,要得到与中转服务器之间的延时需要客户端向中转服务器发送请求。索要网络状况请求包含客户端的IP地址和端口。
(4)中转服务器收到索要网络状况请求后,分别与客户端测试时延,并将 结果返回给启动节点。
(5)启动节点查看中转服务器返回的结果,并从中选择两个中转服务器,分别作为本地中转服务器和本地冗余中转服务器返回给客户端。具体选择过程如下:
(A)如果返回的中转服务器中至少两个的时延小于阈值,则选择其中时延最小的两个分别作为本地中转服务器和本地冗余中转服务器;
(B)如果返回的中转服务器中只有一个的时延小于阈值,则选择该中转服务器作为本地中转节点返回给客户端,然后挑选与此本地中转节点的时延最小的中转服务器作为本地冗余中转节点返回给客户端。
(C)如果返回的中转服务器中没有时延小于阈值的中转服务器,则选择将延时最小的中转服务器返回给客户端作为启动节点,重复步骤(1)-(5),直至选择到本地中转服务器和本地冗余中转服务器。
客户端根据上述确定的本地中转服务器和本地冗余中转服务器进行通话,其中本地冗余中转服务器仅仅在使用动态中转功能时作为备选中转服务器。
客户端UE向对方客户端发送通话邀请(INVITE)请求中的会话描述协议(SDP)结构体里面包含本地中转服务器和本地冗余中转服务器,使对方客户端得到自身本地中转服务器和本地冗余中转服务器。
(二)当客户端通话过程中,发现通话质量不佳时,任一客户端UE1向自身的本地中转服务器发送索要新中转节点请求,具体过程如下,如图2所示:
通话质量不佳可能是中转节点失效,或者中转节点不能提供高质量的中转媒体流服务等。在索要新中转节点请求中含有对方的本地中转服务器地址,对方的本地中转服务器地址和本地冗余中转服务器地址在之前的SIP信令过程中得到。
客户端UE1的本地中转服务器收到索要新中转节点请求时,返回ACK确认消息给客户端UE1,如图3所示。客户端如果收到ACK确认消息,进入步骤(A),否则进入步骤(B)。
(A)UE1等待自身本地中转服务器返回新的中转节点地址,UE1的本地中转服务器与对方本地中转服务器协商返回中转节点给UE1。如果收到返回中转节点消息超时,进入步骤(C1),否则进入步骤(D)。
(B)UE1向自身本地冗余中转服务器发送索要中转节点请求。UE1的本地冗余中转服务器与对方本地中转服务器协商返回中转节点给UE1。UE1等待本地冗余中转服务器返回新的中转节点地址。如果收到返回中转节点消息超时,进入步骤(C2),否则进入步骤(D)。
(C1)UE1向本地中转服务器发送索要新中转节点请求,UE1的本地中转服务器与对方本地冗余中转服务器协商返回中转节点给UE1
(C2)UE1向本地冗余中转服务器发送索要新中转节点请求,UE1的本地冗余中转服务器与对方本地冗余中转服务器协商返回中转节点给UE1。
(D)UE1收到新的中转节点地址,向对方客户端发送RE-通话邀请INVITE请求,RE-通话邀请INVITE请求的SDP结构体中包含新的中转节点地址。双方继续通话。
步骤(三):结束通话。
应用实例:
利用本发明所阐述的冗余中转服务器方法,实验室提供了3个服务器以及2台普通PC机,分别做启动节点,中转服务器和客户端。PC机的硬件配置如下:
机器名 | CPU | 内存 | 硬盘 | 网络带宽 |
服务器A-E | P43.00G | 4G | 500G | 100M |
PC A、B | T57502.0G | 2G | 250G | 100M |
服务器A-E分别启动节点和双方中转服务器,通过测量彼此时延,将其他服务器定位在自身的延迟环上,服务器根据对方与自身的时延,选择相应延迟环上的节点作为请求返回结果。PC A、B作为客户端,向启动节点请求中转服务器和冗余中转服务器,并在需要动态切换中转时,向中转服务器发出索取新中转节点请求。根据返回的新中转节点发起RE-通话邀请INVITE请求。
经多次测试,采用本发明所论述的冗余中转服务器方法,能在需要使用动态中转功能且中转服务器失效时,客户端仍能得到新的中转节点,并根据新中转节点地址发起RE-通话邀请INVITE请求,整个系统能够稳定地工作,保证通话 的实时性和系统的稳定性。
本领域一股技术人员根据本发明公开的内容,能够采用其它具体实施方式实现本发明创造。
Claims (2)
1.一种保证基于SIP的VoIP系统动态中转可靠性的方法,通过加入冗余服务器来保证动态中转的可靠性,该方法具体包括如下步骤:
步骤(一):客户端申请中转服务器,使每个客户端获得自身的本地中转服务器和本地冗余中转服务器,具体过程如下:
(1)客户端向覆盖网启动节点请求中转服务器;
(2)启动节点收到客户端的请求后,从自身维护的中转服务器中,返回多个离所述客户端近的中转服务器给该客户端;
(3)客户端得到返回的中转服务器,向其中每个中转服务器发送索要网络状况请求;
(4)上述每个中转服务器收到索要网络状况请求后,分别与所述客户端测试时延,并将结果返回给启动节点;
(5)所述启动节点查看所述返回的结果,并从中选择两个中转服务器,分别作为本地中转服务器和本地冗余中转服务器返回给客户端,具体选择过程如下:
(A)如果返回的结果中至少两个中转服务器的时延小于阈值,则选择其中时延最小的两个分别作为本地中转服务器和本地冗余中转服务器;
(B)如果返回的结果中只有一个中转服务器的时延小于阈值,则选择该中转服务器作为本地中转服务器返回给所述客户端,然后挑选与此本地中转服务器的时延最小的中转服务器作为本地冗余中转服务器;
(C)如果返回的结果中没有中转服务器时延小于阈值,则选择将延时最小的中转服务器返回给客户端作为新的启动节点,重复步骤(1)-(5),直至选择到本地中转服务器和本地冗余中转服务器;
步骤(二):当客户端通话过程中,发现通话质量不佳时,则进行动态中转,具体过程如下:
通话的任一方客户端UE1向自身的本地中转服务器发送索要新中转节点请求,该本地中转服务器返回ACK确认消息给该客户端UE1,客户端UE1如果收到ACK确认消息,进入步骤(A),否则进入步骤(B);
(A)UE1等待自身的本地中转服务器返回新的中转节点地址,UE1的本地中转服务器与通话另一方客户端UE2的本地中转服务器协商返回中转节点给UE1,如果收到返回中转节点消息超时,进入步骤(C1),否则进入步骤(D);
(B)UE1向自身的本地冗余中转服务器发送索要中转节点请求,UE1的本地冗余中转服务器与对方本地中转服务器协商返回中转节点给UE1,UE1等待自身的本地冗余中转服务器返回新的中转节点地址,如果收到返回中转节点消息超时,进入步骤(C2),否则进入步骤(D);
(C1)UE1向自身的本地中转服务器发送索要新中转节点请求,UE1的本地中转服务器与UE2的本地冗余中转服务器协商返回中转节点给UE1,进入步骤(D);
(C2)UE1向自身的本地冗余中转服务器发送索要新中转节点请求,UE1的本地冗余中转服务器与UE2的本地冗余中转服务器协商返回中转节点给UE1,进入步骤(D);
(D)UE1收到新的中转节点地址,向通话另一方客户端UE2发送RE-INVITE请求,该RE-INVITE请求的SDP结构体中包含新的中转节点地址,双方继续通话;
步骤(三):结束通话。
2.根据权利要求1所述的方法,其特征在于,在通话过程中,上述步骤(二)可多次重复,以保证通话质量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010278215 CN101997870B (zh) | 2010-09-10 | 2010-09-10 | 一种保证VoIP系统动态中转可靠性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010278215 CN101997870B (zh) | 2010-09-10 | 2010-09-10 | 一种保证VoIP系统动态中转可靠性的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101997870A CN101997870A (zh) | 2011-03-30 |
CN101997870B true CN101997870B (zh) | 2013-05-22 |
Family
ID=43787451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010278215 Expired - Fee Related CN101997870B (zh) | 2010-09-10 | 2010-09-10 | 一种保证VoIP系统动态中转可靠性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101997870B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103166980B (zh) * | 2011-12-08 | 2018-01-26 | 腾讯科技(深圳)有限公司 | 互联网数据拉取方法和系统 |
CN104618239A (zh) * | 2014-12-23 | 2015-05-13 | 深圳市有信网络技术有限公司 | 一种提升网络电话语音数据包传输质量的方法及其系统 |
CN110417886B (zh) * | 2019-07-29 | 2020-12-29 | 广州竞远安全技术股份有限公司 | 一种综合业务的负载均衡方法、装置及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7945680B2 (en) * | 2007-10-30 | 2011-05-17 | Motorola Solutions, Inc. | Method and apparatus for peer to peer link establishment over a network |
TW201029413A (en) * | 2009-01-21 | 2010-08-01 | Univ Nat Taipei Technology | NAT traversal method in Session Initial Protocol |
-
2010
- 2010-09-10 CN CN 201010278215 patent/CN101997870B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101997870A (zh) | 2011-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9742820B2 (en) | Latency differential mitigation for real time data streams | |
US10469545B2 (en) | Multimedia session call control method and application server | |
CN101257433B (zh) | 实现网络地址转换穿越的方法和系统 | |
CN106161179B (zh) | 一种基于网页的实时通信的媒体处理方法与装置 | |
US9712425B2 (en) | Maintaining optimal media routing | |
US10601880B2 (en) | Conference reconstruction in SIP networks | |
US9998424B1 (en) | NAT traversal in VoIP communication system | |
US10454978B2 (en) | Systems and methods for dynamic latency reduction for conferencing | |
CN101997870B (zh) | 一种保证VoIP系统动态中转可靠性的方法 | |
KR101506307B1 (ko) | Ims 네트워크 환경에서 사설망 단말에 대한 서비스 품질 제어 방법 및 시스템 | |
CN106534393B (zh) | 实现nat设备穿越的方法和系统 | |
US8812694B2 (en) | Dialog establishment over a peer-to-peer architecture | |
CN102413136B (zh) | 实现VoIP语音流穿透防火墙的VoIP系统及方法 | |
CN101547424A (zh) | 一种终端接入位置获取方法、装置和系统 | |
CN101562776B (zh) | 通信请求的发送方法和装置 | |
US10880343B2 (en) | Conferencing system exploiting terminal diversity | |
CN102548025B (zh) | 一种降低移动VoIP呼叫建立时延方法 | |
Yang et al. | Soft handoff support for SIP‐NEMO: design, implementation, and performance evaluation | |
JP7009509B2 (ja) | ネットワーク装置の管理 | |
Sandonis et al. | SIP-Based Context-Aware Mobility for IPTV IMS Services | |
WO2013127469A1 (en) | Methods and apparatus for media transmission in telecommunications networks | |
EP2608488B1 (en) | Dialog establishment over a peer-to-peer architecture | |
Marungwana et al. | Performance evaluation of IMS session continuity signaling with heterogeneous access | |
Sayed et al. | New signaling solution for heterogeneous access networks | |
Andel et al. | Distributed media server architecture for SIP using IP anycast |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130522 Termination date: 20150910 |
|
EXPY | Termination of patent right or utility model |