Contributors:
Amit
Chatterjee (Lead)
Becky
McElroy
|
Jiplet Container - a container for SIP applications
Jiplet is short for Java SIP Servlet. The Jiplet Container is an
open-source container for server-side SIP applications. An application
developer can create a SIP application written in Java using the Jiplet
API and deploy the application in the container. The container provides
a number of framework services including support for SIP message
parsing and formatting, scoped variables, authentication and
authorization, thread-pooling, logging, custom class loading,
management interface, etc. It enables application developer to create
server-side SIP applications
using a component-based model similar to that envisioned by the J2EE
architecture. In fact, it fits very well with the J2EE
paradigm for software development and deployment. The jiplet container
software can either be run as a standalone Java application or deployed
as a service residing in a J2EE server. When running as a J2EE service,
the jiplet container can access many of the features offered by the
J2EE server. In addition, The jiplet container is built with the
service
provider model in mind. In this model, a service provider can host
customized
SIP applications
from their customers in a secure manner similar to the servlet hosting
offered by many service
providers.
The jiplet container is very similar to a Java HTTP servlet container
in
concept. A Java
HTTP servlet is a Java class that handles HTTP messages from web
browsers.
Similarly, a jiplet is a Java class that handles SIP messages from SIP
user agents (SIP phones and SIP servers). A servlet container
like Apache
Tomcat can host one or more web applications (contexts), each
consisting of one or more servlets. Similarly, the jiplet container can
host one or more SIP applications (contexts) consisting of one or more
jiplets. Similar to the servlet API authored by Sun Microsystems, the
jiplet
container provides a set of Java classes that jiplet applications
extend or use. The services provided by these classes are very similar
to those of the servlet API including scoped variables, request
forwarding from one jiplet to another, etc. As in a servlet
container, new jiplet applications, or contexts, can be deployed using
a zipped file called spr (war
is the Java servlet
terminology). Since there are differences between the HTTP and SIP
protocols, the
servlet and the jiplet containers have some notable differences.
However, the jiplet is not a formal specification like the servlet
specification. It is also not an implementation of the SIP servlet
specification (JSR 116) authored by Sun and its community of
users. There are many similarities between the jiplet
and the SIP servlet in terms of features. If you are familiar with SIP
servlets, you will feel right at home with the jiplet container.
We are planning to continue developing the jiplet container based on
feedback provided by that the open-source community. We are
hoping that open-source developers will extend this tool and the
specification instead of a committee.
Some of the features of the Jiplet Container application include:
- Open-source API for developing server-side SIP
applications.
Based on the JAIN-SIP
API.
- Offers component-based development model.
- Servlet-like development and runtime environment.
- Access to powerful JAIN-API from SIP applications.
- Built in proxy functionality.
- Support for multi-homed SIP server.
- JMX management interface for interfacing with management
systems.
- Web-based user interface for managing jiplet applications.
- Support for scoped variables including application,
session, request, transaction and dialog-scoped variables.
- Support for forwarding SIP messages from one jiplet to
another.
- Container-managed authentication and authorization.
- Support for application timers.
- Support for signals from external entities.
- Support for naming and naming context.
- Can run as a standalone application or it can be integrated
with JBOSS as a J2EE service.
- Comprehensive support for the service-provider model.
The above features are explained in more details in the features
section of the Jiplet Container.
|