With VoIP becoming widely used, the needs for VoIP have shifted from simply providing economical telephone service to linking voice communication with existing services on the Internet. SIP (Session Initiation Protocol) is a key technology that responds to this need. SIP is a protocol provided by IETF in RFC 3261, and is characterized in the following way:
WebLogic SIP Server 2.0.1 is an application server that supports the SIP Servlet API. SIP Servlet API is an API corresponding to the SIP version of HTTP Servlet, the de facto standard for developing Web applications, aiming at providing functionalities and manageability equivalent to those of HTTP Servlet.
For technical information regarding SIP Servlet API, see the Overview of SIP Servlets.
This section describes the development model of an application built with WebLogic SIP Server 2.0.1. Three development models are provided.
A model for an application using only the SIP protocol. The application developer can create any SIP application utilizing the standard API (SIP Servlet API). The created application is operated by deploying it on the WebLogic SIP Server. WebLogic SIP Server provides basic components so as to provide an efficient development environment to the application developers. In addition, since usage of development tools such as ProxyServlet enables construction of a debugging environment which can be operated on WebLogic SIP Server alone, the operation of the developed application can be checked before it is deployed to the actual system for operation.
This is a model that builds an application using both of the protocols SIP and HTTP concurrently. WebLogic SIP Server provides the following features to this model.
In WebLogic SIP Server 2.0.1, communication between containers via SOAP is not supported.
The configuration of interfaces between WebLogic Server and the SIP Servlet container is shown above. This diagram focuses on the HTTP servlet feature (HTTP Container) and the SIP servlet container feature (SIP Container).
The HTTP servlet container and SIP servlet container has several points at which they interface with one another. Explanations of these interfaces are provided in the following sections.
Startup/Shutdown Interaction
Operation of SIP Servlet container is closely linked with WebLogic Server. The SIP servlet container is designed to operate with the same life cycle as that of the HTTP servlet container, such that when WebLogic Server is started, SIP servlet container is also activated automatically, and when WebLogic Server is shut down, the SIP servlet container also executes shutdown process.
For details of starting and shutting down, see "Starting and Shutting Down" of this documentation or "Startup and Shutdown Classes."
Interaction by ExecuteQueue
ExecuteQueue is an execution queue provided by WebLogic Server. In WebLogic SIP Server 2.0.1, the SIP handler (SIP TCP/UDP Handler) that received an SIP message registers it to ExecuteQueue. By using ExecuteQueue, system administrator can manage the HTTP request process and the SIP process in a unified manner.
Interaction between Servlet Contexts
HTTP servlet container manages application configured by HTTP servlet, JSP*1 or the like on a container called HTTP servlet context. Similarly, SIP servlet container manages the SIP servlet within an application*2 on an SIP servlet context. Essentially, these servlet contexts were placed as a single application, and thus they must be linked with one another. Specifically, context management must conform to the life cycle of the application, and the context attributes must be shared. In WebLogic SIP Server, an environment is provided in which Web and SIP applications are executed concurrently by linking HTTP/SIP servlet contexts.
Invocation from HTTP Servlet
In WebLogic SIP Server 2.0.1, a mechanism is provided for activating methods within SIP servlets from HTTP servlets on the same context, as an interaction of application level. Although it is similar to RequestDispatcher in HTTP servlet specification, an API different from that of RequestDispatcher is used because the underlying protocol is different.
Security Interaction
WebLogic SIP Server 2.0.1 provides a security mechanism such that Web browser and SIP Softphone can use the same user ID and password. Since WebLogic Server uses JAAS as the base technology for security mechanism, WebLogic SIP Server also provides a security feature that operates on JAAS.
JMX/MBean Interaction
WebLogic Server 8.1 SP4 uses JMX (MBean) for internal administration of the system. Accordingly, a module that can manage WebLogic SIP Server 2.0.1 as well is registered as MBean in MBeanServer provided by WebLogic Server. Thus, system administrator can manage SIP applications and SIP servlet containers by utilizing a standard administration client (e.g., Admin Console) provided by WebLogic Server.