SIP

SIP

由IETF制定的多媒体通信协议
SIP(Session Initiation Protocol,会话初始协议)是一个基于文本的应用层控制协议,用于创建、修改和释放一个或多个参与者的会话。可以支持并应用于语音、视频、数据等多媒体业务,同时也可以应用于Presence(呈现)、Instant Message(即时消息)等特色业务。可以说,有IP网络的地方就有SIP协议的存在。它是一个基于文本的应用层控制协议,用于创建、修改和释放一个或多个参与者的会话。SIP是一种源于互联网的IP语音会话控制协议,具有灵活、易于实现、便于扩展等特点。[1]与H.323协议相比,SIP协议具有简单灵活、扩展方便的特点,可方便地与其他互联网协议结合提供丰富的IP多媒体业务,以便在各种网络环境下部署。目前,大规模商用VoIP网络和会议系统都采用H.323标准,但随着VoIP技术的进一步发展和视频会议系统应用的逐渐普及,SIP协议正日益受到业界的重视,基于SIP的视频会议系统获得越来越广泛的应用。
  • 中文名:会话初始化协议
  • 外文名:Session initialization Protocol
  • 出现时间:二十世纪九十年代中期
  • 发布机构:IETF
  • 发布时间:1999年

基本简介

SIP(Session Initiation Protocol)是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。这些会话可以是Internet多媒体会议、IP电话或多媒体分发。会话的参与者可以通过组播(multicast)、网状单播(unicast)或两者的混合体进行通信。

SIP与负责语音质量的资源预留协议(RSVP)互操作。它还与若干个其他协议进行协作,包括负责定位的轻型目录访问协议(LDAP)、负责身份验证的远程身份验证拨入用户服务(RADIUS)以及负责实时传输的 RTP 等多个协议。

随着计算机科学技术的进步,基于分组交换技术的IP数据网络以其便捷性和廉价性,取代了基于电路交换的传统电话网在通信领域的核心地位。SIP协议作为应用层信令控制协议,为多种即时通信业务提供完整的会话创建和会话更改服务,由此,SIP协议的安全性对于即时通信的安全起着至关重要的作用。

发展历程

SIP出现于二十世纪九十年代中期,源于哥伦比亚大学计算机系副教授HenningSchulzrinne及其研究小组的研究。Schulzrinne教授除与人共同提出通过Internet传输实时数据的实时传输协议(RTP)外,还与人合作编写了实时流传输协议(RTSP)标准提案,用于控制音频视频内容在Web上的流传输。

Schulzrinne本来打算编写多方多媒体会话控制(MMUSIC)标准。1996年,他向IETF提交了一个草案,其中包含了SIP的重要内容。1999年,Shulzrinne在提交的新标准中删除了有关媒体内容方面的无关内容。随后,IETF发布了第一个SIP规范,即RFC2543。虽然一些供应商表示了担忧,认为H.323和MGCP协议可能会大大危及他们在SIP服务方面的投资,IETF继续进行这项工作,于2001年发布了SIP规范RFC3261。

RFC3261的发布标志着SIP的基础已经确立。从那时起,已发布了几个RFC增补版本,充实了安全性和身份验证等领域的内容。例如,RFC3262对临时响应的可靠性作了规定。RFC3263确立了SIP代理服务器的定位规则。RFC3264提供了提议/应答模型,RFC3265确定了具体的事件通知。

早在2001年,供应商就已开始推出基于SIP的服务。今天,人们对该协议的热情不断高涨。SunMicrosystems的JavaCommunityProcess等组织正在使用通用的Java编程语言定义应用编程接口(API),以便开发商能够为服务提供商和企业构建SIP组件和应用程序。最重要的是,越来越多的竞争者正在借助前途光明的新服务进入SIP市场。SIP正在成为自HTTP和SMTP以来最为重要的协议之一。

SIP的优点:类似Web的可扩展开放通信

使用SIP,服务提供商可以随意选择标准组件,快速驾驭新技术。不论媒体内容和参与方数量,用户都可以查找和联系对方。SIP对会话进行协商,以便所有参与方都能够就会话功能达成一致以及进行修改。它甚至可以添加、删除或转移用户。

