SIP Servlet Engine© Documentations
 
  Top >   Overview >   Release Note [SIP Servlet Engine Version 3.0.0]
 
 

Release Note [SIP Servlet Engine Version 3.0.0]

1. Introduction

This document describes release information for SIP Servlet Engine 3.0.0. It provides information about changes from the previous version, known problems, and bug fixes.

For information about how to install this product, see the INSTALL.txt after decompressing the archive file which is compressed into a zip file.
Use the unzip or jar command to decompress it.

$ jar xvf sipap-3.0.0.zip

2. Licenses

SIP Servlet Engine uses the following products:

  • SIP Servlet API 1.0 (dynamicsoft, Sun Microsystems)
  • WebLogic Server 8.1 SP3 (BEA)
  • Jakarta Tomcat 4.1.29 (Apache Software Foundation)
    and the Java libraries redistributed by Tomcat
  • Log4J 1.2.8 (Apache Software Foundation)
  • SNMPTrapAppender for Log4J v. 1.2.9 (M2 Technologies)
  • dom4j 1.5 (DOM4J Project)
  • JUG (Java UUID Generator)
  • Jakarta Struts 1.1 (Apache Software Foundation)
  • JoeSNMP (PlatformWorks, Inc)
  • XDoclet (XDoclet Team)

For license information for these products, see the following files and URL:

  1. For license information for the SIP Servlet API, see the legal/sipservlet-LICENSE.html after decompressing the archive file.
  2. For license information for dom4j, see the legal/dom4j-license.html after decompressing the archive file.
  3. For license information for SNMPTrapAppender, see the legal/snmpTrapAppender-LICENSE.TXT after decompressing the archive file.
  4. JUG is distributed by LGPL. JUG can be downloaded from the following site.
    http://www.doomdark.org/doomdark/proj/jug/
  5. Acknowledgment (Apache Software Foundation)
    "This product includes software developed by the Apache Software Foundation (http://www.apache.org/)."
  6. JoeSNMP is distributed by LGPL. JoeSNMP can be downloaded from the following site.
    http://www.opennms.org/
  7. For license information for XDoclet, see the lega/xdoclet-license.html after decompressing the archive file.

3. Changes from the Previous Version

V3.0.0

  • These changes require updating the license file if you are using V2.x. Contact your sales representative.

The basic components used to access database (user management, location management, presence management, and role management) have been migrated to the corresponding SPIs. For information about how to migrate these basic components to the SPIs, see Migrating Basic Components to SPIs.

4. Known Problems and Limitations

  • AP-00001 Problem about Compatibility with the SIP Servlet API
  • AP-00002 Problem that 100rel is Not Supported
  • AP-00003 Problem that TLS is Not Supported
  • AP-00006 Problem that the J2EE-related Tags are Not Supported
  • AP-00010 Problem that Forking the SUBSCRIBE Requests is Not Supported
  • AP-00011 Problem that Virtual Hosting is Not Supported
  • AP-00013 Problem about Limitations on the Servlet.init() and Servlet.destroy()
  • AP-00014 Problem about Limitations on Communication via TCP on Windows Platforms
  • AP-00015 Problem about Limitations in a Clustered Environment
  • AP-00016 Problem about Limitations When Upgrading from SSE 2.x

AP-00001 Problem about Compatibility with the SIP Servlet API

SIP Servlet Engine supports the "SIP Servlet API (Version 1.0)" as an SIP servlet engine, but now it does not support the following functions:

  1. The Application Composition function
    SIP Servlet Engine does not deliver an initial request properly when it matches multiple SIP servlets. In this case, it delivers the request only to any one SIP servlet.
  2. Retrieving HTTP sessions
    SIP Servlet Engine can not return HTTP sessions using the SipApplicationSession.getSessions() method. This method returns SIP sessions only. But HTTP sessions can be registered explicitly in your application.
  3. Support for the sar file
    The SIP Servlet API defines the sar file as a format for containing an SIP application, but the sar extension can not be specified. Deploy the same contents as a war file. For more information, see
    Interaction between Servlet Contexts in SIP Servlet Programming.

