`
icsnowing
  • 浏览: 41458 次
  • 性别: 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-presence-proxy.jar.zip_JainSip_jain sip proxy_jainsip p

    《Jain Sip Presence Proxy:Java SIP 代理服务器解析》 在现代通信技术中,Session Initiation Protocol(SIP)是一种广泛使用的协议,用于建立、修改和终止多媒体通信会话,如语音通话、视频会议等。Jain Sip是...

    基于JAIN SIP的sip实现技术

    ### 基于JAIN SIP的SIP实现技术 #### 1. 引言 当前,在构建电话网络的过程中,存在两大主流信令体系:H.323与SIP(Session Initiation Protocol,会话启动协议)。H.323是由ITU-T(国际电信联盟电信标准化部门)...

    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-Intellij_jainsip_

    标题“JAIN-SIP-Intellij_jainsip_”揭示了这是一个与JavaFX和JAIN SIP相关的项目,可能是一个使用IntelliJ IDEA开发的SIP(Session Initiation Protocol)通信应用。JAIN SIP是Java Advanced Intelligent Network ...

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

    Java Jain SIP是一个强大的开源库,用于在Java平台上构建SIP(Session Initiation Protocol)应用程序。这个简单的JAVA-JAIN-SIP客户端示例展示了如何利用该库与SIP服务器进行交互,实现登录和发起呼叫的基本功能。...

    jain-sip.rar_JAIN SIP ri1.2_between_jain_jain sip_sip

    JAIN SIP,全称为Java API for Internet Telephony Session Initiation Protocol,是一个开源的Java库,用于实现SIP(Session Initiation Protocol)协议。SIP是一种应用层控制协议,广泛用于多媒体通信,如VoIP...

    基于JainSip的聊天室程序

    JainSip,全称为Java API for Internet Protocol Multimedia Subsystem (IMS) Signaling,是Java中用于实现SIP(Session Initiation Protocol)应用的开放源代码库。SIP是一种网络协议,主要用于控制多媒体通信会话...

    JAIN SIP实例代码及文档

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

    JAIN-SIP例子

    **JAIN-SIP简介** JAIN-SIP(Java API for Internet Multimedia Subsystems - Session Initiation Protocol)是Java平台上的一个开源API,它为开发者提供了一种处理和实现SIP(Session Initiation Protocol)协议的...

    jainsip 教程

    ### jainsip 教程知识点概述 #### 一、jainsip简介 jainsip是Java Advanced Internet Networking Services (JAIN) SIP项目的一部分,它提供了一组Java API用于开发SIP(Session Initiation Protocol)应用。SIP是一...

    android使用JAIN jar包实现SIP协议栈

    ### 使用JAIN SIP API在Android 6.0中构建SIP协议栈 #### 一、引言 在当今移动通信领域,特别是在Android平台上实现SIP(Session Initiation Protocol)协议栈变得越来越重要。SIP是一种广泛使用的信令协议,用于...

    jain-sip.rar_SIP java_jain s_jain sip_shootist sip_sip java协议栈

    2. **JAIN SIP API**:学习JAIN SIP提供的接口和类,如`SipFactory`用于创建SIP对象,`SipStack`代表SIP堆栈,`SipProvider`用于发送和接收SIP消息。 3. **SIP会话管理**:掌握如何使用JAIN SIP创建、修改和终止SIP...

    JAIN-SIP-Tutorial.rar_jain sip_sip

    Java JAIN SIP教程 在Java世界中,JAIN (Java API for Integrated Networks) 是一个标准的应用程序编程接口,用于开发电话网络应用,如VoIP(Voice over IP)。SIP(Session Initiation Protocol)则是一种控制协议...

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

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

    jain sip 源码

    JAIN SIP,全称为Java API for Integrated Networks Session Initiation Protocol,是Java平台上的一个开源库,专门用于实现Session Initiation Protocol(SIP)的应用。SIP是一种应用层控制协议,常用于多媒体通信...

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

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

    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

    JAIN-SIP 例子

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

    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

Global site tag (gtag.js) - Google Analytics