一、引言
H.323和SIP分别是通信领域与因特网两大阵营推出的协议。
SIP(会话初始协议)的开发目的是用来帮助提供跨越因特网的高级电话业务。因特网电话(IP电话)正在向一种正式的商业电话模式演进,SIP就是用来确保这种演进实现而需要的NGN(下一代网络)系列协议中重要的一员。
H.323协议的开发目的是用来的分组交换网络上为用户提供取代普通电话的VoIP业务和视频通信系统。 这两种协议定位有一定的重合,并且随着协议向纵深发展和Internet、Intranet的快速发展,这种重合竞争的关系日益加剧。
本文从协议本身和应用的角度上对这两种协议进行了初步的分析和比较,并对将来的发展方向做了初步的预测。
 二、SIP概述
SIP(Session Initiation Protocal)称为会话初始协议,是由IETF(Internet Engineering Task Force)组织于1999年提出的,是一个在基于IP网络中,特别是在Internet这样一种结构的网络环境中,实现实时通信应用的一种信令协议。而 所谓的会话(Session),就是指用户之间的数据交换。
在基于SIP的应用中,每一个会话可以是各种不同类型的内容,可以是普通的文本数据,也可以是经过数字化处理的音频、视频数据,还可以是诸如游戏等应用的数据,应用具有巨大的灵活性。
作为一个IETF提出的标准,SIP在很大程度上借鉴了其他各种广泛存在的Internet协议,如HTTP(超文本传输协议)、SMTP(简单邮 件传输协议)等;和这些协议一样,SIP也采用基于文本的编码方式,这也是SIP同视频通信领域其他现有标准相比最大的特点之一。
由于网络环境以及相关多媒体技术的不足,在SIP首次提出的时候,仅仅针对各种文本应用,随着技术的发展,并通过和IETF中IP电话工作组(IPTEL)、IP网中电话选路(TRIP)工作组等兄弟工作组配合工作,在SIP中大大加强了对多媒体通信的支持。
由于Internet的飞速发展,在最近的两年时间内,SIP已经开始被ITU-T SG16、ETSI TIPON(欧洲标准化组织),IMTE等各种标准化组织所接受,并在这些组织中成立了与SIP相关的工作组。特别是作为ITU-T SG16主要成员,在多年发展H.323应用的基础上,针对SIP应用在视频领域的特点,提出了SIP的应用指导,并推出了相应的SIP协议栈,使得 ITU的成员实现了这两种协议之间的互通性。
 三、SIP系统基本结构
