`

SIP协议介绍

    博客分类:
  • Java
 
阅读更多

介绍

  通信提供商及其合作伙伴和用户越来越渴求新一代基于 IP 的服务。现在有了 SIP协议(会话启动协议),一解燃眉之急。SIP协议 是不到十年前在计算机科学实验室诞生的一个想法。它是第一个适合各种媒体内容而实现多用户会话的协议,现在已成了 Internet 工程任务组 (IETF) 的规范。

  今天,越来越多的运营商、CLEC(竞争本地运营商)和 ITSP(IP 电话服务商)都在提供基于 SIP协议 的服务,如市话和长途电话技术、在线信息和即时消息、IP Centrex/Hosted PBX、语音短信、push-to-talk(按键通话)、多媒体会议等等。独立软件供应商 (ISV) 正在开发新的开发工具,用来为运营商网络构建基于 SIP协议 的应用程序以及 SIP协议 软件。网络设备供应商 (NEV) 正在开发支持 SIP协议 信令和服务的硬件。现在,有众多 IP 电话、用户代理、网络代理服务器、VOIP 网关、媒体服务器和应用服务器都在使用 SIP协议。

  SIP协议 从类似的权威协议--如 Web 超文本传输协议 (HTTP) 格式化协议以及简单邮件传输协议 (SMTP) 电子邮件协议--演变而来并且发展成为一个功能强大的新标准。但是,尽管 SIP协议 使用自己独特的用户代理和服务器,它并非自成一体地封闭工作。SIP协议 支持提供融合的多媒体服务,与众多负责身份验证、位置信息、语音质量等的现有协议协同工作。

  本白皮书对 SIP协议 及其作用进行了概括性的介绍。它还介绍了 SIP协议 从实验室开发到面向市场的过程。本白皮书说明 SIP协议 提供哪些服务以及正在实施哪些促进发展的方案。它还详细介绍了 SIP协议 与各种协议不同的重要特点并说明如何建立 SIP协议 会话。

新一代的服务

  SIP协议 较为灵活,可扩展,而且是开放的。它激发了 Internet 以及固定和移动 IP 网络推出新一代服务的威力。SIP协议 能够在多台 PC 和电话上完成网络消息,模拟 Internet 建立会话。

  与存在已久的国际电信联盟 (ITU) SS7 标准(用于呼叫建立)和 ITU H.323 视频协议组合标准不同,SIP协议 独立工作于底层网络传输协议和媒体。它规定一个或多个参与方的终端设备如何能够建立、修改和中断连接,而不论是语音、视频、数据或基于 Web 的内容。

  SIP协议 大大优于现有的一些协议,如将 PSTN 音频信号转换为 IP 数据包的媒体网关控制协议 (MGCP)。因为 MGCP 是封闭的纯语音标准,所以通过信令功能对其进行增强比较复杂,有时会导致消息被破坏或丢弃,从而妨碍提供商增加新的服务。而使用 SIP协议,编程人员可以在不影响连接的情况下在消息中增加少量新信息。

  例如,SIP协议 服务提供商可以建立包含语音、视频和聊天内容的全新媒体。如果使用 MGCP、H.323 或 SS7 标准,则提供商必须等待可以支持这种新媒体的协议新版本。而如果使用 SIP协议,尽管网关和设备可能无法识别该媒体,但在两个大陆上设有分支机构的公司可以实现媒体传输。

  而且,因为 SIP协议 的消息构建方式类似于 HTTP,开发人员能够更加方便便捷地使用通用的编程语言(如 Java)来创建应用程序。对于等待了数年希望使用 SS7 和高级智能网络 (AIN) 部署呼叫等待、主叫号码识别以及其他服务的运营商,现在如果使用 SIP协议,只需数月时间即可实现高级通信服务的部署。

  这种可扩展性已经在越来越多基于 SIP协议 的服务中取得重大成功。Vonage 是针对用户和小企业用户的服务提供商。它使用 SIP协议 向用户提供 20,000 多条数字市话、长话及语音邮件线路。Deltathree 为服务提供商提供 Internet 电话技术产品、服务和基础设施。它提供了基于 SIP协议 的 PC 至电话解决方案,使 PC 用户能够呼叫全球任何一部电话。Denwa Communications 在全球范围内批发语音服务。它使用 SIP协议 提供 PC 至 PC 及电话至 PC 的主叫号码识别、语音邮件,以及电话会议、统一通信、客户管理、自配置和基于 Web 的个性化服务。

  某些权威人士预计,SIP协议 与 IP 的关系将发展成为类似 SMTP 和 HTTP 与 Internet 的关系,但也有人说它可能标志着 AIN 的终结。迄今为止,3G 界已经选择 SIP协议 作为下一代移动网络的会话控制机制。Microsoft 已经选择 SIP协议 作为其实时通信策略并在 Microsoft XP、Pocket PC 和 MSN Messenger 中进行了部署。Microsoft 同时宣布 CE.net 的下一个版本将使用基于 SIP协议 的 VoIP 应用接口层,并承诺向用户 PC 提供基于 SIP协议 的语音和视频呼叫。

  另外,MCI 正在使用 SIP协议 向 IP 通信用户部署高级电话技术服务。用户将能够通知主叫方自己是否有空以及首选的通信方式,如电子邮件、电话或即时消息。利用在线信息,用户还能够即时建立聊天会话和召开音频会议。使用 SIP协议 将不断地实现各种功能。

历史回顾

  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 确定了具体的事件通知。

  早在 2001 年,供应商就已开始推出基于 SIP协议 的服务。今天,人们对该协议的热情不断高涨。Sun Microsystems 的 Java Community Process 等组织正在使用通用的 Java 编程语言定义应用编程接口 (API),以便开发商能够为服务提供商和企业构建 SIP协议 组件和应用程序。最重要的是,越来越多的竞争者正在借助前途光明的新服务进入 SIP协议 市场。SIP协议 正在成为自 HTTP 和 SMTP 以来最为重要的协议之一。

SIP协议 的优点:类似 Web 的可扩展开放通信

  使用 SIP协议,服务提供商可以随意选择标准组件,快速驾驭新技术。不论媒体内容和参与方数量,用户都可以查找和联系对方。SIP协议 对会话进行协商,以便所有参与方都能够就会话功能达成一致以及进行修改。它甚至可以添加、删除或转移用户。

  不过,SIP协议不是万能的。它既不是会话描述协议,也不提供会议控制功能。为了描述消息内容的负载情况和特点,SIP协议 使用 Internet 的会话描述协议 (SDP) 来描述终端设备的特点。SIP协议 自身也不提供服务质量 (QoS),它与负责语音质量的资源保留设置协议 (RSVP) 互操作。它还与若干个其他协议进行协作,包括负责定位的轻型目录访问协议 (LDAP)、负责身份验证的远程身份验证拨入用户服务 (RADIUS) 以及负责实时传输的 RTP 等多个协议。

SIP协议 规定了以下基本的通信要求:

1. 用户定位服务
2. 会话建立
3. 会话参与方管理
4. 特点的有限确定


  SIP协议 的一个重要特点是它不定义要建立的会话的类型,而只定义应该如何管理会话。有了这种灵活性,也就意味着 SIP协议 可以用于众多应用和服务中,包括交互式游戏、音乐和视频点播以及语音、视频和 Web 会议。

下面是 SIP协议 在新的信令协议中出类拔萃的一些其他特点

SIP协议 消息是基于文本的,因而易于读取和调试。新服务的编程更加简单,对于设计人员而言更加直观。

SIP协议 如同电子邮件客户机一样重用 MIME 类型描述,因此与会话相关的应用程序可以自动启动。

SIP协议 重用几个现有的比较成熟的 Internet 服务和协议,如 DNS、RTP、RSVP 等。不必再引入新服务对 SIP协议 基础设施提供支持,因为该基础设施很多部分已经到位或现成可用。

对 SIP协议 的扩充易于定义,可由服务提供商在新的应用中添加,不会损坏网络。网络中基于 SIP协议 的旧设备不会妨碍基于 SIP协议 的新服务。例如,如果旧 SIP协议 实施不支持新的 SIP协议 应用所用的方法/标头,则会将其忽略。

SIP协议 独立于传输层。因此,底层传输可以是采用 ATM 的 IP。SIP协议 使用用户数据报协议 (UDP) 以及传输控制协议 (TCP),将独立于底层基础设施的用户灵活地连接起来。

SIP协议 支持多设备功能调整和协商。如果服务或会话启动了视频和语音,则仍然可以将语音传输到不支持视频的设备,也可以使用其他设备功能,如单向视频流传输功能。 

SIP协议 会话构成

  SIP协议 会话使用多达四个主要组件:SIP协议 用户代理、SIP协议 注册服务器、SIP协议 代理服务器和 SIP协议 重定向服务器。这些系统通过传输包括了 SDP 协议(用于定义消息的内容和特点)的消息来完成 SIP协议 会话。下面概括性地介绍各个 SIP协议 组件及其在此过程中的作用。

SIP协议 用户代理 (UA) 是终端用户设备,如用于创建和管理 SIP协议 会话的移动电话、多媒体手持设备、PC、PDA 等。用户代理客户机发出消息。用户代理服务器对消息进行响应。

SIP协议 注册服务器是包含域中所有用户代理的位置的数据库。在 SIP协议 通信中,这些服务器会检索参与方的 IP 地址和其他相关信息,并将其发送到 SIP协议 代理服务器。

SIP协议 代理服务器接受 SIP协议 UA 的会话请求并查询 SIP协议 注册服务器,获取收件方 UA 的地址信息。然后,它将会话邀请信息直接转发给收件方 UA(如果它位于同一域中)或代理服务器(如果 UA 位于另一域中)。

SIP协议 重定向服务器允许 SIP协议 代理服务器将 SIP协议 会话邀请信息定向到外部域。SIP协议 重定向服务器可以与 SIP协议 注册服务器和 SIP协议 代理服务器同在一个硬件上。

以下几个情景说明 SIP协议 组件之间如何进行协调以在同一域和不同域中的 UA 之间建立 SIP协议 会话:

在同一域中建立 SIP协议 会话

  下图说明了在预订同一个 ISP 从而使用同一域的两个用户之间建立 SIP协议 会话的过程。用户 A 使用 SIP协议 电话。用户 B 有一台 PC,运行支持语音和视频的软客户程序。加电后,两个用户都在 ISP 网络中的 SIP协议 代理服务器上注册了他们的空闲情况和 IP 地址。用户 A 发起此呼叫,告诉 SIP协议 代理服务器要联系用户 B。然后,SIP协议 代理服务器向 SIP协议 注册服务器发出请求,要求提供用户 B 的 IP 地址,并收到用户 B 的 IP 地址。SIP协议 代理服务器转发用户 A 与用户 B 进行通信的邀请信息(使用 SDP),包括用户 A 要使用的媒体。用户 B 通知 SIP协议 代理服务器可以接受用户 A 的邀请,且已做好接收消息的准备。SIP协议 代理服务器将此消息传达给用户 A,从而建立 SIP协议 会话。然后,用户创建一个点到点 RTP 连接,实现用户间的交互通信。



 

1.呼叫用户 B
2.查询B在哪里 
3.响应B的SIP协议地址 
4.呼叫
5. 响应
6. 响应
7. 多媒体通道已建立

在不同的域中建立 SIP协议 会话

  本情景与第一种情景的不同之处如下。用户 A 邀请正在使用多媒体手持设备的用户 B 进行 SIP协议 会话时,域 A 中的 SIP协议 代理服务器辨别出用户 B 不在同一域中。然后,SIP协议 代理服务器在 SIP协议 重定向服务器上查询用户 B 的 IP 地址。SIP协议 重定向服务器既可在域 A 中,也可在域 B 中,也可既在域 A 中又在域 B 中。SIP协议 重定向服务器将用户 B 的联系信息反馈给 SIP协议 代理服务器,该服务器再将 SIP协议 会话邀请信息转发给域 B 中的 SIP协议 代理服务器。域 B 中的 SIP协议 代理服务器将用户 A 的邀请信息发送给用户 B。用户 B 再沿邀请信息经由的同一路径转发接受邀请的信息。 



 

1. 呼叫用户 B 2. 询问撐胰绾谓油ㄓ?B 中的用户 B?? 3. 响应摯砜刂破鞯挠虻刂窋 4. 摯頂呼叫域 B 的 SIP协议 代理 5. 查询撚没?B 在哪里?? 6. 用户 B 的地址 7. 代理呼叫 8. 响应 9. 响应 10.响应 11.多媒体通道已建立

无缝、灵活、可扩展:展望 SIP协议 未来

  SIP协议 能够连接使用任何 IP 网络(有线 LAN 和 WAN、公共 Internet 骨干网、移动 2.5G、3G 和 Wi-Fi)和任何 IP 设备(电话、PC、PDA、移动手持设备)的用户,从而出现了众多利润丰厚的新商机,改进了企业和用户的通信方式。基于 SIP协议 的应用(如 VOIP、多媒体会议、push-to-talk(按键通话)、定位服务、在线信息和 IM)即使单独使用,也会为服务提供商、ISV、网络设备供应商和开发商提供许多新的商机。不过,SIP协议 的根本价值在于它能够将这些功能组合起来,形成各种更大规模的无缝通信服务。

  使用 SIP协议,服务提供商及其合作伙伴可以定制和提供基于 SIP协议 的组合服务,使用户可以在单个通信会话中使用会议、Web 控制、在线信息、IM 等服务。实际上,服务提供商可以创建一个满足多个最终用户需求的灵活应用程序组合,而不是安装和支持依赖于终端设备有限特定功能或类型的单一分散的应用程序。

  通过在单一、开放的标准 SIP协议 应用架构下合并基于 IP 的通信服务,服务提供商可以大大降低为用户设计和部署基于 IP 的新的创新性托管服务的成本。它是 SIP协议 可扩展性促进本行业和市场发展的强大动力,是我们所有人的希望所在。

  • 大小: 9.5 KB
  • 大小: 27.7 KB
分享到:
评论

相关推荐

    ysoserial-master.zip

    ysoserial是一个用于生成利用不安全的Java对象反序列化的有效负载的概念验证工具。它包含一系列在常见Java库中发现的"gadget chains",可以在特定条件下利用执行不安全的反序列化操作的Java应用程序。ysoserial项目最初在2015年AppSecCali会议上提出,包含针对Apache Commons Collections(3.x和4.x版本)、Spring Beans/Core(4.x版本)和Groovy(2.3.x版本)的利用链

    zigbee CC2530无线自组网协议栈系统代码实现协调器与终端的TI Sensor实验和Monitor使用.zip

    1、嵌入式物联网单片机项目开发例程,简单、方便、好用,节省开发时间。 2、代码使用IAR软件开发,当前在CC2530上运行,如果是其他型号芯片,请自行移植。 3、软件下载时,请注意接上硬件,并确认烧录器连接正常。 4、有偿指导v:wulianjishu666; 5、如果接入其他传感器,请查看账号发布的其他资料。 6、单片机与模块的接线,在代码当中均有定义,请自行对照。 7、若硬件有差异,请根据自身情况调整代码,程序仅供参考学习。 8、代码有注释说明,请耐心阅读。 9、例程具有一定专业性,非专业人士请谨慎操作。

    YOLO算法-自卸卡车-挖掘机-轮式装载机数据集-2644张图像带标签-自卸卡车-挖掘机-轮式装载机.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

    Oracle10gDBA学习手册中文PDF清晰版最新版本

    **Oracle 10g DBA学习手册:安装Oracle和构建数据库** **目的:** 本章节旨在指导您完成Oracle数据库软件的安装和数据库的创建。您将通过Oracle Universal Installer (OUI)了解软件安装过程,并学习如何利用Database Configuration Assistant (DBCA)创建附加数据库。 **主题概览:** 1. 利用Oracle Universal Installer (OUI)安装软件 2. 利用Database Configuration Assistant (DBCA)创建数据库 **第2章:Oracle软件的安装与数据库构建** **Oracle Universal Installer (OUI)的运用:** Oracle Universal Installer (OUI)是一个图形用户界面(GUI)工具,它允许您查看、安装和卸载机器上的Oracle软件。通过OUI,您可以轻松地管理Oracle软件的安装和维护。 **安装步骤:** 以下是使用OUI安装Oracle软件并创建数据库的具体步骤:

    消防验收过程服务--现场记录表.doc

    消防验收过程服务--现场记录表.doc

    (4655036)数据库 管理与应用 期末考试题 数据库试题

    数据库管理\09-10年第1学期数据库期末考试试卷A(改卷参考).doc。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。

    YOLO算法-瓶纸盒合并数据集-3161张图像带标签-纸张-纸箱-瓶子.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

    职业暴露后的处理流程.docx

    职业暴露后的处理流程.docx

    Java Web开发短消息系统

    Java Web开发短消息系统

    java毕设项目之ssm基于java和mysql的多角色学生管理系统+jsp(完整前后端+说明文档+mysql+lw).zip

    项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 服务器:tomcat7

    批量导出多项目核心目录工具

    这是一款可以配置过滤目录及过滤的文件后缀的工具,并且支持多个项目同时输出导出,并过滤指定不需要导出的目录及文件后缀。 导出后将会保留原有的路径,并在新的文件夹中体现。

    【图像压缩】基于matlab GUI DCT图像压缩(含MAX MED MIN NONE)【含Matlab源码 9946期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    YOLO算法-挖掘机与火焰数据集-7735张图像带标签-挖掘机.zip

    YOLO算法-挖掘机与火焰数据集-7735张图像带标签-挖掘机.zip

    操作系统实验 Ucore lab5

    操作系统实验 Ucore lab5

    IMG_5950.jpg

    IMG_5950.jpg

    竞选报价评分表.docx

    竞选报价评分表.docx

    java系统,mysql、springboot等框架

    java系统,mysql、springboot等框架

    zigbee CC2530网关+4节点无线通讯实现温湿度、光敏、LED、继电器等传感节点数据的采集上传,网关通过ESP8266上传远程服务器及下发控制.zip

    1、嵌入式物联网单片机项目开发例程,简单、方便、好用,节省开发时间。 2、代码使用IAR软件开发,当前在CC2530上运行,如果是其他型号芯片,请自行移植。 3、软件下载时,请注意接上硬件,并确认烧录器连接正常。 4、有偿指导v:wulianjishu666; 5、如果接入其他传感器,请查看账号发布的其他资料。 6、单片机与模块的接线,在代码当中均有定义,请自行对照。 7、若硬件有差异,请根据自身情况调整代码,程序仅供参考学习。 8、代码有注释说明,请耐心阅读。 9、例程具有一定专业性,非专业人士请谨慎操作。

    YOLO算法-快递衣物数据集-496张图像带标签.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

    搜索引擎lucen的相关介绍 从事搜索行业程序研发、人工智能、存储等技术人员和企业

    内容概要:本文详细讲解了搜索引擎的基础原理,特别是索引机制、优化 like 前缀模糊查询的方法、建立索引的标准以及针对中文的分词处理。文章进一步深入探讨了Lucene,包括它的使用场景、特性、框架结构、Maven引入方法,尤其是Analyzer及其TokenStream的实现细节,以及自定义Analyzer的具体步骤和示例代码。 适合人群:数据库管理员、后端开发者以及希望深入了解搜索引擎底层实现的技术人员。 使用场景及目标:适用于那些需要优化数据库查询性能、实施或改进搜索引擎技术的场景。主要目标在于提高数据库的访问效率,实现高效的数据检索。 阅读建议:由于文章涉及大量的技术术语和实现细节,建议在阅读过程中对照实际开发项目,结合示例代码进行实践操作,有助于更好地理解和吸收知识点。

Global site tag (gtag.js) - Google Analytics