jsr289 学习手记
jsr289是jcp在2008年推出的sip servlet 1.1标准。代替之前比较旧的jsr116 sip servlet1.0
近段时间在看这个。
没有很多有条理的归纳,只是以提纲提要的形式归纳一下就好。
1 如果应用设置了load on startup的时候报错,容器应该调用SipApplicationRouter.applicationUndeployed().方法
2 sip servlet 与Http servlet生命周期类似,一次初始化,多次反复调用
3 Servlet接口内If the message is a request the response argument MUST be null, and if the message is a response, the request argument MUST be null.
4 SipServlet内有一大堆do***方法,其中很多方法默认的response是501/nothing
but The doAck and doCancel do nothing
5 如果接收到unknown的request,按么可以override doRequest()方法
6 在所有情况下都会被容器调用service()而调用,并且带有一个request的 object和null的response
7 调用过程中出错的话必须返回500,最好在sip Header给出出错信息
8不要手动修改from 和to的头的tag,交由容器管理
9为提高性能,尽快创建ApplicationSession和sipSession对象
10 Session
From the SDP specification: “A multimedia session is a set of multimedia senders and receivers and the data streams flowing from senders to receivers. A multimedia conference is an example of a multimedia session.” [RFC 2327] (A session as defined for SDP can comprise one or more RTP sessions.) As defined, a callee can be invited several times, by different calls, to the same session. If SDP is used, a session is defined by the concatenation of the user name, session id, network type, address type and address elements in the origin field.
11 SIP transaction
A SIP transaction occurs between a client and a server and comprises all messages from the first request sent from the client to the server up to a final (non-1xx) response sent from the server to the client.
核心API:
12 并行搜索:同时向多个地址发送请求,寻找其中的有效的案例。
SipFactory sipfactory = (SipFactory) getServletContext().getAttribute(
SIP_FACTORY);
相比上一版本的改进
不再将from和to header定义为System header以便提供更加灵活的身份识别。RFC 4916
分享到:
相关推荐
### JSR75 学习笔记(一) #### 一、概述 JSR75 (Java Specification Request 75) 是 Java 技术规范之一,它定义了移动设备上访问本地文件系统的 API(应用程序接口)。这使得开发人员能够在 J2ME(Java 2 Micro ...
#### 一、JSR168与JSR286背景 JSR168(Java Specification Request 168)是Java门户技术的第一个标准化规范,发布于2003年10月。这一规范定义了一种通用框架,用于构建基于门户的应用程序和服务,其核心目标是促进...
JSR(Java Specification Requests)是Java社区进程(JCP,Java Community Process)的一部分,用于提出和定义新的Java技术规范。JSR168和JSR268是两个与Java Portal技术相关的标准,它们主要涉及如何创建和管理可...
**JSR133中文版** 是一份关于Java内存模型(Java Memory Model,JMM)的重要文档,它详细解释了JSR(Java Specification ...通过深入学习JSR133中文版,开发者能够更好地驾驭Java并发世界,提升代码的稳定性和效率。
通过学习和应用JSR256 API,开发者可以构建创新的移动应用,利用传感器数据实现各种功能,例如健康监测、室内导航、游戏控制等。结合J2ME的便携性,JSR256在物联网和智能设备领域有着广泛的应用前景。
Spring Core提供了一种优雅的方式来处理参数校验,特别是通过JSR 303、JSR 349和JSR 380这些标准注解,实现了高效且易于维护的验证机制。 JSR 303最初定义了JavaBean验证的标准,而JSR 349是其修订版,主要增加了对...
JSR 168是portlet规范的第一个主要版本,发布于2003年。它定义了一个portlet如何与门户服务器进行通信的接口,允许portlet在门户页面上与其他portlet并存,并提供了一套标准化的方法来处理用户的请求和显示内容。JSR...
**JSR 173 API**,全称为Java Specification Request 173,是Java社区进程(Java Community Process)发布的一个标准,旨在为Java平台引入标准化的可扩展性框架,以便处理XML流数据。该API的主要目标是为Java开发者...
JSR-133对Java内存模型的改进还包括对 Happens-Before 关系的清晰定义,这是一组规则,用于描述在多线程环境中哪些操作是有序的。例如,构造函数的结束发生在对象引用被发布到其他线程之前,这就是一个Happens-...
本规范是JSR-176(定义了JavaTM平台 Tiger(5.0)发布版的主要特性)的一部分。本规范的标准内容将合并到JavaTM语言规范、JavaTM虚拟机规范以及java.lang包的类说明中。本JSR-133规范将不再通过JCP维护和修改。未来...
"Drools的JSR94实现形式" 指的是Drools这一规则引擎如何遵循Java Rule Engine API(JSR 94)标准来实现其规则执行的功能。JSR 94是Java平台上的一个规范,定义了如何在Java环境中构建和使用规则引擎。Drools作为一款...
JSR 250,全称为Java Specification Request 250,是Java EE 5和6规范的一部分,它定义了一组用于企业级应用的注解。这些注解主要用于简化应用程序的生命周期管理,例如初始化、销毁、依赖注入等,从而提升代码的...
【标题】"服务端JSR303参数校验md,学习代码"涉及的主要知识点是服务端参数验证,这是Java后端开发中的一个重要环节,确保输入数据的有效性和安全性。JSR303(Java Bean Validation)是Java平台的一个标准,用于进行...
通过这样的示例项目,开发者可以学习如何在实际项目中有效地应用JSR 303进行参数验证,包括基本的注解使用、分组验证以及自定义验证的实现。这对于提高代码质量和安全性至关重要,因为有效的数据验证可以防止无效的...
综上所述,JSR256 Mobile Sensor API是一项重要的技术规范,它不仅为开发者提供了便捷的传感器访问方式,也促进了移动应用的发展。随着技术的进步,其应用领域将会越来越广泛,为人们的生活带来更多的便利。
JSR-168,全称为Java Specification Request ...对于想要学习和实施JSR-168标准的Java开发者来说,这份文档无疑是一份宝贵的资源。通过深入学习和实践,开发者可以利用JSR-168标准构建出高效、灵活的企业级门户应用。
JSR303,全称为Java Specification Request 303,是Java Community Process(JCP)提出的一个标准,用于提供服务器端数据校验框架。这个标准后来被JSR349取代,更名为Bean Validation,但JSR303仍然被广泛使用。JSR...