谈H.323和SIP协议两者的区别
目前,VoIP通讯协议主要分为两大阵营:SIP与H.323。 H.323企图把IP电话当作是众所周 知的传统电话,只是传输方式发生了改变,由电路交换变成了分组交换。而SIP协议侧重于将IP电话 作为因特网上的一个应用,较其实应用(如FTP,E-mail等)增加了信令和QoS的要求,它们支持的 业务基本相同,也都利用RTP作为媒体传输的协议。但H.323是一个相对复杂的协议。
H.323采用基于ASN.1和压缩编码规则的二进制方法表示其消息。ASN.1通常需要特殊的代码生 成器来进行词法和语法分析。而SIP的基于文本的协议,类似于HTTP。基于文本的编码意味着头域的 含义是一目了然的,如From、To、Subject等域名。这种分布式、几乎不需要复杂的文档说明的标 准规范夫风格,其优越性已在过去的实践中得到了充分的证明(现在广为流行的邮件协议SMTP就是 这样的一个例子)。SIP的消息体部份采用SDP进行描述,SDP中的每一项格式为=,也比较简单。
在支持会议电话方面,H.323由于由多点控制单元(MCU)集中执行会议控制功能,所有参加会 议终端都向MCU发送控制消息,MCU可能会成为颈,特别是对于具有附加特性的大型会议;并且 323不支持信令的组播功能,其单功能限制了可扩展性,降低了可靠性。而SIP设计上就为分布式的 呼叫模型,具有分布式的组播功能,其组播功能不仅便于会议控制,而且简化了用户定位、群组邀 请等,并且能节约宽带。但是H.323集中式控制便于计费,对带宽的管理也比较简单、有效。
H.323中定义了专门的协议用于补充业务,如H.450.1、H.450.2和H.450.3等。SIP并未专门定义的 协议用于此目的,但它很方便地支持补充业务或智能业务。只要充分利用SIP已定义的头域(如 Contact头域),并对SIP进行简单的扩展(如增加几个域),就可以实现这些业务。例如对于呼叫 转移,只要在BYE请求消息中添加Contact头域,加入意欲转至的第三方地址就可以实现此业务。对 于通过扩展头域较难实现的一些智能业务,可在体系结构中增加业务代理,提供一些补充服务或与 智能网设备的接口。
在H.323中,呼叫建立过程涉及到第三条信令信道:RAS信令信道、呼叫信令信道和H.245控 制信道。通过这三条信道的协调才使得H.323的呼叫得以进行,呼叫建立时间很长。在SIP中,会话 请求过程和媒体协商过程等一起进行。尽管H.323v2已对呼叫建立过程作了改进,但较之SIP只需要 1.5个回路时延来建立呼叫,仍是无法相比。 H.323的呼叫信令通道和H.245控制信道需要可靠的传 输协议。而SIP独立于低层协议,一般使用UDP等无法连接的协议,用自己信令层的可靠性机制来保 证消息的可靠传输。
总之,H.323沿用的是传统的实现电话信令模式,比较成熟,已经出现了不少H.323产品。 H.323符合通信领域传统的设计思想,进行集中、层次控制,采用H.323协议便于与传统的电话网相 连。SIP协议借鉴了其它因特网的标准和协议的设计思想,在风格上遵循因特网一贯坚持的简练、开 放、兼容和可扩展等原则,比较简单。