SIP协议全方位概要介绍
作者:佚名 来源:本站整理 发布时间:2012-01-18-23:25:37
摘要:SIP协议是NGN中的重要协议,越来越得到业界的器重。本文通过SIP协议的背景、功效、网络元素、实现机制、以及SIP消息的组成等几个方面对SIP协议做了全方位的概要性介绍,以使读者对SIP有初步的概念和认识。
一、SIP协议的背景和功效
SIP( 会话初始协议)的开发目标是用来援助供给跨越因特网的高级电话业务。因特网电话(IP电话)正在向一种正式的商业电话模式演进,SIP就是用来确保这种演进实现而需要的NGN(下一代网络)系列协议中重要的一员。
SIP是IETF标准过程的一部分,它是在诸如SMTP(简略邮件传送协议)和HTTP(超文本传送协议)基础之上建立起来的。它用来建立,转变和终止基于IP网络的用户间的呼叫。为了供给电话业务它还需要联合不同的标准和协议:特别是需要确保传输(RTP),与当前电话网络的信令互连,能够确保语音质量(RSVP),能够供给目录(LDAP),能够鉴权用户(RADIUS)等等。
SIP被描写为用来生成,修正和终结一个或多个参与者之间的会话。这些会话包含因特网多媒懂得议,因特网(或任何IP网络)电话呼叫和多媒体发布。会话中的成员能够通过多播或单播接洽的网络来通信。SIP支撑会话描写,它容许参与者在一组兼容媒体类型上达成一致。它同时通过代理和重定向恳求到用户当前地位来支撑用户移动性。SIP不与任何特定的会议把持协议捆绑。
本质上,SIP供给以下功效:
名字翻译和用户定位:无论被呼叫方在哪里都确保呼叫达到被叫方。履行任何描写信息到定位信息的映射。确保呼叫(会话)的本质细节被支撑。
特点协商:它容许与呼叫有关的组(这可以是多方呼叫)在支撑的特点上达成一致(注意:不是所有方都能够支撑雷同级别的特点)。例如视频可以或不可以被支撑。总之,存在很多需要协商的领域。
呼叫参与者管理:呼叫中参与者能够引入其它用户参加呼叫或取消到其它用户的连接。此外,用户可以被转移或置为呼叫保持。
呼叫特点转变:用户应当能够转变呼叫过程中的呼叫特点。例如,一呼叫可以被设置为“voice-only”,但是在呼叫过程中,用户可以需要开启视频功效。也就是说一个参加呼叫的第三方为了参加该呼叫可以开启不同的特点。
二、SIP网络元素
SIP中有两个要素。SIP用户代理和SIP网络服务器。用户代理是呼叫的终端系统元素,而SIP服务器是处理与多个呼叫相干联信令的网络设备。
用户代理本身具有一客户机元素(用户代理客户机UAC)和一服务器元素(用户**********UAS)。客户机元素初始呼叫而服务器元素应答呼叫。这容许点到点的呼叫通过客户机-服务器协议来完成。
SIP服务器元素供给多种类型的服务器。有三种服务器情势存在于网络中--SIP有状态**********,SIP无状态**********和SIP重定向服务器。由于呼叫者未必知道被呼叫方的IP地址或主机名,SIP服务器的重要功效是供给名字解析和用户定位。可以获得的是email情势的地址或与被呼叫方关联的电话号码。利用该信息,呼叫者的用户代理能够断定特定服务器来解析地址信息--这可能涉及网络中很多服务器。
SIP**********吸收恳求,决定将这些恳求传送到何处,并且将它们传送到下一服务器(利用下一跳路由原理)。在网络中可以有多跳。
有状态和无状态**********的差别是有状态**********记住它吸收的入恳求,以及回送的响应和它转送的出恳求。无状态**********一旦转送恳求后就忘记所有的信息。这容许有状态**********生成恳求以并行地尝试多个可能的用户地位并且送回最好的响应。无状态**********可能是最快的,并且是SIP结构的骨干。有状态**********可能是离用户代理最近的本地设备,它把持用户域并且是利用服务的重要平台。
重定向服务器吸收恳求,但不是将这些恳求传递给下一服务器而是向呼叫者发送响应以教唆被呼叫用户的地址。这使得呼叫者可以直接接洽在下一服务器上被呼叫方的地址。
三、SIP协议的实现机制
SIP是一个分层结构的协议,这意味着它的举动根据一组平等独立的处理阶段来描写,每一阶段之间只是松耦合。协议分层描写是为了表达,从而容许功效的描写可在一个部分跨越几个元素。它不指定任何方法的实现。当我们说某元素包含某层,我们是指它屈服该层定义的规矩集。
不是协议规定的每个元素都包含各层。而且,由SIP规定的元素是逻辑元素,不是物理元素。一个物理实现可以选择作为不同的逻辑元素,甚至可能在一个个事务的基础上。
SIP的最底层是语法和编码。它的编码利用加强Backus-Nayr情势语法(BNF)来规定。
第二层是传输层。它定义了网络上一个客户机如何发送恳求和吸收响应以及一个服务器如何吸收恳求和发送响应。所有的SIP元素包含传输层。
第三层是事务层。事务是SIP的基础元素。一个事务是由客户机事务发送给服务器事务的恳求(利用传输层),以及对应当恳求的从服务器事务发送回客户机的所有响应组成。事务层处理利用层重传,匹配响应到恳求,以及利用层超时。任何用户代理客户机(UAC)完成的任务利用一组事务产生。用户代理包含一个事务层,有状态的代理也有。无状态的代理不包含事务层。事务层具有客户机组成部分(称为客户机事务)和服务器组成部分(称为服务器事务),每个代表有限的状态机,它被结构来处理特定的恳求。
事务层之上的层称为事务用户(TU)。每个SIP实体,除了无状态代理,都是事务用户。当一个TU渴望发送恳求,它生成一个客户机事务实例并且向它传递恳求和IP地址,端口,和用来发送恳求的传输机制。一个TU生成客户机事务也能够删除它。当客户机取消一个事务时,它恳求服务器结束进一步的处理,将状态恢复到事务初始化之前,并且生成特定的弊病响应到该事务。这由CANCEL恳求完成,它构成自己的事务,但涉及要取消的事务。
SIP通过EMAIL情势的地址来标明用户地址。每一用户通过一等级化的URL来标识,它通过诸如用户电话号码或主机名等元素来结构(例如:SIP:usercompany.com)。因为它与EMAIL地址的类似性,SIP URLs容易于用户的EMAIL地址关联。
SIP供给它自己的可靠性机制从而独立于分组层,并且只需不可靠的数据包服务即可。SIP可范例地用于UDP或TCP之上。
SIP供给必要的协议机制以保证终端系统和**********供给以下业务:
● 用户定位
● 用户能力
● 用户可用性
● 呼叫建立
● 呼叫处理
● 呼叫前转,包含:(1)等效800类型的呼叫,(2)无应答呼叫前转,(3)遇忙呼叫前转,(4)无条件呼叫前转
● 呼叫号码传递,该号码可以是任何命名机制。
● 个人移动性,例如通过一个单一的、地位无关的地址来达到被呼叫方,即使被呼叫方转变了终端。
● 终端类型的协商和选择:呼叫者可以给出选择如何达到对方,例如通过因特网电话,移动电话或应答业务等。
● 终端能力协商
● 呼叫者和被呼叫者鉴权
● 不知情和领导式的呼叫转移
● 多播会议的邀请
当一用户渴望呼叫另一用户,呼叫者用INVITE恳求初始呼叫,恳求包含足够的信息用以被呼叫方参与会话。如果客户机知道另一方的地位它能够直接将恳求发送到另一方的IP地址。如果不知道,客户机将恳求发送到本地配置的SIP网络服务器。如果服务器是**********它将解析被呼叫用户的地位并且将恳求发送给它们。有很多方法完成上步,例如搜索DNS或访问数据库。服务器也可以是重定向服务器,它可以返回被呼叫用户的地位到呼叫客户机用以它直接与用户接洽。在定位用户的过程中,SIP网络服务器当然能够代理或重定向呼叫到其它的服务器,直到达到一个明确地知道被呼叫用户IP地址的服务器。
一旦创造用户地址,恳求就发送给该用户,此时将产生几种选择。在最简略的情况,用户电话客户机吸收恳求——也就是,用户的电话振铃。如果用户吸收呼叫,客户机用客户机软件的指定能力响应恳求并且建立连接。如果用户拒绝呼叫,会话将被重定向到语音邮箱服务器或另一用户。“指定能力”参照用户想启用的功效。例如,客户机软件可以支撑视频会议,但用户只想利用音频会议,那则只会启用音频功效。
SIP还具有另外两个有重要意义的特点。第一个是有状态SIP**********具有分割入呼叫或复制入呼叫的能力,从而可以同时运行几个扩大分支。第一个应答的分支吸收呼叫。该特点在用户工作在两地位之间(例如实验室和办公室)或者同时对经理和其秘书振铃时是非常方便的。
第二个特点是SIP奇特的返回不同媒体类型的能力。举个用户接洽公司的例子。当SIP服务器吸收到客户机的连接恳求,它能够通过WEB交互式语音响应页面来返回到顾客的客户机,该页面具有可获得的部门分支或供给在列表上的用户。点击适当的链接后将发送一恳求到所点击选择的用户从而建立起呼叫。
四、SIP消息的组成
有两种类型的SIP消息:
● 恳求:从客户机发到服务器
● 响应:从服务器发到客户机
SIP恳求消息包含三个元素:恳求行、头、消息体。
SIP响应消息包含三个元素:状态行、头、消息体。
恳求行和头域根据业务、地址和协议特点定义了呼叫的本质,消息体独立于SIP协议并且可包含任何内容。
SIP定义了下述方法:
INVITE——邀请用户参加呼叫。
BYE——终止一呼叫上的两个用户之间的呼叫。
OPTIONS——恳求关于服务器能力的信息。
ACK——确认客户机已经吸收到对INVITE的最终响应。
REGISTER——供给地址解析的映射,让服务器知道其它用户的地位。
INFO——用于会话中信令。
五、结束语
SIP协议凭借其简略、易于扩大、便于实现等诸多优点越来越得到业界的青睐,它正逐步成为NGN(下一代网络)和3G多媒体子系统域中的重要协议,并且市场上涌现越来越多的支撑SIP的客户端软件和智能多媒体终端,以及用SIP协议实现的服务器和软交换设备。虽然SIP协议目前还不成熟,但可以预感SIP必定是将来网络多媒体通信中的明星。
一、SIP协议的背景和功效
SIP( 会话初始协议)的开发目标是用来援助供给跨越因特网的高级电话业务。因特网电话(IP电话)正在向一种正式的商业电话模式演进,SIP就是用来确保这种演进实现而需要的NGN(下一代网络)系列协议中重要的一员。
SIP是IETF标准过程的一部分,它是在诸如SMTP(简略邮件传送协议)和HTTP(超文本传送协议)基础之上建立起来的。它用来建立,转变和终止基于IP网络的用户间的呼叫。为了供给电话业务它还需要联合不同的标准和协议:特别是需要确保传输(RTP),与当前电话网络的信令互连,能够确保语音质量(RSVP),能够供给目录(LDAP),能够鉴权用户(RADIUS)等等。
SIP被描写为用来生成,修正和终结一个或多个参与者之间的会话。这些会话包含因特网多媒懂得议,因特网(或任何IP网络)电话呼叫和多媒体发布。会话中的成员能够通过多播或单播接洽的网络来通信。SIP支撑会话描写,它容许参与者在一组兼容媒体类型上达成一致。它同时通过代理和重定向恳求到用户当前地位来支撑用户移动性。SIP不与任何特定的会议把持协议捆绑。
本质上,SIP供给以下功效:
名字翻译和用户定位:无论被呼叫方在哪里都确保呼叫达到被叫方。履行任何描写信息到定位信息的映射。确保呼叫(会话)的本质细节被支撑。
特点协商:它容许与呼叫有关的组(这可以是多方呼叫)在支撑的特点上达成一致(注意:不是所有方都能够支撑雷同级别的特点)。例如视频可以或不可以被支撑。总之,存在很多需要协商的领域。
呼叫参与者管理:呼叫中参与者能够引入其它用户参加呼叫或取消到其它用户的连接。此外,用户可以被转移或置为呼叫保持。
呼叫特点转变:用户应当能够转变呼叫过程中的呼叫特点。例如,一呼叫可以被设置为“voice-only”,但是在呼叫过程中,用户可以需要开启视频功效。也就是说一个参加呼叫的第三方为了参加该呼叫可以开启不同的特点。
二、SIP网络元素
SIP中有两个要素。SIP用户代理和SIP网络服务器。用户代理是呼叫的终端系统元素,而SIP服务器是处理与多个呼叫相干联信令的网络设备。
用户代理本身具有一客户机元素(用户代理客户机UAC)和一服务器元素(用户**********UAS)。客户机元素初始呼叫而服务器元素应答呼叫。这容许点到点的呼叫通过客户机-服务器协议来完成。
SIP服务器元素供给多种类型的服务器。有三种服务器情势存在于网络中--SIP有状态**********,SIP无状态**********和SIP重定向服务器。由于呼叫者未必知道被呼叫方的IP地址或主机名,SIP服务器的重要功效是供给名字解析和用户定位。可以获得的是email情势的地址或与被呼叫方关联的电话号码。利用该信息,呼叫者的用户代理能够断定特定服务器来解析地址信息--这可能涉及网络中很多服务器。
SIP**********吸收恳求,决定将这些恳求传送到何处,并且将它们传送到下一服务器(利用下一跳路由原理)。在网络中可以有多跳。
有状态和无状态**********的差别是有状态**********记住它吸收的入恳求,以及回送的响应和它转送的出恳求。无状态**********一旦转送恳求后就忘记所有的信息。这容许有状态**********生成恳求以并行地尝试多个可能的用户地位并且送回最好的响应。无状态**********可能是最快的,并且是SIP结构的骨干。有状态**********可能是离用户代理最近的本地设备,它把持用户域并且是利用服务的重要平台。
重定向服务器吸收恳求,但不是将这些恳求传递给下一服务器而是向呼叫者发送响应以教唆被呼叫用户的地址。这使得呼叫者可以直接接洽在下一服务器上被呼叫方的地址。
三、SIP协议的实现机制
SIP是一个分层结构的协议,这意味着它的举动根据一组平等独立的处理阶段来描写,每一阶段之间只是松耦合。协议分层描写是为了表达,从而容许功效的描写可在一个部分跨越几个元素。它不指定任何方法的实现。当我们说某元素包含某层,我们是指它屈服该层定义的规矩集。
不是协议规定的每个元素都包含各层。而且,由SIP规定的元素是逻辑元素,不是物理元素。一个物理实现可以选择作为不同的逻辑元素,甚至可能在一个个事务的基础上。
SIP的最底层是语法和编码。它的编码利用加强Backus-Nayr情势语法(BNF)来规定。
第二层是传输层。它定义了网络上一个客户机如何发送恳求和吸收响应以及一个服务器如何吸收恳求和发送响应。所有的SIP元素包含传输层。
第三层是事务层。事务是SIP的基础元素。一个事务是由客户机事务发送给服务器事务的恳求(利用传输层),以及对应当恳求的从服务器事务发送回客户机的所有响应组成。事务层处理利用层重传,匹配响应到恳求,以及利用层超时。任何用户代理客户机(UAC)完成的任务利用一组事务产生。用户代理包含一个事务层,有状态的代理也有。无状态的代理不包含事务层。事务层具有客户机组成部分(称为客户机事务)和服务器组成部分(称为服务器事务),每个代表有限的状态机,它被结构来处理特定的恳求。
事务层之上的层称为事务用户(TU)。每个SIP实体,除了无状态代理,都是事务用户。当一个TU渴望发送恳求,它生成一个客户机事务实例并且向它传递恳求和IP地址,端口,和用来发送恳求的传输机制。一个TU生成客户机事务也能够删除它。当客户机取消一个事务时,它恳求服务器结束进一步的处理,将状态恢复到事务初始化之前,并且生成特定的弊病响应到该事务。这由CANCEL恳求完成,它构成自己的事务,但涉及要取消的事务。
SIP通过EMAIL情势的地址来标明用户地址。每一用户通过一等级化的URL来标识,它通过诸如用户电话号码或主机名等元素来结构(例如:SIP:usercompany.com)。因为它与EMAIL地址的类似性,SIP URLs容易于用户的EMAIL地址关联。
SIP供给它自己的可靠性机制从而独立于分组层,并且只需不可靠的数据包服务即可。SIP可范例地用于UDP或TCP之上。
SIP供给必要的协议机制以保证终端系统和**********供给以下业务:
● 用户定位
● 用户能力
● 用户可用性
● 呼叫建立
● 呼叫处理
● 呼叫前转,包含:(1)等效800类型的呼叫,(2)无应答呼叫前转,(3)遇忙呼叫前转,(4)无条件呼叫前转
● 呼叫号码传递,该号码可以是任何命名机制。
● 个人移动性,例如通过一个单一的、地位无关的地址来达到被呼叫方,即使被呼叫方转变了终端。
● 终端类型的协商和选择:呼叫者可以给出选择如何达到对方,例如通过因特网电话,移动电话或应答业务等。
● 终端能力协商
● 呼叫者和被呼叫者鉴权
● 不知情和领导式的呼叫转移
● 多播会议的邀请
当一用户渴望呼叫另一用户,呼叫者用INVITE恳求初始呼叫,恳求包含足够的信息用以被呼叫方参与会话。如果客户机知道另一方的地位它能够直接将恳求发送到另一方的IP地址。如果不知道,客户机将恳求发送到本地配置的SIP网络服务器。如果服务器是**********它将解析被呼叫用户的地位并且将恳求发送给它们。有很多方法完成上步,例如搜索DNS或访问数据库。服务器也可以是重定向服务器,它可以返回被呼叫用户的地位到呼叫客户机用以它直接与用户接洽。在定位用户的过程中,SIP网络服务器当然能够代理或重定向呼叫到其它的服务器,直到达到一个明确地知道被呼叫用户IP地址的服务器。
一旦创造用户地址,恳求就发送给该用户,此时将产生几种选择。在最简略的情况,用户电话客户机吸收恳求——也就是,用户的电话振铃。如果用户吸收呼叫,客户机用客户机软件的指定能力响应恳求并且建立连接。如果用户拒绝呼叫,会话将被重定向到语音邮箱服务器或另一用户。“指定能力”参照用户想启用的功效。例如,客户机软件可以支撑视频会议,但用户只想利用音频会议,那则只会启用音频功效。
SIP还具有另外两个有重要意义的特点。第一个是有状态SIP**********具有分割入呼叫或复制入呼叫的能力,从而可以同时运行几个扩大分支。第一个应答的分支吸收呼叫。该特点在用户工作在两地位之间(例如实验室和办公室)或者同时对经理和其秘书振铃时是非常方便的。
第二个特点是SIP奇特的返回不同媒体类型的能力。举个用户接洽公司的例子。当SIP服务器吸收到客户机的连接恳求,它能够通过WEB交互式语音响应页面来返回到顾客的客户机,该页面具有可获得的部门分支或供给在列表上的用户。点击适当的链接后将发送一恳求到所点击选择的用户从而建立起呼叫。
四、SIP消息的组成
有两种类型的SIP消息:
● 恳求:从客户机发到服务器
● 响应:从服务器发到客户机
SIP恳求消息包含三个元素:恳求行、头、消息体。
SIP响应消息包含三个元素:状态行、头、消息体。
恳求行和头域根据业务、地址和协议特点定义了呼叫的本质,消息体独立于SIP协议并且可包含任何内容。
SIP定义了下述方法:
INVITE——邀请用户参加呼叫。
BYE——终止一呼叫上的两个用户之间的呼叫。
OPTIONS——恳求关于服务器能力的信息。
ACK——确认客户机已经吸收到对INVITE的最终响应。
REGISTER——供给地址解析的映射,让服务器知道其它用户的地位。
INFO——用于会话中信令。
五、结束语
SIP协议凭借其简略、易于扩大、便于实现等诸多优点越来越得到业界的青睐,它正逐步成为NGN(下一代网络)和3G多媒体子系统域中的重要协议,并且市场上涌现越来越多的支撑SIP的客户端软件和智能多媒体终端,以及用SIP协议实现的服务器和软交换设备。虽然SIP协议目前还不成熟,但可以预感SIP必定是将来网络多媒体通信中的明星。