SIP与H.323协议的比较及其应用
SIP与H.323协议的比较及其应用
一、引言
当前,随着信息技术的发展,计算机网络与传统电信网络正逐步走向融合。基于分组交换技术的IP电话因其特殊的运营方式和成本核算方法,正以低廉的价格给传统电信市场带来强大冲击。
对于传统运营商来说,其核心的利润来源——语音和数据在移动业务和互联网业务的影响下已经不能满足运营商的盈利需求,各国运营商都在寻找新的盈利点。在这种新的形势下,运营商要摒弃以往单纯的盈利模式,开发宽带网络中新的业务模式。能充分利用网络资源、充分满足用户需求的视讯业务成为重要的候选模式之一。各国运营商也都在积极开发融合视频、语音和数据(Triple Play)的全业务模式。技术进步、成本下降和竞争激烈是运营商积极部署视讯应用的三大推动力。新的ADSL技术扩展了用户群,提高了带宽,同时压缩技术的发展使在给定带宽中能传输更多的频道,IP多播使视讯业务部署易于实现。接入网技术和视讯业务所需的硬件价格都在下降,运营商开展视讯业务的成本因此而下降许多。互联网、通信网与有线电视网络的三网融合正在成为全球的趋势。例如香港PCCW在推出Broadba***之后大获成功,仅几个月的时间已经成功开通了12万用户,而在美国,三网融合在管制方面已经没有障碍,有线电视公司一方面通过有线电视网为用户提供电视业务,通过有线宽带为用户提供宽带服务,通过从电信公司处租用的线路为用户提供语音业务。而电信运营商已经拥有语音和数据市场,积极开展IP视讯将使电信业务提供商在Triple-play(语音、数据、视频)的竞争中占领先机。
目前国际上IP网络通信的主要标准有H.323和SIP,两者都对IP电话系统信令提出了完整的解决方案,初衷都是作为多媒体通信的应用层控制(信令)协议的,因此都利用RTP(Real-Time Protocol)作为媒体传输协议。但两者的设计风格截然不同。H.323采用的是传统的电话信令模式,包括一系列协议;而SIP借鉴其他互联网协议,采用基于文本的协议。这里对两种协议进行阐述和比较。
二、SIP与H.323协议介绍
目前,SIP和H.323主要用于IP语音、视频通信领域,同时也广泛地应用在以软交换为核心的下一代网络(NGN)中。SIP是基于IP网络,在Internet网络环境中,实现实时通信应用的一种信令协议。在基于SIP的应用中,每一个会话可以是各种不同类型的内容(如普通的文本数据、音视频数据、游戏数据等),应用具有巨大的灵活性。
H.323的建立是为不同厂商的多媒体产品能互操作,而设备的兼容性是消费、商业、娱乐及专业市场上厂家和最终用户最为关心的问题之一。H.323解决了点对点及多点视讯会议中诸如呼叫与会话控制、多媒体与带宽管理等问题。目前广泛应用于基于IP的视讯会议系统中。
三、SIP与H.323协议比较
目前,H.323协议集已经比较成熟,并在VoIP、视讯会议领域得到广泛应用;而SIP制订较晚,吸取了H.323在实际应用中的一些得失经验并结合了当前应用的发展,在北美地区使用较多。
1.体系结构的比较
在H.323系统中,终端主要为媒体通信提供数据,功能比较简单,而对呼叫的控制、媒体传输控制等功能的实现则主要由网守来完成。H.323系统体现了一种集中式、层次式的控制模式。
SIP采用Client/Server结构的消息机制,对呼叫的控制是将控制信息封装到消息的头域中,通过消息的传递来实现。因此SIP系统的终端就比较智能化,它不只提供数据,还提供呼叫控制信息。其他各种服务器则用来进行定位、转发或接受消息。这样,SIP将网络设备的复杂性推向了网络终端设备,因此更适于构建智能型的用户终端。SIP系统体现的是一种分布式的控制模式。 H.323的集中式控制模式便于管理,像计费管理、带宽管理、呼叫管理等在集中控制下实现起来比较方便,其局限性是易造成瓶颈。而SIP的分布模式则不易造成瓶颈,但各项管理功能实现起来比较复杂。
2.复杂性的比较
(1)消息的组成
H.323定义了上百个基本元素;而SIP只有37个头部(基本规定32个,另外5个用于呼叫控制的扩展),每个头部含有少量的值和参数,但包含了更多的信息。由4个头部(To、From、Call-ID、Cseq)和3个类型的请求(INVITE、ACK、BYE)就可实现一个基本的可交互操作的SIP Internet电话。
(2)消息的表示
H.323采用基于ASN.1和PER的二进制方法表示其消息。SIP以文本方式表示消息,只需要相对简单的生成器和词法语法分析器,尤其是采用具有强大的文本处理功能的语言。
(3)协议栈结构
H.323的复杂性来源于它使用多个子协议,且它们之间没有清晰的界限;有些业务需要在多个协议之间交互。而SIP由于只使用一个含有所有必要信息的消息,防火墙或***就可以不为每个呼叫保持状态,而只为各个请求保持状态。这样防火墙或***的实现和实际应用时用户通过它都比较简单。
另外一个导致H.323复杂性的原因是协议之间的功能重复。
3.可靠性及服务质量的比较
(1)可靠性
H.323定义了很多功能来处理中间网络设备故障问题。例如,当一个网守失效时,协议就会使用备用网守;如果一个由中间信号设备发送的呼叫失败,H.323能够向目的设备重新发送呼叫以保证呼叫不会中断。
SIP则不具备处理中间实体故障的能力。例如,如果一个SIP用户***出现故障,SIP***服务器将无法检测到其故障的发生,除非***服务器向用户***出一个INVITE消息并等待“超时”回应;如果***服务器出现故障,用户***也同样无法检测到。SIP不能在呼叫发送过程中将呼叫进行恢复。
(2)服务质量
,包括地址翻译、接纳控制、带宽控制和地域管理;网守中还提供呼叫控制信令、呼叫签权、带宽管理和呼叫管理等选择功能。SIP自身不支持管理和控制功能,而是依赖于别的协议。
4.协议可扩展性的比较
(1)应用实现对协议的扩展
IP电话本身就是一门新兴技术,仍处于发展和完善之中;IP电话的一大优势较传统电信网络服务有着空前广阔的发展空间,因此扩展性也是衡量IP电话信令协议的重要标准。
SIP在研究制订中引入了一系列兼顾扩展性与兼容性的方法。SIP允许不同应用实现对协议的扩展,并提供应用系统间版本的协调。另外,为了加强可扩充性,SIP采用了层次式的数字差错代码,共定义了6类响应,每一个响应代码均用3位数表示,第1位指示类型,对同一类的应答码所作的协议处理是类似甚至相同的,所以终端通常只需理解应答码的类别。另2位提供了附加的信息,有用但不重要。相应于增加新的错误描述的需要而增加错误码,又不影响对各类应答码的处理,这样也增强了协议的兼容性。
H.323也提供了扩展机制,也没有提供应用之间交换各自支持的协议特性信息的机制,并且因为开发者各自添加的非标准参数字段不具有自说明性,也限制了扩展的推广和应用的互操作性。
(2)对视频和语音的编码格式的支持
目前存在的编码格式有数百种之多,SIP支持任何编码格式,不同应用实现也可以根据符串名字识别编码格式并从IANA得到有关信息。而H.323支持的每种编码格式都必须是ITU标准化的,这也成为推广IP电话应用的一个障碍。
(3)模块化
IP电话涉及大量不同功能的应用,包括基本信令、会议控制、服务质量、服务查询、用户查询等等。这些功能的实现将分别随着时间的推移而不断发展,对这些功能进行分割和模块化的独立实现,对便于将来进一步的发展和更新起重要的作用。同时每个功能部分使用分离的通用标准实现有利于提高模块的重用性和扩展的独立性,例如实现与应用无关的QoS机制,显然比对针对每个具体应用的具体实现更有效。SIP实际上就是IP电话应用中涵盖呼叫信令、用户定位和登记功能的独立性很好的一个模块,至于QoS控制、会议控制、会话描述等都将归于其它协议处理。也正是因此SIP能够很方便在应用 系统中与其它协议协调工作。SIP模块甚至可以同H.323应用向结合,例如用户可使用SIP去定位被叫用户而后重定向到H.323 URL,表示实际通信功能由H.323完成。而H.323作为面向整个网络多媒体通信应用的标准,综合了多个不同标准相互协作完成应用的整个通信功能,在各部分功能实现中不同协议交织在一起,因而降低了H.323的模块化程度。
5.网络规模可扩展性比较
(1)对环路检测的支持
H.323最初的设计目的是应用于局域网上的多媒体通信,并没有考虑到诸如广域网上的寻址和用户定位等问题。为防止环路,H.323定义PathValue域来指出信令信息在丢弃前可达到的最大数目。问题是定义一个适用的值很关键。其次,网络变化后,这个值也要改。这就限制了它能支持的网络规模。
SIP采用via头字段检查其内容,如果新端点已出现在via列表中,则表示有环路了。因此,能有效地发现请求前传中的可能回路,无需中间服务器保留信息和状态。
(2)服务器的处理量
骨干网上IP电话用户的数量巨大,无论对H.323系统的网关和关口,还是SIP系统的服务器,所要处理的用户呼叫量都是很大的。SIP允许中间服务器按分状态模式和无状态模式工作。在无状态模式下,中间服务器收到呼叫请求,执行相应操作后将请求往前传,并不保留呼叫状态。SIP包含足够的状态信息,可以确保响应信息的正确回传;同时,SIP消息允许在UDP上传送,而UDP是面向无连接的,这意味着在大型骨干网上SIP服务器可以采用基于UDP的无状态工作模式,这样就可以显著减少存储器容量和计算量,提高可扩展性。
H.323则要求关口在整个呼叫期间都要保存呼叫状态,而且其连接是基于TCP的,即,H.225.0呼叫控制信令和H.245控制信令都由TCP传递。另外,H.323信息要比SIP信息复杂,处理的工作量大,所能处理的呼叫数也就比SIP小,这也限制了H.323的可扩展性。
(3)会议规模
H.323基于多点投递的多方通话会议,无论是一个三方通话还是有众多参与者的大规模会议,都需要有一个多点控制器(MC)以集中方式进行信令控制,由此带来一些问题。首先,MC模块往往同通信终端应用程序集成在一起,那么如果提供MC功能的会议参与方决定退出通话,并结束应用程序的运行,整个多方会议将被终止。其次,H.323中对MC和GateKeeper的实现要求是可选的,但当没有MC和GateKeeper模块的情况下,即使是最简单的三方参与的多方通话也不能进行。另外,在大规模的多方通话会议中MC将成为整个通信系统的瓶颈。
而SIP能支持任何规模的通话,SIP信令系统不需要集中控制的MC,而是采用完全分布式的控制方式,因此提高了通信规模和复杂情况的适应能力。
6.支持业务的比较
(1)对呼叫转接的支持
SIP对个人移动业务提供了很好的支持。对主叫发出的请求,被叫可以重定向到多个点位,这些点位可以是任意一个URL,并且电话类型(移动、固定)、应用类型(商用、家用)和被叫优先级列表等附加信息将被传回主叫方,这使得主叫方可以灵活地选择与哪一个点位通话。对于非交互式的终端,初始的呼叫建立信令可携带主叫所希望建立连接的终端参数,这样中间***服务器就可以基于这些参数前传信令,提高效率。SIP同时支持多跳搜索用户。当被叫IP地址与本地服务器不在一个网段,服务器将作为***将呼叫请求发给别的服务器,同样地,这些服务器将逐级***这个请求,直至最终找到目的服务器。一个服务器可以同时将***请求发给多个服务器,加快了定位被叫方的速度。
H.323对于用户移动性的支持较为有限。信令信息也可以被重定向到其他IP地址上,但由于H.323开始设计时对广域网考虑不足,它的信令不包含主叫对被叫的参数选择,尽管它也支持信令在多个服务器之间的前传,但不提供环路检测。而且H.323关口也不允许将***请求发给多个服务器。
SIP已经被NGN和3G两种网络所应用,为固定和移动的融合提供了标准。西门子公司利用SIP的这一特点,提出了固网和移动网络的业务融合方案。在这个解决方案中,SIP在固网(hiQ6200)和移动(@vantage CFX-5000呼叫状态控制器)的应用中扮演着重要的规则。利用SIP的注册功能,用户可以注册不同的地域信息,如办公室PC、SIP的移动电话以及SIP的固定电话。尽管固网和移动的用户可能在不同的SIP域进行注册,比如一个在SURPASS的SIP域,一个在UMTS的SIP域,但他们仍然可以发送和接收来自相同服务器的SIP信息。由于这个原因SIP服务器可以通过任意一个SIP节点的开放接口与固网/移动的用户相连。
第三方呼叫控制机制
SIP允许通过第三方呼叫控制机制定义新的业务。这些机制允许一个实体在第三方实体的命令下创建或拆除到其他实体的呼叫。当被控实体执行这些命令时,控制实体可以获得当前状态信息。这样,控制方就很容易地控制本地的会话执行。这类似于传统电话中智能网的控制机制。当前定义的电话业务已有上百种,不可能为每一种业务都建立规划书,因此SIP采用简单、标准化的机制来配置业务,并能够以此促成一些新的业务,如遇忙转移、三方呼叫和桥接呼叫等。目前PINT(PSTN and Internetworking)工作组正在定义一种叫click-to-call的SIP扩充业务。使用这种业务时,用户在网页上点击某个按钮要求呼叫某个号码,PSTN的用户端设备将会自动建立这个联接。这要求在Web服务器和PSTN之间建立一种控制协议,这之间就要用到SIP。
H.323也提供一些类似的机制,例如Facility信息允许被叫将来话无条件转移到第三方(即遇忙转移),H.245的通信模式命令允许多点控制器(MC)为不同参会者改变媒体编码格式。前者受应用范围所限,后者则只能由MC来执行,因此都不能提供构建复杂业务所需的三方控制机制。
四、结束语
H.323沿用的是传统的电话信令模式,其最大优势在于比较成熟,已经出现了不少H.323产品。H.323符合通信领域传统的设计思想,进行集中、层次式控制,便于计费和与传统的电话网相连。SIP协议借鉴了互联网的标准和协议的设计思想,在风格上遵循简练、开放、兼容和可扩展的原则,结构比较简单,在大型组网和计费方面还不很成熟。可以看出,H.323和SIP各有利弊。目前,在我国IP电话中采用H.323协议已被广泛接受,但是也应该看到,SIP的简单、灵活等特点正吸引着越来越多的设备厂商关注和支持,并逐渐成为未来发展的方向,因此关注SIP的发展是有现实意义的。
SIP协议与H.323协议的比较
H.323和SIP设计之初都是作为多媒体通信的应用层控制(信令)协议,目前一般用于IP电话。它们能实现的信令功能基本相同,也都利用RTP作为媒体传输的协议。但两者的设计风格截然不同,这是由于其推出的两大阵营(电信领域与Internet领域)都想沿袭自己的传统。H.323是由国际电联提出来的,它企图把VoIP当作是众所周知的传统电话,只是传输方式由电路交换变成了分组交换,就如同模拟传输变成数字传输、同轴电缆传输变成了光纤传输。而SIP侧重于将IP电话作为Internet上的一个应用,较其他应用(如FTP,E-mail等)增加了信令和QoS的要求。
H.323推出较早,协议发展得比较成熟;由于其采用的是传统的实现电话信令的模式,便于与现有的电话网互通,但相对复杂得多。SIP借鉴了其他Internet标准和协议的设计思想,有其突出的优点。
首先,它是基于文本的协议,而H.323采用基于ASN.1和压缩编码规则的二进制方法表示其消息,因此,SIP对以文本形式表示的消息的词法和语法分析就比较简单。其次,SIP会话请求过程和媒体协商过程等是一起进行的,因此呼叫建立时间短,而在H.323中呼叫建立过程和进行媒体参数等协商的信令控制过程是分开进行的。再次,H.323为实现补充业务定义了专门的协议,如H.450.1、H.450.2和H.450.3等,而SIP只要充分利用已定义的头域,必要时对头域进行简单扩展就能很方便地支持补充业务或智能业务。
最后,H.323进行集中、层次式控制。尽管集中控制便于管理(如便于计费和带宽管理等),但是当用于控制大型会议电话时,H.323中执行会议控制功能的多点控制单元很可能成为瓶颈。而SIP类似于其他的Internet协议,设计上就为分布式的 呼叫模型服务的,具有分布式的组播功能。
SIP和H.323都有明显的优缺点。
H.323的优点
尽管H.323最开始只被设计用来在IP上传输语音和视频,但是它得到了更广泛的应用。H.323是一个整套的协议栈用来在IP和包交换网络中传输标准的电话语音服务。除了在设计时独立于其它标准,H.323的基本功能里也包括很多电话的辅助功能,例如会议和呼叫转移。这种实现的优点是,它给希望开发高级特性和服务的开发者留下了很明确的接口,这样就保证了高度的兼容性。整个行业都在为H.323增加功能和增进互通性方面作了很多的工作。H.323会成为下一代网络中的一个重要的信令协议。
SIP的优点
相比较来说,SIP不支持类似会议和静音等高级的功能。SIP最大的优点就是它很简单。不像H.323那样有一整套自己的协议栈,SIP主要依赖于类似于RTSP和HTTP等协议。SIP在建立和挂断呼叫方面比H.323更高效,需要的消息更少。而且,SIP不提供按键的支持。DTMF或者在媒体流里被发送(当使用G.711编码的时候)或者通过特殊的RTP包(当使用G.726或G.729编码的时候)。SIP的一个独特的功能是一个INVITE消息可以在同时发给多个目的地。然后与第一个回复OK消息的远端建立RTP流。
微软*的NetMeeting客户端使用H.323是一个举足轻重的事件。这就使大多数Windows*的用户都可以使用H.323。同样地,微软最近宣布要在Windows XP里面支持SIP。SIP的客户端也会越来越多。
表1 比较SIP和H.323. | ||
| SIP | H.323 |
消息编码格式 | 纯文本 | ASN.1 |
呼叫建立最少需要消息数 | 2 | 21 |
呼叫建立最大需要消息数 | 4 | 81 |
处理DTMF | 用RTP协议处理,可以是带内或者用特殊的包 | 可以配置成带外(Out-of-band)或者带内(In-Band) (推荐使用带外RTP RTP ) |
电话转移(call transfer) | Reinvite消息 | H.450 |
别名(Aliasing) | ***服务器或者重定向服务器 | 网关或者命名服务器 |
1 包比SIP的消息要大,总体交互的字节数根据H.323终端的能力决定
图3 SIP网络中的模块