---
title: Connect an SMPP platform to TelecomsXchange
url: https://help.telecomsxchange.com/integrations/connect-smpp-platforms/
audience: Integrations
summary: To send SMS, bind as a transceiver to smpp01.telecomsxchange.com, TCP 2776,
  SMPP 3.4, with your account's SMPP System Id and SMPP Password, and put the route's
  tech prefix before the number (80039#447700900123). To sell SMS, let TelecomsXchange
  bind to your SMSC as a transceiver from 174.136.44.213 with the system ID and password
  you set on your route.
updated: '2026-10-23'
verified_commit: 83b4ebc96d0081a25213776d5a8871bd04941125
---

# Connect an SMPP platform to TelecomsXchange

> To send SMS, bind as a transceiver to smpp01.telecomsxchange.com, TCP 2776, SMPP 3.4, with your account's SMPP System Id and SMPP Password, and put the route's tech prefix before the number (80039#447700900123). To sell SMS, let TelecomsXchange bind to your SMSC as a transceiver from 174.136.44.213 with the system ID and password you set on your route.

## Both directions through one exchange

1. **Your platform**: Kannel, Jasmin, Restcomm SMSC or any ESME
2. **TelecomsXchange** (via `80039#447700900123`): smpp01, TCP 2776; binds out from 174.136.44.213
3. **Seller's SMSC** (via `submit_sm`): Or your SMSC, when you sell the route
4. **Delivery receipt** (via `stat:DELIVRD`): Relayed back to the open bind

TelecomsXchange speaks plain SMPP, so any SMS gateway or SMSC that can bind as an ESME can buy SMS routes, and any that can accept a bind can sell them. This page puts every value in one place for both directions; the platform guides show the exact configuration for [Kannel](https://help.telecomsxchange.com/integrations/kannel/), [Jasmin](https://help.telecomsxchange.com/integrations/jasmin/) and [Restcomm SMSC](https://help.telecomsxchange.com/integrations/restcomm-smsc/).

## Before you start

- To buy: an [account](https://help.telecomsxchange.com/buyers/create-your-first-account/) with **Protocol Type** **SMPP**, an [SMS route](https://help.telecomsxchange.com/buyers/find-and-buy-routes/) bought from **SMS Market**, and [funds](https://help.telecomsxchange.com/buyers/add-funds/) on the account.
- To sell: an [SMS route](https://help.telecomsxchange.com/sellers/sell-sms-routes/) under **Routes → My Routes** with your SMSC's IP and port and the credentials TelecomsXchange binds with.
- Your platform's public IP address, for example `203.0.113.10`, and access to its firewall.

## How do I send SMS through TelecomsXchange?

Configure one SMPP client connection on your platform:

| Setting | Value |
|---|---|
| Host | `smpp01.telecomsxchange.com` |
| Port | TCP `2776` |
| Bind type | `bind_transceiver` |
| SMPP version | 3.4 (`interface_version` `0x34`) |
| System ID | the account's **SMPP System Id** |
| Password | the account's **SMPP Password** |
| Source IP | the account's **IP Address** or one of its **Additional Allowed IPs**, if set |
| Throughput | at most the account's **SMPP Rate Limit (req/sec)** |
| Keep-alive | `enquire_link`, for example every 30 seconds |

Then make sure every message carries:

- **`destination_addr`**: the route's tech prefix, `#`, and the number in E.164 without `+` or `00`: `80039#447700900123`. A routing group's prefix works the same way: `444123#447700900123`. A plain `447700900123` goes to the account's **Default Routing Group**, or its default SMS route if no group is set.
- **`source_addr`**: a sender ID registered on your account. Others are blocked or replaced by your default sender ID, according to the account setting shown under **Sender Settings** on **Logs → SDR (SMS)**.
- **`registered_delivery`** set to 1 if your platform wants delivery receipts.

!!! tip
    Most gateways can't type a `#` into every request, so do it once in the routing layer: Kannel rewrites the number with `unified-prefix`, Jasmin with an MT interceptor, Restcomm SMSC with an mproc rule. Each platform guide shows how.

Each segment is billed at the route's price: up to 160 GSM or 70 UCS-2 characters is one segment, longer texts are billed per part at 153 or 67 characters. The `submit_sm_resp` carries the TelecomsXchange TLVs `0x1520` **billing_price** and `0x1521` **billed_msgs_cnt**. Split long texts into UDH parts on your side; some routes accept only single messages.

## How do I receive delivery receipts?

TelecomsXchange requests a receipt from the seller for every message. When the seller reports delivery, the receipt reaches your bind as a `deliver_sm` with `id:<message_id>` and `stat:DELIVRD`, where `message_id` is the one returned in your `submit_sm_resp`. Your platform matches it to the message it sent.

Receipts are relayed only while your bind is open. Keep the transceiver bind up permanently; if it was down, read the status from **Logs → SDR (SMS)** instead.

## How do I receive SMS from TelecomsXchange as a seller?

When you sell an SMS route, TelecomsXchange is the client and your SMSC is the server:

| Setting | Value |
|---|---|
| Who connects | TelecomsXchange binds to your SMSC |
| From IP | `174.136.44.213` |
| Bind type | transceiver |
| SMPP version | 3.4 or 5.0, as set by **SMPP Version** on the route |
| Credentials | the **SMPP System Id** and **SMPP Password** you set on the route |
| TLS | only if **TLS** is **Yes** on the route |
| Message text | in `short_message` or `message_payload`, per **Field for Messages** |
| Sessions | up to **Allowed BIND Sessions**; **Keep BIND Always Online** keeps one up |

Your platform must:

1. Accept a `bind_transceiver` from `174.136.44.213` on the port you entered on the route, with that system ID and password.
2. Answer each `submit_sm` with `submit_sm_resp` within the route's **SubmitSM Timeout**: status 0 and your `message_id` to accept, any other status to refuse.
3. Send a `deliver_sm` receipt with `id:<your message_id>` and `stat:DELIVRD` when the handset confirms delivery.

Run **Test Bind** from the route's **⋮** menu in **My Routes** to check the connection. [Interconnect Info](https://help.telecomsxchange.com/sellers/interconnect-info/) shows the exact credentials for each route.

!!! warning
    Not every gateway can accept a bind. Kannel needs the opensmppbox add-on for this direction; Jasmin and Restcomm SMSC accept binds natively.

## What about SMS to phone numbers?

- **You sell numbers:** your SMSC binds to `smpp01.telecomsxchange.com`, TCP 2776, with login `did` and password `did` (or your custom credentials under **DIDs → My DIDs → Authentication**) and submits each inbound SMS to the number, without a tech prefix. See [Sell phone numbers](https://help.telecomsxchange.com/sellers/sell-virtual-numbers/).
- **You buy numbers:** TelecomsXchange binds out to the **SMPP Endpoint** you set on the number, written `smpp:login:password:number@host:port`, so your platform must accept that bind. See [Buy virtual phone numbers](https://help.telecomsxchange.com/buyers/virtual-numbers-dids/).

## How do I test it?

1. Check the bind: the **Accounts** page shows **Bind Status** **ONLINE**; click it for the **SMPP BIND history**.
2. Send one message to a test handset with an approved sender ID and the route's prefix: `80039#447700900123`.
3. Confirm your platform logged a `submit_sm_resp` with status 0 and, a few seconds later, a `deliver_sm` with `stat:DELIVRD`.
4. Go to **Logs → SDR (SMS)**, set **Status** to **All Messages** and click **Search SMS**. The message shows its **Route**, **Amount**, **SMS Count** and **Status**.

## Platform guides

| Platform | Sends to TelecomsXchange with | Tech prefix | Accepts TelecomsXchange's bind (selling) |
|---|---|---|---|
| [Kannel](https://help.telecomsxchange.com/integrations/kannel/) | `group = smsc`, `smsc = smpp`, `transceiver-mode = true` | `unified-prefix` on the smsc group | Only with the opensmppbox add-on |
| [Jasmin](https://help.telecomsxchange.com/integrations/jasmin/) | jCli `smppccm` connector | MT interceptor script | Yes: SMPP Server API and a jCli user |
| [Restcomm SMSC](https://help.telecomsxchange.com/integrations/restcomm-smsc/) | `smpp esme create … TRANSCEIVER CLIENT` | mproc rule `adddestdigprefix` | Yes: an ESME of type `SERVER` |

## What if something goes wrong?

| You see | What to do |
|---|---|
| Bind refused, status `0x0D` | Check the **SMPP System Id** and **SMPP Password**, and that your platform binds from the account's IP address or an additional allowed IP. |
| Status `0x45` (69) on `submit_sm` | The message was refused: no route or rate for that prefix, a blocked route or account, insufficient funds, a sender ID that isn't allowed, or your rate limit. **Failed Only** in the SDR shows the reason. |
| Status `0x01` | The text is longer than one segment and the route takes single messages only. Split it into UDH parts. |
| Status `0xFE` (254) | The seller didn't answer in time. Retry, or send through a routing group with a failover route. |
| Status `0x08` | A platform error while forwarding. Retry after a moment. |
| Messages go to the wrong route | `destination_addr` arrives without the tech prefix. Check your platform's rewrite rule in its log. |
| No receipts on your platform | Your bind was closed when the receipt arrived, or `registered_delivery` was 0. Keep the bind up and read the status in the SDR. |
| Selling: Test Bind "host/port is probably unreachable" | Allow `174.136.44.213` on your firewall and check the IP and port on the route. |
| Selling: Test Bind "has FAILED" | Your SMSC refused the credentials or version. Match the system ID, password and **SMPP Version** on the route. |

## Frequently asked questions

**Q: Which host and port do I bind to?**

A: smpp01.telecomsxchange.com, TCP port 2776, as a transceiver (bind_transceiver), SMPP 3.4, with the SMPP System Id and SMPP Password of your SMPP account.

**Q: How does my platform choose a route?**

A: Through destination_addr: the route's tech prefix, a #, then the number in E.164 without + (80039#447700900123). A routing group uses its 444 prefix; a plain number uses the account's Default Routing Group or default SMS route.

**Q: Does TelecomsXchange connect to me when I sell SMS?**

A: Yes. TelecomsXchange binds to your SMSC as a transceiver from 174.136.44.213 with the system ID and password you set on your SMS route. Your platform must be able to accept an SMPP bind.

**Q: Can I send SMS over HTTP instead?**

A: Not to TelecomsXchange: sending is SMPP only. Your own gateway can still take HTTP from your applications and forward over SMPP, which is how the Kannel and Jasmin guides are set up.
