Screening list:alice@server.test
呼叫流程:
Servlet在doRequest方法中检查UA的URI是否在Screening列表中,如果在,返回603 DECLINE响应。
import java.io.IOException;
import java.util.*;
import javax.servlet.sip.*;
import javax.servlet.*;
public class CallScreen extends SipServlet {
Collection m_screenings;
SipFactory m_sipFactory;
public void init() throws ServletException {
m_screenings = new Vector();
m_sipFactory = (SipFactory) getServletContext().getAttribute(
"javax.servlet.sip.SipFactory");
Enumeration names = getInitParameterNames();
if (names == null) {
return;
}
while (names.hasMoreElements()) {
String name = (String) names.nextElement();
if (name.startsWith("screening-uri")) {
String screeningURI = (String) getInitParameter(name);
try {
SipURI uri = (SipURI) m_sipFactory.createURI(screeningURI);
m_screenings.add(uri);
}
catch (ServletException e) {
}
}
}
}
public void doRequest(SipServletRequest req) throws IOException {
SipURI from = (SipURI) req.getFrom().getURI();
Iterator uris = m_screenings.iterator();
while (uris.hasNext()) {
SipURI uri = (SipURI) uris.next();
if (uri.getHost().equals(from.getHost())) {
SipServletResponse resp = req
.createResponse(SipServletResponse.SC_DECLINE);
try {
resp.send();
}
catch (java.io.IOException e) {
}
return;
}
}
log(req.toString());
// ...
}
public void doResponse(SipServletResponse resp) throws IOException {
log(resp.toString());
// ...
}
}
分享到:
相关推荐
《SIPServlet-1.0-FCS:探索SIP服务的深度解析》 SIP(Session Initiation Protocol)是一种用于控制多媒体通信会话(如语音和视频通话)的应用层协议,广泛应用于VoIP(Voice over Internet Protocol)系统。在...
SipServlet API是Java平台上的一个关键组件,用于构建基于SIP(Session Initiation Protocol)的应用程序。SIP是一种协议,常用于控制多媒体通信会话,如语音和视频通话、在线会议、即时消息等。SipServlet API为...
【sipservlet_demo_chatroom】是一个基于SIP(Session Initiation Protocol)协议的聊天室示例项目,它展示了如何使用SIP Servlets来构建实时通信应用,如多人聊天室。SIP是一种IETF定义的开放标准协议,主要用于...
sipservlet 1.1 sip sipservlet 1.1 sipsipservlet 1.1 sip
标题中的"SIPServlet0[1].5.rar"表明这是一个关于SIP Servlets的资源包,版本号为0.1.5。SIP(Session Initiation Protocol)是一种用于控制多媒体通信会话(如语音和视频通话)的应用层协议,广泛应用于VoIP系统。...
SIP Servlet API是一个重要的软件开发接口,用于构建和管理基于Session Initiation Protocol (SIP)的应用程序。SIP是一种互联网协议,主要用于控制多媒体通信会话,如语音和视频通话、即时消息以及在线会议等。SIP ...
### SIP Servlet 1.1 知识点解析 #### 一、SIP Servlet 概念与背景 **SIP Servlet** 是一种基于 Java 的技术,它允许开发人员使用 **Session Initiation Protocol (SIP)** 来创建通信应用程序。SIP 是一种用于控制...
支持sip协议的sipServlet的jar包。
### SIP Servlet 开发详解 #### 一、引言与背景 IP多媒体子系统(IMS,IP Multimedia Subsystem)是下一代网络的...虽然面临着一定的挑战,但在标准化的支持下,SIP Servlet仍然是开发IMS应用服务器的理想选择之一。
英文版的sipservlet,对APi详解sipservlet undersatnd
【标题】"sip-servlet-jboss 1.2.0" 涉及的主要知识点是SIP Servlets在JBoss应用服务器上的实现和部署。SIP(Session Initiation Protocol)是一种用于控制多媒体通信会话(如语音和视频通话)的协议,而Servlets则...
1. IMS_SIP_INVITE/INFORMAL_RESPONSE:这是IMS MO CALL SIP信令的第一个消息,主要包含 Subscription ID、Version、Direction、SDP Presence、SIP Call ID Length、SIP Message Length、SIP Message Logged Bytes、...
注释@javax.servlet.sip.annotation.SipServlet,是Java Servlet API为SipServlet提供的注解,允许开发者声明一个Servlet类为SIP处理器,从而简化了SIP应用的配置和部署。通过这个注解,开发者可以在不修改web.xml...
【基于SIP协议的WEB CALL设计与实现】 Web Call是一种技术,它允许用户通过Web浏览器进行语音通话,利用Session Initiation Protocol (SIP) 这一标准通信协议来建立和管理多媒体通信会话。SIP协议广泛应用于VoIP...
ChatRoomServer的示例展示了SIP在即时消息传递场景中的应用,同时也揭示了SIP Servlet API如何简化服务开发,为开发者提供了更高层次的抽象。理解并掌握这些知识,对于开发面向未来的通信应用至关重要。
总结来说,“sip-servlets”项目是Java开发者构建SIP应用的重要资源,结合JAIN SIP API和SIP Servlet容器,开发者可以轻松实现复杂、高效且可扩展的多媒体通信解决方案。这个项目的源代码和文档将帮助开发者深入理解...
**SIP呼叫流程(Call Flow)**是SIP通信过程中的关键概念,描述了从呼叫发起直到呼叫结束的各个阶段和交互步骤。理解SIP呼叫流程对于网络管理员、开发者以及 VoIP 服务提供商来说至关重要,因为这有助于诊断和解决...
**SIP呼叫流程详解** SIP(Session Initiation Protocol)是一种用于控制多媒体通信会话(如语音和视频通话)的信令协议。在IP电话网络中,SIP扮演着核心角色,负责建立、修改和终止通信会话。本文将深入探讨SIP...