SIP Servlet Engine© Documentations
 
  Top >   System Administration >   Guide for Introducing SIP Servlet Engine
 
 

Guide for Introducing SIP Servlet Engine

With the VoIP service becoming widely used, the needs for VoIP have shifted from simply providing economical telephone service to linkage with the existing services on the Internet. As a key technology to respond to such needs, attention is being paid to SIP (Session Initiation Protocol). SIP is a protocol provided by IETF in RFC 3261 and is characterized in that:

  1. It is a text-based protocol having HTTP and SMTP as its foundation and thus having a high affinity for Internet services such as Web and e-mail.
  2. Since RFC 3261 defines only the core portion of SIP and its design presumes on combination with other existing technologies, SIP is highly flexible. For example, you can use combinations like SDP (RFC 2327) for session description and SIMPLE (SIP for Instant Messaging and Presence Leveraging Extensions) for presence definition.
  3. Standardization for developing applications that operates on SIP, such as CPL and SIP Servlet API, is in progress.

SIP Servlet Engine is an SIP application server product supporting SIP Servlet API. SIP Servlet API is an API corresponding to SIP version of HTTP Servlet, the de facto standard for development of Web applications, aiming at providing functionalities and manageability equivalent to those of HTTP Servlet.

For technical information regarding SIP Servlet API, see here.

SIP Servlet Engine is not merely a server supporting SIP API, but has the following features.

  • By providing reusable components for developing SIP applications as basic components, developers are provided with an environment in which SIP applications can be developed with ease.
  • By adopting WebLogic Server 8.1 SP3 as the platform on which SIP Servlet Engine operates, the platform for applications in which SIP and Web collaborate with each other is provided.

Purposes of SIP Servlet Engine

As purposes of SIP Servlet Engine, advantages of introducing SIP Servlet Engine are described below, from the standpoints of developers, operation manager and end users, respectively.

Advantages for Developers

An open application development environment based on industry-standard API
By adopting SIP Servlet API, developers can create SIP applications conforming to standard API. Since SIP Servlet API has similarity to HTTP Servlet, a relatively easy application development is possible if the developer has experience in Web servlets.
Provision of basic components and SPIs (Service Provider Interfaces) supporting application development
By using components such as 3PCC feature and SPIs such as location management interface, highly reliable applications can be developed within a short term.

Advantages for Operation Managers

Application management by J2EE standard
A deployment descriptor defined by SIP Servlet API is used for deploying an SIP application. The specification of this deployment descriptor is also almost similar to that of J2EE standard, and the operation manager can easily change the application settings.
Uniform management of maintenance operation is enabled
SIP Servlet Engine is integrated into WebLogic Server 8.1 SP3 which provides a management interface to enable operation management of the SIP application. For example, in WebLogic Server, you can utilize Admin Console to deploy applications and monitor the resources used by the SIP container.

Advantages for End Users

Availability of abundant services
Various services are available, including a service in which Web and SIP are linked, as well as multimedia service to which images are combined. In addition, by using the Web also with conventional telecommunications services, provision of a guidance with excellent user interface and the like are provided.
Enhanced flexibility in means for communication
By using the presence feature and instant message feature which are extension of SIP, communication is made possible with a method other than VoIP.

Development Model

This section describes the development model of an application assumed with SIP Servlet Engine. SIP Servlet Engine aims at supporting the following three types of development models.

Model for SIP Stand-Alone Application

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 SIP servlet engine. SIP Servlet Engine 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 SIP Servlet Engine alone, the operation of the developed application can be checked before it is deployed to the actual system for operation.

Model for Adding Web Application Features

This is a model in which SIP features are added to the existing Web application. Since the SIP application added here is a relatively simple one such as Click-to-dial feature, it is important that changes made to the existing application is suppressed as much as possible. SIP Servlet Engine provides general-purpose SIP features including 3PCC as basic components, and thus even developers not very familiar with SIP can add a real time communication feature to the existing Web application.

Model for Building SIP/Web Collaboration Application

This is a model that builds an application using both of the protocols SIP and HTTP concurrently. SIP Servlet Engine provides the following features to this model.

  • Standard API (SIP Servlet API) and general-purpose components for SIP-related process. [same as model for SIP stand-alone application]
  • General-purpose components including basic components for Web-related process. [same as model for adding Web application features]
  • Communication mechanism (e.g. SOAP) between containers for operation in which applications are distributed to SIP servlet container and Web AP server.
