Skip to end of metadata
Go to start of metadata

A short introduction to SIP.

SIP stands for Session Initiation Protocol and is an application level signaling protocol.
It is designed to create, modify and terminate sessions between one or more participants.
Typical SIP sessions can be telephone calls, multimedia distribution and conference participations.

The base SIP specification is defined by IETF rfc3261.

SIP container/Sip Servlet API (SSA).

The Sip Servlet API (SSA) is an extension of the HTTP Servlet Specification. Some important aspects of
the SSA :

  • For developing SIP enabled applications. Supporting UAC, UAS, Proxy and B2BUA.
  • Aligned with HTTP Servlet API for development of converged applications (originating HTTP,

sending SIP request, bridging HTTP and SIP Session) spawning multiple protocols and media types.

  • Separating the developer and the deployer roles by deployment descriptors
  • Several applications may execute on the same incoming or outgoing messages,

which allows application composition. Every application processes the message
independently from one another.

  • Application data can be stored in sessions and application context.

There are two versions of SSA, 1.0 and 1.1:

  • SSA 1.0 is defined in JSR 116, which have reached final status (released).
  • SSA 1.1 is defined in JSR 289, which is still on early stage (under development).

The SIP container is under development, towards SSA 1.1 (JSR 289).
SSA 1.0 Test Compatibility Kit (TCK) tests towards the SIP container passes with the exception
of two failures :

  • test_context. This test case, among other, checks that the information in context is Servlet related. But some extra information is stored there by the application server which causes this to fail. This is not a violation of the SSA 1.0 and can be counted as not critical.
  • test_proxy_gen2xx. This tests the ability of a proxy to generate its own 2XX responses, to act as an UAS. This functionality is not implemented in current version, but there is ongoing effort to add this.

The Sip Stack

The Sip Servlet implementation requires a Sip stack to control the signaling operations.
The Sip Stack is provided by Ericsson Inc, and is currently used for Ericsson IMS products.
The Sip Container and Stack were developed at Ericsson R&D sites in Stockholm, Sweden.

Some characteristics of the Sip Stack implementation :

  • Lazy Parsing
  • Low footprint
  • Efficient

Sailfin: Open Source SIP Servlets Technology for GlassFish.

The Sailfin project, adds SIP Servlets technology extension to Glassfish, providing high availability, clustering features and integrating with the existing services. Sailfin is a joint effort, working towards to achieve JSR-289 compatibility and will be the source of all SIP related development for Glassfish.

Code examples:

List of terms

A terminology list can be found here..

Known Limitations

A list of known limitations and problems can be found here

Links page

Useful Sip Container related links can be found here.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Sign up or Log in to add a comment or watch this page.

The individuals who post here are part of the extended Oracle community and they might not be employed or in any way formally affiliated with Oracle. The opinions expressed here are their own, are not necessarily reviewed in advance by anyone but the individual authors, and neither Oracle nor any other party necessarily agrees with them.