The Melrose Labs SMPP Router is a high-performance, scalable solution engineered for telecoms and messaging providers who require uncompromising reliability, flexibility, and precision. Capable of processing up to 5,000 transactions per second, it delivers intelligent routing for both Mobile Terminated (MT) and Mobile Originated (MO) SMS, using SMPP session context, destination-derived attributes (including country code, NDC, and MNC where available from lookups and configuration), and configurable rules—including operator- and geography-oriented logic and external policy via integrated HTTP hooks.
As we expand the capabilities of our messaging platforms, SMPP Router emerges as a foundational component for demanding environments. Whether routing by operator, geography, message attributes, or PDU-level protocol fields exposed to external logic, it handles complex message flows with ease. With support for proxy-style protocol termination and multiplexed operation across many simultaneous ESME and SMSC sessions and weighted upstream pools, carrier-grade throughput, and seamless integration with observability tools—Prometheus metrics out of the box and Grafana (and the rest of your monitoring stack) in the usual way—the platform is built for operational excellence. This is not a GUI-driven gateway—it’s a purpose-built, backend-first router designed for professionals who prioritise capability over cosmetics. In an evolving landscape of protocols, SMS remains critical—and SMPP Router ensures it retains its strategic value.
Features
Key features include:
- ESME SMPP service — Accepts client connections with per-account routing, throughput limits, and operational controls.
- Upstream SMSC connectivity — Connects to multiple SMSCs via configurable target groups with credentials, capacity, weighting, and high-availability options.
- Intelligent MT routing — Rules driven by destination analysis (e.g. country, prefix, operator context) plus global and per-account route tables; optional external logic can override the chosen route.
- MO routing to applications — Delivers mobile-originated traffic to the correct ESME account using configurable address and pattern matching.
- Load balancing — Distributes traffic across SMSCs in a target group according to weights and health, with failover when an upstream path cannot accept a submission.
- Bind and access control — Authenticates binds with credentials (including hashed passwords where configured) and optional source IP restrictions.
- External Logic Integration — HTTP hook points before lookup, after lookup, and after routing for policy, enrichment, and custom handling.
- Message and PDU shaping — Adjusts submission parameters and message content from external logic responses (addresses, encodings, protocol fields, and more).
- Policy-driven rejection — External logic can accept, modify, or reject submissions (including DLR-style outcomes where applicable).
- MSISDN / number lookup — Integrated lookups with caching and operational metrics; supports XConnect NPQ and other HTTP-based lookup services via configuration.
- Multipart and long SMS — Recognises segmented submissions and keeps all parts aligned to the same upstream path for consistent delivery.
- Observability — Prometheus-compatible metrics endpoint for monitoring and dashboards (including Grafana in your stack).
- Call detail records — Configurable CDR output for billing, reconciliation, and analytics.
- Management APIs — HTTP interfaces for operations, configuration, and integration workflows.
- SMSC simulation — Built-in path for lab and integration testing without a live SMSC.
Feature availability may vary by release version.
With configurable routing tables, Mobile Terminated and Mobile Originated handling, and operator-aware logic informed by destination structure and enrichment (including NDC and MNC where available from lookups and configuration), SMPP Router is engineered to perform where it matters most. It is built for backend integration—HTTP hooks for policy and enrichment when you need them—prioritising efficiency, throughput, and reliability: industrial-grade SMS routing without compromise.
Articles, posts and tutorials
To support adoption and deepen technical understanding, we are launching a series of educational articles highlighting the capabilities of the SMPP Router - beginning with an introduction to SMPP Router, along with deploying and operation. These resources will benefit messaging engineers, operators, and integration specialists alike. To assist with learning more about SMPP Router, 30-day trial licenses are available on request from sales@melroselabs.com and provide access to all features. Topics covered will include authentication, routing strategy, load balancing, monitoring, credit control, and more. Join us as we demonstrate how SMPP Router redefines intelligent SMS routing in today’s messaging networks.
Melrose Labs SMPP Router – Article Series
- Introduction to SMPP Router
An overview of the platform’s purpose, design philosophy, and deployment scenarios. - Deploying and Operating SMPP Router
Outlines the practical steps for installing, configuring, and operating SMPP Router. - Routing Mobile Originated (MO) SMS
How MO SMS is routed to customer ESMEs using session and PDU fields. - Routing Mobile Terminated (MT) SMS to SMSC Targets
Techniques for routing MT SMS using destination address, country code, NDC, and MNC. - Authenticating Customer ESME Binds
Optional authentication strategies for securing ESME connections. - MSISDN Lookup Integration
Using HTTP-based lookups to enrich routing logic. - Message Content Modification at Runtime
When and how to alter message payloads based on defined rules.
- Rejecting Messages Based on PDU Fields and Time Rules
Implementing conditional logic for traffic rejection. - Load Balancing for ESME-to-Target and Target-to-ESME Flows
Ensuring optimal distribution of messaging load. - Proxy and Multiplex Modes Explained
Deployment considerations and use cases for each mode. - Monitoring and Observability with Prometheus and Grafana
Metrics, dashboards, and operational insights. - Multipart Message Handling and Reassembly
Ensuring completeness and consistency in multi-part messaging. - Handling SubmitSMResp NAKs with Automatic Resubmission
Reliability features that enhance delivery success rates. - CDR Generation and Credit Control
Capturing detailed delivery records and enforcing usage policies. - Load Testing SMPP Router: Achieving 5000 TPS
Best practices for performance testing and benchmarking. - Routing Logic Configuration: NDC vs MNC and Operator Awareness
Choosing the right approach for accurate and efficient routing.
Read these articles in the SMPP Router section on the Melrose Labs Community Forum
Download
The Debian 12 build of SMPP Router can be downloaded below. Alternatively, it can be downloaded during the "automated" installation process.
Installation
Option 1: Automated Installation
Run the following command on your Debian 12 server. It will update the system, install required dependencies,
download the latest version of SMPP Router, install it as a systemd service, and start it:
sudo apt update && \
sudo apt install -y tar apache2-utils jq && \
mkdir -p smpprouter && \
cd smpprouter && \
wget https://melroselabs.com/repo/smpprouter/opMLSMPPRouter_latest.tar.gz && \
tar -xzf opMLSMPPRouter_latest.tar.gz && \
sudo ./install.sh
Option 2: Manual Installation
Alternatively, you may download the SMPP Router package and install it manually, configuring it according to your requirements
and operating using tools such as systemd, screen, or tmux.
Documentation
Documentation can be found at the following link: SMPP Router documentation
Pricing
SMPP Router is available for free in limited form with the included license file enabling up to 50 TPS. No features (CDRs, ELI or MSISDN lookup) are enabled with this license. Support is not included with this free version, but may optionally be purchased below (see Support section).
Full pricing can be found at the following link: SMPP Router - Pricing
To purchase base packages (100 TPS/500 TPS), TPS upgrades and features, please contact sales@melroselabs.com.
Support
Support is available for purchased licenses at GBP 525 per year (covers all instances). Purchased base package licenses include one year of support.
Support details can be found at the following link: Support
To add support for your existing 50 TPS SMPP Router instance(s): Purchase Annual Support