1、随着全球性的市场开放和竞争的日益激烈,传统的电信网技术正发生深刻的变革,通信市场的竞争也愈演愈烈。语音网上基于原电路交换的业务将逐渐转移到以分组交换和数据通信为基础的机构上,IP 将占主要地位,VoIP 技术成为通信行业最火热的焦点之一。 目前在国际上,应用的标准协议包括 ITU-T 提出的 H.323 协议和 IEEE 提出的 SIP 协议。1、H.323 协议H.323 协议是目前在 VoIP 网络中被用得最广泛的一种信令协议,其作用范围如图 1 所示。这一体系结构包括了H.323 终端、网关、关守及多点控制单元(MCU)。H.323 的总体目标实现 H.323 端点之间媒体流交换。图 1
2、 H.323 的范围及 H.323 终端的交互其中,H.323 终端是与其他 H.323 端点进行实时通信的端点; 网关是在 H.323 网络和其他类型网络之间提供转换服务的 H.323 端点,网关两侧信令协议及媒体格式之间的转换在网关内部进行;关守在 H.323 网络中,是一个可选实体,存在时,可以控制(指对来自一个或多个端点的访问进行授权,并可允许或拒绝端点发来的任何呼叫)许多 H.323 终端、网关和多点控制器;多点控制器(MC)是一个管理多个终端和或网关之间多点会议的 H.323 端点。MC 指出可被各个实体共享的媒体,还可以改变资源的配置。MC 的位置,可以被安置在一个独立的 MCU
3、 中,也可以与网关、关守或 H.323 终端等实体结合在一起。H.323 协议是一个庞大的协议族,包括许多相关的协议,形成了一个协议栈,如图 2 所示。媒体交换是通过运行在UDP 上的 RTP 来实现的,只要有 RTP 则 RTCP 是不可少的。RTP 协议为音频、视频等实时数据提供端到端的传递服务,可以向接收端点传送恢复实时信号必需的定时和顺序信息, RTCP 协议能向收发双方和网络运营者提供 QoS 的监测手段。图 2 H.323 协议栈实际中在 H.323 端点之间交换的消息是由 H.225.0 和 H.245 这两个协议定义。H.225.0 协议包括两个部分,一部分是 IUT-T Q.
4、931 建议的变体,用于在 H.323 端点之间建立以及拆除连接,被称作呼叫信令或是 Q.931 信令。另一部分被称作登录、许可和状态(RSA)信令,用于端点和关守之间,使关守用该信令来许可或是拒绝端点对网络资源的访问。H.245 是用于两个或多个端点之间的控制协议,它可以确保一个实体只发送能够被另一个实体接收和理解的媒体,其运行在端点之间的一条或多条逻辑信道上。上述这三个信令协议RAS,Q.931 和 H.245,可用来建立呼叫、维持呼叫和拆除呼叫。不同协议消息的传递是交替进行的,图 3 简单描述了一个呼叫的建立过程以及呼叫过程中各相关协议的控制作用。可以这样理解:当一个端点想要与另一个端点
5、建立呼叫时,首先,源端点使用 RAS 信令来从一个关守那里获得许可;然后,源端点用 Q.931 信令来建立与目的端点的通信;最后,源端点使用 H.245 控制信令与目的端点协商媒体参数并建立媒体传送。图 3 呼叫过程与协议控制2、SIP 协议SIP 是由 IETF 开发的一种信令协议,用来处理多媒体会话的建立、更改、拆卸,与其他协议比较,SIP 描述了潜在的会话参与者的会话特征。SIP 中定义了两类基本的网络实体,客户机和服务器。客户机是指为了向服务器发送请求而与服务器建立连接的应用程序,服务器是用于向客户机发出的请求提供服务并回送应答的应用程序。共有四种不同类型的服务器:(1)用户代理服务器
6、:当接到 SIP 请求时它联系用户,并代表用户返回响应。(2)代理服务器:代表其他客户机发起请求,既充当服务器又充当客户机的媒介程序。在转发请求之前,它可以改写原请求消息中的内容。(3)重定向服务器:它接收 SIP 请求,并把请求中的原地址映射成零个或多个新地址,返回给客户机。(4)注册服务器:它接收客户机的注册请求,完成用户地址的注册。SIP 网络实体之间的沟通是由 SIP 消息来完成,其语法构成是基于文本的,可以分为两类消息类型,即请求消息和回应消息。每个消息都是由一个起始行,零个或多个首部和任意的消息体组成。对于请求消息,起始行为请求行,规定了所提交请求的类型,语法结构为: reques
7、t-line=method SP Request URI SP SIP-version CRLF,其中定义了 7种方法,名称和描述如表 1 所示。对于回应消息,起始行为状态行,指出某个请求是成功还是失败,语法结构为status-line= SIP version SP status code DP reason-phrase CRLF,基中定义了状态代码,它的值在 100 和 699 之间,第一个数字表示回应的级别,不同级别的说明如表 2 所示。消息首部提供了关于请求或回应的更多信息以及用来承载额外信息的方式。消息体通常描述将要建立的会话类型,但 SIP 并不定义消息体的结构或内容,它是由另一
8、个不同的协议来描述,最常见的为 SDP(会话描述协议)。 表 1 SIP 请求方法描述方法 - 说明INVITE - 用来回应呼叫用户的一个请求ACK - 用来初始化一个会话BYE - 结束一个已连接的呼叫CANCLE - 用于取消一个已发出但未连接的呼叫REGISTER - 用于向注册服务器注册客户端的相关信息OPTI0N - 用于查询服务器的相关信息和功能INF0 - 用来送出通信中的资讯但并不改变任何通信的状态表 2 SIP 请求方法描述状态码 - 描述1XX - 通知2XX - 成功3XX - 重定向4XX - 请求失败5XX - 服务器错误6XX - 全局性错误SIP 协议支持三种呼
9、叫方式,用户代理客户机向用户代理服务器直接呼叫,用户代理客户机在重定向服务器辅助下重定向呼叫,由代理服务器代表用户客户机向被叫发起呼叫。以应用代理服务器为例,说明一个简单呼叫的建立过程,如图 4 所示。图 4 代理服务器建立呼叫过程3、H.323 协议与 SIP 协议的比较(1)两种协议的编码机制不同,H.323 是使用二进制编码方式,实现比较复杂,而 SIP 是基于文本的协议,实现简单。(2)SIP 会话请求过程和媒体协商过程等是一起进行的,因此呼叫建立时间短,而在 H.323 中呼叫建立过程和进行媒体参数等协商的信令控制过程是分开进行的。(3)H.323 中定义了专门的协议用于补充业务,而 SIP 只要充分利用已定义的头域,必要时对头域进行简单扩展就能很方便地支持补充业务或智能业务,可扩展性强。(4)H.323 进行集中,层次式控制,而 SIP 类似于其他的 Internet 协议,设计上就为分布式的呼叫模型服务的,具有分布的组播功能。总之,H.323 沿用的是传统的电话信令模式,符合通信领域传统的设计思想,已被广泛接受,应用比较成熟。而SIP 协议借鉴了互联网的标准和协议的设计思想,简单、灵活等特点正吸引着越来越多的设商关注和支持,并逐渐成为未来发展的方向,但还不够成熟。目前,这两种协议都在积极的寻求改进,很长时间内将在 VoIP 服务中共存。