移坟迁墓武夷三不移:什么是SIP协议

来源:百度文库 编辑:中财网 时间:2024/04/29 03:03:40

会话起始协议SIP(SessionInitiationProtocol)被描述用来生成,修改和终结一个或多个参与者之间的会话,是由IETF于 1999年提出的一个基于IP网络中实现实时通信应用的一种信令控制协议。它打破了传统电信业务的传输模式,采用基于因特网的准则,将蜂窝系统与因特网应 用融合在一起提供基于IP的多媒体业务,具有开放性,可扩展性,安全性的特点。3GPP已将SIP作为第三代移动通信系统多媒体域的控制协议。



    经常出现这种情况,一个用户在多个位置之间移动,如一个公司职员,可能处在公司,家里或是咖啡厅等位置。为了给用户提供方便的移动性,SIP使用统一资源 定位符URI(UniformResourceIdentifier)来表示用户。通常由一个域名加上用户名组成,例如SIP:John@ eastcom.com,类似于电子邮件地址。SIP URI只是用来唯一标示用户的逻辑标记符,用户注册时它将与用户的IP地址绑定并记录到定位服务器。

    在SIP中,系统采用了因特网常用的客户机/服务器结构,由用户代理和服务器两大部分组成。其中用户代理又分为用户代理客户(UAC: UserAgentClient)和用户代理服务器(UAS:UserAgent Server)两种。UAC用来发起会话请求,UAS用来接受并响应会话请求。这两者只是逻辑上的功能,实际上网络终端应同时具备这两种功能,既能发起会 话,又能接受、相应会话。服务器分为代理服务器(Proxy Server)、重定向服务器(Redirected Server)和注册服务器(Registrar)。

    图1 SIP的网络体系结构

    图1描述了SIP的基本网络体系结构。用户接入网络后首先要向注册服务器注册,注册信息写入定位服务器中(定向服务器不属于SIP网元,只是一个数据 库)。当用户代理客户UAC要发起呼叫时,它一般将呼叫请求消息发送给本域的出向代理服务器。媒体描述信息以SDP (SessionDescriptionProtocol)的形式在SIP消息体中被封装并发送出去。代理服务器检查被叫地址,将请求转发(可能经过多个 中间代理服务器的转发),直至到达被叫域的代理服务器。被叫域的代理服务器通过查询定位服务器确定被叫的确切位置,然后将请求转发给被叫用户代理服务器 UAS。被叫UAS收到请求后,生成响应消息。响应消息将按照请求消息经过的路径,原路返回到主叫UAC。主叫UAC根据响应消息的内容选择是建立呼叫、 重新发起呼叫或取消该呼叫。如果被叫没有在归属地,主叫将通过重定位服务器重新定位被叫的位置,然后发起请求。

    SIP有两种类型的消息:

    (1)请求:从客户机发到服务器的消息。SIP核心规范定义了6种SIP请求:

    INVITE—邀请用户加入呼叫。

    BYE—终止两个用户之间的呼叫。

    OPTIONS—请求关于服务器能力的信息。

    ACK—确认客户机已经收到对INVITE的最终响应。

    REGISTER—提供地址解析的映射,让服务器知道其他用户的位置。

    INFO—用于会话中信令。

    (2)应答:从服务器发到客户机的消息,当服务器收到请求时,它就发出一个或多个应答。每个应答都有一个代表事务状态的状态码(100-699的整数)。下面是常用的几种应答及它们的状态码:

    trying(100)—正在尝试

    ringing(180)—正在振铃

    sessionprogress(183)—会话进行

    OK(200)—好

H.323和SIP协议的比较

    H.323和SIP分别是通信领域与因特网两大阵营推出的建议。H.323企图把IP电话当作是众所周知的传统电话,只是传输方式发生了改变,由电路交换 变成了分组交换。而SIP协议侧重于将IP电话作为因特网上的一个应用,较其实应用(如FTP,E-mail等)增加了信令和QoS的要求,它们支持的 业务基本相同,也都利用RTP作为媒体传输的协议。但H.323是一个相对复杂的协议。

    H.323采用基于ASN.1和压缩编码规则的二进制方法表示其消息。ASN.1通常需要特殊的代码生成器来进行词法和语法分析。而SIP的基于文本的协 议,类似于HTTP。基于文本的编码意味着头域的含义是一目了然的,如From、To、Subject等域名。这种分布式、几乎不需要复杂的文档说明的标 准规范夫风格,其优越性已在过去的实践中得到了充分的证明(现在广为流行的邮件协议SMTP就是 这样的一个例子)。SIP的消息体部份采用SDP进行描述,SDP中的每一项格式为=,也比较简单。

    在支持会议电话方面,H.323由于由多点控制单元(MCU)集中执行会议控制功能,所有参加会议终端都向MCU发送控制消息,MCU可能会成为颈,特别 是对于具有附加特性的大型会议;并且323不支持信令的组播功能,其单功能限制了可扩展性,降低了可靠性。而SIP设计上就为分布式的呼叫模型,具有分布 式的组播功能,其组播功能不仅便于会议控制,而且简化了用户定位、群组邀 请等,并且能节约宽带。但是H.323集是中控制便于计费,对宽带的管理也比较简单、有效。

    H.323中定义了专门的协议用于补充业务,如H.450.1、H.450.2和H.450.3等。SIP并未专门定义的协议用于此目的,但它很方便地支 持补充业务或智能业务。只要充分利用SIP已定义的头域(如Contact头域),并对SIP进行简单的扩展(如增加几个域),就可以实现这些业务。例如 对于呼叫 转移,只要在BYE请求消息中添加Contact头域,加入意欲转至的第三方地址就可以实现此业务。对 于通过扩展头域较难实现的一些智能业务,可在体系结构中增加业务代理,提供一些补充服务或与 智能网设备的接口。

    在H.323中,呼叫建立过程涉及到第三条信令信致到:RAS信令信道、呼叫信令信到和H.245控制信道。通过这三条信道的协调才使得H.323的呼叫 得以进行,呼叫建立时间很长。在SIP中,会话请求过程和媒体协商过程等一起进行。尽管H.323v2已对呼叫建立过程作了改进,但较之SIP只需要 1.5个回路时延来建立呼叫,仍是无法相比。 H.323的呼叫信令通道和H.245控制信道需要可靠的传 输协议。而SIP独立于低层协议,一般使用UDP等无法连接的协议,用自己信用层的可靠性机制来保 证消息的可靠传输。

    总之,H.323沿用的是传统的实现电话信令模式,比较成熟,已经出现了不少H.323产品。H.323符合通信领域传统的设计思想,进行集中、层次控 制,采用H.323协议便于与传统的电话网相连。SIP协议借鉴了其它因特网的标准和协议的设计思想,在风格上遵循因特网一贯坚持的简练、开放、兼容和可 扩展等原则,比较简单。