SIP协议是什么?

1,SIP是类似于HTTP的基于文本的协议。

2,SIP可以减少应用特别是高级应用的开发时间。由于基于IP协议的SIP利用了IP网络,有关系统方面问题请找博主,看他名字一起交流学习。固定网运营商也会逐渐认识到SIP技术对于他们的深远意义

SIP(SessionInitiationProtocol,会话发起协议)是由IETF推出的一种用于建立、修改和终止多媒体会话的应用层控制协议。这些多媒体会话包括Internet多媒体会议、远程教育、Internet电话等。SIP侧重于将SIP网络电话作为互联网上的一个应用,所以SIP继承了互联网协议简单、开放、灵活的特点,既保证了对用户和会话的可管理性,又使网络核心负担大大减轻,实现可伸缩性。同时,与其他互联网应用(如FTP、E-mail等)相比较,SIP还增加了信令和QoS控制的要求。

SIP是一种基于文本的协议,它的语法和消息非常类似于HTTP协议,不同之处在于SIP不仅可以用TCP,也可以用UDP封装。SIP采用统一资源定位(URL,UniformResourceLocators)来指示会话的发起方(From八当前请求的目的地(RequestURL)和最终的接收方(To)。SIP的消息分为两大类:一类为客户发往服务器的请求消息;另一类为服务器返回的响应消息。SIP在消息体中采用SDP(SessionDescriptionProtocol,会话描述协议)来描述多媒体会话的媒体信息。SIP最大的特点是仅需利用已有的消息头字段,对其进行简单必要的扩充,就能很方便地支持各项新业务和智能业务,具有很强的灵活性和可扩充性。SIP协议天然具有对移动性的支持。SIP的动态注册机制,使用户端的移动变得十分方便。SIP协议为实现固定和移动业务的无缝融合创造了条件。3GPPR5版本已经选定SIP作为3G移动通信多媒体域的信令协议来实现基于IP的移动语音和多媒体通信。SIP的这些优越特征使其在NGN中占据很重要的主导地位。下图显示了一个典型的SIP呼叫建立的信令过程,具体过程如下。

建立呼叫的SIP信令过程

1、呼叫方对某个用户SIP:userA@company.com发起INVITE请求,该请求中提供了足够的信息,以便被叫方能参加该会话,包括媒体流的类型和格式以及地址和端口等信息,以SDP格式来表示,INVITE请求被送到本地的SIP代理服务器A;

2、本地的SIP代理服务器A通过DNS查询,得到域中处理SIP请求的重定向服务器的IP地址,并将接收到的请求转发到该SIP重定向服务器;

3、SIP重定向服务通过查询,了解到用户userA@company.com当前并不在本地,而是以userB@univeristy.edu登记(的服务器可以通过静态配置数据库入口来获得这些消息,或者用户通过使用SIPREGISTER消息动态通知重定向服务器),然后该服务器将请求重定向到university.edu;

4、本地的SIP代理服务器A通过DNS查询,得到域中处理SIP请求的代理服务器B的IP地址,并将接收到的INVITE请求转发到该SIP代理服务器B;

5、域中的SIP代理服务器B查询本地的位置服务数据库;

6、本地数据库返回有关userB@univeristy.edu的消息,指示该用户在本地是以userC@cs.university.edu注册的;

7、域的SIP代理服务器B将该INVITE请求转发到域中的SIP代理服务器C;

8、域中的SIP代理服务器C知道用户userC@cs.university.edu当前所登记的机器的IP地址,并将该INVITE请求转发到该地址;

9、被叫方userC@cs.university.edu接受该呼叫,并发回一个响应。该响应沿着10、11、12到达呼叫方,然后呼叫方返回一个确认(图中未标出),至此呼叫已经建立,可以开始在它们之间直接传输媒体流了。

我公司多年的SIP通信行业经验,为行业提供方案与产品

SIP功能

SIP被描述为用来生成、修改和终结一个或多个参与者之间的会话。这些会话包括Internet多媒体会议,Internet(或任何IP网络)电话呼叫和多媒体发布。会话中的成员能够通过多播或单播联系的网络来通信。SIP支持会话描述,它允许参与者在一组兼容媒体类型上达成一致。它同时通过代理和重定向请求到用户当前位置来支持用户移动性。SIP不与任何特定的会议控制协议捆绑。本质上,SIP提供以下功能:

•名字翻译和用户定位:无论被呼叫方在哪里都确保呼叫达到被叫方、执行任何描述信息到定位信息的映射,确保呼叫(会话)的本质细节被支持。

•特征协商:它允许与呼叫有关的组(这可以是多方呼叫)在支持的特征上达成一致(注意:不是所有各方都能够支持相同级别的特征)。例如,视频可以或不可以被支持。总之,存在很多需要协商的范围。

•呼叫参与者管理:呼叫中参与者能够引入其他用户,加入呼叫或取消到其他用户的连接。此外,用户可以被转移或置为呼叫保持。

•呼叫特征改变:用户应该能够改变呼叫过程中的呼叫特征。例如,一个呼叫可以被设置为"voice-only",但是在呼叫过程中,用户可以开启视频功能。也就是说一个加入呼叫的第三方为了加入该呼叫可以开启不同的特征。

SIP网络单元

SIP系统基本组成

SIP协议虽然主要为IP网络设计的,但它并不关心承载网络,也可以在ATM、帧中继等承载网中工作,它是应用层协议,可以运行于TCP,UDP,SCTP等各种传输层协议之上。SIP用户是通过类似于e-mail地址的URL标识,例如:sip:myname@mycompany.com,通过这种方式可以用一个统一名字标识不同的终端和通信方式,为网络服务和用户使用提供充分的灵活性。按逻辑功能区分,SIP系统由4种元素组成:用户代理、代理服务器、重定向服务器以及注册服务器。

1.用户代理

用户代理(UserAgent)分为两个部分:

客户端(UserAgentClient),负责发起呼叫;

用户代理服务器(UserAgentServer),负责接受呼叫并做出响应。

二者组成用户代理存在于用户终端中。用户代理按照是否保存状态可分为有状态代理、有部分状态用户代理和无状态用户代理。2.代理服务器

代理服务器(ProxyServer),负责接收用户代理发来的请求,根据网络策略将请求发给相应的服务器,并根据收到的应答对用户做出响应。它可以根据需要对收到的消息改写后再发出。

3.重定向服务器

重定向服务器(RedirectServer),用于在需要时将用户新的位置返回给呼叫方。呼叫方可根据得到的新位置重新呼叫。

4.注册服务器

注册服务器(Registrar),用于接收和处理用户端的注册请求,完成用户地址的注册。

以上几种服务器可共存于一个设备,也可以分布在不同的物理实体中。SIP服务器完全是纯软件实现,可以根据需要运行于各种工作站或专用设备中。UAC,UAS,ProxyServer,RedirectServer是在一个具体呼叫事件中扮演的不同角色,而这样的角色不是固定不变的。一个用户终端在会话建立时扮演UAS,而在主动发起拆除连接时,则扮演UAC。一个服务器在正常呼叫时作为ProxyServer,而如果其所管理的用户移动到了别处,或者网络对被呼叫地址有特别策略,则它将扮演RedirectServer,告知呼叫发起者该用户新的位置。

除了以上部件,网络还需要提供位置目录服务,以便在呼叫接续过程中定位被叫方(服务器或用户端)的具体位置。这部分协议不是SIP协议的范畴,可选用LDAP(轻量目录访问协议)等。

理论上,SIP呼叫可以只有双方的用户代理参与,而不需要网络服务器。设置服务器,主要是服务提供者运营的需要。运营商通过服务器可以实现用户认证、管理和计费等功能,并根据策略对用户呼叫进行有效的控制。同时可以引入一系列应用服务器,提供丰富的智能业务。

SIP的组网很灵活,可根据情况定制。在网络服务器的分工方面:位于网络核心的服务器,处理大量请求,负责重定向等工作,是无状态的,它个别地处理每个消息,而不必跟踪纪录一个会话的全过程;网络边缘的服务器,处理局部有限数量的用户呼叫,是有状态的,负责对每个会话进行管理和计费,需要跟踪一个会话的全过程。这样的协调工作,既保证了对用户和会话的可管理性,又使网络核心负担大大减轻,实现可伸缩性,基本可以接入无限量用户。SIP网络具有很强的重路由选择能力,具有很好的弹性和健壮性。

对话启动协议提供了一种既可在终端设备或代理服务器之间,也可向网关设备传输呼叫控制信息的方法,像许多现有的Internet协议一样,SIP中也包含了常用的HTTP协议。

SIP被认为是一种轻量级协议,因为该协议使用的是能被终端设备轻易生成并分析的简单文本命令。SIP只使用6个指令管理呼叫控制信息,SIP协议的简单易行是极低成本应用系统选择该协议的重要原因。

SIP并未对媒体传输机制加以定义,因此该协议能用在媒体传输作为专用设备的应用系统,这可以提高效率并降低成本。SIP也允许通过任意数据报协议传输呼叫控制信息,使其在非TCP/IP环境(如Novell或其他专有协议)中也能有效使用。

SIP的部分优点包括:

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

SIP的缺点包括:

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

低成本终端产品无疑是SIP最自然的应用了,像无线电话、以太网电话及其他带有有限计算和内存资源的设备都能使用该协议。由于SIP是一种优越的呼叫控制协议,因此是当前取代MGCP呼叫控制协议的首选。

上述每个协议强调了开发SIP网络电话系统所需技术的不同方面,当前开发的许多系统中至少包含其中一种协议,而且这些协议通常要求互操作性。所有这些协议在构建复杂SIP网络电话系统的过程中不断发展。各制造商都在尝试研制具备互操作性的系统,所以互操作能力将继续成为未来的一大挑战。由IETF和ITU衍生而来的新标准协议MGC(H.248/Megaco)有望成为MGCP在传输市场最强有力的竞争对手。

相关推荐
魏大帅。1 分钟前
Axios 的 responseType 属性详解及 Blob 与 ArrayBuffer 解析
前端·javascript·ajax
花花鱼7 分钟前
vue3 基于element-plus进行的一个可拖动改变导航与内容区域大小的简单方法
前端·javascript·elementui
k093311 分钟前
sourceTree回滚版本到某次提交
开发语言·前端·javascript
EricWang135832 分钟前
[OS] 项目三-2-proc.c: exit(int status)
服务器·c语言·前端
September_ning32 分钟前
React.lazy() 懒加载
前端·react.js·前端框架
web行路人42 分钟前
React中类组件和函数组件的理解和区别
前端·javascript·react.js·前端框架
超雄代码狂1 小时前
ajax关于axios库的运用小案例
前端·javascript·ajax
长弓三石1 小时前
鸿蒙网络编程系列44-仓颉版HttpRequest上传文件示例
前端·网络·华为·harmonyos·鸿蒙
小马哥编程1 小时前
【前端基础】CSS基础
前端·css
嚣张农民2 小时前
推荐3个实用的760°全景框架
前端·vue.js·程序员