JBoss.orgCommunity Documentation
In computer networking, the Stream Control Transmission Protocol (SCTP) is a Transport Layer protocol, serving in a similar role to the popular protocols Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). It provides some of the same service features of both: it is message-oriented like UDP and ensures reliable, in-sequence transport of messages with congestion control like TCP.
The protocol was defined by the IETF Signaling Transport (SIGTRAN) working group in 2000 and is maintained by the IETF Transport Area (TSVWG) working group. RFC 4960 defines the protocol. RFC 3286 provides an introduction.
Mobicents SCTP Library is providing the convenient API's over Java SCTP, hence can be used only with version JDK 1.7 or above.
Mobicents SCTP Library can also create the TCP sockets exposing same high level API's hence application using Mobicents SCTP Library can work seamless with TCP or SCTP.
The TCP facility is only for test to support the OS which doesn't have SCTP available out-of-box. For example Windows OS.
In addition to exposing the SCTP protocol, Mobicents SCTP Library contains number of features which other wise the application depending on SCTP will have to take care of. For example Mobicents SCTP Library provides
Management interface to manage the underlying SCTP Associations
Persistence mechanism capable of initiating the SCTP Association if the system is restarted after crash or gracefull shutdown
Tries re-initiate the connection if for some reason the connection is lost between the peers
Configuration to make the module behave as single thread or multi-threaded depending on requirement's of application
Below diagram shows various layers involved