首页 > 运营 > 话题运营 > JAVA 中SIP(会话初始化协议)的实现

JAVA 中SIP(会话初始化协议)的实现


一、sip是什么?

 SIP(Session Initiation Protocol)是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。这些会话可以好似Internet多媒体会议、IP电话或多媒体分发。会话的参与者可以通过组播(multicast)、网状单播(unicast)或两者的混合体进行通信。
  SIP是类似于HTTP的基于文本的协议。SIP可以减少应用特别是高级应用的开发时间。由于基于IP协议的SIP利用了IP网络,固定网运营商也会逐渐认识到SIP技术对于他们的深远意义。
  使用 SIP,服务提供商可以随意选择标准组件。不论媒体内容和参与方数量,用户都可以查找和联系对方。SIP 对会话进行协商,以便所有参与方都能够就会话功能达成一致以及进行修改。它甚至可以添加、删除或转移用户。
  SIP它既不是会话描述协议,也不提供会议控制功能。为了描述消息内容的负载情况和特点,SIP 使用 Internet 的会话描述协议 (SDP) 来描述终端设备的特点。SIP 自身也不提供服务质量 (QoS),它与负责语音质量的资源预留协议 (RSVP) 互操作。它还与若干个其他协议进行协作,包括负责定位的轻型目录访问协议 (LDAP)、负责身份验证的远程身份验证拨入用户服务 (RADIUS) 以及负责实时传输的 RTP 等多个协议。
  SIP 的一个重要特点是它不定义要建立的会话的类型,而只定义应该如何管理会话。有了这种灵活性,也就意味着SIP可以用于众多应用和服务中,包括交互式游戏、音乐和视频点播以及语音、视频和 Web 会议。SIP消息是基于文本的,因而易于读取和调试。新服务的编程更加简单,对于设计人员而言更加直观。SIP如同电子邮件客户机一样重用 MIME 类型描述,因此与会话相关的应用程序可以自动启动。SIP 重用几个现有的比较成熟的 Internet 服务和协议,如 DNS、RTP、RSVP 等。不必再引入新服务对 SIP 基础设施提供支持,因为该基础设施很多部分已经到位或现成可用。
  对 SIP 的扩充易于定义,可由服务提供商在新的应用中添加,不会损坏网络。网络中基于 SIP 的旧设备不会妨碍基于 SIP 的新服务。例如,如果旧 SIP 实施不支持新的 SIP 应用所用的方法/标头,则会将其忽略。
  SIP 独立于传输层。因此,底层传输可以是采用 ATM 的 IP。SIP 使用用户数据报协议 (UDP) 以及传输控制协议 (TCP),将独立于底层基础设施的用户灵活地连接起来。SIP 支持多设备功能调整和协商。如果服务或会话启动了视频和语音,则仍然可以将语音传输到不支持视频的设备,也可以使用其他设备功能,如单向视频流传输功能。
  通信提供商及其合作伙伴和用户越来越渴求新一代基于 IP 的服务。现在有了 SIP(The Session Initiation Protocol 会话启动协议),一解燃眉之急。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 dot net 的下一个版本将使用基于 SIP 的 VoIP 应用接口层,并承诺向用户 PC 提供基于 SIP 的语音和视频呼叫。
  另外,MCI 正在使用 SIP 向 IP 通信用户部署高级电话技术服务。用户将能够通知主叫方自己是否有空以及首选的通信方式,如电子邮件、电话或即时消息。利用在线信息,用户还能够即时建立聊天会话和召开音频会议。使用 SIP 将不断地实现各种功能。

二、 SIP 规定了以下基本的通信要求:
  1. 用户定位服务
  2. 会话建立
  3. 会话参与方管理
  4. 特点的有限确定

三、在java api中 SIP Servlet类似于HTTP Servlet都继承自java Servlet

实现了相同的方法,所以开发基于其的应用程序也相当简单。

在javax.servlet.sip包中和javax.servlet.http同样都是扩展自javax.servlet不同的是一个实现了HTTP协议 ,而另一个实现了

sip协议

感谢关注 Ithao123话题运营频道,ithao123.cn是专门为互联网人打造的学习交流平台,全面满足互联网人工作与学习需求,更多互联网资讯尽在 IThao123!

关键词:

精选专题

Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。 Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

产品设计是互联网产品经理的核心能力,一个好的产品经理一定在产品设计方面有扎实的功底,本专题将从互联网产品设计的几个方面谈谈产品设计

随着国内互联网的发展,产品经理岗位需求大幅增加,在国内,从事产品工作的大部分岗位为产品经理,其实现实中,很多从事产品工作的岗位是不能称为产品经理,主要原因是对产品经理的职责不明确,那产品经理的职责有哪些,本专题将详细介绍产品经理的主要职责