149 countries · crypto-native · no KYC

SMPP Gateway Setup with Kannel: Connect to SMSRoute in 30 Minutes

A concrete, copy-paste walkthrough for binding Kannel to an SMPP endpoint, sending a test message, and moving high volume off REST and onto a persistent SMPP session.

$0.035/msg from sub-100ms median 98.6% delivered
SMPP Gateway Setup with Kannel: Connect to SMSRoute in 30 Minutes — smsroute
$0.004
per SMS from
149
countries
60s
to first message
6
crypto rails
A REST API is the right first step for OTP and low-to-medium volume: one HTTPS call per message, no persistent connection to manage. SMPP (Short Message Peer-to-Peer) earns its complexity at scale, where a persistent binary session removes per-message HTTP overhead and gives you higher sustained throughput and richer delivery-receipt handling. For a detailed comparison of SMS protocols, see the GSMA's SMS guidelines.

When to use SMPP instead of REST

When should I use SMPP instead of REST for SMS sending?

Use SMPP when you need high throughput, real-time delivery reports, or persistent connections for bulk messaging. SMSRoute's SMPP gateway supports adaptive multi-route failover and custom sender IDs on request, making it ideal for transactional alerts, OTPs, and marketing campaigns across 149 countries.

A REST API is the right first step for OTP and low-to-medium volume: one HTTPS call per message, no persistent connection to manage. SMPP (Short Message Peer-to-Peer) earns its complexity at scale, where a persistent binary session removes per-message HTTP overhead and gives you higher sustained throughput and richer delivery-receipt handling. For a detailed comparison of SMS protocols, see the GSMA's SMS guidelines.

Factor REST SMPP
Setup effort Minutes ~30 min + a gateway process
Throughput ceiling Good Higher, sustained
Connection model Stateless per call Persistent bind session
Best for OTP, transactional, low volume Bulk, high-throughput A2P

Install Kannel

How do I install Kannel for SMS gateway setup?

Install Kannel on Linux via package manager or compile from source. SMSRoute provides ready-to-use SMPP bind examples in our GitHub repository. After installation, configure the bearerbox and smsbox with your SMSRoute API credentials. The process takes under 10 minutes with our documented steps.

When to use SMPP instead of REST — comparison diagram

Kannel is a mature open-source SMS gateway that speaks SMPP on one side and exposes a simple HTTP send interface on the other — a clean bridge between your app and an SMPP provider. On Debian/Ubuntu:

sudo apt-get update && sudo apt-get install -y kannel
# two daemons: bearerbox (core) and smsbox (HTTP interface)

Configure the SMPP bind

How do I configure the SMPP bind for SMSRoute?

Configure your Kannel smsc block with SMSRoute's SMPP host, port 2775, system ID, and password from your dashboard. Set the system type to 'smsc' and enable DLR for delivery receipts. Our adaptive routing automatically selects the best route per destination across 149 countries.

Edit /etc/kannel/kannel.conf. Replace the host, port, and credentials with the SMPP details from your SMSRoute dashboard. A transceiver bind sends and receives on one session. The SMPP protocol is defined in RFC 3428.

group = core
admin-port = 13000
admin-password = changeme
smsbox-port = 13001

group = smsc
smsc = smpp
smsc-id = smsroute
host = smpp.smsroute.cc
port = 2775
smsc-username = YOUR_SYSTEM_ID
smsc-password = YOUR_PASSWORD
system-type = ""
transceiver-mode = true

group = sendsms-user
username = tester
password = testerpass

group = smsbox
bearerbox-host = 127.0.0.1
sendsms-port = 13013

Start the gateway and send a test

How do I start the Kannel gateway and send a test SMS?

Run 'bearerbox /etc/kannel/kannel.conf' then 'smsbox /etc/kannel/smsbox.conf'. Use 'sendsms' from command line or your app to send a test message. SMSRoute's free test credits let you verify delivery before funding. Expect first message in minutes with real-time DLR webhooks confirming status.

  1. Start bearerboxRun bearerbox -v 1 /etc/kannel/kannel.conf. Watch the log until the SMPP bind reports connected.
  2. Start smsboxIn a second shell run smsbox -v 1 /etc/kannel/kannel.conf to bring up the HTTP send interface.
  3. Send a messageHit the local sendsms endpoint with your test credentials and an E.164 recipient — see the curl below.
  4. Confirm the bind and receiptCheck the bearerbox log for the submit_sm and the delivery receipt (DLR) coming back on the same session.
curl "http://127.0.0.1:13013/cgi-bin/sendsms?username=tester&password=testerpass&to=%2B15551234567&text=SMPP+test+via+Kannel"

Delivery receipts and throughput tuning

SMSRoute's published route pages list delivery from $0.004/message (premium direct-carrier corridors up to $0.035) with sub-100ms median submission and ~98.6% delivered success (smsroute.cc route pages, 2026).

FAQ

Is SMPP faster than a REST API for bulk SMS?
For sustained high volume, yes. SMPP keeps a persistent binary session open, avoiding the per-message TLS/HTTP overhead of REST, which raises the throughput ceiling for bulk A2P traffic. For OTP and low volume, REST is simpler and fast enough.
What port does SMPP use?
SMPP commonly runs on TCP port 2775 (or 2776 for TLS variants), though providers may assign their own. Use the exact host and port from your SMSRoute dashboard.
What is a transceiver bind?
An SMPP bind mode where a single session both submits messages and receives delivery receipts and inbound messages, instead of using separate transmitter and receiver binds. It is the simplest setup for two-way traffic.
Can I use crypto billing with an SMPP connection?
Yes. Billing is account-level, not protocol-level, so an SMSRoute account funded with BTC, ETH, or USDT works identically over SMPP or REST.

Send your first SMS in 5 minutes

No KYC. Pay with BTC, ETH, USDT, XMR, LTC, and SOL. Live routes to 149 countries.

Get an API key →