VOIP技术连载之五--SIP协议

SIP 协议简介
SIP Session Initiation Protocol ,会话发起协议)是一个用于建立,更改和终止多媒体会话的应用层控制协议,其中的会话可以是 IP 电话、多媒体分发及多媒体会议。它是 IETF 多媒体数据和控制体系结构的核心协议(最新 RFC 文档是 RFC3261 )。其主要目的是为了解决 IP 网中的信令控制,以及同软交换平台的通信,从而构成下一代的增值业务平台,对电信,银行,金融等行业提供更好的增值业务。
SIP 用于发起会话,它能控制多个参与者参加的多媒体会话的建立和终结,并能动态调整和修改会话属性,如会话带宽要求、传输的媒体类型(语音、视频和数据等)、媒体的编解码格式、对组播和单播的支持等。 SIP 协议基于文本编码,大量借鉴了成熟的 HTTP 协议,并且具有易扩展,易实现等特点,因此非常适合用来实现基于因特网的多媒体会议系统。
SIP 协议采用 Client/Server 模型,主要通过与 Proxy Server 之间的通信来完成用户呼叫的建立过程。
SIP 终端通过发送“邀请”消息给会话目的终端,消息中携带了自己的描述信息。目的终端可以根据“邀请”信息和自身的能力接受或拒绝请求。 SIP 可以通过称为“代理服务器”的实体来转发“邀请”消息。代理服务器可以完成确定目的终端的位置、查找路由的工作,根据会话终端的要求进行认证和授权,还能提供会话终端的呼叫路由策略。 SIP 通过“注册服务器”记录各终端的描述信息,包括地址信息,路由信息,号码信息等,各 SIP 终端可以通过发送“注册”消息给注册服务器,以登记或更新其描述信息。
另外, SIP 作为应用层协议,在传输层上可以使用 TCP ,也可以使用 UDP SIP 可以支持 IPv4 IPv6

  重要概念说明

1. 多媒体会话

多媒体会话( Multimedia Session ),根据 RFC2327 的定义,是指一组多媒体发送者和接受者以及从发送者到接受者的数据流。例如一个多媒体会议就是一个多媒体会话。一个会话由一组用户名称、会话 ID 、网络类型、地址类型以及各个单元的地址来确定。

2. 用户代理

用户代理( UA User Agent )也称 SIP 终端,是指支持 SIP 协议的多媒体会话终端。例如 SIP 电话、 SIP 网关、支持 SIP 的路由器等。

3. 用户代理客户机

用户代理客户机( UAC User Agent Client )是指在 SIP 会话建立过程中主动发送会话请求的设备。例如,主叫 SIP 终端。当代理服务器向被叫终端发送会话请求时,也是作为用户代理客户机。

4. 用户代理服务器

用户代理服务器( UAS User Agent Server )是指在 SIP 会话建立过程中接收会话请求的设备。例如,被叫 SIP 终端。当代理服务器接收主叫终端发送会话请求时,也是作为用户代理服务器。

5. 代理服务器

代理服务器( Proxy Server )是代理主叫 UA SIP 终端)向被叫 UA 发送会话请求,并代理被叫 UA 向主叫 UA 发送应答消息的设备。代理服务器在接收到主叫 UA 的会话请求后,首先要向注册服务器请求查找被叫的位置以及主、被叫的呼叫策略信息。只有找到被叫并且此呼叫是允许的,代理服务器才会向被叫发送会话请求。

6. 重定向服务器

重定向服务器( Redirect Server )是为主叫 UA 指明重新呼叫被叫 UA 的位置。当重定向服务器收到主叫 UA 发送的会话请求消息后,查找被叫 UA 的位置信息,并向主叫 UA 返回一个位置信息,使其重新向该位置发起会话请求。此位置可以直接是被叫 UA 的位置,也可以是一个代理服务器的位置。接下来主叫 UA 如同直接呼叫被叫 UA 或者向代理服务器呼叫的流程一样。

7. 位置服务器

位置服务器器( Location Server )是为代理服务器和重定向服务器等提供用户代理信息的设备。位置服务器记录了注册服务器接收到的用户代理的信息。位置服务器与注册服务器通常在同一个设备上。

8. 注册服务器

注册服务器( Registration Server )是记录 UA 的位置信息并向代理服务器提供查询 UA 的位置信息的设备。在简单的应用中,注册服务器和代理服务器通常也在同一个设备上。

  SIP的功能和特点