AP-00002 Problem that 100rel is Not Supported

The 100rel extension defined in RFC3262 does not operate. If the following information is specified in a message header,

Require: 100rel

a 420 error message is returned to this request.

AP-00003 Problem that TLS is Not Supported

TLS does not operate as an SIP transport protocol, and the available transport protocols are only TCP and UDP. Therefore, the <transport-guarantee> which is a child element of the <user-data-constraint> element is not supported. If any value other than NONE is specified in the <transport-guarantee>, an exception will be thrown.

AP-00006 Problem that the J2EE-related Tags are Not Supported

This release does not support the <ejb-link> which is a child of the <ejb-ref> and <ejb-local-ref> elements. If the <ejb-link> is specified, the setting is ignored.

This release does not support the send-by parameter in the Via header defined in RFC3261. If the send-by parameter is specified, the setting is ignored.

AP-00010 Problem that Forking the SUBSCRIBE Requests is Not Supported

This release does not support the SUBSCRIBE requests forked at proxies defined in RFC3265. SIP sessions are not generated properly for the SUBSCRIBE requests forked at proxies.

AP-00011 Problem that Virtual Hosting is Not Supported

This release does not support virtual hosting. Use SIP applications on only one virtual host. When an SIP servlet is used on multiple virtual hosts, SIP messages may not be delivered properly to the servlet.

AP-00013 Problem about Limitations on the Servlet.init() and Servlet.destroy()

SIP Servlet Engine does not open the port for receiving SIP messages until the J2EE container has completely started. Therefore, if SIP servlets are simultaneously generated and initialized by the <load-on-startup> in the sip.xml, the following limitations apply to the Servlet.init():

  1. When the SipServletRequest.send() is executed, the message is sent after the J2EE container has completely started.
  2. Because the SipServletRequest.send() does not actually send the request, an exception of the SipServletRequest.send() can not be caught.
  3. You can not write code like the sample code shown below which verifies the response of the request sent by the SipServletRequest.send() before proceeding to the next process.
public syncronized init() {
    ...
    SipFactory factory = getFactory();
    SipServletRequest req = factory.createRequest(...);
    wait();
    ...
}

public synchronized doSuccessResponse(SipServletResponse res) {
    notifyAll();
}

When you use WebLogic Server as a J2EE container, during WebLogic Server startup applications may perform the following processes:

  1. Startup
  2. Shutdown
  3. Restart

Therefore, the third limitation on the Servlet.init() also applies to the Servlet.destroy(). In this case, the init() affected by the 3. limitation sends only the request which the SipServletRequest.send() has attempted to send after WebLogic Server has started. The request which the SipServletRequest.send() has attempted to send in the init() affected by the 1. limitation is destroyed by the destroy() affected by the 3. limitation.

AP-00014 Problem about Limitations on Communication via TCP on Windows Platforms

When SIP Servlet Engine runs on a Windows platform, communication via TCP does not operate properly. Use only UDP as a transport protocol.

AP-00015 Problem about Limitations in a Clustered Environment

The clustering function through SIP session replication can be used in SSE V3.0 or later. But the following SIP applications does not support the clustering function.

If you start these SIP servlets in a clustered environment, they may perform an unexpected operation. And the sip-demo that uses these SIP servlets does not also work correctly in a clustered environment.

AP-00016 Problem about Limitations When Upgrading from SSE 2.x

SSE V3.0 or later accesses database through the SPIs. You need to create a new WebLogic domain to use the SPIs because they are incompatible with the basic components in V2.x or earlier. And note that V2.x and V3.x can not be co-located on the same WebLogic.


*1: Because JBoss does not provide the SNMP adapter function in the standard distribution.

Last Modified:Wed Jan 12 16:31:57 JST 2005