按逻辑功能区分,SIP系统由4种元素组成:用户代理,SIP代理服务器,重定向服务器和SIP注册服务器。 SIP用户代理:又称为SIP终端,是SIP系统中的最终用户,在RFC3261中将它们定义为一个应用。
根据它们在会话中扮演的角色的不同,又可分为用户代理客户机(UAC)和用户代理服务器(UAS)两种。其中前者用于发起呼叫请求,后者用于响应呼 叫请求。 SIP代理服务器(SIP Proxy Server):是一个中间元素,它既是一个客户机又是一个服务器,具有解析名字的能力,能够代理前面的用户向下一跳服务器发出呼叫请求。然后服务器决定 下一跳的地址。
重定向服务器(Redirect Server):是一个规划SIP呼叫路径的服务器,在获得了下一跳的地址后,立刻告诉前面的用户,让该用户直接向下一跳地址发出请求而自己则退出对这个呼叫的控制。
SIP注册服务器(SIP Register Server):用来完成对UAS的登录,在SIP系统的网元中,所有UAS都要在某个登录服务器中登录,以便UAC通过服务器能找到它们。 SIP在设计上充分考虑了对其他协议的扩展适应性。它支持许多种地址描述和寻址,包括用户名@主机地址,被叫号码@PSTN网关地 址,Tel:010-62281234普通电话的描述等。这样,SIP主叫按照被叫地址就可以识别出被叫在传统电话网上的位置,然后通过一个与传统电话网 相连的网关发起并建立呼叫。
SIP最强大之处就是用户定位功能,SIP本身含有向注册服务器注册的功能,也可以利用其他定位服务器DNS、LDAP等提供的定位服务来增强其定 位功能。 SIP共规定了六种信令:INVITE、ACK、CANCEL、OPTIONS、BYE、REGISTER。其中INVITE和ACK用于建立呼叫,完成 三次握手,或者用于建立以后改变会话属性;BYE用以结束会话;OPTIONS用于查询服务器能力;CANCEL用于取消已经发出但未最终结束的请 求;REGISTER用于客户出向注册服务器注册用户位置等消息。
SIP支持三种呼叫方式:由用户代理服务机(UAC)向用户代理服务器(UAS)直接呼叫,由UAC在重定向服务器的辅助下进行重定向呼叫和由代理服务器代表UAC向被叫发起呼叫。图1(详图见2005第三期杂志)是一个SIP呼叫建立过程的示意图,具体步骤如下所示。
(1)SIP用户代理向SIP代理服务器发送呼叫建立请求(INVITE);
(2)SIP代理服务器向重定向服务器发送呼叫建立请求;
(3)重定向服务器返回重定向消息;
(4)SIP代理服务器向重定向服务器指定的SIP代理服务器发送呼叫建立请求;
(5)被请求的SIP代理服务器使用非SIP,例如域名查询或者LDAP等到定位服务器查询被叫位置;
(6)定位服务器返回被叫位置(被叫SIP代理服务器);
(7)被请求的SIP代理服务器向被叫SIP代理服务器发送呼叫建立请求;
(8)被叫SIP代理服务器向SIP用户代理(被叫)发呼叫建立请求(被叫振铃或显示);
(9)被叫用户代理向被叫SIP用户代理服务器发同意或拒绝;
(10)被叫用户代理服务器向主叫代理服务器所请求的代理服务器发同意或拒绝;
(11)主叫代理服务器所请求的代理服务器向主教代理服务器发同意或拒绝;
(12)主叫代理服务器向主叫SIP用户代理指示被叫是否同意呼叫请求。呼叫建立后双方根据协商得到的媒体和压缩算法等信息相互通信。呼叫拆除过程类似于建立过程,在这里不再描述。
 四、H.323协议概论
