How do I configure my SMPP connection for Bandwidth gateways?

Follow

Katherine Childers

Updated

What is SMPP?

Short Message Peer-to-Peer (SMPP) is a protocol for exchanging SMS messages between Short Message Service Centers (SMSCs) and/or External Short Messaging Entities (ESMEs).

How do I connect to Bandwidth’s SMPP platform?

Bandwidth allows you to connect to our SMPP platform as an ESME via Transceiver.

How do I configure my SMPP connection for Bandwidth gateways?

Bandwidth uses SMPP v.3.4 Protocol, an open-source flexible data communication interface used for the transfer of short message data. Please refer to this document for SMPP specifications.

If you haven’t already established your own SMS gateway, we recommend using Kannel, which is a compact open-source WAP and SMS gateway.

Note: Please review Sample: Basic Kannel SMSC connection section below for gateway IPs.

Setting up your account for messaging

Please refer to this article.

Example connection configurations

Sample: Basic Kannel SMSC connection

Connection 1

group = smsc
smsc = smpp
smsc-id = <user determined>
host = 67.231.1.30
port = 2775
smsc-username=<Provided System ID>
smsc-password=<Provided Password>
system-type=SMPP
transceiver-mode=true
dest-addr-ton=1  
dest-addr-npi=1

Connection 2

group = smsc
smsc = smpp
smsc-id = <user determined>
host = 67.231.4.201
port = 2775
smsc-username=<Provided System ID>
smsc-password=<Provided Password>
system-type=SMPP
transceiver-mode=true

Sample SMS Box Configuration  

group = smsbox
bearerbox-host = 127.0.0.1
sendsms-port = 13013
sendsms-chars = “0123456789 +-”

Sample Send SMS-User Configuration

group = sendsms-user
username = tester
password = foobar
default-sender=+1234567890
concatenation =true
max-messages=5

Does Bandwidth support DNS?

No, Bandwidth doesn’t currently support DNS names for inbound messaging.

What type of source_addr_ton can I send to Bandwidth?

The following are supported:

  • 0 – Automatic      
  • 1 – International      
  • 2 – National           

If you send Bandwidth source_addr_ton = 1 or 2, Bandwidth will send the same source_addr_ton to our upstream provider. If 0 is sent, we'll autodetect what format is being sent in and send that to our upstream provider.

Can I have multiple binds to the same Data-center from one IP?

The default is 1 bind, but we can support between 1-10 binds per IP. Each request for additional binds must be reviewed, similar to a request for an increase in MPS. If you'd like to increase the number of binds on your account, please open a ticket with your Bandwidth Support Team indicating how many max connections you'd like configured. If approved, you must use a different port on your server for each bind; however, you'll use the same bandwidth IP and port for all connections on the Bandwidth SMSC.

When sending concatenated messages, can I send different parts of the messages to different data centers?

No, when sending concatenated messages you must send all parts of the message to the same data center over the same bind. For more information on concatenation, check out this support article.

Setting up TLS for SMPP

We've taken additional measures to secure messaging traffic in transit and implemented optional TLS encryption for our SMPP, MM4, and HTTP Messaging platforms.  

TLS over SMPP can be enabled both for outbound SMPP traffic (FROM the customer to Bandwidth to the final destinations) and inbound traffic (TO the customer via Bandwidth). The former is typically referred to as Mobile Terminated (MT) traffic and the latter as Mobile Originated (MO) traffic.

What's supported?

  • TLS version supported: TLS 1.2
  • Ciphers supported: ‘ECDHE-ECDSA-AES256-GCM-SHA384’, ‘ECDHE-ECDSA-AES128-GCM-SHA256’, ‘ECDHE-RSA-AES256-SHA384’, ’ECDHE-RSA- AES128-SHA256’, ‘ECDHE-RSA-AES256-SHA’, ‘ECDHE-RSA-AES128-SHA’, ‘AES256-GCM- SHA384’, ’AES128-GCM-SHA256’, ‘AES256- SHA256’, ‘AES128-SHA256’, ‘AES256-SHA’, ‘AES128-SHA’, ‘DES-CBC3-SHA’

TLS for outbound (MT) and inbound (MO) SMPP traffic

To send SMS over TLS, you'll need to send traffic to the following FQDNs with the port number as mentioned:

  • Dallas SMSC: smpp-dfw.bandwidthclec.com:2776
  • Los Angeles SMSC: smpp-lax.bandwidthclec.com:2776
  • Upon receiving SMS traffic on port 2776, Bandwidth will automatically respond and share its digital certificate signed by a trusted Certificate Authority.
  • Once you accept and trust this certificate on your end, all SMS traffic will be exchanged over TLS.

Other considerations to support TLS for SMPP

Persistent connection

In order to ensure optimum performance on message throughput and to inject more predictability in delivery of SMPP traffic, you'll need to maintain a persistent connection to Bandwidth.

Limited ability to troubleshoot some issues

While TLS brings a significant advantage to secure messages in transit, please note that TLS limits the ability to troubleshoot certain connectivity and deliverability issues, if they arise. This is because certain data usually captured in clear text (without TLS) are now encrypted and will require more time and coordination between you and Bandwidth to troubleshoot. In such cases and if necessary, you can choose to disable TLS temporarily to better assist troubleshooting efforts.

Questions? Please open a ticket with your Bandwidth Support Team or hit us up at (855) 864-7776!

Article is closed for comments.