SIP协议(基础技术知识)

SIP(Session InitiationProtocol)协议是Internet多媒体通信和控制协议体系的一部分,该协议族包括会话描述协议(SDP)、会话发布协议(SAP)和会话启动协议(SIP)。会话描述协议用于描述会话发布、会话邀请以及其他形式的多媒体会话。会话发布协议就是用于处理多播和单播会话,描述分组的协议,它定义了会话目录传送所使用的封装分组的格式。会话启动协议用于建立启动、维持和终止有一个或多个参与者的多媒体会话或呼叫。其他协议包括用于预留网络带宽资源的RSVP、用于多媒体数据传输并提供QoS反馈的RTP/RTCP、用于多媒体流数据分发控制的RTSP。而且将来随着该体系结构的不断发展和完善,还会有其他新的协议产生,加入该协议体系。但SIP协议所规范的操作以及相应的功能独立于其他协议。这种会话可以是话音、视频、文字聊天、交互游戏,甚至虚拟现实等。SIP是一个基于文本的协议,类似于HTTP和SMTP。SIP协议借鉴web业务成功的经验,以现有的Internet为基础来构架IP电话业务网。SIP有着与H.323完全不同的设计思想,它要求网络的核心设备只有很少的智能或没有智能,网络的智能推向边缘。SIP系统中核心网络服务器不保留状态,因为核心网络服务器需要处理大量的呼叫,不保留每一呼叫的状态,将大大提高系统的处理能力。边缘网络设备有状态,业务网的管理功能也由边缘网络设备来完成。这种stateless和stateful结合的模式既可以充分发挥SIP的特点(如用户定位和查找),又保留了Internet无连接数据报传送的设计思路。与H.323协议为基础的IP电话相比,SIP协议需要相对智能的终端。终端需要包含用户代理客户机和用户代理服务器两部分,由这两部分实现呼叫请求、呼叫应答和一些用户的特定需要,正是因为SIP系统有了相对智能的终端系统,所以它才有可能实现用户个性化的需要。
对于用户终端是非智能终端的场合,也可以使用SIP协议作为呼叫信令,但这将大大削弱SIP协议特有的优势,如支持用户的移动性、用户对来话的选择性以及与web相结合的一些应用。以普通电话为终端的使用SIP协议的IP电话网络由普通电话、PSTN网、网关、IP网络组成。其中网关设备应兼有UAC和UAS的功能,这时相当于将智能用户终端向网络中间推移,由网关实现智能终端的功能。但在这种情况下,SIP协议所支持的用户个性化特点将大大地被削弱,因为在这种情况下,网关需要为多个用户服务而不是为单个用户设计。

SIP协议一方面借鉴了其它Internet的标准和协议的设计思想,在风格上遵循Internet一贯坚持的简练、开放、兼容和可扩展等原则。另一方面,它也考虑了对传统公众电话网的各种业务,包括IN智能网业务和ISDN综合业务数字网业务的支持,它也支持“个人移动”。SIP支持多媒体通信的五种信令功能:用户定位(确定参与通信的终端);用户通信能力的协商(确定通信的媒体类型和参数);用户意愿的交互(确定被叫是否愿意参与通信);建立呼叫(包括向被叫“振铃”,确定主叫和被叫的呼叫参数);呼叫处理和控制(包括呼叫重定向、呼叫转移、咨询呼叫、中止呼叫等)。

