SIP(会话发起协议)
SIP是相似于HTTP的基于文本的协议。SIP能够减小应用特别是高级应用的开发时间。因为基于IP协议的SIP利用了IP网络,固定网运营商也会逐渐认识到SIP技术对于他们的深远意义。数据库
SIP
SIP(Session Initiation Protocol)是一个应用层的信令控制协议。用于建立、修改和释放一个或多个参与者的会话。这些会话能够是Internet多媒体会议[1] 、IP电话或多媒体分发。会话的参与者能够经过组播(multicast)、网状单播(unicast)或二者的混合体进行通讯。
SIP与负责语音质量的资源预留协议(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(The Session Initiation Protocol 会话启动协议),一解燃眉之急。SIP 是不到十年前在计算机科学实验室诞生的一个想法。它是第一个适合各类媒体内容而实现多用户会话的协议,现在已成了 Internet 工程任务组 (IETF) 的规范。
今天,愈来愈多的运营商、CLEC(竞争本地运营商)和 ITSP(IP 电话服务商)都在提供基于 SIP 的服务,如市话和长途电话技术、在线信息和即时消息、IP Centrex/Hosted PBX、语音短信、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 标准(用于呼叫创建)和 ITU H.323 视频协议组合标准不一样,SIP 独立工做于底层网络传输协议和媒体。它规定一个或多个参与方的终端设备如何可以创建、修改和中断链接,而不管是语音、视频、数据或基于 Web 的内容。
SIP 大大优于现有的一些协议,如将 PSTN 音频信号转换为 IP 数据包的媒体网关控制协议(MGCP)。由于 MGCP 是封闭的纯语音标准,因此经过信令功能对其进行加强比较复杂,有时会致使消息被破坏或丢弃,从而妨碍提供商增长新的服务。而使用 SIP,编程人员能够在不影响链接的状况下在消息中增长少许新信息。
例如,SIP 服务提供商能够创建包含语音、视频和聊天内容的全新媒体。若是使用 MGCP、H.323 或 SS7 标准,则提供商必须等待能够支持这种新媒体的协议新版本。而若是使用 SIP,尽管网关和设备可能没法识别该媒体,但在两个大陆上设有分支机构的公司能够实现媒体传输。
并且,由于 SIP 的消息构建方式相似于 HTTP,开发人员可以更加方便便捷地使用通用的编程语言(如 Java)来建立应用程序。对于等待了数年但愿使用 SS7 和高级智能网络(AIN) 部署呼叫等待、主叫号码识别以及其余服务的运营商,如今若是使用 SIP[2] ,只需数月时间便可实现高级通讯服务的部署。
这种可扩展性已经在愈来愈多基于 SIP 的服务中取得重大成功。Vonage 是针对用户和小企业用户的服务提供商。它使用 SIP 向用户提供 20,000 多条数字市话、长话及语音邮件线路。Deltathree 为服务提供商提供 Internet 电话技术产品、服务和基础设施。它提供了基于 SIP 的 PC 至电话解决方案,使 PC 用户可以呼叫全球任何一部电话。Denwa Communications 在全球范围内批发语音服务。它使用 SIP 提供 PC 至 PC 及电话至 PC 的主叫号码识别、语音邮件,以及电话会议、统一通讯、客户管理、自配置和基于 Web 的个性化服务。
某些权威人士预计,SIP 与 IP 的关系将发展成为相似 SMTP 和 HTTP 与 Internet 的关系,但也有人说它可能标志着 AIN 的终结。迄今为止,3G 界已经选择 SIP 做为下一代移动网络的会话控制机制。Microsoft 已经选择 SIP 做为其实时通讯策略并在 Microsoft XP、Pocket PC 和 MSN Messenger 中进行了部署。Microsoft 同时宣布 CE dot net 的下一个版本将使用基于 SIP 的 VoIP 应用接口层,并承诺向用户 PC 提供基于 SIP 的语音和视频呼叫。
另外,MCI 正在使用 SIP 向 IP 通讯用户部署高级电话技术服务。用户将可以通知主叫方本身是否有空以及首选的通讯方式,如电子邮件、电话或即时消息。利用在线信息,用户还可以即时创建聊天会话和召开音频会议。使用 SIP 将不断地实现各类功能。编程
压缩机制
SIP 压缩机制主要是经过改变 SIP 消息的长度来下降时延。典型的 SIP 消息的大小由几百到几千字节,为了适合在窄带无线信道上传输,IMS对SIP进行了扩展,支持SIP消息的压缩。当无线信道必定时, 一条SIP消息所含帧数 k仅取决于消息大小。从时延模型能够看出,不只影响 SIP 消息传输时延, 还影响SIP重传的几率, 对自适应的定时器来讲,k还成了影响定时器初值的关键因素。[3] 浏览器
SIP的应用
google 发布世界上首个开源的Html5 sip 客户端
HTML5 SIP客户端是一款开源的,彻底利用JavaScript编写的集社交(FaceBook,Twitter,Google+),在线游戏,电子商务等应用于一体。无扩展,无插件或是必备的网关,视频堆栈技术依赖于WebRTC。如同主页里的Demo视频演示,你能够轻松实现Chrome和IOS/Android移动设备之间的实时视频/音频通话。
该客户端是一项在浏览器中可被用来链接任意SIP或者IMS网络进行拨打和接收音频/视频通话及即时信息技术。该协议解析器(SIP,SDP...)经过使用Ragel查找表进行了高度优化,很适合硬件(内存和运算能力)受限的嵌入式系统使用。
Html5 sip 客户端 新特性包括:
支持Audio / Video通话功能;
支持即时信息;
Presence;
呼叫保持/恢复;
显示呼叫转移;
支持多个帐号;
双音多频信号(DTMF)使用SIIP INFO安全
2历史回顾服务器
出现时间
SIP 出现于二十世纪九十年代中期,源于哥伦比亚大学计算机系副教授Henning Schulzrinne 及其研究小组的研究。Schulzrinne 教授除与人共同提出经过 Internet 传输实时数据的实时传输协议(RTP) 外,还与人合做编写了实时流传输协议 (RTSP) 标准提案,用于控制音频视频内容在 Web 上的流传输。
Schulzrinne 原本打算编写多方多媒体会话控制 (MMUSIC) 标准。1996 年,他向 IETF 提交了一个草案,其中包含了 SIP 的重要内容。1999 年,Shulzrinne 在提交的新标准中删除了有关媒体内容方面的无关内容。随后,IETF 发布了第一个 SIP 规范,即 RFC 2543。虽然一些供应商表示了担心,认为 H.323 和 MGCP 协议可能会大大危及他们在 SIP 服务方面的投资,IETF 继续进行这项工做,于 2001 年发布了 SIP 规范 RFC 3261。
RFC 3261 的发布标志着 SIP 的基础已经确立。从那时起,已发布了几个 RFC 增补版本,充实了安全性和身份验证等领域的内容。例如,RFC 3262 对临时响应的可靠性做了规定。RFC 3263 确立了 SIP代理服务器的定位规则。RFC 3264 提供了提议/应答模型,RFC 3265 肯定了具体的事件通知。
早在 2001 年,供应商就已开始推出基于 SIP 的服务。今天,人们对该协议的热情不断高涨。Sun Microsystems 的 Java Community Process 等组织正在使用通用的 Java 编程语言定义应用编程接口 (API),以便开发商可以为服务提供商和企业构建 SIP 组件和应用程序。最重要的是,愈来愈多的竞争者正在借助前途光明的新服务进入 SIP 市场。SIP 正在成为自 HTTP 和 SMTP 以来最为重要的协议之一。
SIP 的优势:相似 Web 的可扩展开放通讯
使用 SIP,服务提供商能够随意选择标准组件,快速驾驭新技术。不论媒体内容和参与方数量,用户均可以查找和联系对方。SIP 对会话进行协商,以便全部参与方都可以就会话功能达成一致以及进行修改。它甚至能够添加、删除或转移用户。
不过,SIP不是万能的。它既不是会话描述协议,也不提增长供会议控制功能。为了描述消息内容的负载状况和特色,SIP 使用 Internet 的会话描述协议 (SDP) 来描述终端设备的特色。SIP 自身也不提供服务质量 (QoS),它与负责语音质量的资源保留设置协议 (RSVP) 互操做。它还与若干个其余协议进行协做,包括负责定位的轻型目录访问协议 (LDAP)、负责身份验证的远程身份验证拨入用户服务 (RADIUS) 以及负责实时传输的 RTP 等多个协议。网络
通讯要求
1. 用户定位服务
2. 会话创建
3. 会话参与方管理
4. 特色的有限肯定架构
3会话构成
SIP 会话使用多达四个主要组件:SIP 用户代理、SIP 注册服务器、SIP 代理服务器和 SIP 重定向服务器。这些系统经过传输包括了 SDP 协议(用于定义消息的内容和特色)的消息来完成 SIP 会话。下面归纳性地介绍各个 SIP 组件及其在此过程当中的做用。
用户代理
SIP 用户代理(UA) 是终端用户设备,如用于建立和管理 SIP 会话的移动电话、多媒体手持设备、PC、PDA 等。用户代理客户机发出消息。用户代理服务器对消息进行响应。
注册服务器
SIP 注册服务器是包含域中全部用户代理的位置的数据库。在 SIP 通讯中,这些服务器会检索出对方的 IP 地址和其余相关信息,并将其发送到 SIP 代理服务器。
代理服务器
SIP 代理服务器接受 SIP UA 的会话请求并查询 SIP 注册服务器,获取收件方 UA 的地址信息。而后,它将会话邀请信息直接转发给收件方 UA(若是它位于同一域中)或代理服务器(若是 UA 位于另外一域中)。
重定向服务器
SIP 重定向服务器容许 SIP 代理服务器将 SIP 会话邀请信息定向到外部域。SIP 重定向服务器能够与 SIP 注册服务器和 SIP 代理服务器同在一个硬件上。
如下几个情景说明 SIP 组件之间如何进行协调以在同一域和不一样域中的 UA 之间创建 SIP 会话:
在同一域中创建 SIP 会话编程语言
展望 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 等服务。实际上,服务提供商能够建立一个知足多个最终用户需求的灵活应用程序组合,而不是安装和支持依赖于终端设备有限特定功能或类型的单一分散的应用程序。
经过在单1、开放的标准 SIP 应用架构下合并基于 IP 的通讯服务,服务提供商能够大大下降为用户设计和部署基于 IP 的新的创新性托管服务的成本。它是 SIP 可扩展性促进本行业和市场发展的强大动力,是咱们全部人的但愿所在。分布式
4协议比较
H.323协议和SIP协议的比较ide
简介
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.一、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标准是itef组织在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系统的成本要廉价许多,并且也更具备可实现性。
总 结
经过对sip和h.323协议之间进行比较,咱们不难看出,h.323和sip之间不是对立的关系,而是在不一样应用环境中的相互补充。sip做为以internet应用为背景的通信标准,是将视频通信大众化,引入千家万户的一个有效并具备现实可行性的手段。而h.323系统和sip系统有机结合,又确保了用户能够在构造相对廉价灵活的sip视频系统的基础上,实现多方会议等多样化的功能,并可靠的实现sip系统与h.323系统之间的互通,在最大程度上知足用户对将来实时多媒体通讯的要求。