SIP协议与视频通信摘要:文章简要概述现有视频通信技术,包括H.320与H.323应用。然后介绍IETF可以用于视频通信的协议:SIP。在SIP介绍中首先描述SIP协议的历史,然后描述SIP的组成部件。明确部件后举例说明了一个SIP呼叫建立的流程。在第四部分通过与H.323协议族比较来说明SIP用于视频通信的优劣。昀后指出SIP协议用于视频通信的前景。引言沟通是人类生存的基本需求,通信已成为现代生活中必不可少的内容。在任何时间,任何地点与人和人通信是电信发展的目标。通信技术发展到今天,电话网几乎覆盖全球。语音通信(电话)似乎已基本达到上述目标。但是随着技术的发展,人们已不满足仅仅语音通信。大规模视频通信已成为下一阶段信息产业发展方向。虽然电视会议已出现二十多年,当前不但统一的标准而且有成熟的产品;但是由于种种原因一直没有得到象电话那样的普遍应用。视频通信似乎一直是一座未被足量开采的金矿。随着传输技术的发展,带宽资源已不是瓶颈;随着一场SARS的肆虐,视频通信又成为热点。随着SIP协议的出现,视频通信在技术上又有了新的发展动力。视频通信协议概述基于H.320的视频应用传统会议电视利用以电话网2M或者1.544M直联数字线路连接终端会议电视设备进行实时音频、视频和数据信息的传送。通过使用多点控制器,可以在一块控制板具备所有主会场的操作切换功能。昀初会议电视厂家以各自专用的压缩和通信算法进行生产,各个会议电视厂家产品无法互联互通。随着ITU-T推出H.320协议,上述问题得到很大程度的解决。H.320是同步电路交换网(如ISDN)上现频传输的标准。电路交换网适用于实时应用,如长时间和具有确定延迟的音频和视频信号传递。电路的建立依赖于带外信令、集中的路由控制和昂贵的交换设备。使用H.320协议,电话网上中商用会议电视的理想电路是384kbps。使用384kbps的电路可以以合理的成本提供高质量的音频和视频信号。采用2M或者1.544M的中继直连当然很容易满足上述带宽要求,但是作等于建立专网,价格将令用户难以承受。由于电话网络中继价格不断下降以及大量既成事实的基于H.320的电视会议应用,虽然H.320通信成本相对于现有的其它方式稍显昂贵,但其市场仍将在未来数年里继续成长——尽管其成长是缓慢的。基于H.323协议的视频应用H.323是国际电信联盟制定的局域网上的多媒体通信系列标准。该协议专门为不提供服务质量(QOS)保证的局域网技术制定,例如运行于以太网、快速以太网和令牌环网(TokenRing)上的TCP/IP和IPX。尽管H.323协议特别为局域网制定,只要带宽时延满足要求同样可以应用在更大范围例如城域网和广域网。1997年5月,国际电信联盟第15研究小组重新定义了H.323,它成为在“不保证服务质量的分组交换网上传递信息的多媒体通信系统”的标准。H.323是在H.320的基础上建立起来。增加了的一些功能是由分组交换网络代替电路交换网络所带来的,另一些功能则是由压缩算法和信令技术的发展带来的。H.323协议在规定了与H.320相同的视音频压缩算法的同时又补充了一些新的算法。H.323是一个庞大的协议族,主要定义的四个部分:终端、网关、网守和多点控制单元:l终端:在基于IP的网络上是一个客户端点。它需要支持下面3项功能:支持信令和控制;支持实时通信;支持编码,即传前压缩,收后进行解压缩。l网关:提供在包交换网络和电路交换网络(SCN,SwitchCircuitNetwork)之间的一个连接。l网守:在H.323系统中是可选的,但如果出现,它们就具有某些强制性的功能,网守完成地址翻译、接纳控制、带宽控制、域管理4个必须功能。网守还支持呼叫控制信令、呼叫鉴权、带宽管理和呼叫管理4个可选的功能。l多点控制单元(MCU):多点控制单元支持3个以上的端用户进行会话。典型的MCU包括一个多点控制器(MC)和若干个(也可以没有)多点处理器(MP)。MC提供控制功能,如终端之间的协商。MP完成会话中的媒体流的处理,如话音的混合、话音/视频的交换。H.323是一个复杂而庞大的协议族,现阶段是视频应用的主流技术。然而由于其过于复杂,现在正受到基于SIP协议视频应用的挑战。SIP协议简介SIP概述SIP(SessionInitiationProtocal)称为会话初始协议,是由IETF(InternetEngineeringTaskForce)组织于1999年提出的一个在基于IP网络中,特别是在Internet这样一种结构的网络环境中,实现实时通讯应用的一种信令协议。而所谓的会话(Session),就是指用户之间的数据交换。在基于SIP协议的应用中,每一个会话可以是各种不同类型的内容,可以是普通的文本数据,也可以是经过数字化处理的音频、视频数据,还可以是诸如游戏等应用的数据,应用具有巨大的灵活性。作为一个IETF提出的标准,SIP协议在很大程度上借鉴了其他各种广泛存在的Internet协议,如HTTP(超文本传输协议)、SMTP(简单邮件传输协议)等,和这些协议一样SIP也采用的基于文本的编码方式,这也是SIP协议同视频通讯领域其他现有标准相比昀大的特点之一。SIP协议的提出和发展,是伴随着Internet的发展而发展的,到目前为止它走过了一下几个阶段:n1996年首先出现了SIP的概念,这时SIP的主要应用是针对Internet上的各种文本应用,如电子邮件、文字聊天等;n1999年3月,ITEF的多方多媒体会话控制(MMUSIC)工作组提出了RFC2543建议,供各厂商和机构讨论;n1999年9月,SIP工作组从MMUSIC中分离并独立出来,成立了SIP工作组,并与2000年7月发表了SIP的草案;n2002年6月,ITEF的SIP工作组又发表了RFC3261建议,以取代RFC2543。由于网络环境以及相关多媒体技术的不足,在SIP协议首次提出的时候,仅仅针对各种文本应用,随着技术的发展,并通过和IETF中IP电话工作组(IPTEL)、IP网中电话选路(TRIP)工作组等兄弟工作组配合工作,在SIP协议中大大加强了对多媒体通讯的支持。由于Internet的飞速发展,在昀近的两年时间内,SIP已经开始被ITU-TSG16、ETSITIPON(欧洲标准化组织),IMTE等各种标准化组织所接受,并在这些组织中成立了与SIP相关的工作组。特别是作为ITU-TSG16主要成员,在多年发展H323应用的基础上,针对SIP应用在视频领域的特点,提出了SIP的应用指导,并推出了相应的SIP协议栈,使得ITU的成员实现了这两种协议之间的互通性。SIP系统基本组成按逻辑功能区分,SIP系统由4种元素组成:用户代理,SIP代理服务器,重定向服务器以及SIP注册服务器。lSIP用户代理:又称为SIP终端,是SIP系统中的昀终用户,在RFC3261中将它们定义为一个应用。根据它们在会话中扮演的角色的不同,又可分为用户代理客户机(UAC)和用户代理服务器(UAS)两种。其中前者用于发起呼叫请求,后者用于响应呼叫请求。lSIP代理服务器(SIPProxyServer):是一个中间元素,它既是一个客户机又是一个服务器,具有解析名字的能力,能够代理前面的用户向下一跳服务器发出呼叫请求。然后服务器决定下一跳的地址。l重定向服务器(RedirectServer):是一个规划SIP呼叫路径的服务器,在获得了下一跳的地址后,立刻告诉前面的用户,让该用户直接向下一跳地址发出请求而自己则退出对这个呼叫的控制。lSIP注册服务器(SIPRegisterServer):用来完成对UAS的登录,在SIP系统的网元中,所有UAS都要在某个登录服务器中登录,以便UAC通过服务器能找到它们。下面是一个SIP呼叫建立过程的示意图:图1SIP呼叫建立过程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用户代理指示被叫是否同意呼叫请求。呼叫建立后双方根据协商得到的媒体和压缩算法等信息相互通讯。呼叫拆除过程类似于建立过程,在这里不再描述。SIP用于视频通信的优势与问题由于SIP协议与H.323协议族都基于分组交换网络,而当前分组交换网上昀成熟的视频通信系统都基于H.323协议族。所以使用SIP协议的视频通信系统不可避免地需要和H.323系统比较来得到优势与不足。虽然SIP协议和H.323协议族并不是谁替代谁的竞争关系,但是通过比较得到的优势和不足可以帮助我们在不同的条件下作出更恰当的选择。l协议功能模块比较SIP协议功能模块中用户代理等价于一个H.323的终端(或者分组交换网络侧的网关),SIP服务器则等价于H.323的网守。另外,SIP类似H.323中的RAS和Q.931协议,而SDP则相当于H.245。在IETF的SIP体系结构中,媒体流的承载采用了RTP协议,这是和H.323一样的。所以,H.323与IETF的SIP主要的不同在于呼叫信令和控制是如何实现的。l基本呼叫的建立和拆除H.323第二版的呼叫建立是基于可靠的传输协议-TCP协议,所以呼叫建立需要两个连接阶段:TCP连接建立和呼叫连接建立。而在H.323第三版,支持TCP和UDP,因此简化了呼叫建立过程。SIP的呼叫建立类似H.323第三版的处理过程,使用INVITE信息包。呼叫拆除的过程与呼叫建立相反,主叫和被叫都能拆线,H.323协议采用RELEASECOMPLETE,SIP协议采用BYE。l呼叫控制业务SIP和H.323都支持呼叫保持、呼叫转移、呼叫前转、呼叫等待、电话会议和其他补充业务。以呼叫保持为例:H.323定义了近点呼叫保持和远点呼叫保持两种保持业务的场景。网守仅仅透明地传送SS-HOLD。而SIP实现同样的功能,只要向需要呼叫保持的一方发送一个更改了SDP描述的INCVITE命令即可。更改的SDP描述段仅将媒体发送的目的地址变为空<0.0.0.0>,而其他的内容不变。收到该用户的UA,让呼叫保持,直到有新的INVITE到来为止。lSIP的第三方控制第三方控制是指不参与会话的第三者具有建立呼叫的能力,这个业务特征目前只有SIP具有。H.323也在进行试图添加同样的业务功能的工作。第三方控制有很多应用场合,包括秘书为经理拨号、电话营销的自动拨号、参加者呼叫转移和呼叫中心业务。第三方控制是SIP值得很好利用的业务特征。由于SIP的这一特性,ITU-T和IETF在实现PINT(IN和因特网互通)业务时都采用了SIP协议。l能力交换能力交换的就是彼此交流各自对媒体流的处理能力,确定双方共有的能力,从而确保多媒体信号被双方接受。H.323采用H.245协议进行能力交换。终端的所有能力都描述在一组CapabilityDescriptor结构中,它们的每个项是一个SimultaneousCapabilities结构和一个CapabilityDecriptorNumber。借助这种结构,每个终端能力的精确信息被表示在相关的紧缩结构中。SIP使用SDP来进行能力交换,主叫方使用一个OPTION需求去找出被叫,当前,SIP还不如H.245有完整灵活的协商能力,因为受制于SDP的表达方式,例如SIP不支持不对称能力交换(只收或只发)以及声频和视频编码的并