In SIP Servlet Engine 3.0, communication mechanism between containers by SOAP is unsupported.

Sample System Configuration of SIP Servlet Engine

This section describes system configuration utilizing SIP Servlet Engine by way of example.

Model for Development

The model for development embodies a system configuration used upon application development. This model is characterized in that all the server features required to develop an application are running on a single machine. Similar to WebLogic Server 8.1 SP3 which has embedded Web server feature, SIP Servlet Engine 3.0 provides principal SIP server features as development tools. SIP Servlet Engine 2.1 has the following three types of SIP servlets.

ProxyServlet
Feature to handle proxy server.
RegistrarServlet
Feature to handle registration server (Registrar).
PresenceServlet
Feature to handle presence server.
The above-mentioned SIP servlets should be used for development purpose only.

Small-Scaled Model

A small-scaled model embodies a system configuration used in a network configuration of a relatively small scale, such as communication server used in a SOHO or a division. In this model, Web server and SIP server are respectively placed in the prior stage of SIP Servlet Engine. The Web server enables processing of static contents, and the SIP server enables the process for which the above-mentioned development tools are responsible. In such configuration, most of the SIP requests are processed by the SIP server and thus SIP Servlet Engine can focus on processing logics specific to user AP.

Large-Scaled Model

With larger networks, redundant and load balancing features are required for stable operation. For SIP Servlet Engine, CenterStage-NS from Oki Electric Industry is recommended as the SIP server and BIG-IP from f5 Networks is recommended as the load balancer. However, before you construct a large-scaled network, be sure to have sufficient discussion with professionals upon choosing devices.

Internal Configuration of SIP Servlet Engine

Configuration of Components

Components that makes up SIP Servlet Engine and their relationships are shown above. Summary of each component is described in the following.

WebLogic Server
In addition to hosting the Web application portion of the user AP, WebLogic Server hosts SIP Servlet Engine itself. That is, SIP Servlet Engine runs on the same Java VM as the WebLogic Server on the process basis.
SIP servlet container
The core portion of SIP Servlet Engine, which includes features such as SIP protocol stack, SIP transaction management, SIP session management and SIP servlet management.
Basic components (EJB)
The portion of the basic components implemented as EJB, configured with database access such as location management hidden by SLSE.
Basic components (SIP)
The portion of the basic components implemented as SIP servlets. These components, such as SPCC servlets, run on the SIP servlet container, and are operated by retrieving information necessary for the operation of the AP from EJB.
Development tools
As already mentioned, these are the group of SIP servlets providing basic SIP server features. These SIP servlets are similar to the basic components (SIP) in that they operate by using SIP servlet container and EJB basic components.
User AP
Application developed by the user. Although it can be developed on the API provided by SIP servlet and EJB basic component, it is also possible to develop it on SIP basic component.

Collaboration with WebLogic Server

The configuration of interfaces between WebLogic Server and SIP Servlet Engine is shown above. This diagram focuses on the HTTP servlet feature (HTTP Container) of WebLogic Server 8.1 SP3 and SIP servlet container feature (SIP Container) of SIP Servlet Engine considered from their relationship.

Note that this diagram is a frame format for the purpose of explanation and the internal configuration of the system may not be identical to what is shown here.

As can be seen from the diagram, HTTP servlet container and SIP servlet container has some points at which they interface with one another. Explanations of these interfaces are provided in the following.

Startup/Shutdown Interaction

Operation of SIP Servlet Engine 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 SIP Servlet Engine 3.0, 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 SIP Servlet Engine, an environment is provided in which Web and SIP applications are executed concurrently by linking HTTP/SIP servlet contexts.

Invocation from HTTP Servlet

In SIP Servlet Engine 3.0, 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

SIP Servlet Engine 3.0 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, SIP Servlet Engine also provides a security feature that operates on JAAS.

JMX/MBean Interaction

WebLogic Server 8.1 SP3 uses JMX (MBean) for internal administration of the system. Accordingly, a module that can manage SIP Servlet Engine 3.0 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.


*1: This configuration information corresponds to WEB-INF/web.xml, etc.
*2: Configured by WEB-INF/sip.xml.

Last Modified:Fri Jan 07 20:41:29 JST 2005