不过,SIP不是万能的。它既不是会话描述协议,也不提供增加供会议控制功能。为了描述消息内容的负载情况和特点,SIP使用Internet的会话描述协议(SDP)来描述终端设备的特点。SIP自身也不提供服务质量(QoS),它与负责语音质量的资源保留设置协议(RSVP)互操作。它还与若干个其他协议进行协作,包括负责定位的轻型目录访问协议(LDAP)、负责身份验证的远程身份验证拨入用户服务(RADIUS)以及负责实时传输的RTP等多个协议。

特点

SIP的一个重要特点是它不定义要建立的会话的类型,而只定义应该如何管理会话。有了这种灵活性,也就意味着SIP可以用于众多应用和服务中,包括交互式游戏、音乐和视频点播以及语音、视频和Web会议。SIP消息是基于文本的,因而易于读取和调试。新服务的编程更加简单,对于设计人员而言更加直观。SIP如同电子邮件客户机一样重用MIME类型描述,因此与会话相关的应用程序可以自动启动。SIP重用几个现有的比较成熟的Internet服务和协议,如DNS、RTP、RSVP等。不必再引入新服务对SIP基础设施提供支持,因为该基础设施很多部分已经到位或现成可用。

对SIP的扩充易于定义,可由服务提供商在新的应用中添加,不会损坏网络。网络中基于SIP的旧设备不会妨碍基于SIP的新服务。例如,如果旧SIP实施不支持新的SIP应用所用的方法/标头,则会将其忽略。

SIP独立于传输层。因此,底层传输可以是采用ATM的IP。SIP使用用户数据报协议(UDP)以及传输控制协议(TCP),将独立于底层基础设施的用户灵活地连接起来。SIP支持多设备功能调整和协商。如果服务或会话启动了视频和语音,则仍然可以将语音传输到不支持视频的设备,也可以使用其他设备功能,如单向视频流传输功能。

通信提供商及其合作伙伴和用户越来越渴求新一代基于IP的服务。如今有了SIP(TheSessionInitiationProtocol会话启动协议),一解燃眉之急。SIP是不到十年前在计算机科学实验室诞生的一个想法。它是第一个适合各种媒体内容而实现多用户会话的协议,如今已成了Internet工程任务组(IETF)的规范。

今天,越来越多的运营商、CLEC(竞争本地运营商)和ITSP(IP电话服务商)都在提供基于SIP的服务,如市话和长途电话技术、在线信息和即时消息、IPCentrex/HostedPBX、语音短信、push-to-talk(按键通话)、多媒体会议等等。独立软件供应商(ISV)正在开发新的开发工具,用来为运营商网络构建基于SIP的应用程序以及SIP软件。网络设备供应商(NEV)正在开发支持SIP信令和服务的硬件。如今,有众多IP电话、用户代理、网络代理服务器、VOIP网关、媒体服务器和应用服务器都在使用SIP。

SIP从类似的权威协议--如Web超文本传输协议(HTTP)格式化协议以及简单邮件传输协议(SMTP)电子邮件协议--演变而来并且发展成为一个功能强大的新标准。但是,尽管SIP使用自己独特的用户代理和服务器,它并非自成一体地封闭工作。SIP支持提供融合的多媒体服务,与众多负责身份验证、位置信息、语音质量等的现有协议协同工作。

SIP较为灵活,可扩展,而且是开放的。它激发了Internet以及固定和移动IP网络推出新一代服务的威力。SIP能够在多台PC和电话上完成网络消息,模拟Internet建立会话。

与存在已久的国际电信联盟(ITU)SS7标准(用于呼叫建立)和ITUH.323视频协议组合标准不同,SIP独立工作于底层网络传输协议和媒体。它规定一个或多个参与方的终端设备如何能够建立、修改和中断连接,而不论是语音、视频、数据或基于Web的内容。

SIP大大优于现有的一些协议,如将PSTN音频信号转换为IP数据包的媒体网关控制协议(MGCP)。因为MGCP是封闭的纯语音标准,所以通过信令功能对其进行增强比较复杂,有时会导致消息被破坏或丢弃,从而妨碍提供商增加新的服务。而使用SIP,编程人员可以在不影响连接的情况下在消息中增加少量新信息。

