|
|||||||
Guide for Introducing SIP Servlet EngineWith 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:
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.
Purposes of SIP Servlet EngineAs 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
Advantages for Operation Managers
Advantages for End Users
Development ModelThis 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 ApplicationA 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 FeaturesThis 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 ApplicationThis 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.
In SIP Servlet Engine 3.0, communication mechanism between containers by SOAP is unsupported. Sample System Configuration of SIP Servlet EngineThis 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.
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 EngineConfiguration of Components
Components that makes up SIP Servlet Engine and their relationships are shown above. Summary of each component is described in the following.
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.
*2: Configured by WEB-INF/sip.xml. Last Modified:Fri Jan 07 20:41:29 JST 2005 |
|||||||
|