Modern Java SMPP Library

High-performance SMPP 3.4 implementation with virtual threads, zero-copy Netty transport, and Kafka integration. The actively maintained replacement for Cloudhopper.

<dependency>
    <groupId>io.smppgateway</groupId>
    <artifactId>smpp-core</artifactId>
    <version>1.0.2</version>
</dependency>

Why SMPP Gateway?

speed

High Performance

Built on Netty with zero-copy buffers and Java 21 virtual threads for maximum throughput and minimal latency.

memory

Modern Java 21

Leverages records, sealed classes, pattern matching, and virtual threads. Immutable PDUs for thread safety.

code

Clean API

Fluent builders, CompletableFuture async operations, and intuitive session management.

monitoring

Observable

Optional Micrometer integration for Prometheus metrics, Grafana dashboards, and monitoring.

verified_user

Production Ready

Auto-reconnect, request windowing, TLS support, and comprehensive error handling.

sync_alt

Kafka Integration

SMPP-to-Kafka bridge for event-driven SMS processing and cloud-native architectures.

Simple & Intuitive

SMPP Server

SmppServer server = SmppServer.builder()
    .port(2775)
    .systemId("smsc")
    .maxConnections(100)
    .handler(new MyServerHandler())
    .build();

server.start();

SMPP Client

SmppClient client = SmppClient.builder()
    .host("localhost").port(2775)
    .systemId("esme").password("secret")
    .bindType(SmppBindType.TRANSCEIVER)
    .build();

SmppClientSession session = client.connect();
SubmitSmResp resp = session.submitSm(pdu);

Projects

smpp-kafka-producer

Production-ready SMPP-to-Kafka bridge with HTTP/2 REST API, Docker, and Kubernetes support.

Ready to Get Started?

Add smpp-core to your project and start building high-performance SMS applications in minutes.