例如,SIP服务提供商可以建立包含语音、视频和聊天内容的全新媒体。如果使用MGCP、H.323或SS7标准,则提供商必须等待可以支持这种新媒体的协议新版本。而如果使用SIP,尽管网关和设备可能无法识别该媒体,但在两个大陆上设有分支机构的公司可以实现媒体传输。

而且,因为SIP的消息构建方式类似于HTTP,开发人员能够更加方便便捷地使用通用的编程语言(如Java)来创建应用程序。对于等待了数年希望使用SS7和高级智能网络(AIN)部署呼叫等待、主叫号码识别以及其他服务的运营商,现在如果使用SIP,只需数月时间即可实现高级通信服务的部署。

这种可扩展性已经在越来越多基于SIP的服务中取得重大成功。Vonage是针对用户和小企业用户的服务提供商。它使用SIP向用户提供20,000多条数字市话、长话及语音邮件线路。Deltathree为服务提供商提供Internet电话技术产品、服务和基础设施。它提供了基于SIP的PC至电话解决方案,使PC用户能够呼叫全球任何一部电话。DenwaCommunications在全球范围内批发语音服务。它使用SIP提供PC至PC及电话至PC的主叫号码识别、语音邮件,以及电话会议、统一通信、客户管理、自配置和基于Web的个性化服务。

某些权威人士预计,SIP与IP的关系将发展成为类似SMTP和HTTP与Internet的关系,但也有人说它可能标志着AIN的终结。迄今为止,3G界已经选择SIP作为下一代移动网络的会话控制机制。Microsoft已经选择SIP作为其实时通信策略并在MicrosoftXP、PocketPC和MSNMessenger中进行了部署。Microsoft同时宣布CEdotnet的下一个版本将使用基于SIP的VoIP应用接口层,并承诺向用户PC提供基于SIP的语音和视频呼叫。

另外,MCI正在使用SIP向IP通信用户部署高级电话技术服务。用户将能够通知主叫方自己是否有空以及首选的通信方式,如电子邮件、电话或即时消息。利用在线信息,用户还能够即时建立聊天会话和召开音频会议。使用SIP将不断地实现各种功能。