SIP网络的基本结构由用户代理和IP网络组成。其中IP网络包含SIP系统所必需的各种网络服务器。用户代理有用户代理客户机(UAC)和用户代理服务器(UAS),其中用户代理客户机用于发起呼叫,而用户代理服务器则用于响应呼叫。用户代理客户机和代理服务器构成了用户端必备的应用程序,由这两个应用程序完成呼叫的发起和接收。网络服务器也有两类,它们是代理服务器(proxy)和重定位服务器(redirect)。代理服务器类似于HTTP的proxy和SMTP的MTA(MessageTransferAgent),它本身并不对用户请求进行响应,只是转发用户的呼叫请求,然后将自身地址加入该消息的路径头部分,以保证将响应按原路返回并防止环路的发生。重定位服务器非常类似于DNS,它收到用户的请求后,若判定自身不是目的地址,则向用户响应下一个应访问服务器的地址,而不是转发请求报文。一次正常接续的流程是:
1)UAC向网络服务器(proxy或redirect)发出呼叫请求;
2)网络服务器(proxy或redirect)通过名字查找,用户定位,最终找到被叫UAS;
3)被叫UAS响应用户请求(拒绝或接受请求),该响应沿原路返回;
4)主叫UAC收到响应后,接通被叫或者终止这次呼叫请求。
与SIP系统可以类比的是Web系统,Web系统也是一个将智能分散到边缘的系统。在Web系统中,WebServer是没有智能或只有很低的智能,它的全部工作是:接收来自用户的URL(相当于文件系统的文件名),根据URL查出相应文件,再将文件发给用户。它不记录用户的检索过程,不保留用户状态。因而它能处理的用户数大大多于传统信息检索数据库能处理的用户数。但不保留状态,无法实现集中管理。在Web系统中,实现计费、监视等集中管理功能极为困难。与Web系统类同的SIP系统也一样,SIP系统同样无法实现对系统中设备及用户状态的监视、控制与管理。因此SIP有其适用范围,SIP协议更适用于以现有松散型Internet为基础,核心网络设备不具有智能或极少智能,智能集中于边端用户设备的场合。对于要求集中管理的电话网,SIP协议是不合适的。

3 SIP和H.323协议的对比

信令协议是实现IP电话的关键,信令协议需要完成的功能可归纳为以下几方面:
用户定位:当A要与B通话时,A首先应查明B在网络的位置,这样才能发起会话建立请求。在不同时间用户可能在不同位置,在同一时间也可能通过多种方式联系。对于不具有固定IP地址的用户,用户定位功能非常重要,因为几乎所有的Modem连接都是动态分配IP地址的。
会话参与者管理:在通话期间,可加入新成员,旧成员也可退出会话。
会话能力协商和调整:多媒体会话可能由音频、视频、共享的应用程序等多个媒体流组成,每个媒体流可能采用不同的语音、视频压缩算法,也可能使用不同的多播或单播地址和端口。这样希望参与会话者能进行协商,决定会话参数,并要求能在会话期间动态调整参数。
呼叫处理:具有呼叫转移、呼叫保持、群呼等功能。

SIP和H.323作为IP电话的信令协议,分别是通信领域与Internet领域两大阵营推出的建议,它们的区别有以下几点:

从信令协议的出发点来看,H.323试图把IP电话当作是众所周知的传统电话,只是传输方式发生了改变,由电路交换变成了分组交换。而SIP协议侧重于将IP电话作为Internet上的一个应用,较其他应用(如FTP、E-mail等)增加了信令和QoS的要求。它们支持的业务集基本相同,也都利用RTP作为媒体传输的协议。

从消息的编码方法来看,H.323采用基于ASN.1和压缩编码规则的二进制方法表示其消息。ASN.1通常需要特殊的代码生成器来进行词法和语法分析。而SIP是基于文本的协议,类似于HTTP。基于文本的编码意味着头域的含义是一目了然的,如From、To、Subject等域名。这种几乎不需要复杂的文档说明的标准规范风格,其优越性已在过去的实践中得到了充分的证明。

从会话能力的协商和调整方法来看,H.323是采用H.245协议来进行能力协商的会话控制的,而SIP的能力协商采用SDP(SessionDescriptionProtocol)进行描述,SDP中的每一项的格式为<type>=<value>,也比较简单。

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

在补充业务方面,H.323中定义了专门的协议用于补充业务,如H.450.1、H.450.2和H.450.3等。SIP并未定义专门的协议用于此目的,但它能很方便地支持补充业务或智能业务。只要充分利用SIP已定义的头域,并对SIP进行简单的扩展,就可以实现这些业务。对于通过扩展头域较难实现的一些智能业务,可在体系结构中增加业务代理,提供一些补充服务或与智能网设备的接口。

另外,H.323中的呼叫建立过程涉及到三条信令信道:RAS信令信道、呼叫信令信道和H.245控制信道。通过这三条信道的协调才使得H.323的呼叫得以进行,呼叫建立时间很长。在SIP中,会话请求过程和媒体协商过程等一起进行。尽管H.323v2已对呼叫建立过程做了改进(H.245控制消息可以通过用H.225.0呼叫信道隧道来传送),但较之SIP只需要1.5个回路时延来建立呼叫,仍是无法相比的。

