SIP( Session Initiation Protocol ,RFC 3261)是由 IETF (国际互联网标准制
定组织)制定的面向 Internet 会议和电话的信令协议。SIP是一个应用层的协议,可以建
立,修改或者中止多媒体会话或者呼叫。它是一个基于ASCII的端到端的协议,它实际上是
在因特网上提供“约会”服务。SIP协议是IETF制订的会话控制协议,负责建立和管理两个
或多个用户间的会话连接,它主要用于对等模式(Peer to Peer)的实时业务,如VoIP、
视频会议等应用,其功能类似于当前VoIP主要采用的信令协议H.323。SIP充分借鉴了HTTP
、SMTP(简单邮件传送协议)这两个互联网上最成功的应用层协议,其编码是文本方式的
,继承了互联网协议简单、开放、灵活的特点。
用来实现VoIP的开放协议,最常用的有三种,SIP、MGCP(Media Gateway Control Proto
col)和H.323。
SIP协议是专门为 IP 电话,尤其是结合 Internet 设计的协议,同传统的 H.323 协
议相比,SIP 拥有明显的优越性:优异的可扩展性--大大提高了系统的处理能力;与 Int
ernet 紧密结合--使通讯更加轻松便捷的;卓越的开放性--不仅能够对手机、 PDA 等移动
设备提供良好的支持,对于在线即时交流、语音和视频数据传输等多媒体应用也能够很好
地完成。
SIP协议的特性和优势
*简洁性----- SIP的协议栈比其它的VoIP协议都要小。SIP可以看作是一个简单的工具箱,
利用它便于实现智能终端、网关、进程和客户端软件。
*可扩展性--- 端到端(点到点)的结构,使得它比较容易扩展。当要增加新的用户到基于
SIP协议的系统中时,与其它的VoIP协议相比,需要增加的软件和硬件要少得多。
*分布式的功能-- 非集中式的智能,这样可以在每个组件中实现更多的功能。而要修改某
个组件时,对系统其余部分的影响很小。在以太网上,两个SIP电话机可以直接互相呼叫,
而不需要系统中任何其它服务模块的帮助。当网络中有多于二个电话机时,系统中的其它
模块就发挥作用了。
*支持因特网---- 基于SIP的系统,可以利用因特网不断增长的优势。转换网关可以将基于
SIP的系统连接到公众电话网(PSTN)上去,而不用被历史遗留的标准所阻碍。
与SIP兼容的协议
SIP协议可以单独地工作,也可以与下面的协议一起工作。
DHCP Dynamic Host Configuration Protocol
动态主机配置协议,帮助系统自动地配置网络IP地址。
DNS Domain Name System
域名系统,解释主机名字为IP地址。
HTTP Hypertext Transfer Protocol
超文本传输协议,因特网上传输Web页面的标准协议。
RADIUS Remote Authentication Dial-In User Service
远程认证拨入用户服务,一个可以自由(免费)获取的分布式的安全系统,可以用
来将
呼叫的详细记录,传送给记费系统。
RTP Real-time Transport Protocol
实时传输协议,在通话的两端提供语音通道。
SDP Session Description Protocol
会话描述协议 描述多媒体会话的内容。SDP消息是作为MIME(Multi-Purpose Int
ernet
Mail Extensions)扩展附在SIP消息上的。
TCP Transmission Control Protocol
传输控制协议,在基于SIP协议的系统中,用于传输控制。
UDP User Datagram Protocol
用户数据报协议,用最小的开销和延迟,尽力传送数据报文
********SIP协议与多媒体会话********************************************
在多媒体通信协议中,SIP协议是一个相对简单的、但是很重要协议。SIP是一种应用
级控制协议,用于在IP数据网络上建立、改变和结束多媒体会话。SIP可以实现多种业务服
务,如IP电话、多媒体会议、注册和重定向服务,并可以简化对VPN的连接。
正如其名称的含意那样,SIP负责会话信令如语音、视频或多媒体信息初始化数据的交换。
SIP的历史可追溯到多项Internet工程任务组(IETF)的建议,并与Web和电子邮件技术与标
准有着密切的关系。
为保证性能,SIP需要使用用户数据报协议(UDP),TCP则是可选协议。因为UDP传输不能得
到百分之百的保证,所以SIP中包含数据重新传输机制,其中还包括建立三方会话的交换机
制。
在SIP邀请参与者加入一次会话时,会话描述协议(SDP)编码的SIP信息主体包含有关参与者
可以使用和将使用哪种媒体类型的信息。这种信息一旦交换和确认后,所有参与者就知道
其他各方的IP地址、可用带宽和媒体类型。然后,数据利用合适的传输协议开始传输。在
整个会话过程中,参与者可以通过发送新的SIP信息随时进行更新(指示新的媒体类型集合
、添加新的参与者或其他变化)。
SIP中的目的地是用统一资源指标符(URI)表示的。URI具有与电子邮件地址相同的格式。这
意味着URI可以延用DNS将主机和域名映射为IP地址的方法,将URI和其映射对象对应起来。
在IETF ENUM工作组的努力下,DNS电子编号系统支持国际电信联盟标准E.164;因此,这种
SIP与DNS之间的互通性与电话系统和地址机制的互操作性之间的关系越来越紧密,这种紧
密的联系可以使SIP服务器和客户机能够发送、收入和路由电话号码。
SIP一般分为两类: 用户端组件和网络组件。用户代理程序安装在参与者所选择的设备上(
PC机上的软件、嵌入在手机操作系统或PDA/掌上机操作系统中的软件、IP电话的固件)。用
户代理程序包括服务器部件和客户机部件。重定向服务器和代理服务器执行路由和搜索树
功能。这两种服务器一般为网络服务器,第三种基于网络的资源服务器是注册服务器,它
保存和接收参与者的位置数据。
SIP可以实现多种增强型通信,包括“寻找/跟踪(find me/follow me)”服务、即时消息、
远程电话与视频会议、中央交换机类型服务(呼叫人ID、呼叫等待和呼叫保持)、多玩家游
戏、实时集体创作和远程白板。使用SIP还可以使连接VPN更加容易。
利用SIP,人们还可以方便地将多媒体服务与其他类型的服务组合在一起,如目录信息、W
eb浏览、定位和列席服务。
由于SIP是应用层协议,因此它是相对独立的,IP网络上任何类型的参与者都可以被SIP连
接起来。例如,SIP 可以提供固定和移动网络之间的无缝服务功能,这是实现固定与移动
业务融合的关键要素,而且,这种功能将随着2.5G和3G移动网络在世界各地的部署而变得
越来越重要。
**********SIP实现号码移动*******************************
目前的通信方式要求人们在进行通信时要针对不同的通信服务记住一个特定的通信号
码,如传真号码、移动电话号码、办公电话号码等等。那么,怎样才能从根本上改变这一
特性真正实现理想的通信模式呢?即人们只需要记住一个号码,就可以与拥有该号码的个
人进行通信,而不论通信服务的性质如何,也不管该用户位于世界上的哪个地方。目前科
学家们正在致力于对该项工作的研究,SIP就是其中的一项研发课题。
会话初始化协议(SIP)(Session Initiation Protocol)是一个应用层控制协议,
它能够建立、修改、终止多媒体会话或者呼叫。SIP主要有两种结构元素:用户代理UA和网
络服务器。UA 驻留在SIP的终端站中,它包含两个部分:用户代理客户(UAC),该部分负
责发布SIP请求;用户代理服务器(UAS),它负责响应SIP请求。其中用户代理服务器有三
种不同的类型:重定向服务器,代理服务器和注册服务器(register)。基本SIP 呼叫不
需要服务器,但是其他一些增强特性需要服务器的支持。
重定向服务器作为用户代理服务器的三种类型之一,它是通过发送被呼叫者可获得的
SIP URL地址来处理INVITE消息的。代理服务器执行应用层的SIP请求和响应路由。代理服
务器可以是记忆的或者无记忆的,有记忆的代理服务器拥有整个呼叫建立过程中的相关信
息,而无记忆的代理服务器则在处理完一个呼叫后将完全忘记有关该呼叫的所有信息直到
下一个消息的到达。另外,代理可以是有分支代理或者无分支代理,例如,有分支代理可
以在同时让几个电话都振铃直到有人拿起其中的一个电话为止。注册服务器一般用于记录
SIP地址(SIP URL)和相关的IP地址。注册服务器经常用作启动后的注册,由于在REGIST
ER消息中使用了SIP URL地址的缘故,因此,当INVITE请求到达时,代理服务器或者重定向
服务器可以直接正确地转发请求信息。这一基于注册服务器的转发特性形成了网络对支持
真正的号码移动性服务的基础。在此,我们需要注意的是,通常一个SIP网络服务器能够实
现对不同种类服务器的组合。
SIP电话机
SIP电话机(硬件设备)是一种可以连接到以太网的电话装置。在大多数情况下,SIP
电话机支持采用IP地址的IP协议,该IP地址可以是静态分配的或者是通过动态主机配置协
议(DHCP)获得的。SIP电话机主要有两大类型:信令栈和媒体引擎(media engine)。目
前,虽然存在两种不同的标准(SIP 和H.323),但是信令栈现在已经有了几种自己的存在
方式,媒体几乎都通过实时传输协议(RealTime Transfer Protocol)独自传送,媒体
本身是在用户数据报UDP内携带的。
信令栈的目的是建立、管理并且断开呼叫连接。呼叫建立阶段需要查找端点的位置,需要
交换诸如支持话音编码解码类型的通信能力。管理阶段建立话音信道,如果需要的话将邀
请其他用户参与该通话过程。在连接断开阶段,呼叫就自然终止了。
SIP服务器
中心注册/代理服务器,我们通常称之为主SIP服务器,是所有SIP消息的主要目的地,
它在管理域中生成并试图建立一个连接。它同时也是在 LAN之外代表在LAN上的所有SIP电
话机客户通知SIP的唯一一个目的点。主SIP服务器将所有的SIP INVITE消息传递给最后的
相关目的站点(或者其他的SIP代理),并且针对这些消息进行基于数据库的查找。它允许
所有的移动客户用目前的位置信息进行注册,而将是否接收呼叫的决定留给客户自己决定
。这一方法需要客户端的智能性,而客户端的智能性又符合IP电话设想。该方法的主要优
点是它不需要将潜在的大文件(例如,PDA中存有的地址簿和约会信息),传输到服务器端
。
基于SIP的号码移动性
在许多情况下,呼叫者在与被呼叫者通话前不想首先判断通过什么形式的通信方式可
以找到被呼叫者(即连通哪个特定电话能与被呼叫者连通),而只是希望能够与被呼叫者
进行通信而不论被呼叫者的号码是哪种形式(移动电话号码或者办公电话号码等等),实
现这种形式的通信也就是我们通常意义上所说的用户号码具有移动性
随着设备的移动性,真正的号码移动性是基于SIP 请求的REGISTER信息。为了使用这
一特性,人们通过用SIP电话机同步PDA来对自己进行认证。在信息同步后,SIP电话机就知
道PDA的拥有者的身份。通过阅读使用者的地址簿目录,SIP电话机可以知道使用者的SIP
URL。在这一阶段,SIP电话机通过主SIP 服务器注册用户,将该注册用户表示为可以访问
的SIP电话机的SIP URL地址。由于每一个输入的SIP请求都需要通过主服务器,所以这些请
求都发送到正确的SIP电话机上。如果用户在移动并且与另外一个SIP电话机进行了注册,
则旧的注册信息将被删除并且按照新的位置写入新的注册信息。这些活动都是在主服务器
中完成的。这种情况不仅在公司里适合,在酒店或者会议室或者其他的会议中心都是可用
的。在此,我们需要注意的是,在SIP 以太电话与PDA取得同步后,系统操作不再需要两个
设备之间的进一步通信。当用户之间的通话完毕后,该用户将拆线, 那么此时主SIP服务
器所需做的工作就是在该用户与另外一个电话取得同步前将所有对它的呼叫转发到话音邮
件中。
除了以上提到的方法外,PSTN服务提供商们还能够通过另外的称之为Web站点的方法提
供相同或者近似的服务,从而使得用户能够将呼叫转发到他们目前所在的位置。但是,这
种用法对于用户来说不很方便,由于计算机需要访问Web 站点,所以对于用户而言,当用
户所在的地理位置不确定时(即用户的位置可以在任何可能的地方时),对PDA进行同步是
一件很困难的事情。即使用户位于一个固定的地点,要将用户连接到Web站点并且输入相关
的转发信息也是一件耗时耗力的工作。但是如果能够使PDA 同步则将使得整个问题变得自
动而且容易,因此,下一阶段人们所需要做的工作就是:怎样采取简单易行的方法来实现
PDA同步。
随着通信的发展,人们对通信质量要求越来越高。人们不要求对于每一种通信服务都
需要单独的一个通信号码,也不管该人现在是静止的还是移动的,就希望做到通过该号码
与他进行通信。这就是我们通常意义上所说的号码移动性,也是将来个人通信的理想目标
。在该目标实现之前,基于SIP的号码移动性无疑在很大程度上推动了该项通信的发展。
**********SIP的基本工作过程************************
SIP IP电话系统定义了注册/注销、呼叫、重定向、能力查询四种工作过程。
注册/注销过程
SIP为用户定义了注册和注销过程,其目的是可以动态建立用户的逻辑地址和其当前联
系地址之间的对应关系,以方实现呼叫路由和对用户移动性的支持。逻辑地址和联系地址
的分离也方便了用户,它不论在何处、使用何种设备,都可以通过唯一的逻辑地址进行通
信。
注册/注销过程是通过REGISTER消息和200成功响应来实现的。在注册/注销时,用户将
其逻辑地址和当前联系地址通过REGISTER消息发送给其注册服务器,注册服务器对该请求
消息进行处理,并以200成功响应消息通知用户注册/注销成功。
呼叫过程
SIP IP电话系统中的呼叫是通过INVITE邀请请求、成功响应和ACK确认请求的三次握手
来实现的。即当主叫用户代理要发起呼叫时,它构造一个INVITE 消息,并发送给被叫。被
叫收到邀请后决定接受该呼叫,就回送一个成功响应(状态码为200)。主叫方收到成功响
应后,向对方发送ACK请求。被叫收到 ACK请求后,呼叫成功建立。
呼叫的终止通过BYE请求消息来实现。当参与呼叫的任一方要终止呼叫时,它就构造一
个BYE请求消息,并发送给对方。对方收到BYE请求后,释放与此呼叫相关的资源,回送一
个成功响应,表示呼叫已经终止。
当主被叫双方已建立呼叫,如果任一方想要修改当前的通信参数(通信类型、编码等
),可以通过发送一个对话内的INVITE请求消息(称为re-INVITE)来实现。
重定向过程
当重定向服务器(其功能可包含在代理服务器和用户终端中)收到主叫用户代理的IN
VITE邀请消息,它通过查找定位服务器发现该呼叫应该被重新定向(重定向的原因有多种
,如用户位置改变、实现负荷分担等等),就构造一个重定向响应消息(状态码为3xx),
将新的目标地址回送给主叫用户代理。主叫用户代理收到重定向响应消息后,将逐一向新
的目标地址发送INVITE邀请,直至收到成功响应并建立呼叫。如果尝试了所有的新目标而
无法建立呼叫,则本次呼叫失败。
能力查询过程
SIP IP电话系统还提供了一种让用户在不打扰对方用户的情况下查询对方通信能力的
手段。可查询的内容包括:对方支持的请求方法(methods)、支持的内容类型、支持的扩
展项、支持的编码等等。
能力查询通过OPTION请求消息来实现。当用户代理想要查询对方的能力时,它构造一
个OPTION请求消息,发送给对方。对方收到该请求消息后,将自己支持的能力通过响应消
息回送给查询者。如果此时自己可以接收呼叫,就发送成功响应(状态码为200),如果此
时自己忙,就发送自身忙响应(状态码为 486)。因此,能力查询过程也可以用于查询对
方的忙闲状态,看是否能够接受呼叫。
*********SIP和H.323的比较************************
H.323和SIP设计之初都是作为多媒体通信的应用层控制(信令)协议,目前一般用于
IP电 话。
它们能实现的信令功能基本相同,也都利用RTP作为媒体传输的协议。但两者的设计风
格截然不 同,这是由于其推出的两大阵营(电信领域与Internet领域)都想沿袭自己的传
统。H.323是由国际电联提出来的,它企图把IP电话当作是众所周知的传统电话,只是传输
方式由电路交换变成了分组交换,就如同模拟传输变成数字传输、同轴电缆传输变成了光
纤传输。而SIP侧重于将IP电话作为Internet上的一个应用,较其他应用(如FTP,E-mail
等)增加了信令和QoS的要求。 H.323推出较早,协议发展得比较成熟;由于其采用的是传
统的实现电话信令的模式,便于与现有的电话网互通,但相对复杂得多。SIP借鉴了其他I
nternet标准和协议的设计思想,有其突出的优点。
首先,它是基于文本的协议,而H.323采用基于ASN.1和压缩编码规则的二进制方法表示其
消 息,因此,SIP对以文本形式表示的消息的词法和语法分析就比较简单。其次,SIP会话
请求过程和媒体协商过程等是一起进行的,因此呼叫建立时间短,而在H.323中呼叫建立过
程和进行媒体 参数等协商的信令控制过程是分开进行的。再次,H.323为实现补充业务定
义了专门的协议,如 H.450.1、H.450.2和H.450.3等,而SIP只要充分利用已定义的头域,
必要时对头域进行简单扩展 就能很方便地支持补充业务或智能业务。最后,H.323进行集
中、层次式控制。尽管集中控制便 于管理(如便于计费和带宽管理等),但是当用于控制
大型会议电话时,H.323中执行会议控制 功能的多点控制单元很可能成为瓶颈。而SIP类似
于其他的Internet协议,设计上就为分布式的呼叫模型服务的,具有分布式的组播功能。
我国的IP电话领域,多采用H.323协议。但SIP协议简单灵活,且是分布式控制,容易实现
。用H.323实现IP电话,设备投资昂贵,只有电信运营商或大企业集团才能实现或使用。而
SIP协议实现的IP电话系统,中小企业或个人都可以实现,可以进入平常百姓家。
定组织)制定的面向 Internet 会议和电话的信令协议。SIP是一个应用层的协议,可以建
立,修改或者中止多媒体会话或者呼叫。它是一个基于ASCII的端到端的协议,它实际上是
在因特网上提供“约会”服务。SIP协议是IETF制订的会话控制协议,负责建立和管理两个
或多个用户间的会话连接,它主要用于对等模式(Peer to Peer)的实时业务,如VoIP、
视频会议等应用,其功能类似于当前VoIP主要采用的信令协议H.323。SIP充分借鉴了HTTP
、SMTP(简单邮件传送协议)这两个互联网上最成功的应用层协议,其编码是文本方式的
,继承了互联网协议简单、开放、灵活的特点。
用来实现VoIP的开放协议,最常用的有三种,SIP、MGCP(Media Gateway Control Proto
col)和H.323。
SIP协议是专门为 IP 电话,尤其是结合 Internet 设计的协议,同传统的 H.323 协
议相比,SIP 拥有明显的优越性:优异的可扩展性--大大提高了系统的处理能力;与 Int
ernet 紧密结合--使通讯更加轻松便捷的;卓越的开放性--不仅能够对手机、 PDA 等移动
设备提供良好的支持,对于在线即时交流、语音和视频数据传输等多媒体应用也能够很好
地完成。
SIP协议的特性和优势
*简洁性----- SIP的协议栈比其它的VoIP协议都要小。SIP可以看作是一个简单的工具箱,
利用它便于实现智能终端、网关、进程和客户端软件。
*可扩展性--- 端到端(点到点)的结构,使得它比较容易扩展。当要增加新的用户到基于
SIP协议的系统中时,与其它的VoIP协议相比,需要增加的软件和硬件要少得多。
*分布式的功能-- 非集中式的智能,这样可以在每个组件中实现更多的功能。而要修改某
个组件时,对系统其余部分的影响很小。在以太网上,两个SIP电话机可以直接互相呼叫,
而不需要系统中任何其它服务模块的帮助。当网络中有多于二个电话机时,系统中的其它
模块就发挥作用了。
*支持因特网---- 基于SIP的系统,可以利用因特网不断增长的优势。转换网关可以将基于
SIP的系统连接到公众电话网(PSTN)上去,而不用被历史遗留的标准所阻碍。
与SIP兼容的协议
SIP协议可以单独地工作,也可以与下面的协议一起工作。
DHCP Dynamic Host Configuration Protocol
动态主机配置协议,帮助系统自动地配置网络IP地址。
DNS Domain Name System
域名系统,解释主机名字为IP地址。
HTTP Hypertext Transfer Protocol
超文本传输协议,因特网上传输Web页面的标准协议。
RADIUS Remote Authentication Dial-In User Service
远程认证拨入用户服务,一个可以自由(免费)获取的分布式的安全系统,可以用
来将
呼叫的详细记录,传送给记费系统。
RTP Real-time Transport Protocol
实时传输协议,在通话的两端提供语音通道。
SDP Session Description Protocol
会话描述协议 描述多媒体会话的内容。SDP消息是作为MIME(Multi-Purpose Int
ernet
Mail Extensions)扩展附在SIP消息上的。
TCP Transmission Control Protocol
传输控制协议,在基于SIP协议的系统中,用于传输控制。
UDP User Datagram Protocol
用户数据报协议,用最小的开销和延迟,尽力传送数据报文
********SIP协议与多媒体会话********************************************
在多媒体通信协议中,SIP协议是一个相对简单的、但是很重要协议。SIP是一种应用
级控制协议,用于在IP数据网络上建立、改变和结束多媒体会话。SIP可以实现多种业务服
务,如IP电话、多媒体会议、注册和重定向服务,并可以简化对VPN的连接。
正如其名称的含意那样,SIP负责会话信令如语音、视频或多媒体信息初始化数据的交换。
SIP的历史可追溯到多项Internet工程任务组(IETF)的建议,并与Web和电子邮件技术与标
准有着密切的关系。
为保证性能,SIP需要使用用户数据报协议(UDP),TCP则是可选协议。因为UDP传输不能得
到百分之百的保证,所以SIP中包含数据重新传输机制,其中还包括建立三方会话的交换机
制。
在SIP邀请参与者加入一次会话时,会话描述协议(SDP)编码的SIP信息主体包含有关参与者
可以使用和将使用哪种媒体类型的信息。这种信息一旦交换和确认后,所有参与者就知道
其他各方的IP地址、可用带宽和媒体类型。然后,数据利用合适的传输协议开始传输。在
整个会话过程中,参与者可以通过发送新的SIP信息随时进行更新(指示新的媒体类型集合
、添加新的参与者或其他变化)。
SIP中的目的地是用统一资源指标符(URI)表示的。URI具有与电子邮件地址相同的格式。这
意味着URI可以延用DNS将主机和域名映射为IP地址的方法,将URI和其映射对象对应起来。
在IETF ENUM工作组的努力下,DNS电子编号系统支持国际电信联盟标准E.164;因此,这种
SIP与DNS之间的互通性与电话系统和地址机制的互操作性之间的关系越来越紧密,这种紧
密的联系可以使SIP服务器和客户机能够发送、收入和路由电话号码。
SIP一般分为两类: 用户端组件和网络组件。用户代理程序安装在参与者所选择的设备上(
PC机上的软件、嵌入在手机操作系统或PDA/掌上机操作系统中的软件、IP电话的固件)。用
户代理程序包括服务器部件和客户机部件。重定向服务器和代理服务器执行路由和搜索树
功能。这两种服务器一般为网络服务器,第三种基于网络的资源服务器是注册服务器,它
保存和接收参与者的位置数据。
SIP可以实现多种增强型通信,包括“寻找/跟踪(find me/follow me)”服务、即时消息、
远程电话与视频会议、中央交换机类型服务(呼叫人ID、呼叫等待和呼叫保持)、多玩家游
戏、实时集体创作和远程白板。使用SIP还可以使连接VPN更加容易。
利用SIP,人们还可以方便地将多媒体服务与其他类型的服务组合在一起,如目录信息、W
eb浏览、定位和列席服务。
由于SIP是应用层协议,因此它是相对独立的,IP网络上任何类型的参与者都可以被SIP连
接起来。例如,SIP 可以提供固定和移动网络之间的无缝服务功能,这是实现固定与移动
业务融合的关键要素,而且,这种功能将随着2.5G和3G移动网络在世界各地的部署而变得
越来越重要。
**********SIP实现号码移动*******************************
目前的通信方式要求人们在进行通信时要针对不同的通信服务记住一个特定的通信号
码,如传真号码、移动电话号码、办公电话号码等等。那么,怎样才能从根本上改变这一
特性真正实现理想的通信模式呢?即人们只需要记住一个号码,就可以与拥有该号码的个
人进行通信,而不论通信服务的性质如何,也不管该用户位于世界上的哪个地方。目前科
学家们正在致力于对该项工作的研究,SIP就是其中的一项研发课题。
会话初始化协议(SIP)(Session Initiation Protocol)是一个应用层控制协议,
它能够建立、修改、终止多媒体会话或者呼叫。SIP主要有两种结构元素:用户代理UA和网
络服务器。UA 驻留在SIP的终端站中,它包含两个部分:用户代理客户(UAC),该部分负
责发布SIP请求;用户代理服务器(UAS),它负责响应SIP请求。其中用户代理服务器有三
种不同的类型:重定向服务器,代理服务器和注册服务器(register)。基本SIP 呼叫不
需要服务器,但是其他一些增强特性需要服务器的支持。
重定向服务器作为用户代理服务器的三种类型之一,它是通过发送被呼叫者可获得的
SIP URL地址来处理INVITE消息的。代理服务器执行应用层的SIP请求和响应路由。代理服
务器可以是记忆的或者无记忆的,有记忆的代理服务器拥有整个呼叫建立过程中的相关信
息,而无记忆的代理服务器则在处理完一个呼叫后将完全忘记有关该呼叫的所有信息直到
下一个消息的到达。另外,代理可以是有分支代理或者无分支代理,例如,有分支代理可
以在同时让几个电话都振铃直到有人拿起其中的一个电话为止。注册服务器一般用于记录
SIP地址(SIP URL)和相关的IP地址。注册服务器经常用作启动后的注册,由于在REGIST
ER消息中使用了SIP URL地址的缘故,因此,当INVITE请求到达时,代理服务器或者重定向
服务器可以直接正确地转发请求信息。这一基于注册服务器的转发特性形成了网络对支持
真正的号码移动性服务的基础。在此,我们需要注意的是,通常一个SIP网络服务器能够实
现对不同种类服务器的组合。
SIP电话机
SIP电话机(硬件设备)是一种可以连接到以太网的电话装置。在大多数情况下,SIP
电话机支持采用IP地址的IP协议,该IP地址可以是静态分配的或者是通过动态主机配置协
议(DHCP)获得的。SIP电话机主要有两大类型:信令栈和媒体引擎(media engine)。目
前,虽然存在两种不同的标准(SIP 和H.323),但是信令栈现在已经有了几种自己的存在
方式,媒体几乎都通过实时传输协议(RealTime Transfer Protocol)独自传送,媒体
本身是在用户数据报UDP内携带的。
信令栈的目的是建立、管理并且断开呼叫连接。呼叫建立阶段需要查找端点的位置,需要
交换诸如支持话音编码解码类型的通信能力。管理阶段建立话音信道,如果需要的话将邀
请其他用户参与该通话过程。在连接断开阶段,呼叫就自然终止了。
SIP服务器
中心注册/代理服务器,我们通常称之为主SIP服务器,是所有SIP消息的主要目的地,
它在管理域中生成并试图建立一个连接。它同时也是在 LAN之外代表在LAN上的所有SIP电
话机客户通知SIP的唯一一个目的点。主SIP服务器将所有的SIP INVITE消息传递给最后的
相关目的站点(或者其他的SIP代理),并且针对这些消息进行基于数据库的查找。它允许
所有的移动客户用目前的位置信息进行注册,而将是否接收呼叫的决定留给客户自己决定
。这一方法需要客户端的智能性,而客户端的智能性又符合IP电话设想。该方法的主要优
点是它不需要将潜在的大文件(例如,PDA中存有的地址簿和约会信息),传输到服务器端
。
基于SIP的号码移动性
在许多情况下,呼叫者在与被呼叫者通话前不想首先判断通过什么形式的通信方式可
以找到被呼叫者(即连通哪个特定电话能与被呼叫者连通),而只是希望能够与被呼叫者
进行通信而不论被呼叫者的号码是哪种形式(移动电话号码或者办公电话号码等等),实
现这种形式的通信也就是我们通常意义上所说的用户号码具有移动性
随着设备的移动性,真正的号码移动性是基于SIP 请求的REGISTER信息。为了使用这
一特性,人们通过用SIP电话机同步PDA来对自己进行认证。在信息同步后,SIP电话机就知
道PDA的拥有者的身份。通过阅读使用者的地址簿目录,SIP电话机可以知道使用者的SIP
URL。在这一阶段,SIP电话机通过主SIP 服务器注册用户,将该注册用户表示为可以访问
的SIP电话机的SIP URL地址。由于每一个输入的SIP请求都需要通过主服务器,所以这些请
求都发送到正确的SIP电话机上。如果用户在移动并且与另外一个SIP电话机进行了注册,
则旧的注册信息将被删除并且按照新的位置写入新的注册信息。这些活动都是在主服务器
中完成的。这种情况不仅在公司里适合,在酒店或者会议室或者其他的会议中心都是可用
的。在此,我们需要注意的是,在SIP 以太电话与PDA取得同步后,系统操作不再需要两个
设备之间的进一步通信。当用户之间的通话完毕后,该用户将拆线, 那么此时主SIP服务
器所需做的工作就是在该用户与另外一个电话取得同步前将所有对它的呼叫转发到话音邮
件中。
除了以上提到的方法外,PSTN服务提供商们还能够通过另外的称之为Web站点的方法提
供相同或者近似的服务,从而使得用户能够将呼叫转发到他们目前所在的位置。但是,这
种用法对于用户来说不很方便,由于计算机需要访问Web 站点,所以对于用户而言,当用
户所在的地理位置不确定时(即用户的位置可以在任何可能的地方时),对PDA进行同步是
一件很困难的事情。即使用户位于一个固定的地点,要将用户连接到Web站点并且输入相关
的转发信息也是一件耗时耗力的工作。但是如果能够使PDA 同步则将使得整个问题变得自
动而且容易,因此,下一阶段人们所需要做的工作就是:怎样采取简单易行的方法来实现
PDA同步。
随着通信的发展,人们对通信质量要求越来越高。人们不要求对于每一种通信服务都
需要单独的一个通信号码,也不管该人现在是静止的还是移动的,就希望做到通过该号码
与他进行通信。这就是我们通常意义上所说的号码移动性,也是将来个人通信的理想目标
。在该目标实现之前,基于SIP的号码移动性无疑在很大程度上推动了该项通信的发展。
**********SIP的基本工作过程************************
SIP IP电话系统定义了注册/注销、呼叫、重定向、能力查询四种工作过程。
注册/注销过程
SIP为用户定义了注册和注销过程,其目的是可以动态建立用户的逻辑地址和其当前联
系地址之间的对应关系,以方实现呼叫路由和对用户移动性的支持。逻辑地址和联系地址
的分离也方便了用户,它不论在何处、使用何种设备,都可以通过唯一的逻辑地址进行通
信。
注册/注销过程是通过REGISTER消息和200成功响应来实现的。在注册/注销时,用户将
其逻辑地址和当前联系地址通过REGISTER消息发送给其注册服务器,注册服务器对该请求
消息进行处理,并以200成功响应消息通知用户注册/注销成功。
呼叫过程
SIP IP电话系统中的呼叫是通过INVITE邀请请求、成功响应和ACK确认请求的三次握手
来实现的。即当主叫用户代理要发起呼叫时,它构造一个INVITE 消息,并发送给被叫。被
叫收到邀请后决定接受该呼叫,就回送一个成功响应(状态码为200)。主叫方收到成功响
应后,向对方发送ACK请求。被叫收到 ACK请求后,呼叫成功建立。
呼叫的终止通过BYE请求消息来实现。当参与呼叫的任一方要终止呼叫时,它就构造一
个BYE请求消息,并发送给对方。对方收到BYE请求后,释放与此呼叫相关的资源,回送一
个成功响应,表示呼叫已经终止。
当主被叫双方已建立呼叫,如果任一方想要修改当前的通信参数(通信类型、编码等
),可以通过发送一个对话内的INVITE请求消息(称为re-INVITE)来实现。
重定向过程
当重定向服务器(其功能可包含在代理服务器和用户终端中)收到主叫用户代理的IN
VITE邀请消息,它通过查找定位服务器发现该呼叫应该被重新定向(重定向的原因有多种
,如用户位置改变、实现负荷分担等等),就构造一个重定向响应消息(状态码为3xx),
将新的目标地址回送给主叫用户代理。主叫用户代理收到重定向响应消息后,将逐一向新
的目标地址发送INVITE邀请,直至收到成功响应并建立呼叫。如果尝试了所有的新目标而
无法建立呼叫,则本次呼叫失败。
能力查询过程
SIP IP电话系统还提供了一种让用户在不打扰对方用户的情况下查询对方通信能力的
手段。可查询的内容包括:对方支持的请求方法(methods)、支持的内容类型、支持的扩
展项、支持的编码等等。
能力查询通过OPTION请求消息来实现。当用户代理想要查询对方的能力时,它构造一
个OPTION请求消息,发送给对方。对方收到该请求消息后,将自己支持的能力通过响应消
息回送给查询者。如果此时自己可以接收呼叫,就发送成功响应(状态码为200),如果此
时自己忙,就发送自身忙响应(状态码为 486)。因此,能力查询过程也可以用于查询对
方的忙闲状态,看是否能够接受呼叫。
*********SIP和H.323的比较************************
H.323和SIP设计之初都是作为多媒体通信的应用层控制(信令)协议,目前一般用于
IP电 话。
它们能实现的信令功能基本相同,也都利用RTP作为媒体传输的协议。但两者的设计风
格截然不 同,这是由于其推出的两大阵营(电信领域与Internet领域)都想沿袭自己的传
统。H.323是由国际电联提出来的,它企图把IP电话当作是众所周知的传统电话,只是传输
方式由电路交换变成了分组交换,就如同模拟传输变成数字传输、同轴电缆传输变成了光
纤传输。而SIP侧重于将IP电话作为Internet上的一个应用,较其他应用(如FTP,E-mail
等)增加了信令和QoS的要求。 H.323推出较早,协议发展得比较成熟;由于其采用的是传
统的实现电话信令的模式,便于与现有的电话网互通,但相对复杂得多。SIP借鉴了其他I
nternet标准和协议的设计思想,有其突出的优点。
首先,它是基于文本的协议,而H.323采用基于ASN.1和压缩编码规则的二进制方法表示其
消 息,因此,SIP对以文本形式表示的消息的词法和语法分析就比较简单。其次,SIP会话
请求过程和媒体协商过程等是一起进行的,因此呼叫建立时间短,而在H.323中呼叫建立过
程和进行媒体 参数等协商的信令控制过程是分开进行的。再次,H.323为实现补充业务定
义了专门的协议,如 H.450.1、H.450.2和H.450.3等,而SIP只要充分利用已定义的头域,
必要时对头域进行简单扩展 就能很方便地支持补充业务或智能业务。最后,H.323进行集
中、层次式控制。尽管集中控制便 于管理(如便于计费和带宽管理等),但是当用于控制
大型会议电话时,H.323中执行会议控制 功能的多点控制单元很可能成为瓶颈。而SIP类似
于其他的Internet协议,设计上就为分布式的呼叫模型服务的,具有分布式的组播功能。
我国的IP电话领域,多采用H.323协议。但SIP协议简单灵活,且是分布式控制,容易实现
。用H.323实现IP电话,设备投资昂贵,只有电信运营商或大企业集团才能实现或使用。而
SIP协议实现的IP电话系统,中小企业或个人都可以实现,可以进入平常百姓家。