基于SIP协议的视频通讯

1.sip协议及其发展

       sip(session initiation protocal)称为会话发起协议,是由ietf(internet engineering task force)组织于1999年提出的一个在基于ip网络中,特别是在internet这样一种结构的网络环境中,实现实时通讯应用的一种信令协议。而所谓的会话(session),就是指用户之间的数据交换。在基于sip协议的应用中,每一个会话可以是各种不同的数据,可以是普通的文本数据,也可以是经过数字化处理的音频、视频数据,还可以是诸如游戏等应用的数据,应用具有巨大的灵活性。

      作为一个ietf提出的标准,sip协议在很大程度上借鉴了其他各种广泛存在的internet协议, 如http(超文本传输协议)、smtp(简单邮件传输协议)等,和这些协议一样,sip也采用的基于文本的编码方式,这也是sip协议同视频通讯领域其他现有标准相比最大的特点之一。

       sip协议的提出和发展,是伴随着internet的发展而发展的,到目前为止它走过了以下几个阶段。

       ● 1996年首先出现了sip的概念,这时sip的主要应用是针对internet上的各种文本应用,如电子邮件、文字聊天等。

       ● 1999年3月,itef的多方多媒体会晤控制(mmusic)工作组提出了rfc2543建议,供各厂商和机构讨论。

       ● 1999年9月,sip工作组从mmusic中分离并独立出来,成立了sip工作组,并与2000年7月发表了sip的草案。

       ● 2002年6月,itef的sip工作组又发表了rfc3261建议,以取代rfc2543.

      由于网络环境以及相关多媒体技术的不足,在sip协议首次提出的时候,仅仅针对各种文本应用,随着技术的发展,并通过和ietf中ip电话工作组(iptel)、ip网中电话选路(trip)工作组等兄弟工作组配合工作,在sip协议中大大加强了对多媒体通讯的支持。

      由于internet的飞速发展,在最近的两年时间内, sip已经开始被itu-t sg16、etsi tipon(欧洲标准化组织),imte等各种标准化组织所接受,并在这些组织中成立了与sip相关的工作组。特别是作为itu-t sg16主要成员的radvision公司,在多年发展h323应用的基础上,针对sip应用在视频领域的特点,提出了sip的应用指导,并推出了相应的sip协议栈,使得itu的成员实现了这两种协议之间的互通性。并且在该技术的指导下,radvision公司的viaip产品极大地丰富了基于sip协议产品在视频通讯领域地应用,不但解决了sip视频终端无法实现多方会议的缺陷,同时实现了在同一个会议中,sip终端和h323终端互通这一革命性的应用,从而极大地扩展了sip协议在视频通讯领域的生命力。

       2.   sip系统的基本组成

      按逻辑功能区分,sip系统由4种元素组成:用户代理、sip代理服务器、重定向服务器以及sip注册服务器。

       ● sip用户代理

       sip用户代理,又称为sip终端,是sip系统中的端用户,在rfc3261中将它们定义为一个应用。根据它们在会话中扮演的角色的不同,又可分为用户代理客户机(uac) 和用户代理服务器(uas)2种。其中前者用于发起呼叫请求,后者用于响应呼叫请求。

       ● sip代理服务器(sip proxy server)

       sip 代理服务器,是一个中间元素,它既是一个客户机又是一个服务器,具有解析名字的能力,能够代理前面的用户向下一跳服务器发出呼叫请求。然后服务器决定下一跳的地址。

       ● 重定向服务器 (redirect server)

      重定向服务器是一个规划sip呼叫路径的服务器,在获得了下一跳的地址后,立刻告诉前面的用户,让该用户直接向下一跳地址发出请求而自己则退出对这个呼叫的控制。

       ● sip注册服务器 (sip register server)

       sip注册服务器用来完成对uas的登录,在sip系统的网元中,所有uas都要在某个登录服务器中登录,以便uac通过服务器能找到它们。

      图1所示为一个sip呼叫建立过程的示意图,如图中所示,一个sip终端发起呼叫后,通过访问sip代理服务器以及重定向服务器,找到目标终端,并实现连接。

       3.  sip同h.323的关系

      同sip的应用目的类似, h.323同样对基于包交换的网络上的多媒体通讯应用作出了相关定义。由于h.323和sip标准最初是由两个面对行业领域有所不同的标准组织所提出的,虽然目的都是为实现多媒体通讯,但由于不同的应用目标,决定了这二个标准有其各自不同的特点,不能简单地就将二者对立起来,指出哪个标准更先进、更科学。

      以下针对它们的应用目标、标准结构、系统组成以及系统实现的难易程度等几个方面进行简单分析。

       ● 标准的应用目标

       h.323标准是itu-t组织 1996年在h.320/h.324的基础上建立起来的,其应用目标是,在基ip的网络环境中,实现可靠的面向音视频和数据的实时应用。目前经过多年的技术发展和标准的不断完善,h.323已经成为被广大的itu成员以及客户所接受的一个成熟标准族。

       sip标准是itef组织在1999年提出的,其应用目标是在基于internet环境,实现数据、音视频实时通讯,特别是通过internet将视频通讯这种应用大众化,引入到千家万户。由于sip协议相对于h.323而言,相对简单、自由,厂商可以使用相对小的成本就可以构造满足应用的系统。例如仅仅使用微软基于sip协议的msn,和rtc就可以构造一个简单的,基于internet应用环境的视频通讯环境。这样网络运营商就可以在尽量少的成本基础上,利用现有的网络资源开展视音频通讯业务的扩展工作。

       ● 标准的体系结构

       h.323不是一个单一标准,而是一个关于在ip环境中实时多媒体应用的完整标准族,对于呼叫的建立、管理以及所传输媒体格式等各个方面都有完善而严格的规定。一个遵守h.323标准建立的多媒体系统,可以保证实现客户稳定完善的多媒体通讯应用。

       sip标准严格意义上讲是一个实现实时多媒体应用的信令标准,由于它采用了基于文本的编码方式,使得它在应用上,特别是点到点的应用环境中,具有极大的灵活性、扩充性以及跨平台使用的兼容性,这一点使得运营商可以十分方便的利用现有的网络环境实现大规模的推广应用。

      但是sip协议自身不支持多点的会议功能以及管理和控制功能,而是要依赖于别的协议实现,影响了系统的完备性,特别是对于需要多点通讯的要求,应用单纯的sip系统难以实现。针对这些不足,以radvison公司为首的itu-t sg16小组提出了sip的运用规范,并实现了sip和h.323之间的互通互联,并成功的解决了sip在多点环境下的应用难题。

      图2所示为sip和h.323混合应用的示例,在该示例中用户的sip视频终端和h.323的视频终端实现了互通,并可以实现多方会议。

       ● 系统的组成结构

      由图1我们不难看出,单纯sip系统同h.323系统相比较,在系统的组织成员以及呼叫流程方面都有相近之处。

      首先,在系统主要组成成员的功能性方面进行类比,sip的ua等价于一个h.323的终端,实现呼叫的发起和接收,并完成所传输媒体的编解码应用;sip代理服务器、重定向服务器以及注册服务器的功能则等价于h.323的gatekeeper,实现了终端的注册、呼叫地址的解析以及路由。

      其次,虽然在呼叫信令和控制的具体实现上不同,但一个基于sip的呼叫流程与h.323的q931相类似,sip所采用的会话描述协议(sdp)则类似于h.323中的呼叫控制协议h.245.

      由于sip的internet背景,使得sip系统在构造上较基于端到端应用的h.323系统要灵活的多,特别是在需要大规模应用的背景环境下,使用sip系统更容易构造复杂的拓扑结构,并将应用引入到网络的末端—用户家中。

       ● 系统实现的难易性

       h.323标准的信令信息是采用符合asn.1 per的二进制编码,并且在连接实现全过程都要严格标准的定义,系统的自由度小,如要实现大规模的应用,需要对整个网络的各个环节进行规划。

       sip标准的信令信息是基于文本的,采用符合iso10646的utf-8编码,并且全系统的构造结构相对灵活,终端和服务器的实现也相对容易成本也较低,从网络运营商的角度考虑,构造一个大规模视频通讯网络,采用sip系统的成本要廉价许多,而且也更具有可实现性。

       4.   总 结

      通过对sip和h.323协议之间进行比较,我们不难看出,h.323和sip之间不是对立的关系,而是在不同应用环境中的相互补充。sip作为以internet应用为背景的通讯标准,是将视频通讯大众化,引入千家万户的一个有效并具有现实可行性的手段。而h.323系统和sip系统有机结合,又确保了用户可以在构造相对廉价灵活的sip视频系统的基础上,实现多方会议等多样化的功能,并可靠的实现sip系统与h.323系统之间的互通,在最大程度上满足用户对未来实时多媒体通信的要求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434864.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hive sql 怎么实现循环_Hive存储过程实现-hpsql