H.323的呼叫信令信道和H.245控制信道需要可靠的传输协议,而SIP独立于低层协议,一般使用UDP等无连接的协议,用自己应用层的可靠性机制来保证消息的可靠传输。

总之,H.323沿用的是传统的实现电话信令的模式,比较成熟,已经出现了不少H.323产品。H.323符合通信领域传统的设计思想,进行集中、层次式控制,采用H.323协议便于与传统的电话网相连。SIP协议借鉴了其他Internet的标准和协议的设计思想,在风格上遵循Internet一贯坚持的简练、开放、兼容和可扩展等原则,比较简单,但推出的时间不长,协议并不是很成熟。它的优点是同Internet结合,可以很方便地生成新的业务,如Web呼叫点击拨号等。但是SIP协议需要相对智能的终端。

4 网关控制协议

媒体网关控制协议是为了解决目前IP电话网关负担过重,不能满足未来容量和业务扩展的要求而设计的。Arango和Huitema提出了VoIP的新的体系结构,它把网关分解为三部分:媒体网关(MG)负责媒体变换以及PSTN和IP两侧通路的连接。信令网关(SG)负责信令转换。媒体网关控制器(MGC)负责根据接收到的信令控制媒体网关的连接建立和释放。这个体系结构的先进之处在于实现了呼叫和承载控制的相分离,而在这两个分离的单元之间需要定义新的协议,MGCP(MediaGateway Control Protocol)就是这个接口上的一个较通用的协议,后来IETF MeGaCo工作组和ITU-T16研究组在MGCP的基础上提出了H.248协议,对MGCP进行了扩展。MGCP属于应用层控制协议,主要完成MGC对MG的控制,以实现网络中MG之间的连接,并且处理MG与MGC的交互。

MGCP与H.323和SIP不是同一层面的,H.323建议和SIP协议提出了两套IP电话体系结构。两者是完全独立的,它们是互不兼容的,只是存在互通问题。MGCP不涉及IP电话的体系结构,它只涉及网关分解问题,因而它不仅可能用于H.323IP电话系统,也可以用于SIPIP电话系统。在网关分解的标准化方面,IETF和ITU-T配合得很好,在两大组织协调下,目前一个正式标准已经完成,这就是H.248建议/MAGOCO,H.248建议从基本上思路来说与MGCP是一致的。但在H.248中引入了context概念,另外增加了许多Package的定义。从而将MGCP大大推进了一步。H.248建议已经取代了MGCP,而成为MGC与MG之间的协议标准了。
网关分解成媒体网关(MG)与媒体网关控制器(MGC)是研制大型电信级的IP电话网关的需要。从逻辑上来讲很简单,网关可以由媒体网关和媒体网关控制器组成。从物理上来讲就没有那么简单了,实际上到目前为止,网关的分解并没有一种确定的方式,而是根据不同的需求而作不同的分解。

媒体网关控制器的功能是处理与网守间的H.225RAS消息、处理7号信令(可选)、处理H.323信令(可选)。媒体网关的功能是IP网的终结点接口、电路交换网终结点接口、也可以处理H.323信令和带有FAS功能的电路交换信令(在某类分解中)、处理媒体流。

四、结束语

随着IP电话技术的不断发展、完善和成熟,可以利用IP承载网络来实现IP通信。由于IP电话交换的本质就是软交换,而软交换是下一代通信网络的关键设备,因此IP电话技术的前景广阔。将来在IP电话网络上不仅能提供话音业务,还可以提供各种数据业务和更多的增值服务,将来真正实现“三网合一,统一于网络”。

