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 确定了具体的事件通知。
使用 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(The Session Initiation Protocol 会话启动协议),一解燃眉之急。SIP 是不到十年前在
计算机科学实验室
诞生的一个想法。它是第一个适合各种媒体内容而实现多
用户会话
的协议,如今已成了 Internet 工程任务组 (
IETF
) 的规范。
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,只需数月时间即可实现高级通信服务的部署。
这种
可扩展性
已经在越来越多基于 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 代理服务器将 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 连接,实现用户间的交互通信。
2.查询B 在哪里
3.响应B 的 SIP 地址
4.呼叫
5.响应
6.响应
7. 多媒体通道已建立
在不同的域中建立 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 再沿邀请信息经由的同一路径转发接受邀请的信息。
2. 询问B 中的用户
3. 响应
4. 呼叫域 B 的 SIP 代理
5. 查询B 在哪里
6. 用户 B 的地址
7. 代理呼叫
8. 响应
9. 响应
10.响应
11.多媒体通道已建立
无缝、灵活、可扩展:展望 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企图把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协议借鉴了其它因特网的标准和协议的设计思想,在风格上遵循因特网一贯坚持的简练、开放、兼容和可扩展等原则,比较简单。
以下针对它们的应用目标、标准结构、
系统组成
以及系统实现的难易程度等几个方面进行简单分析。
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应用环境的视频通讯环境。这样
网络运营商
就可以在尽量少的
成本基础
上,利用现有的
网络资源
开展视音频通讯业务的扩展工作。
SIP
标准体系结构
h.323是一个单一标准,而不是一个关于在ip环境中
实时多媒体
应用的完整标准族,对于呼叫的建立、管理以及所传输
媒体格式
等各个方面都有完善而严格的规定。一个遵守h.323标准建立的
多媒体系统
,可以保证实现客户稳定完善的
多媒体通讯
应用。
sip标准严格意义上讲是一个实现实时多媒体应用的信令标准,由于它采用了基于文本的
编码方式
,使得它在应用上,特别是点到点的应用环境中,具有极大的灵活性、扩充性以及
跨平台
使用的
兼容性
,这一点使得运营商可以十分方便的利用现有的网络环境实现大规模的推广应用。
但是sip协议自身不支持多点的会议功能以及管理和控制功能,而是要依赖于别的协议实现,影响了系统的
完备性
,特别是对于需要多点通讯的要求,应用单纯的sip系统难以实现。针对这些不足,以radvison公司为首的itu-t sg16小组提出了sip的运用规范,并实现了sip和h.323之间的互通互联,并成功的解决了sip在多点环境下的应用难题。