一、SIP涉及基本实体
Ø UA(User Agent,用户代理)也称SIP 终端,UA 包括用UAC(User Agent Client,用户代理客户端)和UAS(User Agent Server,用户代理服务器)。
Ø Proxy Server(代理服务器)的作用就是传递主叫UA 发送的会话请求到被叫UA,然后将被叫UA的响应传递回主叫UA,它相当于主叫UA 和被叫UA 之间传递会话消息的一座桥梁。
Ø Redirect Server(重定向服务器)用来指示客户端连接的新地址。
Ø Location Server(位置服务器)是为代理服务器和重定向服务器等提供UA 信息的设备。
Ø Registrar Server(注册服务器)接受用户注册,注册的内容(如本地号码等信息)一般是存储在位置服务器上,供后续查询使用。二者(LS&RS)都是逻辑组件,一般存在于同一台服务器上。
二、SIP涉及基本概念介绍
1.多媒体会话----根据RFC 2327 的定义,多媒体会话(Multimedia Session)是指一组多媒体发送者和接受者,以及从发送者到接受者的数据流。例如一个多媒体会议就是一个多媒体会话。一个会话由一组用户名称、会话ID、网络类型、地址类型以及各个单元的地址来确定。
2.用户代理----UA(UserAgent,用户代理)也称SIP终端,是指支持SIP协议的多媒体会话终端。一般使用支持SIP 协议的路由器作为SIP UA。UA 包括用UAC(User Agent Client,用户代理客户端)和UAS(User Agent Server,用户代理服务器)。一般说的UA 均是指二者的总称,因为在一次呼叫中,一个SIP 终端既要处理SIP 请求,又要发起SIP 请求。用户代理客户端是指在SIP 会话建立过程中主动发送会话请求的设备。例如,主叫SIP 终端。当代理服务器向被叫终端发送会话请求时,它就成为用户代理客户端。用户代理服务器是指在SIP 会话建立过程中接收会话请求的设备。例如,被叫SIP 终端。当代理服务器接收主叫终端发送会话请求时,也作为用户代理服务器。
3.代理服务器----代理服务器(Proxy Server)的作用就是传递主叫UA发送的会话请求到被叫UA,然后将被叫UA的响应传递回主叫UA,它相当于主叫UA 和被叫UA之间传递会话消息的一座桥梁。代理服务器在接收到主叫UA 的会话请求后,首先要向位置服务器请求查找被叫UA 的位置以及主、被叫UA 的呼叫策略信息。只有找到被叫UA 并且此呼叫是允许的,代理服务器才会向被叫UA 发送会话请求。
4.重定向服务器----重定向服务器(Redirect Server)用来指示客户端连接的新地址。比如,主叫UA 呼叫被叫UA,当重定向服务器收到主叫UA 发送的会话请求消息后,查找被叫UA 的位置信息,然后将其返回给主叫UA,使主叫UA 重新向该位置发起会话请求。此位置可以是被叫UA 的位置,也可以是一个代理服务器的位置。接下来主叫UA 如同直接呼叫被叫UA 或者向代理服务器呼叫的流程一样。
5.位置服务器----位置服务器(Location Server)是为代理服务器和重定向服务器等提供UA 信息的设备。它记录了注册服务器接收到的UA 的信息。二者可以独立存在,也可以作为逻辑组件存在于同一台服务器上。
6.注册服务器----注册服务器(Registrar Server)接受用户注册,注册的内容(如本地号码等信息)一般是存储在位置服务器上,供后续查询使用。二者(LS&RS)都是逻辑组件,一般存在于同一台服务器上。
三、SIP主要有五个基本功能:
•确定用户位置:确定被叫SIP用户所在的位置。SIP的最强大之处就是用户定位功能,它可以利用SIP 终端在注册服务器上的注册信息实现用户定位,也可以利用其他定位服务器,如DNS、LDAP 等提供的定位服务来增强其定位功能。
•确定用户可用性:确定被叫会话终端是否可以参加此会话。SIP 支持多种地址描述和寻址方式,包括SIP-URI(比如sip:123456@172.18.24.11)、Tel-URL(比如tel:+1312000)和SIPS-URI(sips:123456@172.18.24.11)。这样,SIP主叫根据被叫地址,就可以识别出被叫是否在传统电话网上,然后通过一个与传统电话网相连的网关向被叫发起并建立呼叫。
•确定用户能力:确定被叫终端可用于参加会话的媒体类型及媒体参数。SIP 终端在消息交互过程中携带自身的媒体类型和媒体参数,这使得会话双方都可以明确对方的会话能力。
•建立会话:建立主被叫双方的会话。SIP 会话双方通过协商媒体类型和媒体参数,最终选择双方都具有的能力建立起会话。
•管理会话:可以更改会话参数或中止会话。
四、SIP特点
•SIP协议借鉴了其他因特网标准和协议的设计思想,风格上遵循因特网的简练、开放、兼容和可扩展,而且充分注意到因特网开放而复杂的网络环境下的安全问题;
•SIP消息是基于文本的,因而易于读取和调试。新服务的编程更加简单,对于设计人员而言更加直观。
•SIP协议充分考虑了对传统公共电话网的各种业务,包括IN业务(Internet)和ISDN业务的支持;
• SIP协议通过代理和重定向请求用户当前位置,以支持用户的移动性;
•SIP 独立于传输层。可以承载在不同的传输协议上(UDP、TCP、SCTP、TLS),很灵活方便地扩展其他附加功能;
•SIP 独立于业务,不限制具体业务范畴,而只定义应该如何管理会话(建立/更改/终止)。有了这种灵活性,也就意味着SIP可以用于众多应用和服务中,包括交互式游戏/音乐/视频点播/语音/Web 会议等。
•重用几个现有的比较成熟的Internet 服务和协议,如DNS、RTP、RSVP 等。不必再引入新服务对SIP 基础设施提供支持,因为该基础设施很多部分已经到位或现成可用。