JAIN SIP 1.1 Reference implementation Description
The packages with the prefix gov.nist.javax.sip in distribution
collectively form the official reference implementation (RI) for JAIN SIP 1.1.
JAIN
-SIP is a JAVA standard API for low level access to a SIP protocol stack.
The organization of the implementation is slightly different
from that of the jain interfaces. Here is a brief description of the
JAIN-SIP implelemetnation packages.
The Parser Package (gov.nist.javax.sip.parser)
The parser is intended to be embedded in a SIP protocol stack or test tool
and for building sip extensions. The parser takes as input
either a buffer or an input stream and produces as output a parsed message
structure. The stream (PipelinedMsgParser) based parser is intended to
be used when TCP is used as the transport and the buffer based parser
is intended to be used when UDP is used as the transport mechanism (the
RI can be used over both TCP and UDP but does not yet implement sips).
This package also contains parsers for each of the headers defined in
the JAIN SIP specification.
The Stack package (gov.nist.javax.sip.stack)
The function function of the stack is to listen for incoming messages,
parse such messages and call a handler to do the appropriate thing
with the parsed message. The handler creates a JAIN event and hands
it off to the registered JAIN listener. The stack package includes a
Transaction and a Dialog layer. The Transaction layer takes care of
retransmission and matching requests to responses and other gory details.
The Dialog layer groups dialogs and is of use in building Dialog stateful
components such as User Agents and Proxy servers. These implement the
corresponding JAIN SIP interfaces directly.
The JAIN Header package implementation (gov.nist.javax.sip.header)
This package contains implementations of the header interfaces in the
corresponding JAIN package as well as the header factory implementation.
The JAIN Message package implementation (gov.nist.javax.sip.header)
This package implements SIP Request and Response interfaces and the Message
Factory interface.
The JAIN Address package implementation (gov.nist.javax.sip.address)
This package contains classes that implement the JAIN-SIP Address factory
and classes that implement the URI's defined in the JAIN-SIP spec.
The SDP package
The hierarchy contained in gov.nist.javax.sdp contains an implementation
of the JAIN SDP API (JSR 141). As such this is a stand-alone package; however,
its primary use here is so that it can be used in conjunction with the
SIP packages described above.
Backward Compatiblity Notice
JAIN-SIP 1.1 is not backward compatible with JAIN-SIP 1.0
and consequently NIST-SIP 1.2 is not backward compatible with NIST-SIP 1.1
(which implemented JAIN-SIP 1.0).
However, JAIN-SIP 1.1 supports many features that were not supported by
the previous API and more over NIST-SIP 1.1 has some protocol bugs which
have hopefully been resolved here.