SIP 主要有五个基本功能:
l               确定用户位置:确定被叫 SIP 终端所在的位置。 SIP 的最强大之处就是用户定位功能。 SIP 本身含有向注册服务器注册的功能,也可以利用其他定位服务器如 DNS LDAP 等提供的定位服务器来增强其定位功能。
l               确定用户可用性:确定被叫会话终端是否可以参加此会话。 SIP 支持多种地址描述和寻址,包括:用户名 @ 主机地址、被叫号码 @PSTN 网关地址和普通电话号码(如 Tel 01012345678 )的描述等。这样, SIP 主叫按照被叫地址,就可以识别出被叫是否在传统电话网上,然后通过一个与传统电话网相连的网关向被叫发起并建立呼叫。
l               确定用户能力:确定被叫终端可用于参加会话的媒体类型及媒体参数。 SIP 终端在消息交互过程中携带自身的媒体类型和媒体参数,这使得会话都可以明确对方的会话能力。
l               建立会话:建立主被叫双方的会话参数。 SIP 会话双方通过协商媒体类型和媒体参数,最终选择双方都具有的能力建立起会话。
l               管理会话:可以更改会话参数或中止会话。
SIP 的特点如下:
l               标准的开放性。可以将不同运营商引进的各种新的功能、产品和服务整合在一起,用户可以自由地选择。
l               配置的灵活性。兼容多种拨号方式、有线和无线的设备,可以进行高度灵活的配置,并且能够和其它系统协同工作。
l               系统可扩容性。随着企业规模的扩大,系统也可以随之扩充。
l               支持远端用户。无论用户身在何方,都可以将企业的网络延伸到那里。
l               为企业带来更多竞争优势的潜力。基于 SIP 的新的业务与服务陆续出台。
l                 企业各部分通讯方式的一致性。分支机构、家庭办公室和出差人员使用同样的拨号方式和系统访问方式,便于管理。
l               迅速启动。当建立新的分支机构、吸纳新的员工,或重新安排员工工作或改变其工作地点时,系统相应变更非常迅速。
l               易安装、可维护。非专业人士也可以安装或维护 SIP 系统配置。

  SIP工作原理

1. 登记注册

在完整的 SIP 系统中,所有的 SIP 终端作为 User Agent 都应该向注册服务器( SIP Registration Server )登记注册,以告知其位置信息、会话能力信息、呼叫策略等等。
通常, SIP 终端开机启动时或者配置管理员执行注册操作时,就向注册服务器发送注册请求消息( REGISTER ),该消息中携带了所有需要登记的信息。注册服务器收到注册请求消息后向终端发送回应消息,以告知其请求消息已收到。如果注册成功,就再向终端发送“成功”消息。如下图所示。
6-1 User Agent SIP Location Server 注册的消息交互

2. 建立呼叫

SIP 协议采用 Client/Server 模型,主要通过 UA Proxy Server 之间的通信来完成用户呼叫的建立过程。
6-2 UA 通过 PROXY 连接
例如,如上图所示,电话 1 需要呼叫电话 2 ,两个路由器作为 SIP 终端( UA )。当电话 1 拨完电话 2 的号码后,路由器 1 SIP Server 发送会话请求消息。 SIP Server 通过查找电话 2 的号码所对应的信息,向路由器 2 发送会话请求消息。路由器 2 收到请求后,如果电话 2 可用,就向 SIP Server 发送应答,并使电话 2 振铃。 SIP Server 收到应答后,向路由器 1 发送应答消息。这里所说的应答包括两个消息,一个临时应答和一个“成功”应答。整个过程中的消息交互如下图所示。
6-3 UA 通过 Proxy Server 的呼叫流程图
这个例子是一种简单的应用,只使用了一个代理服务器,并且没有使用注册服务器。在复杂的应用中,可以有多个代理服务器,以及注册服务器。

3. 重定向呼叫

SIP 重定向服务器收到会话请求消息后,不是转发会话请求消息,而是在回应消息中告知被叫 SIP 终端的地址。主叫终端从而重新直接向被叫终端发送会话请求消息。被叫终端也将直接向主叫发送应答消息。呼叫过程的消息交互如下图所示。
6-4 UA 重定向呼叫流程图
这是比较常见的一种应用。从原理上来说,重定向服务器也可以向主叫终端回复一个代理服务器的地址,接下来的呼叫过程就和使用代理服务器的呼叫过程一样。
 

你可能感兴趣的:(网络,职场,休闲)