为了能在不保证QoS的分组交换网络上展开多媒体会议,H.323制定了无QoS保证的分组网络PBN(Packet Based Networks)上的多媒体通信系统标准,这些分组网络主宰了当今的桌面网络系统,包括基于TCP/IP、IPX分组交换的以太网、快速以太网、令牌 网、FDDI技术。
因此,H.323标准为LAN、WAN、Internet、因特网上的多媒体通信应用提供了技术基础和保障。 ITU 的H.323系列建议定义了在Internet或其他包交换网络上多媒体通信的协议及其规程。
它包括用于控制的H.245,用于建立连接的H.225.0,用于大型会议的H.332 ,用于扩充业务的H.450.1、 H.450.2和 H.HH.450.3,有关安全的 H.235,与电路交换业务互操作的H.246。H.323最初是作为局域网上,不保证服务质量的多媒体通信协议而提出的,但是慢慢发展并逐渐成为满足 Internet电话技术复杂要求的协议系列。
H.323很大程度上建立在ITU以前的有关多媒体的协议基础上,包括用于ISDN的H.320,用于B-ISDN的H.321和用于PSTN终端 的H.324等建议的基础之上。其编码机制、协议范围和基本操作类似于ISDN的Q.931信令协议的简化版本。 从整体上来说,H.323是一个框架性建设,它涉及到终端设备、视频、音频和数据传输、通信控制、网络接口方面的内容,还包括了组成多点会议的多点控制单 元(MCU)、多点控制器(MC)、多点处理器(MP)、网关以及关守等设备。其体系结构如图2所示。(详图见2005第三期杂志)
五、H.323标准结构
H.323协议族是一个有机的整体,根据功能可以分为四类,也就是说该协议从系统的总体框架(H.323)、视频编解码(H.263)、音频编解码 (H.723.1)、系统控制(H.245)、数据流的复用(H.225)等各方面做了比较详细的规定,为网络电话和可视电话会议系统的进一步发展和系统 的兼容性提供了良好的条件。
系统控制协议包括H.245、H.225.0协议。整个系统控制由H.245控制信道、H.225.0呼叫信令信道和RAS(注册、许可、状态)信道提供,音频编解码协议包括G.711协议(必选)、G.722、G.723.1、G.728、G.729等协议。
编码器使用的音频标准必须由H.245协议协商确定。H.323终端应由对本身所具有的音频编解码能力进行非对称操作,如以G.711发送,以 G.729接收。 视频编解码协议主要包括H.261协议(必选)和H.263协议。H.323系统中视频功能是可选的,2003年,ITU发布了H.264视频编码协 议,H.264协议将逐步成为主流的视频编码格式。 H.323协议族中,数据会议功能也是可选的,其标准是多媒体会议数据协议T.120。
另外,H.323协议族中还提供了H.450补充业务协议族,完成一些呼叫补充业务,包括呼叫转接、呼叫等待等。(整个H.323协议族的结构,具体见《中国多媒体视讯》2004年第3期P42页)。
H.225.0是一个框架协议,遵循H.323V2标准,包含了RAS和Q.931两部分,描述了为在分组网络上的H.323设备之间传送音频、视 频、数据和控制信息而进行关联、编码及分组的方法。H.225.0负责协议和消息格式的描述。 H.225.0把RTP/RTCP用于所有下层分组网络媒体流的分组和同步,H.225.0假定了一个初始信令是建立在非RTP传输地址之上的呼叫模型, 并把此呼叫模型用于呼叫建立和能力协商(见H.323和H.245),这之后将建立一个或多个RTP/RTCP连接。H.225.0包含RTP/RTCP 的详细使用方法。 RAS是端点和GK之间的协议,利用H.225.0消息来执行在端点和GK之间的注册、接入、带宽改变、状态、以及脱离过程。
Q.931呼叫信令是H.225.0中用于在两个H.323端点之间建立呼叫连接的控制信令。当整个网络中有GK时,其初始接入消息在主叫端点与 GK之间,利用GK的RAS信道传输地址进行交换。在初始接入消息交换时,GK在ACF消息中指示了其他端点的呼叫信令传输地址,主叫端口根据此地址与其 他端口建立呼叫。整个H.323呼叫流程如图3所示。(详图见2005第三期杂志)
六、SIP和H.323应用优势与劣势
H.323企图把IP电话当作是众所周知的传统电话,只是传输方式发生了改变,由电路交换变成了分组交换,H.323是一个相对复杂的协议。SIP 侧重于将IP电话作为因特网上的一个应用,较其实际应用(如FTP、E-mail等)增加了信令和QoS的要求,它们支持的业务基本相同,也都利用RTP 作为媒体传输的协议。 H.323和SIP是有一定竞争关系的两个协议,表1对其进行对比分析。
七、结束语
总之,H.323沿用的是传统的实现电话信令模式,比较成熟。H.323符合通信领域传统的设计思想,进行集中、层次控制,采用其便于与传统的电话 网相连。SIP借鉴了其他因特网的标准和协议的设计思想,在风格上遵循因特网一贯坚持的简练、开放、兼容和可扩展等原则,比较简单,但推出时间较短,协议 本身还需要随着业务的发展而进一步优化。
从技术发展的角度上看,由于SIP天生的技术优势,在主流厂商的支持和克服当前一些技术难题后,SIP的应用前景将更加明朗。但是在短期内,SIP支持的业务还是主要集中在VoIP和点对点视频通信领域,基于多点视讯会议的业务还是以H.323、H.320协议为主。