1. 什么是hpsql目前版本的hive中没有提供类似存储过程的功能,使用Hive做数据开发时候,一般是将一段一段的HQL语句封装在Shell或者其他脚本中,然后以命令行的方式调用,完成一个业务或者一张报表的统计分析。好消息是,现…

解决若干WTL与VS2010的兼容问题(如error MSB6006: “cmd.exe”)

解决[error MSB6006: “cmd.exe” 已退出,代码为 9009。]问题: The AppWizard for VS2010 above has two small glitches (however they might deter people from using WTL with VS2010). These are very easy to fix: 1) [Output Directory] and [Intermediate Di…

arcgis中制作复杂符号

简介 在arcgis制图中常会遇到复杂的制图符号,如下 通过平常的代码显示并不会显示原图这样的效果,接下来我们开始解决改问题 主要思想: 通过字体文件将其显示 所以的软件: arcgis和FontCreator FontCreator软件下载链接

vb 通过php连接mysql数据库连接_PHP连接MySQL数据库的几种方法

1.最简单的方式-mysql(面向过程)$con mysql_connect("localhost","root","password");$select_db mysql_select_db(test);if (!$select_db) {die("could not connect to the db:\n" . mysql_error());}//查询代码$sql "select…

处理硬件设备访问权限问题

在硬件抽象层模块中,我们是调用open函数来打开对应的设备文件的。例如,在2.3.2小节中开发的硬件抽象层模块freg中,函数freg_device_open调用open函数来打开设备文件/dev/freg。 60 if((dev->fd open(DEVICE_NAME, O_RDWR)) -1) { 61 …

根据rtk参数在arcgis中进行可视化

RTK原始文件 通过原始文件发现,arcgis中并没有中央经线是113的CGS2000投影坐标,所以此处需要进行自定义投影转换 不懂问题请进群交流

django图片上传到oss_django 配置阿里云OSS存储media文件的例子

1. 安装django-aliyun-oss2-storage包linux上用 pip install django-aliyun-oss2-storage 无报错,顺利安装windows上报错:(python3_sbs) F:\projects\virtualenv\python3_sbs\Scripts>pip install django-aliyun-oss2-storageCollecting django-aliyun-oss2-stor…

解决mapgis转位置范围偏差过大的问题(比例尺)

问题描述: 在mapgis投影坐标转地理坐标,结果发现地理坐标错误 这样的地理坐标很明显是错误的,发现经度位置些许有些偏差,纬度有大幅度偏差 问题主要出现在在调整投影参数的比例尺分母不正确 解决: 找一个相似研究范围的mapgis文件或者shp文件 方法1(mapgis文件): …

有意思的小学数学竞赛题-2

刚刚在matrix67上看到一篇很有意思的帖子,原文http://www.matrix67.com/blog/archives/4485 我老早就写过一个经典的小学几何题。如果你还没看过这个问题,你一定要去看看。一个小学奥数老师曾 经告诉我,当年带领学生参加这次竞赛时&#xff0…

c语言递归例题分数_C语言递归练习(附答案)

dic递归基础练习题:1.求123……n的值//a(a1)…bint sum(int a,int b){if(ba) return a;return asum(a1,b);}2.求1*2*3*……*n的值a*(a1)*(a2)…*bcheng(int begin,int end){if(beginend) return begin;return begin * cheng(begin1,end);}5.小猴子第一天摘下若干桃子…

MYSQL安装时解决要输入current root password的方法

在装MYSQL的时候发现要输入current root password (你的系统曾经装过MYSQL在重装就会要求输入原来设定的密码,如果是第一次安装就不会出现) 终归结出以下解决方法: 1.清除MYSQL的安装目录,默认是C:\Program Files 2.清除MYSQL数据存放目录&#xff0…

利用python处理中国地面气候资料日值数据集(V3.0)

原始文件 数据链接 00年到18年气象数据,但是未进行处理-数据集文档类资源-CSDN下载00年到18年气象数据,但是未进行处理,如果需要处理好的数据(execl和shp),请查看本博主其他更多下载资源、学习资料请访问C…

window.open使用中遇到的问题

前端开发中经常要用到 window.open 弹出一个新窗口来进行交互,但是在使用过程中却会碰到各种各样的问题,下面是我在平时开发过程中碰到的一些问题。 对于winodw.open的使用可以先看下这个文章 http://www.w3help.org/zh-cn/causes/BX1053 一.浏览器拦截…

VC的MySQL编程

一、在你的程序中使用数据库是不错的注意。如果已经有可用的MySQL服务器,在VC中可以按照如下方法实现与数据库的连接。 1、找来MySQL(Win32)安装目录下的include文件夹,将其添加到VC头文件目录列表中; (VC6 -> Options -> D…

python免费学校_清华大学,的python学习路线,免费分享给小白福利

python应该是近几年比较火的语言之一,很多人刚学python不知道该如何学习,尤其是没有编程基础想要从事程序员工作的小白,想必应该都会有此疑惑,包括我刚学python的时候也是通过从网上查找相关资料以及从学校课程学习才确定python学…

mapgis转shp左右位置偏差

问题描述 问题原因 一般情况下,投影中心经度不会出现这么复杂的数字,一般都是1110000,1170000,前3个数字为整数后四个数字为0 问题解决 主要思想:通常相差的经纬度,调整投影中心点经度 解决步骤 1.试图…

Oracle Database Appliance

转载:http://www.hellodb.net/2011/09/oracle-database-appliance.html自从Oracle收购了SUN,不仅仅得到了MySQL,Java,Solaris等,还得到了SUN的硬件产品,真正成为了一家软硬通杀的服务提供商。这几年&#x…

arcgis中的插值分析了解

1.前言 打开arcgis工具箱我们可以发现arcgis为我们提供了多种插值分析的工具,克里金插值、反距离权重插值、样条函数插值等,具体如图所示 在工具箱中除地形转栅格和通过文件实现地形转栅格是用来绘制dem数据,其他就是我们日常研究所用的插值工…

gcovr 安装_Kudu 1.8.0 编译安装配置

安装环境:CentOS6.8*3解决系统依赖:yum install autoconf automake cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain flex gcc gcc-c gdb git java-1.8.0-openjdk-devel krb5-server krb5-workstation libtool make openssl-devel patch pkgconfig…

关于Outlook删除原邮箱邮件的解决办法

最近需要用邮件多一些,就配置了一下Outlook客户端,配置的时候一般直接点下一步,自动配置就可以了,我也试过手动配置,解决老是出问题。别说,Outlook用起来还是相当方便的,不用每次都打开浏览器输…