Transmitter
bind_transmitter — submit messages with submit_sm and read submit_sm_resp. Receipts are not delivered on this bind.
SMPP integration
Bind your own SMPP v3.4 client or gateway to LundoSMS over TLS. Submit messages with `submit_sm` and receive standard delivery receipts as `deliver_sm`.
host smpp.lundosms.co.tz
port 3550 (TLS)
bind transmitter · receiver · transceiver
smpp v3.4
| Parameter | Value |
|---|---|
| Host | smpp.lundosms.co.tz |
| Port | 3550 · TLS 1.2 or later |
| Protocol | SMPP v3.4 |
| system_id and password | Created in your dashboard; the password is shown once |
| Keep-alive | Send enquire_link at least every 60 seconds |
| Encryption | TLS on the public endpoint; plain-text SMPP is not offered |
| Binds and throughput | Set per account — ask us if you need more |
Choose the bind that matches what the connection does.
bind_transmitter — submit messages with submit_sm and read submit_sm_resp. Receipts are not delivered on this bind.
bind_receiver — receive delivery receipts as deliver_sm and acknowledge each with deliver_sm_resp.
bind_transceiver — submit and receive on a single connection. The simplest choice for most clients.
| Field | Meaning |
|---|---|
| source_addr | One of your approved sender IDs (case-insensitive) |
| destination_addr | A Tanzanian number in any common format; it is normalised to international format |
| data_coding | 0 GSM-7 (default alphabet), 1 ASCII, 3 Latin-1, 8 UCS-2 |
| message_payload | Full text of a long message — LundoSMS splits it and bills the segments |
| esm_class with UDHI | A pre-split segment; it is billed as one credit and forwarded with its UDH intact |
| registered_delivery | 1 requests the final delivery receipt; the intermediate-notification flag is honoured too |
Credits are checked and reserved when the message is accepted — the same rules as the REST API and the web composer, so a message costs the same whichever way it arrives.
When you request receipts, LundoSMS sends a `deliver_sm` with `esm_class 0x04` once the message reaches a final state.
id:0192c0d1-7c3e-7a52-9f31-2b6c8a1d4e91 sub:001 dlvrd:001 submit date:2610170930 done date:2610170931 stat:DELIVRD err:000 text:Your order has beenThe standard format. The receipted_message_id and message_state TLVs are included, and the id is the message_id returned in submit_sm_resp.
| Status | Meaning |
|---|---|
| DELIVRD | Delivered to the handset. |
| UNDELIV | Could not be delivered. |
| EXPIRED | The validity period ended without delivery. |
| REJECTD | Rejected by the network. |
| DELETED | Removed before delivery; reported as undeliverable. |
| UNKNOWN | The final state could not be determined. |
ACCEPTD and ENROUTE are intermediate; they are recorded but do not change the final status.
A successful submit_sm_resp means LundoSMS accepted the message — not that it was delivered. Only a DELIVRD receipt means delivered.
The same admission rules as the REST API, mapped to SMPP command_status values.
| Status | Code | Result |
|---|---|---|
| ESME_RTHROTTLED | 0x58 | TPS limit exceeded. Slow down and retry. |
| ESME_RSUBMITFAIL | 0x45 | Not enough credits, or the account cannot send. |
| ESME_RINVSRCADR | 0x0A | The sender ID is not approved for this account. |
| ESME_RINVDSTADR | 0x0B | Invalid or not allowed destination, or an opted-out number. |
| ESME_RINVMSGLEN | 0x01 | Empty or too long a message. |
| ESME_RSYSERR | 0x08 | A temporary problem on our side. Retry with backoff. |
| ESME_RINVPASWD · ESME_RBINDFAIL | 0x0E · 0x0D | Bind refused: wrong system_id or password, or an account that is not active. |
In your dashboard's Developer section, create an SMPP account (a test account first). Copy the password when it is shown.
Use the host and TLS port above with your system_id and password, and choose the bind mode.
Test accounts run the full flow without real messages or credits, so you can check your sender ID, encoding and receipts safely.
Set registered_delivery, confirm that deliver_sm receipts arrive, then switch to your live account.
Your SMPP accounts, connection settings, client examples and troubleshooting guide live in the Developer section of your dashboard.
Yes. You can bind your own SMPP v3.4 client as a transmitter, receiver or transceiver over TLS and receive standard delivery receipts.
Yes. Create an account, then use a test API key: it goes through the same validation and returns real references, but nothing is sent to a phone and no credits are used.
Every message has its own status: queued, sent to network, delivered, or failed. "Sent to network" means the operator accepted the message; "delivered" means the handset confirmed it. You can see statuses in the dashboard, export them, or receive them by webhook or SMPP. A phone that is switched off or out of coverage may receive a message late or never — no provider can guarantee delivery when the operator does not confirm it.
Create your account, register your sender name and send your first message today. Buy the SMS credits you need — they never expire.
Prepaid credits only. Prices in TZS, VAT included.