---
title: Sell SMS routes over SMPP
url: https://help.telecomsxchange.com/sellers/sell-sms-routes/
audience: For Sellers
summary: Add a route with Protocol SMS (SMPP), enter your SMSC's IP and port and the
  system ID and password TelecomsXchange should bind with, and set the session timeout,
  enquire-link interval and the field your SMSC reads messages from. TelecomsXchange
  binds to you as a transceiver from 174.136.44.213. Upload a per-message rate deck,
  then watch Bind Status and the SDR (SMS) page.
updated: '2026-10-21'
verified_commit: 83b4ebc96d0081a25213776d5a8871bd04941125
---

# Sell SMS routes over SMPP

> Add a route with Protocol SMS (SMPP), enter your SMSC's IP and port and the system ID and password TelecomsXchange should bind with, and set the session timeout, enquire-link interval and the field your SMSC reads messages from. TelecomsXchange binds to you as a transceiver from 174.136.44.213. Upload a per-message rate deck, then watch Bind Status and the SDR (SMS) page.

## How a buyer's SMS reaches your SMSC

1. **Buyer's platform**: Submits with your route's Buyers Prefix
2. **TelecomsXchange** (via `submit_sm`): Binds to you from 174.136.44.213
3. **Your SMSC** (via transceiver bind): Status 0 accepts; you earn per segment
4. **Delivery receipt** (via `stat:DELIVRD`): Marked Delivered and relayed to the buyer

An SMS route works like a voice route: you list it, buyers purchase it and send traffic, and you're paid per message. The difference is the connection: TelecomsXchange binds to your SMSC over SMPP and submits each message to you.

## Before you start

- Know your SMSC's **IP address and port** and decide the **system ID and password** TelecomsXchange will bind with.
- Allow the TelecomsXchange platform IP, **174.136.44.213**, on your firewall. See [Whitelist TelecomsXchange](https://help.telecomsxchange.com/sellers/interconnect-info/).

## How do I add an SMS route?

1. Go to **Routes → My Routes** and click **Add Route**.
2. Under **Protocol**, choose **SMS (SMPP)**.
3. Fill in:
    - **Name** and **Short Memo**, as for a voice route.
    - **IP Address** and port of your SMSC, as `1.2.3.4:2775`.
    - **SMPP System Id** and **SMPP Password**: the credentials TelecomsXchange binds with. The system ID must be unique on the platform.
    - **SMPP Sessions**: how many binds TelecomsXchange may open at once, 1 to 100.
    - **SMPP Session Timeout**: seconds before an idle session is dropped, 1 to 300.
    - **SMPP Enquire Link Interval**: seconds between keep-alives, 10 to 600, or 0 to disable. It must be shorter than the session timeout.
    - **Field for Messages**: **short_message** or **message_payload**, whichever your SMSC reads the text from. TelecomsXchange moves the text into that field for you.
    - **Route Type (QoS)**, **Publicity** and the other options described in [Add your first route](https://help.telecomsxchange.com/sellers/add-your-first-route/).
4. Click **Add Route**.

The route gets a **Buyers Prefix**, the tech prefix buyers put in front of destination numbers; it is shown read-only on the route's edit page.

## What else can I set on the route?

On **Edit Route**:

- **SMPP Version**: **5.0** or **3.4**, to match your SMSC.
- **Allowed BIND Sessions**: the number of binds, 1 to 100.
- **SMPP Rate Limit (req/sec)**: the most messages per second TelecomsXchange sends you; messages above it are refused to the buyer.
- **SubmitSM Timeout**: seconds TelecomsXchange waits for your `submit_sm_resp`, 1 to 300. After it, the buyer gets a failure and the next route in their routing group is tried.
- **Keep BIND Always Online**, with **Always Online BIND Retry After (sec)** (1 to 300) and **Always Online BIND Max Retries** (1 to 10000): keep a bind up permanently and reconnect when it drops.
- **TLS**: **Yes** to bind over TLS.
- **Upload Tariff MCCMNC**: upload rates by mobile network code instead of prefix; see [Upload your rate deck](https://help.telecomsxchange.com/sellers/upload-your-rate-deck/).

![Edit Route for an SMPP route with the SMPP version, system ID, bind sessions, rate limit, enquire link, SubmitSM timeout, always-online bind and TLS settings](https://help.telecomsxchange.com/assets/screenshots/seller-edit-sms-route.jpg)

Changing the bind settings reconnects: you'll see "Existing BIND will be disconnected, new BIND will be set up with new settings".

## How do I price the route?

[Upload a rate deck](https://help.telecomsxchange.com/sellers/upload-your-rate-deck/) as for a voice route; **Price 1** is the price per message and intervals are ignored. Every change you upload for an SMS route, increases included, applies at once unless you set a later **Effective From** date.

For each message you accept, your balance is credited the price times the number of segments. Long messages are billed per part: 153 GSM or 67 Unicode characters each.

## How do I check the bind?

- **Test Bind**: in **My Routes**, open the route's **⋮** menu and choose **Test Bind**. TelecomsXchange tries a `bind_transceiver` for 5 seconds and reports "bind_transceiver was SUCCESSFULL" or "has FAILED" with the PDU, or "Was not able to complete in 5 secs, host/port is probably unreachable".
- **Bind Status**: the icon in **My Routes** shows **ONLINE** or **OFFLINE**. Click it for the **SMPP BIND History**: each bind's **BIND Date**, **UNBIND Date**, **Remote IP** and **Session ID**, kept for 30 days.

## What does my SMSC receive?

- A `submit_sm` for each message, with the text in the field you chose, concatenated parts with their UDH, and `registered_delivery` set: TelecomsXchange always asks for a receipt.
- Answer with `submit_sm_resp`. Status 0 with your `message_id` accepts the message and bills the buyer; any other status refuses it and the buyer's next route is tried.
- Send a `deliver_sm` receipt with `id:<your message_id>` and `stat:DELIVRD` when the handset confirms. TelecomsXchange marks the message **Delivered** and relays the receipt to the buyer. Receipts are matched for one day.

## How do I see the messages I carried?

Go to **Logs → SDR (SMS)**. Filter by **CLD (Destination Number)**, **Status** (**Sent**, the default, **Any** or **Failed**) and **From Date** and **To Date**; the page opens on the last 24 hours. Each row shows the **To Number** (hover for **HLR Lookup Number**), **From Number**, **Country**, **Buyer**, **Route**, **Amount** (your earnings), **Billed SMS**, **Time**, **Delivered**, **Delivery Time** and, for failures, the **Error Text**; click to reveal the **Message**. **Download &lt;n&gt; SMS** saves them as `sms.csv`.

![The seller SMS Detail Records page with filters and each message's numbers, country, buyer, route, amount, delivery status and error text](https://help.telecomsxchange.com/assets/screenshots/seller-sdr.jpg)

The badge at the top shows the **SMPP Rate Limit** TelecomsXchange has set for your account as a whole.

## What about SMS to numbers I sell?

Messages to phone numbers you sell arrive at TelecomsXchange from your side: your SMSC binds to `smpp01.telecomsxchange.com`, TCP **2776**, with login `did` and password `did`, and submits each message to the number. TelecomsXchange forwards it to the buyer's SMPP endpoint and credits you the number's SMS rate. To use your own credentials instead, go to **DIDs → My DIDs → Authentication → SMPP DID Authentication**, enter an **SMPP Login** and **SMPP Password** and click **Update Credentials**. See [Sell phone numbers](https://help.telecomsxchange.com/sellers/sell-virtual-numbers/).

## What if something goes wrong?

| You see | What to do |
|---|---|
| SMPP system id is not unique | Another route on the platform uses that system ID. Choose a different one. |
| SMPP system id and password should not be empty | Enter both. |
| IP should be either IP address, say 1.2.3.4 or host:port like 1.2.3.4:5060 | Enter your SMSC as `ip:port`. |
| SMPP Session Timeout value should be between 1 and 300 | Pick a value in that range. |
| SMPP Session Enquire Link value should be between 10 and 600 (0 to disable) | Pick a value in that range, or 0. |
| SMPP Session Enquire Link value should be less than SMPP Session Timeout | Lower the interval or raise the timeout. |
| Allowed SMPP Sessions expected values are between 1 and 100 | Pick a value in that range. |
| SubmitSM Timeout allows values between 1 and 300 | Pick a value in that range. |
| Test Bind: "has FAILED" | Your SMSC refused the bind. Check the system ID, password and SMPP version. |
| Test Bind: "host/port is probably unreachable" | Check the IP and port, and that 174.136.44.213 is allowed on your firewall. |
| Buyers report "route is down" | TelecomsXchange couldn't bind. Run **Test Bind** and check your SMSC. |
| SMPP DID Login cannot be empty | Enter both the login and the password for DID authentication. |

## Frequently asked questions

**Q: Who binds to whom?**

A: TelecomsXchange binds to your SMSC as a transceiver, from 174.136.44.213, using the system ID and password you set on the route. Your SMSC doesn't connect to TelecomsXchange for outbound routes.

**Q: How many binds will TelecomsXchange open?**

A: Up to the route's Allowed BIND Sessions (1 to 100). Set Keep BIND Always Online to keep a bind up between messages.

**Q: How is a message priced?**

A: Per segment at the route's price for the longest matching prefix. Your balance is credited the price times the number of segments for every message you accept.

**Q: Do SMS rate increases wait 6 days?**

A: No. For SMS routes every uploaded change, increases included, applies at once unless you set a later Effective From date.

**Q: How do buyers' messages reach me when I sell phone numbers?**

A: The other way round: your SMSC binds to smpp01.telecomsxchange.com, TCP 2776, with login did and password did, or the custom login you set under DIDs → Authentication.
