SIP
会话发起协议
SIP(Session initialization Protocol,会话初始协议)是由IETF(Internet Engineering Task Force,因特网工程任务组)制定的多媒体通信协议
基本简介
SIP(Session Initiation Protocol)是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。这些会话可以是Internet多媒体会议、IP电话或多媒体分发。会话的参与者可以通过组播(multicast)、网状单播unicast)或两者的混合体进行通信。
SIP与负责语音质量的资源预留协议(RSVP)互操作。它还与若干个其他协议进行协作,包括负责定位的轻型目录访问协议(LDAP)、负责身份验证的远程身份验证拨入用户服务 (RADIUS) 以及负责实时传输的 RTP 等多个协议。
随着计算机科学技术的进步,基于分组交换技术IP数据网络以其便捷性和廉价性,取代了基于电路交换的传统电话网在通信领域的核心地位。SIP协议作为应用层信令控制协议,为多种即时通信业务提供完整的会话创建和会话更改服务,由此,SIP协议的安全性对于即时通信的安全起着至关重要的作用。
通信要求
1. 用户定位服务
2. 会话建立
3. 会话参与方管理
4. 特点的有限确定
压缩机制
SIP 压缩机制主要是通过改变 SIP 消息的长度来降低时延。典型的 SIP 消息的大小由几百到几千字节,为了适合在窄带无线信道上传输,IMS对SIP进行了扩展,支持SIP消息的压缩。当无线信道一定时, 一条SIP消息所含帧数 k仅取决于消息大小。从时延模型可以看出,不仅影响 SIP 消息传输时延, 还影响SIP重传的概率, 对自适应的定时器来说,k还成了影响定时器初值的关键因素。
会话构成
SIP 会话使用多达四个主要组件:SIP 用户代理、SIP 注册服务器、SIP 代理服务器和 SIP 重定向服务器。这些系统通过传输包括了 SDP 协议(用于定义消息的内容和特点)的消息来完成 SIP 会话。下面概括性地介绍各个 SIP 组件及其在此过程中的作用。
用户代理
SIP 用户代理(User Agent,UA) 是终端用户设备,如用于创建和管理 SIP 会话的移动电话、多媒体手持设备、PC、PDA 等。用户代理客户机发出消息。用户代理服务器对消息进行响应。
注册服务器
SIP 注册服务器是包含域中所有用户代理的位置的数据库。在 SIP 通信中,这些服务器会检索出对方的 IP 地址和其他相关信息,并将其发送到 SIP 代理服务器。
代理服务器
SIP 代理服务器接受 SIP UA 的会话请求并查询 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 连接,实现用户间的交互通信。
1.呼叫用户 B
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 再沿邀请信息经由的同一路径转发接受邀请的信息。
1. 呼叫用户 B
2. 查询B在哪里
3. 响应
4. 呼叫域 B 的 SIP 代理
5. 查询B 在哪里
6. 响应B 的SIP地址
7. 代理呼叫
8. 响应
9. 响应
10.响应
11.多媒体通道已建立
无缝、灵活、可扩展:展望 SIP 未来
SIP 能够连接使用任何 IP 网络(有线 LANWAN、公共 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请求消息如下:
SIP协议中的响应消息用于对请求消息进行响应,指示呼叫的成功或失败状态。
常用的一些响应消息:
协议比较
H.323协议和SIP协议的比较
H.323和SIP分别是通信领域与因特网两大阵营推出的协议。H.323企图把IP电话当作是众所周知的传统电话,只是传输方式发生了改变,由电路交换变成了分组交换。而SIP协议侧重于将IP电话作为因特网上的一个应用,较其它应用(如FTPE-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系统的成本要廉价许多,而且也更具有可实现性
最新修订时间:2024-12-23 14:32
目录
概述
基本简介
参考资料