Skip to content

paicoretech/sctp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SCTP

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.

What it does

  • 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.

Project layout

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.

Requirements

  • 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 lksctp kernel module).

Building

mvn clean install

This compiles all modules, runs the test suite, and installs the artifacts to your local Maven repository.

Using it in your project

The typical flow is:

  1. Create and start a Management instance.
  2. Register a Server (to accept connections) and/or an Association (to connect out).
  3. Attach a listener to receive incoming payloads and connection events.
  4. Send and receive PayloadData messages.

See the docs/ folder for detailed examples and the full management API.

License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages