`
icsnowing
  • 浏览: 40693 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
阅读更多
JAIN SIP:
         Java API for Integrated Networks SIP,JSR32定义了其规范。PSTN、Wireless、Internet使用的都是JSR32。

(1)用途:

    JAIN SIP可被用于以下几个方面:①用于J2SE平台,开发独立的user agent、proxy和注册应用程序;②作为SIP Servlet容器的基础SIP实现;③作为EJB容器的基础SIP实现。

    这是规范中的准确定义。

(2)对协议的支持:

    JAIN SIP支持RFC3261定义的全部功能,并且支持以下SIP扩展:INFO方法(RFC2976)、临时响应的可靠性(RFC3262)、事件通知框架(RFC3265)、UPDATE方法(RFC3311)、Reason头(RFC3326)和为即时消息定义的Message方法(RFC3428)。

(3)编程模型:

    JAIN SIP标准化了SIP协议定义的通用事务模型接口,提供了从事务接口访问dialogue功能的方法。它采用Listener/Provider事件驱动模型,定义了很多factory类,用于创建Request和Response消息和SIP头。它为每个支持的头定义了通用接口,可添加到Request和Response中。SIP消息通过一个事务被传到SipProvider,SipListener用于监听到来的事件。此外,JAIN SIP被设计为可扩展的,定义了通用的扩展头接口。

(4)其他:

    JAIN SIP并不仅是一个客户端API,它还可以用于一些服务器扩展。比如,JAIN SLEE资源适配器采用JAIN SIP作为基础。此外,它同样可以与SIP Servlet一起使用,或者直接与EJB结合使用。

    由于JAIN SIP API是对SIP标准的完整定义,任何基于SIP的程序可将JAIN SIP API用作Java标准接口,成为经JAIN SIP认证的栈。这意味着应用服务器、SIP电话、网关及网关控制器、SIP服务器、基于SIP的业务、SIP计费解决方案、开发者工具包、SIP测试工具、SIP用户代理、以及SIP网络管理,均可利用JAIN SIP API实现在SIP栈实施中的通用性。典型的SIP网络中,JAIN SIP接口用于代理服务器、媒体网关和客户端。JAIN SIP API涵盖比用户代理或客户端软件所需更多的内容。

    SIP Servlet

    规范JSR 116,即SIP Servlet API v1.0,提供下载.jar包;JSR289,即SIP Servlet API v1.1,最终发布于2006.12,.jar包尚未提供下载。

(1)概述

    SIP Servlet定义了一个环境,执行基于网络的SIP应用。它用于开发应用服务器,可支持SIP、HTTP和J2EE平台。建立在HTTP Servlet API规范之上,定义了API和用于应用打包的文件格式。SIP Servlet的核心能力是作为UA或proxy处理SIP信令。API规范的目的是允许应用完全的控制SIP信令,同时隐藏SIP协议的复杂性。

(2)SIP Servlet API的重要特性:

• SIP signaling:允许应用表现比较完整的SIP信令行为,包括UAC、UAS和proxy。

• Simplicity:容器处理“非本质的”复杂问题,比如管理网络监听点、重传、CSeq、Call-ID和Via头、路由等。

• Converged applications:容器支持聚合应用,即跨越多种协议和媒体类型,比如web、电话和在线应用。

• Third party application development:servlet模型支持第三方应用开发。XML部署描述符用于应用开发者和部署者之间交流信息。

• Application composition:多个应用可能会执行同一个到来或发送的请求或响应。每个应用拥有自己的一系列规则,并且以定义好的有序的方式独立于其他应用执行。

• Carrier grade: servlets将应用数据存储在容器管理的session对象中。为实现高可达性,可能需要保持或复制这些数据。

(3)对协议的支持:

    SIP Servlet支持RFC3261定义的基础SIP功能,同时还支持一些SIP扩展:事件通知框架(RFC3265)和为即时消息定义的Message方法(RFC3428)。

(4)几个特点:

    FOCUS:enabling communication capabilities to non-telecom developers.

    Converged Application:一个Servlet应用可能同时包含SIP servlet和HTTP servlet。聚合的容器用来部署SIP和HTTP servlet,并且允许状态在他们之间共享。通过应用session将多个协议session绑定在一起。

    Application Composition:SIP Servlet允许一个请求触发多个应用。应用组合功能的选择和多条匹配规则的选择交由应用来管理。但是,如果实现了应用的组合,那么规范要求cascaded业务模型,即应用之间是互相独立的,每一个都必须遵守标准的SIP规则。

(5)编程模式——容器 SIP Servlet的另一个特点

    SIP servlet最核心的概念是容器。SIP Servlet容器既可以控制下层的SIP事务,也可以管理已经建立的对话。SIP Servlet容器负责管理监听点、线程、事务、对话、会话状态和应用组件等资源,提供了可供应用程序使用的许多服务,比如自动重试、消息调度和排队、分流和归并,以及状态管理。应用程序中只需包含高级的消息处理和业务逻辑。这使SIP服务的开发成为一件轻而易举的事情。业务开发优势之一

    基于SIP Servlet和基于HTTP Servlet进行应用开发的模式很相似,这对于熟悉HTTP Servlet编程的开发人员来说,使用SIP Servlet开发变得非常容易。此外,SIP Servlet API与J2EE Servlet API的关系密切,并且它具有较强的可扩展性。业务开发优势之二

    JAIN SIP与SIP Servlet比较

(1)适用平台不同:JAIN SIP适用于J2SE平台;SIP Servlet适用于J2EE平台。

(2)SIP Servlet旨在enabling communication capabilities to non-telecom developers,这使得它更适合于各种业务的开发,包括企业级应用;而JAIN SIP没有这一特点。个人认为,这是决定SIP Servlet广泛用于聚合业务开发的很重要的因素。

(3)JAIN SIP在使用和开发应用时比SIP Servlet API更友好;SIP Servlet运行在Java EE容器上,因此使用环境更加强健。这种说法不太理解,是指JAIN SIP编程模式更简单吗?

(4)JAIN SIP API典型应用是用于客户端应用的开发;SIP Servlet API更适合于服务器端应用的开发。
分享到:
评论

相关推荐

    JAIN SIP 帮助文档

    2. **JAIN SIP组件**:介绍JAIN SIP API中的主要类和接口,如`SipFactory`、`SipStack`、`SipProvider`、`MessageFactory`、`HeaderFactory`等,它们在SIP应用程序中的角色和用法。 3. **会话管理**:讲解如何使用...

    JAIN SIP代码全集

    1. **SIP实体**: JAIN SIP API定义了几个核心的实体,包括`SipProvider`(提供SIP服务)、`SipStack`(管理SIP堆栈)和`SipFactory`(创建SIP对象)。开发者可以使用这些实体来创建和管理SIP会话。 2. **消息处理**...

    jain-sip-presence-proxy.jar.zip_JainSip_jain sip proxy_jainsip p

    基于JAINsip的一个proxy源码,有对sip感兴趣的朋友,可以下载,作为sip的一个代理服务器,实现sip消息的接收和发送。

    JAIN SIP实例代码及文档

    **JAIN SIP实例代码及文档**是一份涵盖了JAIN SIP协议栈相关知识的资源集合,主要包含协议栈的JAR文件、详细的协议栈文档以及基于message实现的实例代码。这份资源对于理解并应用SIP(Session Initiation Protocol)...

    JAIN-SIP-Intellij_jainsip_

    基于javafx与jainsip的聊天软件

    基于jain sip的聊天室 完整版 服务器+客户端

    **基于JAIN SIP的聊天室系统详解** JAIN SIP(Java API for Integrated Networks Session Initiation Protocol)是Java语言中用于实现会话初始化协议(SIP)的应用编程接口。SIP是一种应用层控制协议,用于创建、...

    基于JainSip的聊天室程序

    基于JainSip的聊天室程序,其中包含sip包,对练习JainSip有帮助。

    JAIN-SIP例子

    JAIN-SIP的例子,带界面。可以发送和接受sip报文, 解释了Jain-sip基本原理和功能 适合初学者

    jain sip 开发包(api文件和文档)

    在Java EE环境中,可以通过Servlet容器来部署SIP应用,利用容器提供的服务,如会话管理和事务处理。 **5. 实例分析** 一个简单的JAIN SIP应用可能涉及以下步骤: 1. 初始化SIP堆栈,创建`SipStack`实例。 2. 创建`...

    基于JAIN SIP的sip实现技术

    基于JAIN SIP的sip实现技术。sip 的java实现

    SIP需要用到的四个包中的jain-sip-ri-1.2.295.jar

    SIP需要用到的四个包:concurrent-1.3.4.jar,jain-sip-api-1.2.1.4.jar,jain-sip-ri-1.2.295.jar,log4j-1.2.8.jar

    一个简单的JAVA-JAIN-SIP客户端,可以连接SIP服务端发起呼叫

    包括登陆和发起呼叫流程

    SIP需要用到的四个包中的jain-sip-api-1.2.1.4.jar

    SIP需要用到的四个包:concurrent-1.3.4.jar,jain-sip-api-1.2.1.4.jar,jain-sip-ri-1.2.295.jar,log4j-1.2.8.jar

    基于jain sip的聊天室

    **基于JAIN SIP的聊天室系统详解** JAIN SIP(Java API for IP Multimedia Subsystems)是一种Java编程接口,专门用于构建VoIP(Voice over IP)和多媒体通信应用。在这个基于JAIN SIP的聊天室系统中,我们探讨的是...

    jain sip 源码

    jain sip 源码

    基于JAINSIP的多媒体会议系统设计与实现

    基于JAINSIP的多媒体会议系统设计与实现 基于JAINSIP的多媒体会议系统设计与实现 基于JAINSIP的多媒体会议系统设计与实现

    JAIN-SIP 例子

    **JAIN-SIP 例子详解** JAIN-SIP(Java API for Internet Multimedia Signaling)是一个开源的Java库,专门用于实现会话初始化协议(SIP)。SIP是一种应用层控制协议,广泛应用于VoIP、即时通讯和多媒体会议等场景...

    jain-sip.rar_JAIN SIP ri1.2_between_jain_jain sip_sip

    jain-sip is a protocol to comunicate between cliens throught service.

    用于呼叫控制的JAINSIP

    用于呼叫控制的JAIN SIP 用于呼叫控制的JAIN SIP 用于呼叫控制的JAIN SIP 用于呼叫控制的JAIN SIP

    JAIN SLEE与SIP Servlet比较说明

    SIP Servlet是Java标准化机构JCP制定的一个SIP应用及其运行容器的开放化的标准应用程序接口,它基于目前流行的J2EE中的Java Servlct架构,将互联网应用的开发模式移植到SIP应用开发中。 SIP Servlet是基于组件与容器...

Global site tag (gtag.js) - Google Analytics