1.概述:

SIP(Session Initiation Protocol,会话初始协议)是由IETF制定的多媒体通信协议。它是一个基于文本的应用层控制协议,用于创建、修改和释放一个或多个参与者的会话。会话的参与者可以通过组播(multicast)、网状单播(unicast)或者两者的混合体进行通信。SIP的一个重要特点是SIP不需要定义建立会话的类型,只需要定义如何管理会话。

2.发展历程:

SIP 出现于二十世纪九十年代中期,源于哥伦比亚大学计算机系副教授Henning Schulzrinne 及其研究小组的研究。Schulzrinne 教授除与人共同提出通过 Internet 传输实时数据的实时传输协议(RTP) 外,还与人合作编写了实时流传输协议 (RTSP) 标准提案,用于控制音频视频内容在 Web 上的流传输。

Schulzrinne 本来打算编写多方多媒体会话控制 (MMUSIC) 标准。1996 年,他向 IETF 提交了一个草案,其中包含了 SIP 的重要内容。1999 年,Shulzrinne 在提交的新标准中删除了有关媒体内容方面的无关内容。随后,IETF 发布了第一个 SIP 规范,即 RFC 2543。虽然一些供应商表示了担忧,认为 H.323 和 MGCP 协议可能会大大危及他们在 SIP 服务方面的投资,IETF 继续进行这项工作,于 2001 年发布了 SIP 规范 RFC 3261。

RFC 3261 的发布标志着 SIP 的基础已经确立。从那时起,已发布了几个 RFC 增补版本,充实了安全性和身份验证等领域的内容。例如,RFC 3262 对临时响应的可靠性作了规定。RFC 3263 确立了 SIP代理服务器的定位规则。RFC 3264 提供了提议/应答模型,RFC 3265 确定了具体的事件通知。
 
3.会话构成:
SIP会话使用四个主要组件:用户代理、注册服务器、代理服务器、重定向服务器
 
4.RFC下载地址:http://www.ietf.org/
 
5.开源协议栈:
(1)osip:遵循IETF标准,使用ANSI C编写,开源SIP协议栈。下载地址:http://www.gnu.org/software/osip/
(2)exosip:对osip的扩展,提供更高一层的更容易使用的sip接口。下载地址:http://download.savannah.gnu.org/releases/exosip/

SIP介绍的更多相关文章

  1. sip会话流程以及sip介绍(2)

    下面我们通过一个简单的场景例子来简单介绍一下 SIP 会话流程. Tom 和 Jerry 是非常好的伙伴,Tom 在他的 PC 上使用一个 SIP 的应用程序呼叫 Internet 上另一个 SIP ...

  2. [转载]El Capitan 中 SIP 介绍

    这两天大家纷纷将 OS X 系统升级到了 El Capitan,然后发现,一些注入的工具无法使用了,某些系统目录无法使用了,第三方未签名的 kext 无法加载了,问题一堆堆的.这是因为,Mac OS ...

  3. El Capitan 中 SIP 介绍

    http://havee.me/mac/2015-10/system-integrity-protection-on-el-capitan.html 这两天大家纷纷将 OS X 系统升级到了 El C ...

  4. sip会话流程以及sip介绍(3)

    1.mtk_ims_mo_sip报文交互流程 log: 步骤1:ATD触发MO呼叫尝试步骤2:VDM选择ADS到IMS.步骤3:触发VoLTE UA来设置MO调用.步骤4:SIP信息到P-CSCF进行 ...

  5. sip会话流程以及sip介绍(1)

    参考连接 :https://www.2cto.com/kf/201609/546336.html https://www.w3cschool.cn/session_initiation_protoco ...

  6. Python - SIP参考指南 - 介绍

    介绍 本文是SIP4.18的参考指南.SIP是一种Python工具,用于自动生成Python与C.C++库的绑定.SIP最初是在1998年用PyQt开发的,用于Python与Qt GUI toolki ...

  7. 介绍一个开源的SIP(VOIP)协议库PJSIP

    本文系转载,出处不可考. 假设你对SIP/VoIP技术感兴趣,哪希望你不要错过:),假设你对写出堪称优美的Code感兴趣 ,那么你也不可错过:) 这期间我想分析一下一个实际的协议栈的设计到实现的相关技 ...

  8. 基于SIP和RTP协议的开源VOIP之QuteCom简单介绍

    **************************************************************************************************** ...

  9. SIP协议简单介绍

    sip协议是由IETF提出的IP电话信令协议,主要目的是为了解决ip网络中的信令控制,以及同软交换通信. sip协议类似http协议: 报文结构: start-line message-header ...

随机推荐

  1. 自定义列表dl的使用原因和场合

    为什么要使用自定义列表? dl和ol, ul的区别? 要正确理解dl的意图, 理解 dl的 "语义" ! 才能知道为什么要使用dl, 以及在什么时候/ 什么情况下使用 dl? dl ...

  2. vijos1740 聪明的质监员 (二分、区间求和)

    http://www.rqnoj.cn/problem/657 https://www.vijos.org/p/1740 P1740聪明的质检员 请登录后递交 标签:NOIP提高组2011[显示标签] ...

  3. 一张图读懂https加密协议

    搭建CA服务器和iis启用https:http://blog.csdn.net/dier4836/article/details/7719532 一张图读懂https加密协议 https是一种加密传输 ...

  4. [译]angularjs directive design made easy

    原文: http://seanhess.github.io/2013/10/14/angularjs-directive-design.html AngularJS directives很酷 Angu ...

  5. 用GL画出人物的移动路径

    注意:用Debug画的线会存在穿透问题 没啥好解释的,直接看代码: using UnityEngine; using System.Collections; using System.Collecti ...

  6. 第二章平稳时间序列模型——AR(p),MA(q),ARMA(p,q)模型及其平稳性

      1白噪声过程: 零均值,同方差,无自相关(协方差为0) 以后我们遇到的efshow如果不特殊说明,就是白噪声过程. 对于正态分布而言,不相关即可推出独立,所以如果该白噪声如果服从正态分布,则其还将 ...

  7. mybaties # , $

    mybaties会对#引入的值加上双引号, 如: #{buildingName} -------->"buildingName";mybaties会将$引入的值直接显示到sq ...

  8. android 读取SQLite android could not open the database in read/write mode错误

    由于AndroidManifest.xml文件中uses-permission没有设置权限问题 <uses-permission android:name="android.permi ...

  9. mytbatis小问题

    使用mybatis出现以下异常 SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, Postgr ...

  10. Nginx反向代理多虚拟主机代理

    根据http://www.cnblogs.com/zzzhfo/p/6032095.html这个环境配置 在web01和web02上配置基于域名的虚拟主机 web01 [root@web01 /]# ...