通信要求

    用户定位服务会话建立会话参与方管理特点的有限确定

    压缩机制

    SIP压缩机制主要是通过改变SIP消息的长度来降低时延。典型的SIP消息的大小由几百到几千字节,为了适合在窄带无线信道上传输,IMS对SIP进行了扩展,支持SIP消息的压缩。当无线信道一定时,一条SIP消息所含帧数k仅取决于消息大小。从时延模型可以看出,不仅影响SIP消息传输时延,还影响SIP重传的概率,对自适应的定时器来说,k还成了影响定时器初值的关键因素。

    会话构成

    SIP会话使用多达四个主要组件:SIP用户代理、SIP注册服务器、SIP代理服务器和SIP重定向服务器。这些系统通过传输包括了SDP协议(用于定义消息的内容和特点)的消息来完成SIP会话。下面概括性地介绍各个SIP组件及其在此过程中的作用。

    用户代理

    SIP用户代理(UA)是终端用户设备,如用于创建和管理SIP会话的移动电话、多媒体手持设备、PC、PDA等。用户代理客户机发出消息。用户代理服务器对消息进行响应。

    注册服务器

    SIP注册服务器是包含域中所有用户代理的位置的数据库。在SIP通信中,这些服务器会检索出对方的IP地址和其他相关信息,并将其发送到SIP代理服务器。

    代理服务器

    SIP代理服务器接受SIPUA的会话请求并查询SIP注册服务器,获取收件方UA的地址信息。然后,它将会话邀请信息直接转发给收件方UA(如果它位于同一域中)或代理服务器(如果UA位于另一域中)。

    重定向服务器

    SIP重定向服务器允许SIP代理服务器将SIP会话邀请信息定向到外部域。SIP重定向服务器可以与SIP注册服务器和SIP代理服务器同在一个硬件上。

    SIP通过以下逻辑功能来完成通信:

      用户定位功能:确定参与通信的终端用户位置。用户通信能力协商功能:确定参与通信的媒体终端类型和具体参数。用户是否参与交互功能:确定某个终端是否加入某个特定会话中。建立呼叫和控制呼叫功能:包括向被叫“振铃”、确定主叫和被叫的呼叫参数、呼叫重定向、呼叫转移、终止呼叫等。

      以下几个情景说明SIP组件之间如何进行协调以在同一域和不同域中的UA之间建立SIP会话:

      在同一域中建立SIP会话

      如图1所示,说明了在预订同一个ISP从而使用同一域的两个用户之间建立SIP会话的过程。用户A使用SIP电话。用户B有一台PC,运行支持语音和视频的软客户程序。加电后,两个用户都在ISP网络中的SIP代理服务器上注册了他们的空闲情况和IP地址。用户A发起此呼叫,告诉SIP代理服务器要联系用户B。然后,SIP代理服务器向SIP注册服务器发出请求,要求提供用户B的IP地址,并收到用户B的IP地址。SIP代理服务器转发用户A与用户B进行通信的邀请信息(使用SDP),包括用户A要使用的媒体。用户B通知SIP代理服务器可以接受用户A的邀请,且已做好接收消息的准备。SIP代理服务器将此消息传达给用户A,从而建立SIP会话。然后,用户创建一个点到点RTP连接,实现用户间的交互通信。

        呼叫用户B查询B在哪里响应B的SIP地址呼叫响应响应多媒体通道已建立

        在不同的域中建立SIP会话

        本情景与第一种情景的不同之处如下。用户A邀请正在使用多媒体手持设备的用户B进行SIP会话时,域A中的SIP代理服务器辨别出用户B不在同一域中。然后,SIP代理服务器在SIP重定向服务器上查询用户B的IP地址。SIP重定向服务器既可在域A中,也可在域B中,也可既在域A中又在域B中。SIP重定向服务器将用户B的联系信息反馈给SIP代理服务器,该服务器再将SIP会话邀请信息转发给域B中的SIP代理服务器。域B中的SIP代理服务器将用户A的邀请信息发送给用户B。用户B再沿邀请信息经由的同一路径转发接受邀请的信息。

          呼叫用户B询问B中的用户响应呼叫域B的SIP代理查询B在哪里用户B的地址代理呼叫响应响应响应多媒体通道已建立

          无缝、灵活、可扩展:展望SIP未来

          SIP能够连接使用任何IP网络(有线LAN和WAN、公共Internet骨干网、移动2.5G、3G和Wi-Fi)和任何IP设备(电话、PC、PDA、移动手持设备)的用户,从而出现了众多利润丰厚的新商机,改进了企业和用户的通信方式。基于SIP的应用(如VOIP、多媒体会议、push-to-talk(按键通话)、定位服务、在线信息和IM)即使单独使用,也会为服务提供商、ISV、网络设备供应商和开发商提供许多新的商机。不过,SIP的根本价值在于它能够将这些功能组合起来,形成各种更大规模的无缝通信服务。

          使用SIP,服务提供商及其合作伙伴可以定制和提供基于SIP的组合服务,使用户可以在单个通信会话中使用会议、Web控制、在线信息、IM等服务。实际上,服务提供商可以创建一个满足多个最终用户需求的灵活应用程序组合,而不是安装和支持依赖于终端设备有限特定功能或类型的单一分散的应用程序。

          通过在单一、开放的标准SIP应用架构下合并基于IP的通信服务,服务提供商可以大大降低为用户设计和部署基于IP的新的创新性托管服务的成本。它是SIP可扩展性促进本行业和市场发展的强大动力,是我们所有人的希望所在。

          常用消息

          SIP协议的亮点却不在于它的强大,而是在于:简单!

          SIP协议是一个Client/Sever协议,因此SIP消息分两种:请求消息和响应消息。请求消息是SIP客户端为了激活特定操作而发给服务器端的消息。常用的SIP请求消息如下:

          INVITE:表示主叫用户发起会话请求,邀请其他用户加入一个会话。也可以用在呼叫建立后用于更新会话(此时该INVITE又称为Re-invite)。

            ACK:客户端向服务器端证实它已经收到了对INVITE请求的最终响应。PRACK:表示对1xx响应消息的确认请求消息。BYE:表示终止一个已经建立的呼叫。CANCEL:表示在收到对请求的最终响应之前取消该请求,对于已完成的请求则无影响。REGISTER:表示客户端向SIP服务器端注册列在To字段中的地址信息。OPTIONS:表示查询被叫的相关信息和功能。

            SIP协议中的响应消息用于对请求消息进行响应,指示呼叫的成功或失败状态。

            常用的一些响应消息:

              100试呼叫(Trying)180振铃(Ringing)181呼叫正在前转(Call is Being Forwarded)200成功响应(OK)302临时迁移(Moved Temporarily)400错误请求(Bad Request)401未授权(Unauthorized)403禁止(Forbidden)404用户不存在(Not Found)408请求超时(Request Timeout)480暂时无人接听(Temporarily Unavailable)486线路忙(Busy Here)504服务器超时(Server Time-out)600全忙(Busy Everywhere)

              协议比较

              H.323协议和SIP协议的比较

              H.323和SIP分别是通信领域与因特网两大阵营推出的协议。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可能会成为瓶颈,特别是对于具有附加特性的大型会议;并且H.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协议借鉴了其它因特网的标准和协议的设计思想,在风格上遵循因特网一贯坚持的简练、开放、兼容和可扩展等原则,比较简单。

              以下针对它们的应用目标、标准结构、系统组成以及系统实现的难易程度等几个方面进行简单分析。

              标准应用目标

              h.323标准是itu-t组织1996年在h.320/h.324的基础上建立起来的,其应用目标是,在基ip的网络环境中,实现可靠的面向音视频和数据的实时应用。如今经过多年的技术发展和标准的不断完善,h.323已经成为被广大的itu成员以及客户所接受的一个成熟标准族。

              sip标准是ietf组织在1999年提出的,其应用目标是在基于internet环境,实现数据、音视频实时通讯,特别是通过internet将视频通讯这种应用大众化,引入到千家万户。由于sip协议相对于h.323而言,相对简单、自由,厂商可以使用相对小的成本就可以构造满足应用的系统。例如仅仅使用微软基于sip协议的msn,和rtc就可以构造一个简单的,基于internet应用环境的视频通讯环境。这样网络运营商就可以在尽量少的成本基础上,利用现有的网络资源开展视音频通讯业务的扩展工作。

              标准体系结构

              h.323是一个单一标准,而不是一个关于在ip环境中实时多媒体应用的完整标准族,对于呼叫的建立、管理以及所传输媒体格式等各个方面都有完善而严格的规定。一个遵守h.323标准建立的多媒体系统,可以保证实现客户稳定完善的多媒体通讯应用。

              sip标准严格意义上讲是一个实现实时多媒体应用的信令标准,由于它采用了基于文本的编码方式,使得它在应用上,特别是点到点的应用环境中,具有极大的灵活性、扩充性以及跨平台使用的兼容性,这一点使得运营商可以十分方便的利用现有的网络环境实现大规模的推广应用。

              但是sip协议自身不支持多点的会议功能以及管理和控制功能,而是要依赖于别的协议实现,影响了系统的完备性,特别是对于需要多点通讯的要求,应用单纯的sip系统难以实现。针对这些不足,以radvison公司为首的itu-t sg16小组提出了sip的运用规范,并实现了sip和h.323之间的互通互联,并成功的解决了sip在多点环境下的应用难题。

              系统组成结构

              首先,在系统主要组成成员的功能性方面进行类比,sip的ua等价于一个h.323的终端,实现呼叫的发起和接收,并完成所传输媒体的编解码应用;sip代理服务器、重定向服务器以及注册服务器的功能则等价于h.323的gatekeeper,实现了终端的注册、呼叫地址的解析以及路由。

              其次,虽然在呼叫信令和控制的具体实现上不同,但一个基于sip的呼叫流程与h.323的q931相类似,sip所采用的会话描述协议(sdp)则类似于h.323中的呼叫控制协议h.245。

              实现难易性

              h.323标准的信令信息是采用符合asn.1 per的二进制编码,并且在连接实现全过程都要严格标准的定义,系统的自由度小,如要实现大规模的应用,需要对整个网络的各个环节进行规划。

              sip标准的信令信息是基于文本的,采用符合iso10646的utf-8编码,并且全系统的构造结构相对灵活,终端和服务器的实现也相对容易成本也较低,从网络运营商的角度考虑,构造一个大规模视频通讯网络,采用sip系统的成本要廉价许多,而且也更具有可实现性。

相关词条

相关搜索

其它词条