SIP协议核心概念

SIP协议全称是 SIP: Session Initiation Protocol-基于的会话初始化协议。在当前的互联网语音技术中最核心的协议,包括IMS core仍然基于SIP协议做会话管理。

很多基于网络的应用软件都要求可以实现会话创建和管理,这里的会话可以看着是关联多个参与方交换数据的方式。实际部署这些应用软件是非常复杂的过程:用户可能在几个终端

之间移动切换,用户也可能使用多个名字,用户也可能使用不同的媒体,有时还同时使用不同的媒体介质。目前,有很多不同的协议被准许在网络上运行,这些协议来传输各种形式

的实时媒体会话数据,例如语音视频,文本信息。 Session Initiation Protocol (SIP) 支持以上所说的这些功能描述和相关的协议,它可以支持开启网络的终端(called user agents)来发现其他的终端,准许其他终端的某些会话属性,终端之间可以共享这些会话属性。

为了查询到期望的会话参与对象,和其他的功能,SIP支持了网络主机设施创建(称为代理服务器),用户代理可以对会话发送注册,邀请和其他的请求。SIP是一个敏捷,通用的工

具,它用来创建,修改和结束会话,它可以不依赖于正在工作的传输协议,并且无需依赖于各种已建立的会话类型。

SIP功能概述

SIP 一种应用层的控制协议,它可以创建,修改和结束多媒体会话(会议),例如网络电话呼叫。SIP也可以邀请参与对象加入到已存在的会话,例如多方广播会议。它可以从当前存

在的会话中再加入媒体也可以移除媒体。SIP可以透明支持名称映射,服务重新转发服务,这些服务功能支持个人移动能力-无论网络位置如何,用户可以在网络中保持一个对外单点

可视的身份。

SIP支持创建和结束媒体通信的五个方面的功能:

  • 用户定位: 端系统的决定来支持通信;
  • 用户有效性: 决定被呼叫方是否有意愿决定加入通信;
  • 用户能力: 决定用户可使用的媒体和其媒体参数;
  • 会话创建: “ringing”,在呼叫方和被呼叫方之间创建会话参数;
  • 会话管理: 包括转发,结束会话,修改会话参数和调用服务。

SIP 不是一个单一,垂直集成度通信系统。SIP而是一个模块,它可以用来和其他的IETF协议集成来构建一个完整的媒体架构。典型的架构如,和实时传输协议(RTP)配合,实现实

时数据传输,提供QoS反馈,使用实时媒体协议(RTSP)来控制媒体流和媒体的发送控制,媒体网关控制协议(MEGACO)(RFC 3015 [30]) 来控制网关对PSTN网络的支持,和会话描述协议 (SDP) (RFC 2327 [1])来描述媒体会话。因此,SIP应该结合其他的协议一起使用对用户提供完整的服务。但是,基本的SIP功能和操作不会依赖于其他任何协议。

SIP 本身不提供服务。但是,SIP提供基本的操作,这些操作可以支持部署不同的服务。例如,SIP可以定位一个用户,并且对当前定位发送一个不透明的对象。如果此基本操作用来支持发送一个写入SDP的会话描述,终端可以同意会话中的参数。如果同样的操作用来传递一张呼叫方的图片和此会话描述,那么就可以在早期部署一个“caller ID”服务。就像这个例子所展示的,一个单个基本操作往往被用来提供不同的服务。

SIP 不提供会议控制服务例如发言权控制和发言,它不能对会议发出命令控制如何管理会议。SIP可以用来发起一个会话,这个会话可以用来支持一些会议控制协议。因为,SIP创建的消息和会话可以传递到完全不同的网络中,SIP不能也不会提供任何网络资源预设的支持能力。

SIP所提供的服务的本质使得安全性特别重要。对于对端来说,SIP提供了一个安全服务单元,这些服务单元包括拒绝攻击防止服务,认证(包括用户对用户,代理对用户),集成保护,加密和私有服务。SIP 可以支持IPv4和IPv6两种网络环境。