SCTP is an open-source Java implementation of the SCTP (Stream Control Transmission Protocol) transport layer, enabling Java applications to establish and manage SCTP associations with SIGTRAN-based infrastructures and other SCTP-capable network elements.
The project provides the reliable, multihomed transport that sits underneath signaling stacks such as jSS7 (SS7/SIGTRAN) and jDiameter (Diameter), and is designed to be embedded as a core transport component within telecom platforms.
This repository is maintained and published as open source by PAiCore Technology. For more information, visit https://paicore.tech.
- Manages associations (SCTP connections) as clients or servers.
- Supports multihoming — a single association can use several network interfaces for resilience.
- Provides two interchangeable implementations under the same API:
- a classic Java NIO implementation, and
- a modern Netty-based implementation.
- Lets you tune SCTP options (buffers, streams, fragmentation, no-delay, etc.) and observe connection events through listeners.
- Persists its configuration so associations and servers can be restored on restart.
| Module | Description |
|---|---|
sctp-api |
The public interfaces you program against (Management, Server, Association, listeners…). |
sctp-impl |
The actual implementations (NIO and Netty). |
docs |
User documentation (management and example chapters). |
release |
Packaging for distribution. |
- Java 11 or newer (also runs on modern JVMs, including Java 24/25).
- Maven 3.9+ to build.
- An operating system with native SCTP support (most Linux distributions; the
lksctpkernel module).
mvn clean installThis compiles all modules, runs the test suite, and installs the artifacts to your local Maven repository.
The typical flow is:
- Create and start a Management instance.
- Register a Server (to accept connections) and/or an Association (to connect out).
- Attach a listener to receive incoming payloads and connection events.
- Send and receive
PayloadDatamessages.
See the docs/ folder for detailed examples and the full management API.
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See the LICENSE file for details.