sip简介

摘要:会话发起协议(Session Initiation Protocol-SIP)是一个应用层的信令控制协议。用于创建、修改和终止一个或多个参与者的会话。这些会话可以是Internet多媒体会议、IP电话或多媒体分发(例如:语音信箱)。会话的参与者可以通过组播(multicast)、网状单播(unicast)或两者的混合体进行通信。

(Qingdao University of Sience and Technology,Qingdao,266042)

Abtracts:the Session Initiation Protocol (SIP) is an application-layer control (signaling) protocol for creating, modifying and terminating sessions with one or more participants. These sessions include Internet multimedia conferences, Internet telephone calls and multimedia distribution. Members in a session can communicate via multicast or via a mesh of unicast relations, or a combination of these.

1.概述

IP电话可以采用H.323,SIP,MGCP或H.248协议建网。但其中的SIP协议简单,开放,扩展性好和支持移动的特点,在3G的WLAN中得到了广泛的应用。SIP的出现打破了传统电信业务的传输模式,它用基于Internet的准则为电信业带来了新的生机。SIP作为第三代移动系统的信令协议,能够提供IP多媒体服务,可以将蜂窝系统与Internet应用领域融合在一起。它的主要目的是为了解决IP网中的信令控制,以及同软交换机(SoftSwitch)的通信,从而构成下一代的增值业务平台,对电信、银行、金融等行业提供更好的增值业务。当前,业界已经意识到未来的媒体通信网络将是SIP主宰的网络。

SIP(会话发起协议)是IETF提出的在IP网络上进行多媒体通信的应用层控制协议。它借鉴了简单邮件传输协议(SMTP)和超文本传输协议(HTTP)的优点。用于创建,修改和终止多媒体呼叫与会话。SIP协议基于文本格式的客户机/服务器的工作方式,适合在Web环境中使用。

SIP类似于其它IP网的协议,采用分布式的呼叫控制与管理模式,依靠动态数据库方式寻址,更适合开发与Internet结合的语音应用。

2.SIP 体系的组成部件

S I P 协议虽然主要为I P 网络设计的,但它并不关心承载网络,也可以在A T M 、帧中继等承载网中工作,它是应用层协议,可以运行于T C P 、U D P 、S C T P 等各种传输层协议之上。SIP 用户是通过类似于e-mail 地址的URL 标识的,例如:sip:myname@mycompany.com,通过这种方式可以用一个统一名字标识不同的终端和通信方

式,为网络服务和用户使用提供充分的灵活性。S I P 体系结构中,包括以下几个主要部件:

用户代理{UA:UserAgent)和网络服务器,其中, 用户代理完成呼叫发起和接收, 它可分为用户代理客户机(UAC)和用户代理服务器(UAS),UAC用于发起呼叫,而UAS则用于响应呼叫。通常,用户终端程序往往需要包括用户代理客户机和用户代理服务器。

网络服务器分为四类:代理服务器(Proxy) 重定向服务器(Redirect) 注册服务器(Register)和位置服务器(Location)。

(1)代理服务器:

用于转发用户的呼叫请求,并将响应按原路返回,本身并不对用户请求进行响应,它非常类似于HTTP的Proxy(代理服务器)和SMTP的MTA(Message Transfer Agent)。代理服务器可以是有状态的(Stateful).也可以是无状态的(Stateless)。当代理服务器为有状态时,它需要记住呼入和呼出的请求状态:当代理服务器为无状态时,呼出请求发出后代理服务器无须记住请求的所有信息。

(2)重定位服务器:

收到用户的请求后.若判定自身不是目的地址,则向用户响应下一个应访问的服务器地址.因此.它的功能非常类似于I P网中的DNS {域名服务器)。

(3)注册服务器:

接收用户代理的注册请求.完成用户地址的注册。

一次正常接续的流程是:

1)UAC向网络服务器(proxy或redirect)发出呼叫请求;

2)网络服务器(proxy或redirect)通过名字查找,用户定位,最终找到被叫UAS;

3)被叫UAS响应用户请求(拒绝或接受请求),该响应沿原路返回;

4)主叫UAC收到响应后,接通被叫或者终止这次呼叫请求。

以上几种Server 可共存于一个设备,也可以分布在不同的物理实体中。S I P 服务器完全是纯软件实现,可以根据需要运行于各种工作站或专用设备中。

