Following the introduction to SMPP Router, I’d like to share how straightforward it is to deploy and configure SMPP Router in real-world messaging environments. Whether you’re connecting enterprise messaging clients to SMSCs or routing between aggregators and mobile network operators, SMPP Router provides the flexibility and control necessary for modern SMS delivery platforms.
Installing SMPP Router
Getting SMPP Router up and running takes just a few minutes. You can choose between self-installation or using a pre-provisioned EC2 instance provided by Melrose Labs. The installation process includes downloading the latest version, unpacking the distribution, applying a licence key, and starting the service. This can all be achieved in a few clicks.
Full step-by-step instructions are available in the installation guide.
Configuring ESMEs (SMPP Clients)
ESMEs represent clients or customer applications that submit messages via SMPP. Each ESME is identified by a system ID and has configurable parameters including password, IP restrictions, TPS limits, and routing preferences.
You can add, modify, and delete ESMEs using the CLI tool:
smpproutercli add-esme systemid=esme001 password=xyz targetset=TS001 tpslimit=500
This command sets up an ESME (esme001) which sends messages to a designated target set. The configuration can also be enhanced with routes-mt entries to direct traffic dynamically based on destination.
See the full ESME tutorial for further detail.
Managing Targets and Target Sets
Targets are outbound connections—typically SMSCs, hubs, or providers—grouped into target setsfor load balancing and redundancy. Configuring a target set and adding targets is done through intuitive CLI commands:
smpproutercli add-targetset id=TS001 name="Acme Provider" submits_enabled=true
smpproutercli add-target TS001 name=smsc1 host=192.0.2.1 port=2775 bindqty=5 systemid=abc password=xyz
This approach allows you to maintain multiple routes to the same destination, distribute traffic intelligently, and bring individual links up or down without affecting overall service.
Details are outlined in the target configuration tutorial.
Routing with Precision
One of the strengths of SMPP Router is its dynamic routing system. By defining routes-mt either globally or per ESME, you can route based on:
- Destination country or prefix
- Regular expressions
- MNP/HLR lookup results (MCC/MNC)
- Source address conditions
This allows you to fine-tune message delivery paths in response to commercial agreements, performance, or reliability requirements.
Details on SMPP Router’s routing can be found in the routing section.
An article dedicated to using routes-mt will be posted later in this series.
Ready for Production
With Prometheus metrics, CLI and HTTP API management, and high-performance binding to upstream and downstream systems, SMPP Router is production-ready. It is already being trialled in several environments with positive feedback from network engineers and platform operators.
If you’re building or operating an SMS platform and want a reliable, scriptable and extensible router, I invite you to try out SMPP Router. You can download and install it yourself, or request a pre-configured EC2 trial instance.