This is the root of the JAIN implementation of SIP. It contains an
implementation of the Provider, Listener and Stack. Implementation of the
headers is contained in header and implementation of the parser in the
parser subdirectory. The SIP Protocol specific abstractions are implemented
in the stack subdirectory.
The RI contains several additional Features that are not required by the JAIN-SIP spec
and that can be enabled by RI-specific properties that are specified when the SipStack
is created. The purpose of these additional properties is to enable the following:
- Message Logging features - permits the application to log messages in
a format that are suitable for trace viewing using the trace viewer facility.
- TCP starvation attack prevention - Limit the size and timeout for
tcp connections.
- UDP Flooding attack prevention -- limit the size of queues and transaction
table size.
- TCP message size limitation -- limit the size of TCP messages to prevent
TCP flooding attacks.
- Connection caching and reuse for TCP connections -- reduce latency by re-using
TCP connections on client and server transactions.
- Address resolution -- resolve addresses that are not direct DNS lookups or IP addresses
using a custom address resolver.
- Network Layer -- allows your application code to have direct access to the
Sockets that are used by the stack (use this feature with caution!).
See the javadoc for gov.nist.javax.sip.SipStackImpl for a detailed explanation of
these features.
The interfaces that are suffixed with Ext in this package will not be altered and will
be included in the next specification revision. These are provided here for those who
wish to use these extensions and do not want to wait until the next spec revision
becomes available.