3.SIP的主要功能

SIP具有如下基本功能:

(1)用户定位(User location):决定哪个终端系统参加通信;

(2)用户能力(User capabilities):决定通信所采用的媒体和媒体参数;

(3)用户可用性(User availability):决定被叫方是否愿意加入通信过程;

(4)呼叫建立(Call setup):振铃、主叫方和被叫方的连接和参数的建立;

(5)呼叫处理(Call hangling):呼叫前转或终结呼叫。

4.SIP协议的消息及消息过程

4.1 SIP协议中的消息

SIP消息分成两类:请求(Requests)和响应(Responses)。用户端代理可以发送请求和接收并处理响应。主要有六种消息:①INVITE:INVITE消息用于发起呼叫请求。INVITE消息包括消息头和数据区两部分。INVITE消息头包含主、被叫的地址信息,呼叫主题和呼叫优先级等信息;数据区则是关于会话媒体的信息,可由会话描述协议(SDP)来实现,SDP和H.245具有类似的功能,主要用于描述终端的媒体处理能力。由于数据区对于SIP是不可见的,因此SIP也可以和H.245协议相结合使用。②BYE:当一个用户决定终止会话时,可以使用BYE表示会话结束。⑧OPTION:用于询问被叫端的能力信息,但OPTION本身并不能发起呼叫。④ACK:对已收到的消息进行确认回答。⑤REGISTER:用于用户向SIP注册服务器传送位置信息或地址信息。@CANCEL:取消当前的请求,但它并不能终止已经建立的连接。SIP的响应也有两种类型,临时型(Provisiona1)和最终型(Fina1)。临时型响应是由服务器发出来表明进程状态的,并不会终止一个SIP传送。最终型响应则会终止SIP传送。

4.2 SIP的消息过程

呼叫建立采用套接字的形式,套接字有两种不同的类型:流套接字和数据报套接字。由于流套接字采用双向的,有序的,无重复并且是无数据边界的数据流服务,且是面向连接的,十分可靠的。所以对SIP协议采用流套接字形式。采用流套接字描述呼叫建立总体流程如下:

呼叫建立总体流程框图

描述一个典型的SIP呼叫。User1作为UAC希望同user2通话,他首先发出一个INVITE请求,本地的SIP代理服务器sip1接受到这个INVITE请求后,经过地址解析,将其发送至SIP代理服务器sip2,同时sip1返回给user1 一个 100 Trying消息。sip2接收到sip1的INVITE请求后,将其转发给user2 的sip代理服务器sip2并返回给sip1一个Trying消息。user2接受到INVITE请求后,在应答之前,将返回给sip2一个180Ringing消息,此Ringing消息将依次转发给sip1、user1。如果user2决定应答呼叫,则返回一个200 ok消息,此消息经过sip2、sip1最后到达user1。user1在收到200 ok消息后,直接发送一个ACK确认消息给user2。至此呼叫建立过程完成,user1和user2之间可以建立媒体通道进行对话。当一方想结束通话时,发送一个BYE消息给对方,对方返回一个200 ok消息,SIP呼叫即被终止。具体的呼叫流程图如下:

5. SIP协议的主要特点

(1)简单:只包含七个主要请求,六种响应,成功建立一个基本呼叫只需要两个请求消息和一个响应消息(INVITE,ACK,200OK);基于文本格式,以实现和调试,便于跟踪和处理;

(2)易于扩展和伸缩:从网络架构角度上看,分布式体系结构赋予系统的极好的灵活性和高可靠性,终端智能化,网络构成清晰简单;从协议角度上看,具有灵活的可扩展性和极强的能力协商机制,新方法,新消息头及功能的增加,对协议没有影响;

(3)高安全性和可靠性:代理人证和端到端HTTP认证。

SIP的部分优点包括:该协议具有可扩展特性,可以轻松定义并迅速实现新功能。可以简单易行的嵌入廉价终端用户设备。该协议可确保互操作能力,并使不同的设备进行通信。便于那些非电话领域的开发人员理解该协议。

SIP的部分缺点包括:SIP问世不久,因此大多数应用尚处于原型阶段。该协议单独应用的范围较窄。但与其它协议协同使用时,具有较强的灵活性。SIP只是完整解决方案的一小部分,还需要许多其他的软件来构建完整的IP电话产品。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值