快速业务通道

使用SIP Servlet为Java EE添加语音功能 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
服务被邀请参与该会话。

ACK。确认客户端已经接收到 INVITE 请求的最终响应。此方法仅与 INVITE 请求一起使用。

CANCEL。用于取消挂起的请求。

BYE。由用户代理客户机发送,向服务器表明它希望终止呼叫。

OPTIONS。用于向服务器查询与它相关的功能。

使用SIP Servlet为Java EE添加语音功能(2)

时间:2011-07-18 Prasad Subramanian

响应代码:

1xx:临时用途。表明操作被成功接收、理解和接受的 ACK。

3xx:重定向。需要进一步操作来处理此请求。

4xx:客户机错误。请求包含错误的语法,不能在此服务器上进行处理。

5xx:服务器错误。服务器处理一个明显有效的请求失败。

6xx:全局失败。不能在任何服务器上处理该请求。

会话描述协议

会话描述协议(Session Description Protocol,SDP)是一种描述在多媒体会话中使用的媒体格式和类型的格式。SIP 使用 SDP 作为其消 息中的一个有效载荷,以方便各种用户代理之间的功能交换,例如,SDP 的内容可以指定用户代理支持的编解码器和要使用的协议,比如实时 传输协议(Real-time Transport Protocol,RTP)。

SIP 消息

图 2 展示了 SIP 消息的组成部分。SIP 消息主要包括三部分:

请求行。指定请求方法、地址和 SIP 版本。

头部。指定与要建立或终止的会话或呼叫相关的数据。

消息正文。提供有效载荷,也就是 SDP,描述用于会话的媒体。

使用SIP Servlet为Java EE添加语音功能 - 编程入门网

图 2. SIP 消息的组成部分

SIP Servlet 模型

SIP servlet 编程模型基于 servlet 编程模型。它使 SIP 中的编程与 Java EE 更加接近。Servlet 是处理传入请求和将合适的响应发送 到客户机的服务器端对象。它们通常部署到 servlet 容器中,并且具有定义良好的生命周期。servlet 容器负责管理容器中 servlet 的生命 周期以及管理与 servlet 所使用技术(比如 JNDI 和 JDBC)相关的资源。servlet 容器还管理 servlet 的网络连接。

如前所述,SIP servlet 与 HTTP Servlet 类似,但前者处理的是 SIP 请求。SIP servlet 通过定义具体方法来处理各 SIP 请求方法。例 如,HTTP servlet 定义 doPost() 方法(该方法覆盖 service() 方法)来处理 POST 请求。比较而言,SIP servlet 定义 doInvite() 方法 (也覆盖了 service() 方法)来处理 INVITE 请求。

JSR116 定义了 SIP Servlet API 1.0。它指定了:

一个用于 SIP servlet 编程模型的 API。

SIP servlet 容器的职责。

SIP servlet 如何与 HTTP servlet 和 Java EE 组件交互。

最初的 SIP Servlet API 规范已被修订为 JSR 289: SIP Servlet v1.1。

SIP Servlet API -- 关键概念

SIP servlet 底层的关键概念与 HTTP servlet 类似。以下各节简短介绍其中的一些概念。

SipServletRequest 和 SipServletResponse

SIP 中的“请求响应”方法与 HTTP servlet 类似。请求在 SipServletRequest 对象中定义,而响应在 SipServletResponse 对象中定义 。但是,只有一个 ServletRequest 或 ServletResponse 对象是非空的。这是因为一个 SIP 请求不会导致对称的响应。还有一个公共的高级 接口,称为 SipServletMessage,SipServletRequest 和 SipServletResponse 对象都可以使用。SipServletMessage 接口定义 SipServletRequest 和 SipServletResponse 对象通用的方法。

图 3 演示了 SipServletRequest 和 SipServletResponse 对象的层次结构。

使用SIP Servlet为Java EE添加语音功能 - 编程入门网

使用SIP Servlet为Java EE添加语音功能(3)

时间:2011-07-18 Prasad Subramanian

Servlet 上下文

servlet 规范中定义的 servlet 上下文也适用于 SIP servlet。servlet 规范定义了一些特定的上下文属性,用于存储和检索特定上下文 中的 SIP servlet 和接口信息。servlet 上下文可以与同一个规范中的 HTTP servlet 共享。这一点已在

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号