CN101146100A - 一种基于传输协议sctp和dccp的sip网络电话实现方法 - Google Patents
一种基于传输协议sctp和dccp的sip网络电话实现方法 Download PDFInfo
- Publication number
- CN101146100A CN101146100A CNA2007101220117A CN200710122011A CN101146100A CN 101146100 A CN101146100 A CN 101146100A CN A2007101220117 A CNA2007101220117 A CN A2007101220117A CN 200710122011 A CN200710122011 A CN 200710122011A CN 101146100 A CN101146100 A CN 101146100A
- Authority
- CN
- China
- Prior art keywords
- sip
- dccp
- sctp
- stream
- session
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
一种基于传输协议SCTP和DCCP的SIP网络电话实现方法,SIP网络电话终端和SIP代理服务器之间的SIP信令信息使用SCTP协议来传送;SIP代理服务器和SIP代理服务器之间的SIP信令信息使用SCTP协议来传送;SIP网络电话终端和SIP网络电话终端之间使用DCCP协议来传送通过RTP封装的话音数据。本发明的优点在于:SCTP安全关联建立、多流、多宿以及包的分段和捆绑等特性,可以满足SIP信令信息需要可靠、安全以及高效传输的要求;使用DCCP来传送SIP网络电话中的话音数据,其灵活可选的拥塞控制机制可以更好地适配网络拥塞状况,保证网络占有的公平性。
Description
技术领域
本发明属于通信技术领域,涉及使用流控制传输协议(SCTP-StreamControl Transmission Protocol)和数据报拥塞控制协议(DCCP-DatagramCongestion Control Protocol)来实现SIP网络电话的设计方法,尤其涉及一种基于传输协议SCTP和DCCP的SIP网络电话实现方法。
背景技术
1.网络电话技术及其发展现状
网络电话又称IP电话或VoIP(VoiceoverIP),是利用IP网络实现语音通信的一种先进技术。网络电话技术能在进行异地网络互连的同时,实现通过IP网络传输语音,这样既可节省大量的长途话费,更可以在公司内部实现零费用电话。网络电话技术是建立在IP技术上的分组化、数字化语音传输技术,其基本原理是通过语音压缩算法对话音数据进行压缩编码处理,然后把这些压缩后的数据按照IP等相关协议进行打包,通过IP网络把数据包分组传输到目的地,在目的地再把这些包组合起来,经过解码解压处理后,恢复成原来的语音信号,从而达到由IP网络传送语音的目的。网络电话把普通电话的模拟信号转换成IP数据包在因特网内传输,同时将收到的IP数据包转换成声音的模拟电信号。经过IP电话系统的转换及压缩处理,每个普通电话传输速率约占用8~11Kbit/s带宽,因此在与普通电信网同样使用传输速率为64kbit/s的带宽时,IP电话数是原来的5~8倍,提高了带宽利用率。
当前的IP网络电话大致有四种实现方式:Phone-PC、PC-Phone、PC-PC和Phone-Phone。终端的多样性使其能够为用户提供比当前的电话系统更多的服务,包括多媒体会议、个性化移动通信、基于WWW的点击呼叫等各种类型的高级应用。在实现这些服务的网络电话技术中,呼叫的建立、拆除、控制、附加服务和能力协商等需要由控制信令来实现。控制信令的制定涉及到电信和IP两个方面,在参与网络电话技术标准的开发和推广的组织中上述二者的代表分别是ITU-T和IETF。目前ITU-T的H.323协议族是占据主导地位的网络电话协议,已经被大量商业产品采用。但鉴于其规模和复杂度,H.323协议实现成本高,建立连接时延大,在混和网络中很难实现互联互通。所以虽然H.323现在正主导着网络电话技术,但另外一种轻量级的呼叫信令技术已经逐渐得到了业界的承认,并开始逐渐替代H.323协议的主导地位,这就是IETF提出的会话初始协议(SIP-Session Initiation Protocol)。
SIP协议近年来在通信和网络研究领域受到极大关注,是下一代网络中的核心协议之一。它最初是由IETF的MMUSIC工作组提出的一个标准,用来解决IP网上的信令控制。SIP协议的设计者从一开始就以模块化、与Internet服务的一体化、简单化和可扩展性为指导思想,因此它避免了H.323所具有的协议复杂、连接建立时延大和实现困难等问题。在IP网络分层模型上,SIP是工作在应用层上的一个信令协议,可以用来建立、修改和终止多方参与的多媒体会话, SIP应用场景包括IP电话呼叫、多媒体分发、多媒体会议等。由于SIP是应用层协议,因此它是相对独立的,IP网络上任何类型的参与者都可以被SIP连接起来。例如,SIP可以提供固定和移动网络之间的无缝服务功能,这是实现固定与移动业务融合的关键要素,而且,这种功能将随着2.5G和3G移动网络在世界各地的部署而变得越来越重要。
鉴于SIP的诸多优势和现在技术的发展趋势,本发明主要选择SIP作为信令控制协议来设计基于新传输协议的PC-PC形式的网络电话。
2.现有SIP网络电话传输技术及其缺陷
SIP网络电话实现了呼叫控制和传输承载的分离,即使用SIP进行呼叫控制,同时使用实时传输协议RTP封装传输话音数据。但是将现有传输技术传输控制协议(TCP-Transmission Control Protocol)和用户数据报协议(UDP-User Datagram Protocol)应用在SIP网络电话中,却存在很大的缺陷。
(1)现有技术方案1
现有的技术方案中,主要使用UDP或者TCP来传输SIP网络电话中的信令信息,其协议模型如附图1所示,这种传输模型存在以下缺陷。
作为一种信令控制信息,SIP信息要求较高的传输可靠性和较短的传送时延。现有技术中,主要是使用UDP或者TCP来传送SIP信令信息。使用UDP来传输SIP信令信息时,由于UDP无需建立连接,没有保证可靠传输的重传机制,所以使用UDP来建立会话的时延比较短。但是UDP缺乏拥塞控制机制,当网络发生拥塞的时候,其发送端并不降低数据的发送速率,而TCP在遇到拥塞的情况下,会使用一定的拥塞控制机制减小发送窗口的大小,降低发送速率这样当UDP和TCP共存的时候,UDP会抢占大量的网络资源,使网络拥塞更加严重,同时使TCP的发送效率降低影响了网络使用的公平性所以一般称UDP不是TCP友好的。在SIP网络电话系统中,代理服务器与代理服务器之间存在大量的SIP信令信息,在网络资源不充足的情况下,容易发生网络拥塞,所以使用UDP来传送SIP信令信息并不能满足SIP会话通信的要求。如果使用TCP来传输SIP信令信息,一方面TCP三次握手的连接建立方式增大了SIP会话建立的时延;另一方面,TCP的高可靠性和严格的按序递交容易引起队头阻塞,所以TCP也不能满足SIP信令的传送要求。
(2)现有技术方案2
实时传输协议(RTP-Real-time Transport Protocol)是为了在Internet上实时传输多媒体数据制定的一种传输协议。RTP的作用是提供时间信息和实现流同步,并且依靠实时传输控制协议RTCP为按序传送的数据包提供可靠的传送机制、流量控制和拥塞控制。RTP本身不具有传输数据的能力,在现有技术方案中,它一般与UDP结合来支持实时传输,其协议模型如图1所示。这种传输模型存在很多缺陷。
UDP是一种无需建立连接的协议,不提供拥塞控制和保证数据可靠传输的机制,所以使用UDP来传送话音数据可以保证SIP网络电话会话的实时性,但是其也存在很大的缺陷,使用UDP来传送RTP数据包并没有考虑到网络的拥塞,一旦发生网络拥塞,由于其并不降低发送速率,就会过分抢占网络资源,从而影响网络的整体性能。
3.新传输协议介绍
为了克服TCP和UDP协议在应用于SIP网络电话时的不足,本发明引入了IETF标准组织制定的两种新型的传输协议——流控制传输协议SCTP和数据报拥塞控制协议DCCP来设计实现新的SIP网络电话。
(1)流控制传输协议SCTP
最初,IETF的信令传输工作组SIGTRAN提出SCTP协议主要用于在IP网络上传输PSTN信令信息,即通常所说的SS7overIP。目前,IETF将SCTP传输协议作为下一代新型互联网络的主要传输协议,与TCP和UDP共筑于IP层之上。同TCP一样,SCTP提供面向连接的、点到点的可靠传输,它继承了TCP强大的拥塞控制、数据包丢失发现等功能,任何在TCP上运行的应用都可被移至SCTP上运行。不同于TCP的是,SCTP提供了许多对于信令传输很重要的功能,同时,对于其他一些对性能和可靠性有额外需要的应用,它能提供传输优势来满足这些需要。
SCTP主要向用户提供下列服务:安全的四次握手关联建立方式,可以防止DoS攻击;使用了选择性确认(SACK-Selective Acknowledgment)技术,并且运用了TCP中的拥塞控制技术,包括慢启动,拥塞避免和快速重传;根据检测到的MTU长度进行用户数据分段处理,避免IP层的分段;在多个流中实现用户数据的有序递交,一个流中信息的丢失不影响其他流中信息向应用层的递交;多个用户信息可有选择地绑定到一个SCTP包中,通过将信息放到一个或多个SCTP数据结构——“块”中,SCTP保留了应用程序的信息框架边界;通过支持一个关联的一方或双方节点的多宿特性,实现网络级容错;支持多种传输模式,支持严格有序传输、部分有序传输和无序传输;灵活的路径管理功能,可以定时地扫描链路的可达性,并向SCTP报告远端传输地址所发生的变化。
当然,SCTP协议本身也存在着许多不尽完善的地方,比如基于数据包的而不是基于数据块的校验和体制,没有针对每一条数据链路建立独立的拥塞控制机制等。目前,许多研究机构和研究学者都针对这些问题提出了各种各样的改进方法,如CC-SCTP,SF-SCTP,IPCC-SCTP等。
(2)数据报拥塞控制协议DCCP
网络的音频/视频服务正在飞速的发展之中,但是流媒体业务的传输质量却有待提高。TCP协议可以提供可靠的端到端的传输控制,但是它的时延和传输速率抖动大,并且流媒体也不需要完全可靠的传输,少量数据的丢失对其质量影响很小;UDP协议简单实用,但是不提供拥塞控制,不能和TCP友好并存,容易引起网络的拥塞。本领域技术人员在分析了现有传输协议的问题和比较了各种可能的解决方案后,提出了一种新的传输协议——数据报拥塞控制协议(DCCP-Datagram CongestionControl Protocol)。
类似于TCP,DCCP也是面向连接的,但是DCCP的连接含义更为丰富,它在两个通信的端点之间的不同方向上建立两个独立的半连接,这种半连接的连接模型允许A和B独立选择不同的拥塞控制算法,每个半连接的特性参数可以在两端之间进行充分的协商,以适应不同方向上的数据流特性。
DCCP允许应用按照自己的需要灵活地选择拥塞控制机制,并且两个半连接可以使用不同的拥塞控制机制。目前DCCP提供两种拥塞控制机制:TCP-like拥塞控制(TCP-like congestion control)和TCP友好的速率控制(TFRC-TCP-friendly rate control),它们分别被标识为CCID2(Congestion Control ID2)和CCID3(Congestion Control ID3)。CCID2提供了一种类似于TCP的拥塞控制机制。发送端保持一个拥塞窗口,发送端发送的报文通过接收端来确认。当接收端检测到拥塞时,立即将拥塞窗口减半。CCID2适合于传输速率突发性强的实时通信,例如在线游戏等。与CCID2不同,CCID3并不使用拥塞控制窗口,接收端在每一个回环时间(RTT-round-trip time)中向发送端报告一次数据的接收情况,发送端根据数据丢失速率来决定其发送速率。如果在几个RTT中都没有接收到接收端的反馈信息,那么发送端将发送速率减半。CCID3适合于发送速率平滑变化的通信,例如网络电话。
当使用UDP或TCP来传输SIP信令信息时,UDP缺乏分组丢失检测和拥塞控制机制,不能满足SIP信令信息的可靠传输。TCP虽然能保证SIP信息的传输可靠性并提供拥塞控制机制,但其严格的按序递交影响了信息的传送,同时其网络容错能力也有限。话音数据一般是经过RTP封装后使用UDP来传送,RTP提供时间信息和流同步,但是当使用UDP来传送RTP封装的话音数据的时候,由于UDP没有拥塞控制机制,在网络带宽不足的情况下,UDP并不降低其发送速率,容易引起网络的拥塞,影响网络占有的公平性。
发明内容
鉴于现有技术中存在的缺陷,本发明提供一种基于传输协议SCTP和DCCP的SIP网络电话实现方法,使用SCTP协议传送SIP信令信息,使用DCCP协议传送SIP网络电话中RTP封装的话音数据。
一种SIP网络电话实现方法,进一步包含:SIP网络电话终端和SIP代理服务器之间的SIP信令信息使用SCTP协议来传送;SIP代理服务器和SIP代理服务器之间的SIP信令信息使用SCTP协议来传送;SIP网络电话终端和SIP网络电话终端之间使用DCCP协议来传送通过RTP封装的话音数据。
一种SIP网络电话的实现方法,进一步包含:在所述SIP网络电话终端和SIP代理服务器之间建立SCTP关联,两者之间的SIP信令信息使用关联中的一个流来传送;在所述SIP代理服务器和SIP代理服务器之间建立SCTP关联,两者之间的属于不同会话的SIP信令信息使用同一个关联来传送。
一种SIP网络电话的实现方法,进一步包含:在所述两个代理服务器之间,SCTP的一个关联在一个会话完成后不关闭,只是释放掉其所占有的关联之中的流号,后续的经过所述两个代理服务器的会话通过选择一个流号(包含释放掉的流号)直接使用所述关联。
一种SIP网络电话的实现方法,所述流中的信息可以选择以有序和无序的方式递交。
一种SIP网络电话的实现方法,进一步包含:所述两个代理服务器在建立关联时各自可以绑定多个IP地址。
一种SIP网络电话的实现方法,进一步包含:当在所述两个SIP代理服务器之间存在多个SIP会话时,将属于不同会话的SIP信令信息分别映射在两个代理服务器之间的不同的流中,流和会话一一对应。
一种SIP网络电话的实现方法,SCTP协议根据MTU的大小采用信息的分段和捆绑技术,提高了SIP消息的传送效率。
一种SIP网络电话的实现方法,进一步包含:SCTP协议使用快速重传机制,当一个SIP信令信息传送丢失时,只重传丢失的数据。
一种SIP网络电话的实现方法,进一步包含:所述SIP网络电话终端根据网络性能灵活地选择拥塞控制机制,使用DCCP的不可靠的传送方式来传送会话,并且DCCP的部分校验允许所述SIP网络电话终端接收不影响会话性能的存在细微差错的数据。
本发明的优点在于:本发明将新型传输协议SCTP和DCCP引入到SIP网络电话中,其中SCTP安全关联建立、多流、多宿以及包的分段和捆绑等特性,可以满足SIP信息需要可靠、安全以及高效传输的要求;使用DCCP来传送SIP网络电话中的话音数据,其灵活可选的拥塞控制机制可以更好地适配网络拥塞状况,保证网络占有的公平性。这两种传输协议的引入改善了SIP网络电话的性能,使其有取代TCP和UDP作为SIP网络电话传输协议的趋势。
附图说明
图1为基于TCP和UDP的SIP网络电话协议模型示意图;
图2为基于SCTP和DCCP的SIP网络电话协议模型示意图;
图3为SCTP协议的多流特性示意图;
图4为SCTP协议的多宿特性示意图;
图5为本发明基于SCTP和DCCP的SIP网络电话的网络结构示意图;
图6为本发明基于SCTP和DCCP的SIP网络电话的信令流程示意图;
图7为本发明基于SCTP和DCCP的SIP网络电话的操作流程图。
具体实施方式
有关本发明的技术内容及详细说明,现配合附图说明如下:
鉴于SCTP和DCCP的诸多优势,本发明将这两种新型传输协议应用在PC-PC形式的SIP网络电话上。借助于SCTP的安全关联建立、多流和多宿等特性,可以实现SIP信令信息的安全、可靠以及高网络容错能力的传输,而借助于DCCP的半连接和灵活可选的拥塞控制等特性,即可以保证通话的实时性,同时可以使得发送方在遇到网络拥塞时及时调整发送速率,保证了网络使用的公平性。本发明设计了如附图2所示的SIP网络电话传输模型。下面我们主要分析SCTP和DCCP适合于SIP网络电话传输的特性及其具体实施方式。
1.SCTP适合于SIP信令信息传输的特性
SIP网络电话中,既要保证SIP信令信息传输的可靠性,同时又应该防止网络拥塞,此外SIP网络电话对会话建立的时延也有一定的要求。选择SCTP协议来传送SIP信息,其良好的特性可以满足SIP信令信息的传送要求。
(1)“四次握手”的关联建立
SCTP四次握手关联建立方式可以防止DoS攻击,在使用SCTP协议的情况下,SIP代理服务器不会因为持有虚假IP地址的攻击者频繁发起SCTP关联建立请求而耗尽系统资源。同时这种关联建立也不会显著的增加会话建立时延。首先,在四次握手的第三个包中客户端就可以向服务器携带应用层的数据;其次,因为在SIP代理服务器之间会存在大量的SIP信令信息,一般在第一次建立关联后,这个关联会一直保持着,经过这两个代理服务器的后续的会话并不需要再次建立关联,而直接使用这个现有的关联,所以后续会话省去了关联建立步骤,缩短了会话建立时延。
(2)无序递交和多流的应用
SCTP的流在传输层为多种不同类型数据的同时传输提供了一个新的解决方案,它将多个连接和复用/解复用结合到一起,每个SCTP流是一个逻辑的、单向的传输通道,位于端到端的SCTP关联中。在SCTP端节点启动关联之初,可以指定多个流,每个流拥有独立的发送和接收缓存。附图3描述了SCTP的多流特性。
SCTP发送端在发送数据的时候必须在SCTP关联中选择一个特定的流来发送。SIP信息可以按照有序和无序两种方式映射到SCTP流中进行传输。对于不需要按序传送的SIP信息,SIP通信实体可以选择设置了无序传送标志位的一个流号,把所有的SIP信息都映射到该流中进行传送,到达对端的SIP信息会被立即传送至应用层,无需考虑其传送顺序。这种方式避免了用TCP进行SIP信令信息传送时发生的队头阻塞。某些SIP信息是需要按序传送的,那么可以设定按序传送标志位,使这些信息在同一流内按顺序进行传送。
SCTP的多流特性在应用于SIP网络电话时可以用来区分会话。在两个代理服务器之间,只要有足够的流可用,属于不同SIP会话的信息就可以在一个关联之中的不同的SCTP流上传送,这样一个会话中信息的丢失不会影响到别的会话信息的正常发送和递交。
(3)多宿特性的应用
一个SCTP关联可以在一个主机上绑定多个IP地址,多个IP地址使用相同的端口。通信的时候,一般使用一个主地址来传输数据,一旦这个主地址变得不可达,数据可以迁移到备用地址上进行传送。SCTP的多宿特性如附图4所示。对于需要交换大量信息的SIP服务器来说,如果通信双方在建立关联的时候绑定多个IP地址,当主链路传送SIP信息失败的时候,可以将信息迁移到备用链路上传送,这种特性提高了SIP信息传送的可靠性,改善了网络容错能力。
(4)快速重传
由于SCTP使用选择性确认(SACK)机制,所以可以快速的检测到SIP信令信息的丢失。在一个SCTP关联之中,当存在数据丢失的时候,只需要重新传输丢失的数据,这种特性可以更快的建立SIP会话。
(5)传输层分段和捆绑
SCTP提供了最大传输单元(MTU)发现功能,如果SIP信令信息大于MTU,就会在传输层进行分段。在SIP信息比较大的情况下,这个特性变得非常重要。当SIP信令信息小于MTU时,可以将多个SIP信令信息按块捆绑在一个SCTP包中进行传输,可以提高传输效率。
2.DCCP适合于RTP话音数据包传输的特性
RTP是一种在IP网络上传输实时多媒体的应用广泛的协议,RTP可以运行在多种传输协议之上,基于RTP的应用的性能受下层传输协议的影响很大。然而大部分基于RTP的实时应用由于使用了没有拥塞控制功能的UDP协议,导致网络存在因为拥塞而崩溃的可能。
DCCP提供了不可靠的传送机制和灵活的拥塞控制机制,RTP运行在DCCP之上使得应用可以灵活的定制它所需要的传输机制,采用更好的拥塞控制算法,并将实现的复杂性交给操作系统。
DCCP在两个通信的端点之间的不同方向上建立两个独立的半连接,这种半连接的连接模型允许SIP网络电话通信双方独立选择不同的拥塞控制算法,每个半连接的特性参数——如上下行传输速率等可以在两端之间进行充分的协商,以适应不同方向上的数据流特性。
DCCP支持两种拥塞控制算法:TCP-like拥塞控制和TCP友好的速率控制。SIP通信双方可以灵活地选择拥塞控制机制来适配网络性能的变化。
DCCP采用不可靠的数据传送方式,当数据丢失的时候,DCCP并不负责数据的重传,这种方式适合应用在对数据的可靠性要求不高的话音通信方面。
DCCP使用部分校验,应用可以选择校验的覆盖范围,所以允许SIP网络电话通话终端接收存在部分损坏的数据包,并且这种少量损坏的数据包一般不会影响正常通话,这种特性提高了RTP话音数据的传送效率。
与UDP相同,DCCP提供了一种基于数据报的传输服务。每一个RTP数据包可以封装在一个单独的DCCP数据报中传送。与UDP不同的是,DCCP面向连接的特性、拥塞控制算法和部分校验影响了RTP的传送。
当一个端系统要加入一个RTP会话的时候,要打开一个DCCP连接。在RTP会话持续期间,DCCP一直打开。在DCCP连接建立后,它可能依赖于SIP电话发送BYE请求信息来表明需要中断会话,从而中断DCCP连接。通信的过程中,上层应用可以灵活地选择DCCP所支持的拥塞控制机制,当应用于SIP网络电话的时候,本发明选择适合于RTP数据包传输的拥塞控制机制CCID3。同时,DCCP使用部分校验,允许应用来选择校验的覆盖范围,所以允许应用接收存在部分损坏的数据包。当由于网络性能或者其它因素存在损坏包的时候,部分校验可以提高网络的性能。部分校验的校验范围必须包含DCCP和RTP头,主要是为了保证包正确向上层递交。
3.基于SCTP和DCCP的SIP网络电话的具体实施方式
本发明提供了一种基于新型传输协议SCTP和DCCP的SIP网络电话的设计方法。选择使用SCTP来传送SIP信令信息,使用DCCP来传送RTP封装的话音数据。这两种传输协议可以很好的满足SIP网络电话信令信息和话音数据对传送特性的要求。其方法实现包含以下几个方面:
SIP网络电话终端和SIP代理服务器之间:这两者之间的SIP信令信息使用SCTP协议来传送。首先需要在这两者之间建立一个SCTP关联,两者之间的SIP信令信息使用关联中的一个流来传送,在SIP信令信息传送失败的时候,会使用类似于TCP的机制来重传,这种传送方式可以充分保证SIP信令信息的传输可靠性。
SIP代理服务器和SIP代理服务器之间:这两者之间的SIP信令信息使用SCTP协议来传送。当在这两个代理服务器之间存在多个SIP会话的时候,可以将属于不同会话中的SIP信令信息分别映射在两个代理服务器之间的不同的流中,流和会话一一对应,流与流之间的信息在传送时互不影响,一个流中信息的丢失并不影响另一个流中的信息向应用层递交,这种传送方式可以防止出现队头阻塞,提高了信息的传送效率。同时,这两个代理服务器之间可以使用SCTP的多宿特性,两端在通信时各自绑定多个IP地址,提高了网络容错能力。
SIP网络电话终端和SIP网络电话终端之间:当SIP会话建立以后,会触发使用DCCP协议来传送通过RTP封装的话音数据。SIP网络电话终端可以根据网络性能灵活地选择拥塞控制机制,使用DCCP的不可靠的传送方式可以保证会话的实时性,同时DCCP采用了部分校验功能,允许SIP终端接收不影响会话性能的存在细微差错的数据,这种方式保证了数据的传送效率。
图5为基于SCTP和DCCP的SIP网络电话的网络结构示意图。如图5所示,本实施例选择了两个SIP终端——用户代理客户端(UAC-UserAgent Client)和用户代理服务器(UAS-User Agent Server);和两个代理服务器——代理服务器1和代理服务器2来分析其会话流程;同时使用域名系统(DNS-Domain Name System)服务器来完成SIP统一资源标识符(URI-Uniform Resource Identifier)中的域名和IP地址的转换,使用注册服务器完成SIP用户的身份注册并将注册的结果存储在位置服务器中。在实际的应用中两个SIP终端之间可能会经历多个代理服务器才能将信息发送到对端,本实施例中只使用了两个代理服务器来简化描述其会话流程。实际网络中的代理服务器也不会管理一个SIP终端,一个SIP代理服务器管理着一个域,这个域中可以含有大量的SIP终端,这些SIP终端发起或者接收的会话需要经过这个代理服务器。
图6为基于SCTP和DCCP的SIP网络电话的信令流程示意图。具体步骤如下所述:
阶段1:SIP终端注册过程
步骤1:SIP终端即用户代理客户端UAC和用户代理服务器UAS接入网络并启动程序的时候,首先需要在SIP注册服务器注册其身份信息,发送SIP注册信息将其联系地址和地址记录在注册服务器中注册。图6的会话流程中只是标示了UAS的注册过程,省略了UAC的注册过程。这个应用层产生的注册信息触发在UAS和注册服务器之间建立SCTP关联,关联建立之后,UAS可以使用关联中的流号为0的流来发送REGISTER信息。
步骤2:注册服务器接收到这个REGISTER信息后,在这个关联中的流号为0的流中返回200 OK信息来表明注册成功。
步骤3:注册服务器将注册过的UAS的联系地址和地址记录的绑定关系存储在位置服务器中,代理服务器2接收到SIP信息后,可以向位置服务器查询这个绑定关系以查找到UAS的位置信息。
阶段2:会话请求
步骤4:UAC向UAS发起会话请求,先将邀请信息发送到本域的代理服务器1,并在UAC和代理服务器1之间建立SCTP关联。关联建立以后,选择关联中的流号为0的流来发送邀请信息。
步骤5:代理服务器1收到邀请请求后,在流号为0的流中返回100Trying信息来对邀请信息进行临时确认。
步骤6:代理服务器1向DNS服务器发送请求,查询邀请信息的请求URI中使用的代理服务器2的域名所对应的IP地址。
步骤7:根据查询到的代理服务器2所对应的IP地址,在代理服务器1和代理服务器2之间建立SCTP关联并选择关联中的一个流来发送邀请信息。
在代理服务器1和代理服务器2建立SCTP关联的时候,使用SCTP的多宿特性,两个代理服务器可以分别绑定多个IP地址,当一个地址失效或者链路断开的时候,可以将SIP信息转到其它地址上来传送,这种多宿特性的使用增加了数据的容错能力,保证了数据的可靠发送。
图6中的代理服务器作为网络上的普通SIP代理服务器,一方面需要为它所管辖的域中的所有的SIP终端服务,另一方面可能还存在从其它代理服务器传送过来的SIP信息,所以经过某个代理服务器可能存在大量的SIP会话,基于这种情况,两个代理服务器之间在第一次建立关联后可以不关闭这个关联,而后续的两个SIP终端之间的会话可以直接使用之前建立的关联,这种方式减小了SIP会话建立的时延。
如果经过两个代理服务器的后续信息与前面的经过这两个代理服务器的信息分属于不同的会话,可以将不同会话中的信息映射在SCTP的不同的流中来传送,流和会话是一一对应的关系,流与流的不相关使得会话之间的信息传送互不影响。
步骤8:代理服务器2在接收到邀请信息后,在关联中选择一个流向代理服务器1返回100Trying信息。这个流号可以和接收INVITE信息所使用的流号相同。
步骤9:代理服务器2接收到从代理服务器1发送过来的邀请信息后,通过位置服务器查询UAS的IP地址。
步骤10:代理服务器2根据查询到的UAS的地址,直接与UAS建立SCTP关联,然后选择关联之中流号为0的流将邀请信息发送到UAS。
阶段3:会话响应
步骤11:UAS振铃后,按照与传送邀请信息相反的路径返回180Ringing信息,传送的时候,在UAS和代理服务器2之间以及代理服务器1和UAC之间所用的流号是0,而在两个代理服务器之间使用的流号是之前在步骤7中传送邀请信息所使用的流号。
步骤12:等待用户摘机。用户摘机后,以与传送180Ringing信息相同的路径返回含有会话参数的200OK信息。传送的时候,在UAS和代理服务器2之间以及代理服务器1和UAC之间所用的流号是0,而在两个代理服务器之间使用的流号是之前在步骤7中传送邀请信息所使用的流号。
UAC接收到200OK信息后根据其中的信息体完成参数的协商。
步骤13:会话参数协商完毕后,UAC和UAS之间直接建立SCTP关联,并且使用关联中的流号0来发送ACK信息,会话协商最终完成。
阶段4:RTP会话建立
步骤14:发送ACK信息的同时,UAC与UAS之间建立DCCP连接,连接建立的过程中,DCCP可以在两个半连接之中灵活的选择拥塞控制算法,同时在特定的应用下,其上下行数据传输速率可以不同,以适配不同的业务需要。
步骤15:DCCP连接建立之后,开始使用DCCP传送RTP话音数据包,通话开始。
通话的过程中,上层应用可以根据选择的拥塞控制算法来适应网络带宽的不断变化。同时DCCP不保证可靠性的传送方式使得其传送时延非常小,如果出现数据丢失的情况,DCCP并不重传这些丢失的数据,这种特性保证了会话的实时性。同时DCCP使用部分校验功能,允许接收存在部分错误的数据包,这些少量错误的数据并不会影响语音会话的性能。
阶段5:会话中止
步骤16:当通话完成后,用户挂机,同时发送BYE信息向通话对端表明会话结束。这个信息可以使用之前发送ACK信息的关联来进行发送,选择使用这个关联之中的流号为0的流。
步骤17:通信对端在UAC和UAS之间的关联中使用流号为0的流返回200 OK信息进行确认。
步骤18:终止UAC和UAS之间的DCCP连接。
步骤19:关闭UAC和UAS之间的关联。
步骤20:关闭UAC和代理服务器1之间的关联。
步骤21:关闭代理服务器1和代理服务器2之间的关联。如果还有其他会话在使用这两者之间的关联,那么这个关联也可以不关闭,而只需要释放掉在传送上述会话时所使用的流号,以供其他经过这两个代理服务器的会话使用。
步骤22:关闭代理服务器2和UAS之间的关联。
上面的流程是基于附图5网络结构的一种简单的信令流程,在现实的网络环境中,这种结构肯定很复杂,会存在大量的经过代理服务器的会话,需要仔细设计代理服务器在处理信令信息时候的实现机制,比如流与会话的映射,会话的数量大于流的数量时怎样进行处理等问题。同时随着网络电话的流行,现实网络在不能满足会话的带宽要求下出现网络拥塞时,DCCP的拥塞控制机制可以很好的发挥其优势。
图7为本发明基于SCTP和DCCP的SIP网络电话的操作流程图。如图7所示,首先SIP终端的UAC和UAS向注册服务器注册其身份信息(步骤101),身份信息包含其联系地址和地址记录信息;注册服务器将注册过的UAC和UAS的联系地址和地址记录的绑定关系存储在位置服务器中(步骤102);UAC向UAS发起会话请求(步骤103);UAS振铃后,UAS响应会话请求,用户摘机,与UAC建立连接,会话开始(步骤104);当会话完成后,用户挂机,断开UAC与UAS的连接(步骤105)。
上述仅为本发明的较佳实施例而已,并非用来限定本发明实施范围。即凡依本发明申请专利范围所做的均等变化与修饰,皆为本发明专利范围所涵盖。
Claims (10)
1.一种基于传输协议SCTP和DCCP的SIP网络电话实现方法,其特征在于,使用SCTP协议传送SIP信令信息,使用DCCP协议传送SIP网络电话中RTP封装的话音数据。
2.如权利要求1所述的一种SIP网络电话实现方法,其特征在于,进一步包含:
SIP网络电话终端和SIP代理服务器之间的SIP信令信息使用SCTP协议来传送;
SIP代理服务器和SIP代理服务器之间的SIP信令信息使用SCTP协议来传送;
SIP网络电话终端和SIP网络电话终端之间使用DCCP协议来传送通过RTP封装的话音数据。
3.如权利要求2所述的一种SIP网络电话的实现方法,其特征在于,进一步包含:
在所述SIP网络电话终端和SIP代理服务器之间建立SCTP关联,两者之间的SIP信令信息使用关联中的一个流来传送;
在所述SIP代理服务器和SIP代理服务器之间建立SCTP关联,两者之间属于不同会话的SIP信令信息使用同一个关联来传送。
4.如权利要求3所述的一种SIP网络电话的实现方法,其特征在于,进一步包含:在所述两个代理服务器之间,SCTP的一个关联在一个会话完成后不关闭,只是释放掉其所占有的关联之中的流号,后续的经过所述两个代理服务器的会话通过选择一个流号直接使用所述关联。
5.如权利要求3所述的一种SIP网络电话的实现方法,其特征在于,所述流中的信息可以选择以有序和无序的方式递交。
6.如权利要求3所述的一种SIP网络电话的实现方法,其特征在于,进一步包含:所述两个代理服务器在建立关联时各自可以绑定多个IP地址。
7.如权利要求3所述的一种SIP网络电话的实现方法,其特征在于,进一步包含:当在所述两个SIP代理服务器之间存在多个SIP会话时,将属于不同会话的SIP信令信息分别映射在两个代理服务器之间的不同的流中,流和会话一一对应。
8.如权利要求2所述的一种SIP网络电话的实现方法,其特征在于,SCTP协议根据MTU的大小采用信息的分段和捆绑技术,提高了SIP消息的传送效率。
9.如权利要求2所述的一种SIP网络电话的实现方法,其特征在于,进一步包含:SCTP协议使用快速重传机制,当一个SIP信令信息传送丢失时,只重传丢失的数据。
10.如权利要求2所述的一种SIP网络电话的实现方法,其特征在于,进一步包含:所述SIP网络电话终端根据网络性能选择拥塞控制机制,使用DCCP的不可靠的传送方式来传送会话,并且DCCP的部分校验允许所述SIP网络电话终端接收不影响会话性能的存在细微差错的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101220117A CN101146100B (zh) | 2007-09-19 | 2007-09-19 | 一种基于传输协议sctp和dccp的sip网络电话实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101220117A CN101146100B (zh) | 2007-09-19 | 2007-09-19 | 一种基于传输协议sctp和dccp的sip网络电话实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101146100A true CN101146100A (zh) | 2008-03-19 |
CN101146100B CN101146100B (zh) | 2011-11-23 |
Family
ID=39208388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101220117A Expired - Fee Related CN101146100B (zh) | 2007-09-19 | 2007-09-19 | 一种基于传输协议sctp和dccp的sip网络电话实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101146100B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101951447A (zh) * | 2010-09-21 | 2011-01-19 | 电子科技大学 | 行为可编程的sip呼叫模拟方法 |
CN102469105A (zh) * | 2010-11-17 | 2012-05-23 | 国际商业机器公司 | 改善会话发起协议(sip)会议中的传递的方法和系统 |
CN103079171A (zh) * | 2012-12-28 | 2013-05-01 | 侯荣涛 | 一种无中心指挥调度通信系统及其呼叫处理方法 |
CN103166967A (zh) * | 2013-03-07 | 2013-06-19 | 李想 | 无中心交换通信系统及其通信方法 |
US8593954B2 (en) | 2008-07-16 | 2013-11-26 | Huawei Technologies Co., Ltd. | Method and apparatus for controlling congestion of wireless multi-hop network |
CN103997484A (zh) * | 2014-02-28 | 2014-08-20 | 山东量子科学技术研究院有限公司 | 一种量子密码网络sip信令安全通信系统及方法 |
CN108134715A (zh) * | 2017-12-25 | 2018-06-08 | 浪潮金融信息技术有限公司 | 基于scp协议的通信终端呼叫处理方法 |
CN109155777A (zh) * | 2016-06-02 | 2019-01-04 | 瑞典爱立信有限公司 | 用于处置sctp分组的方法和网络节点 |
CN112738283A (zh) * | 2021-04-01 | 2021-04-30 | 北京百家视联科技有限公司 | 一种信令传输方法、装置、设备及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107241564B (zh) * | 2016-03-29 | 2020-09-18 | 华为技术有限公司 | 基于ims网络架构的多流视频会议方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10337293A1 (de) * | 2003-08-13 | 2005-03-10 | Siemens Ag | Verfahren und Vorrichtung zum gesicherten Übertragen von Informationen über eine gesicherte Verbindung |
-
2007
- 2007-09-19 CN CN2007101220117A patent/CN101146100B/zh not_active Expired - Fee Related
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8593954B2 (en) | 2008-07-16 | 2013-11-26 | Huawei Technologies Co., Ltd. | Method and apparatus for controlling congestion of wireless multi-hop network |
CN101951447B (zh) * | 2010-09-21 | 2012-12-05 | 电子科技大学 | 行为可编程的sip呼叫模拟方法 |
CN101951447A (zh) * | 2010-09-21 | 2011-01-19 | 电子科技大学 | 行为可编程的sip呼叫模拟方法 |
CN102469105B (zh) * | 2010-11-17 | 2015-11-18 | 国际商业机器公司 | 改善会话发起协议(sip)会议中的传递的方法和系统 |
CN102469105A (zh) * | 2010-11-17 | 2012-05-23 | 国际商业机器公司 | 改善会话发起协议(sip)会议中的传递的方法和系统 |
CN103079171A (zh) * | 2012-12-28 | 2013-05-01 | 侯荣涛 | 一种无中心指挥调度通信系统及其呼叫处理方法 |
CN103166967B (zh) * | 2013-03-07 | 2015-11-18 | 李想 | 无中心交换通信系统及其通信方法 |
CN103166967A (zh) * | 2013-03-07 | 2013-06-19 | 李想 | 无中心交换通信系统及其通信方法 |
CN103997484A (zh) * | 2014-02-28 | 2014-08-20 | 山东量子科学技术研究院有限公司 | 一种量子密码网络sip信令安全通信系统及方法 |
CN103997484B (zh) * | 2014-02-28 | 2017-03-29 | 山东量子科学技术研究院有限公司 | 一种量子密码网络sip信令安全通信系统及方法 |
CN109155777A (zh) * | 2016-06-02 | 2019-01-04 | 瑞典爱立信有限公司 | 用于处置sctp分组的方法和网络节点 |
CN109155777B (zh) * | 2016-06-02 | 2021-09-14 | 瑞典爱立信有限公司 | 用于处置sctp分组的方法和网络节点 |
US11271985B2 (en) | 2016-06-02 | 2022-03-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and network node for handling SCTP packets |
CN108134715A (zh) * | 2017-12-25 | 2018-06-08 | 浪潮金融信息技术有限公司 | 基于scp协议的通信终端呼叫处理方法 |
CN112738283A (zh) * | 2021-04-01 | 2021-04-30 | 北京百家视联科技有限公司 | 一种信令传输方法、装置、设备及存储介质 |
CN112738283B (zh) * | 2021-04-01 | 2021-06-22 | 北京百家视联科技有限公司 | 一种信令传输方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101146100B (zh) | 2011-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101146100B (zh) | 一种基于传输协议sctp和dccp的sip网络电话实现方法 | |
EP1202522B1 (en) | Terminal and media communications system | |
US7139263B2 (en) | Voice over IP architecture | |
CA2556863C (en) | Method and apparatus for selection of special-purpose gateways | |
US20180132075A1 (en) | Handover of on-hold session between fixed packet network and cellular network | |
US7746845B2 (en) | Support for fax and modem in SIP/SIP-T networks and the interworking of these networks with ISUP+/BICC | |
CN101023625A (zh) | 使用udp源节流进行网络拥塞控制的系统和方法 | |
KR20130121183A (ko) | Sip를 이용하는 기업 네트워크의 생존성을 위한 백업 sip 서버 | |
EP2088735A1 (en) | Client side media splitting function | |
WO2003107709A1 (en) | Control of the transport of a signalling packet by specifics directives from an application in order to optimise the transport to a wireless network | |
US20070172051A1 (en) | Setting up a packet-oriented multimedia connection using an interactive voice response system | |
US9148257B2 (en) | Method and apparatus for reducing delays in a packets switched network | |
US7006494B1 (en) | System and method for a virtual telephony intermediary | |
US20060168266A1 (en) | Apparatus and method for providing signaling mediation for voice over internet protocol telephony | |
KR20020064693A (ko) | 접속 설정 프로토콜을 이용한 통신 서비스 품질 신호처리제공 방법 | |
WO2006136070A1 (fr) | Procédé pour basculer le format de codage ou de décodage des flux de médias | |
Toral-Cruz et al. | An introduction to VoIP: End-to-end elements and QoS parameters | |
Cisco | Session Initiation Protocol (SIP) for VoIP | |
Cisco | Voice, Video, and Fax Overview | |
CN101998003B (zh) | 基于sip协议的网络电话进行呼叫保持的方法 | |
WO2010018157A2 (en) | System, method, program element and computer-accessible medium for forwarding media control messages | |
Mitra | Network convergence and voice over IP | |
CN100499720C (zh) | 一种提供多速率数据信息承载业务的实现方法 | |
CN100388709C (zh) | 一种从局域网连接互连网的方法 | |
Dagiuklas et al. | Architecture and Design of an enhanced H. 323 VoIP Gateway |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111123 Termination date: 20170919 |