SIP协议(基础技术知识)相关推荐

  1. Orchard: module开发基础技术知识

    在Orchard:如何生成Hello World模块.Orchard:使用VS2010来生成一个地图Content Part.Orchard:生成一个Content Part中介绍了如何生成Orcha ...

  2. GB28181技术基础之1 - SIP协议

    SIP 协议,即 会话初始协议(Session Initiation Protocol),是一个应用层的 点对点协议,用于初始.管理和终止网络中的语音和视频会话,是 GB28181 的核心之一. 按照 ...

  3. 计算机安全基础:认证技术知识笔记

    1.认证技术介绍 认证技术主要是用来解决网络通信过程中通信双方身份的认可.认证的过程涉及加密和密钥交换.认证方一般都会有账户名.口令.使用摘要算法和基于PKI认证. 2.PKI系统介绍 PKI是一种遵 ...

  4. ps_基础技术提升topic基础知识调研

    基础技术提升topic基础知识调研结果 基础技术提升topic基础知识调研结果分类 大类 小类 调研提出的问题 C类 编译与调试 如何追core?对gdb的了解还是太浅,应用中有很多问题. 怎么在没有 ...

  5. eip协议通信_工业通讯 | EtherNET/IP协议基础知识(Part 3)||附视频讲解

    点击蓝字 关注我们 相关阅读: EtherNet/IP OSI参考模型及其物理层.数据链路层与网络层的功能特点: EtherNET/IP协议基础知识(Part 1)||附视频讲解 Encapsulat ...

  6. 计算机网络协议第一章,网络协议基础知识

    序    我计划开发一个系列专栏,将自己在网络方面的积累完善成一个系列知识,让读者的监督和拍砖督促自己并提高自己.如果在读本人的系列文章得到些许收获,那对我来说是更大的收获.    本系列的阅读应该不 ...

  7. HTTP协议基础知识

    简介 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从WWW服务器传输超文本到本地浏览器的传送协议.它可以使浏览器更加高效,使网络传输减少.它不仅保 ...

  8. 基于SIP协议的IP电话增值业务实现技术

    基于SIP协议的IP电话增值业务实现技术 王瑜,乐正友 (清华大学电子工程系,北京 100084)    摘  要:讨论了SIP协议以及基于SIP协议的IP电话增值业务实现技术,并对SIP CGI.C ...

  9. 标定协议基础知识介绍

    在上一篇<如何实现标定>中介绍了标定工具通过标定协议与控制器进行通讯从而实现标定.在二十世纪九十年代由Audi.BMW.Mercedes-Benz.Volkswagen等相关企业成立了AS ...

最新文章

  1. windows篇-第四章 安装和配置Windows域
  2. 问题 | Android Studio:Missing contentDescription attribute on image(ImageView)
  3. 基于数据库的分布式锁实现
  4. [置顶] java除0问题探究
  5. ubuntu 安装nginx 并开启目录浏览功能
  6. 美赛整理之投影寻踪模型及其求解
  7. 谁动了我的琴弦——会话劫持
  8. 头条的_signature这个如何_如何彻底防止反编译,dex加密怎么做
  9. mysql分页查询sql语句_mysql 分页查询的sql语句
  10. 【Unity3D应用案例系列】Unity3D中实现《3D照片墙》
  11. Python数据分析与机器学习实战
  12. JSP入门必须了解的知识详解
  13. Advertising on Instagram 如何在Instagram上发布广告 Lynda课程中文字幕
  14. Eclipse 专用等宽字体,Yahei_Consola字体
  15. 服务器驱动硬盘故障修复,如何修复崩溃的硬盘驱动器
  16. js:常用的3种弹出提示框(alert、confirm、prompt)
  17. 全国哀悼日,英来网停站一天。
  18. 用计算机算账老是出负数是怎么回事,结存数量为负数是什么意思
  19. java 6u45 no sni 2_sjscxz.taobao.com
  20. 程序员必备技能之英语学习(一)

热门文章

  1. intellij idea 如何将普通项目转换为maven项目
  2. 定期定量采购_?采购计划员必备:各种物料采购计划与订单制定的技巧与方法...
  3. (JAVA)CollectionDemo3
  4. zabbix mysql主从_zabbix监控mysql主从状态
  5. 移植U-BOOT之支持烧写YAFFS文件系统以及制作U-BOOT补丁
  6. SpingBoot+Mybaits+Vue,更新学习
  7. centos踩坑指南之安装composer
  8. Ubuntu安装pycharm并且激活
  9. Android VideoView无法播放网络视频
  10. 23种设计模式之原型模式代码实例