NJUPT207第五章VoIP技术及应用VoIP的概念1VoIP协议2IP电话通话质量3NJUPT207VoIP电话概述VoIP,即VoiceoverIP,又称IP电话,是在IP上提供语音服务的技术。它对于广大用户来说最吸引人的地方在于价格的低廉。在某些条件下,例如使用宽带局域网,IP电话的话音质量堪比普通电话。狭义的IP电话就是指在IP网络上打电话。所谓“IP网络”就是“使用IP协议的分组交换网”的简称。广义的IP电话则不仅仅是电话通信,而且还可以是在IP网络上进行交互式多媒体实时通信(包括话音、视像等),甚至还包括即时通知IM(InstantMessaging)。IP电话网关的几种连接方法分组交换电路交换电路交换因特网PC到PC公用电话网IP电话网关因特网PC到普通电话机公用电话网IP电话网关公用电话网IP电话网关因特网普通电话机到普通电话机NJUPT207VoIP的标准化组织目前参与IP电话标准制定和推广工作的组织超过20家,其中最有影响力的是ITU-T、IETF、IMTC和ETSI。ITU-T侧重于电信标准,IETF侧重于IP标准,IMTC国际多媒体电视会议联合会侧重于互操作性,ETSI欧洲电信标准协会侧重于商业实现。由于IP电话技术涉及多个领域,这几家组织其实是相互协作、共同对IP电话技术进行标准化工作的。NJUPT207VoIP的标准化组织ITU(国际电信联盟):ITU前身是CCITT(国际电报电话咨询委员会),是联合国的一个分支机构,成立于1865年。ITU下属的组织包括电信标准部、电信开发部和无线通信部。其中电信标准部(ITU-T)负责网络通信方面标准的制定,主要侧重在公共网络方面。ITU-T对IP电话的标准化工作是由16研究组来完成的,相关标准主要是H.323协议族。H.323协议族是针对基于包交换的多媒体通信系统的,将其中的语音部分拿出,并且承载网络选择IP网络,即IP电话系统。NJUPT207VoIP的标准化组织IETF(Internet工程任务组):IETF负责标准化Internet的协议,成立于1989年。IETF中有几个小组开发的标准都直接或间接地涉及到IP电话技术,如AVT/RTP、IPTEL、MMUSIC、PINT等小组。其中AVT/RTP小组的RTP/RTCP标准已成为H.323协议堆栈中很重要的部分;MMUSIC小组的SIP协议也越来越被厂商重视。SIP是一种用于建立、维持与终止多媒体呼叫的应用层控制协议。NJUPT207VoIP的标准化组织IMTC(国际多媒体通信联盟):IMTC是一个由来自北美、欧洲、亚洲和太平洋地区的140多个成员组成的联盟。它的目标是提高和鼓励具有互操作能力的多媒体会议解决方案的开发和实现。IMTC就IP电话技术成立了一个VoIP论坛,主要负责定义和建立一系列在IP网上进行电话通信的设备实现的开放性和互操作性。IMTC的基本目标就是将所有参与多媒体电信会议产品和服务开发的组织联合起来,帮助制订所要求的标准并推动它的广泛采用。该协会提供了对ITU所采纳的H.320和T.120系列电信会议标准的地支持。NJUPT207VoIP的标准化组织ETSI(欧洲电信标准协会):ETSI的主要目标是决定和产生电信标准。是一个拥有34个国家的490个成员的开放论坛,这些成员包括管理者、网络运营者、厂家、服务提供商和用户。它现在有一个称为TIPHONE的工程,专门针对IP电话的商业化做相关的研究和试验,它保证连接到IP网络的用户可以与SCN网络(如PSTN、ISDN、GSM)用户相互通信。TIPHONE工程组希望向各类网络运营者都提供面向业务的解决方案,其工作主要基于H.323系列建议和现有的电路交换网标准。NJUPT207VoIP的相关协议由于Internet的飞速发展以及网络语音业务的巨大前景,在各厂商的积极推动下,上述组织积极推进了IP电话协议的标准化进程。目前主要涉及IP电话的协议如图所示:H.323V.34PPPEthernetAAL5ATMAAL3/4SonetPPPIPv4,IPv6UDPTCPRTPH.251,MPEGRTCPRSVPRISPSIPNJUPT207H.323H.323是ITU-T于1996年制订的一个名称很长的建议书,1998年的第二个版本改用的名称是“基于分组的多媒体通信系统”。H.323包括系统和构件的描述,呼叫模型的描述,呼叫信令过程,控制报文,复用,话音编解码器,视像编解码器,以及数据协议等,但不保证服务质量QoS。NJUPT207H.323标准指明的四种构件(1)H.323终端(2)网关——网关连接到两种不同的网络,使H.323网络可以和非H.323网络进行通信。(3)网闸(gatekeeper)——所有的呼叫都要通过网闸,因为网闸提供地址转换、授权、带宽管理和计费功能。(4)多点控制单元MCU(MultipointControlUnit)——MCU支持三个或更多的H.323终端的音频或视频会议。NJUPT207H.323网关用来和非H.323网络进行连接因特网公用电话网网关网闸H.323终端多点控制单元MCUNJUPT207H.323的协议体系结构音频/视频应用音频编解码视频编解码RTCPH.225.0注册信令H.225.0呼叫信令H.245控制信令RTPUDPTCPIP信令和控制音频编码器:H.323要求至少要G.711(64kb/s的PCM)。建议支持如G.722,G.723,G.728,G.729等。完成语音信号的编解码,并在接收端可选择地加入缓冲延迟以保证语音的连续性。NJUPT207H.323的协议体系结构音频/视频应用音频编解码视频编解码RTCPH.225.0注册信令H.225.0呼叫信令H.245控制信令RTPUDPTCPIP信令和控制视频编解码:H.323要求必须支持视频压缩标准。完成对视频码流的冗余压缩编码。NJUPT207H.323的协议体系结构音频/视频应用音频编解码视频编解码RTCPH.225.0注册信令H.225.0呼叫信令H.245控制信令RTPUDPTCPIP信令和控制H.225.0注册信令:即RAS(RegistrationAdmissionStatus)信令,用于H.323终端与网守之间的注册、接入及状态改变的交互。NJUPT207H.323的协议体系结构音频/视频应用音频编解码视频编解码RTCPH.225.0注册信令H.225.0呼叫信令H.245控制信令RTPUDPTCPIP信令和控制H.225.0呼叫信令:用来完成在两个H.323端点之间建立连接。将视频、音频、控制等数据格式化并发送,同时从网络接收数据。另外,还负责处理一些诸如逻辑分帧、加序列号、错误检测等功能。NJUPT207H.323的协议体系结构音频/视频应用音频编解码视频编解码RTCPH.225.0注册信令H.225.0呼叫信令H.245控制信令RTPUDPTCPIP信令和控制H.245控制信令:提供端到端信令,以保证H.323终端的正常通信。所采用的协议为H.245(多媒体通信控制协议),它定义了请求、应答、信令和指示四种信息,通过各种终端间进行通信能力协商,打开/关闭逻辑信道,发送命令或指示等操作,完成对通信的控制。NJUPT207H.323信令协议实际中在H.323端点之间交换的消息是由H.225.0和H.245这两个协议定义。H.225.0协议包括两个部分,•呼叫信令,是IUT-TQ.931建议的变体,用于在H.323端点之间建立以及拆除连接,被称作是Q.931信令。•注册信令,用于端点和关守之间,被称作登录、许可和状态(RSA)信令,关守使用该信令来许可或是拒绝端点对网络资源的访问。H.245,用于两个或多个端点之间的控制协议,可以确保一个实体只发送能够被另一个实体接收和理解的媒体,其运行在端点之间的一条或多条逻辑信道上。上述这三个信令协议——RAS,Q.931和H.245,可用来建立呼叫、维持呼叫和拆除呼叫。不同协议消息的传递是交替进行的。上述这三个信令协议——RAS,Q.931和H.245,可用来建立呼叫、维持呼叫和拆除呼叫。可以这样这样理解:当一个端点想要与另一个端点建立呼叫时,首先,源端点使用RAS信令来从一个关闸那里获得许可;然后,源端点用Q.931信令来建立与目的端点的通信;最后,源端点使用H.245控制信令与目的端点协商媒体参数并建立媒体传送。NJUPT207H.323的协议体系结构音频/视频应用音频编解码视频编解码RTCPH.225.0注册信令H.225.0呼叫信令H.245控制信令RTPUDPTCPIP信令和控制实时运输协议RTP和实时运输控制协议RTCPNJUPT207实时运输协议RTPRTP(Real-timeTransportProtocol)为实时应用提供端到端的运输,但不提供任何服务质量的保证。多媒体数据块经压缩编码处理后,先送给RTP封装成为RTP分组,再装入运输层的UDP用户数据报,然后再交给IP层。RTP是一个协议框架,只包含了实时应用的一些共同的功能。RTP自己并不对多媒体数据块做任何处理,而只是向应用层提供一些附加的信息,让应用层知道应当如何进行处理。NJUPT207RTP的层次从应用开发者的角度看,RTP应当是应用层的一部分。在应用的发送端,开发者必须编写用RTP封装分组的程序代码,然后把RTP分组交给UDP插口接口。在接收端,RTP分组通过UDP插口接口进入应用层后,还要利用开发者编写的程序代码从RTP分组中把应用数据块提取出来。NJUPT207RTP也可看成是运输层的一个子层RTP封装了多媒体应用的数据块。由于RTP向多媒体应用程序提供了服务(如时间戳和序号),因此也可以将RTP看成是在UDP之上的一个运输层的子层。运输层应用层IP数据链路层物理层RTPUDPNJUPT207RTP分组的首部格式12字节序号比特01381631有效载荷类型版本PXM参与源数时间戳同步源标识符(SSRC)参与源标识符(CSRC)[0..15]…发送RTP分组UDP用户数据报IP数据报IP首部UDP首部RTP首部RTP数据部分(应用层数据)NJUPT207实时运输控制协议RTCPRTCP(RTPControlProtocol)是与RTP配合使用的协议。RTCP协议的主要功能是:服务质量的监视与反馈、媒体间的同步,以及多播组中成员的标识。RTCP分组也使用UDP传送,但RTCP并不对声音或视像分组进行封装。可将多个RTCP分组封装在一个UDP用户数据报中。RTCP分组周期性地在网上传送,它带有发送端和接收端对服务质量的统计信息报告。NJUPT207RTCP使用的五种分组类型结束分组BYE:表示关闭一个数据流。特定应用分组APP:使应用程序能够定义新的分组类型。接收端报告分组RR:用来使接收端周期性地向所有的点用多播方式进行报告。发送端报告分组SR:用来使发送端周期性地向所有接收端用多播方式进行报告。源点描述分组SDES:给出会话中参加者的描述。NJUPT207H.323终端的构成终端是分组网络中能提供实时、双向通信的节点设备,也是一种终端用户设备,可以和网关、多点接入控制单元通信。所有终端都必须支持语音通信,视频和数据通信可选。H.323规定了不同的音频、视频或数据终端协同工作所需的操作模式。NJUPT207H.323终端的构成话音编解码G.711G.723G.729.A图像编解码器H.261H.263数据接口T.120H.245系统控制呼叫控制H.225.0RAS控制H.225.0接受路径时延(RTPRTCP)H.225.0层LAN接口音频I/O设备视频I/O设备数据设备系统控制用户接口系统控制音频编解码(H.723.1等):完成语音信号的编解码,并在接收端可选择地加入缓冲延迟以保证语音的连续性。NJUPT207H.323终端的构成话音编解码G.711G.723G.729.A图像编解码器H.261H.263数据