Skip to main content

SMPP connection

SMPP is a permanent connection to Blackbox Business: your application binds once and keeps the session open, messages go out over it, and delivery receipts come back over the same session without a single request from your side.

That is what makes it the choice for steady volume. There is nothing to poll and nothing to schedule: the moment the operator reports a message, the report is already on your socket.

Connection settings​

Everything an SMPP library or gateway asks for, in one table:

SettingValue
ProtocolSMPP 3.4
Host without encryptionsmpp.blackbox.business
Port without encryption2775 or 3700 — the same entry, pick either
Host with TLSsmpp-tls.blackbox.business
Port with TLS2995
TLS versions1.2 and 1.3
system_idThe phone number you sign in to the cabinet with, in international format: 447700900123
passwordYour cabinet password
system_typeEmpty — the value is not checked
Bindbind_transceiver: sending and receipts in one session
interface_version, addr_ton, addr_npi, address_range in the bindAny — they are not used
enquire_linkEvery 30–60 seconds while the session is quiet

The pages of this section, in the order you will need them:

Before you connect​

The account must be active — a newly registered one binds once it has been activated. Then two things are set on the API settings screen:

  1. The SMPP switch opens the protocol for the account. With it off, the bind is refused even with the right password.
  2. IP address — optional. Leave it empty, and a bind is accepted from any address. Fill it in, and only the listed addresses are accepted: separate them with commas; each item is a single address, an IPv4 range such as 203.0.113.10-203.0.113.20, or a CIDR block such as 203.0.113.0/24 (IPv6 too). The same field limits requests to the HTTP API, so list every server that talks to Blackbox Business.

Plain or TLS​

Both entries lead to the same platform and take the same account: choose by what your network needs.

  • Without encryption — smpp.blackbox.business, port 2775 or 3700. Both ports behave the same way: use whichever your library defaults to.
  • TLS — smpp-tls.blackbox.business, port 2995. Point the client at the name, not the address: the certificate is chosen by the name your client sends (SNI) and is issued for exactly that name. Leave certificate verification on. The certificate comes from Let's Encrypt and is renewed automatically, so do not pin it — trust it the usual way, through the system list of certificate authorities.

TLS wraps the same SMPP session; nothing inside the session changes.

Reserve entry. If your client can switch over by itself when the main entry does not answer, add 35.204.59.96 as its second address — ports 2775 and 3700, without encryption. It leads to the same platform and takes the same login and password. All addresses for your firewall are on the page IP addresses.

Login and password​

FieldWhat to put in it
system_idThe phone number you sign in to the cabinet with, in international format: digits only, a leading + is ignored
passwordThe cabinet password
system_typeLeave empty

There is no separate SMPP password: change the cabinet password, and the next bind needs the new one. We accept the password whatever its length, but some libraries stop at eight characters — the limit SMPP 3.4 sets for this field. If yours refuses a longer password, look for a setting that lifts the check.

Binding​

All three bind types are accepted: bind_transmitter, bind_receiver and bind_transceiver. One bind per connection — for sending and receiving at once, bind as a transceiver, or open a second connection as a receiver. The number of simultaneous sessions per account is limited: a bind over the limit is refused with 0x05.

Receipts go to the receiver and transceiver sessions of the account — any of them, not necessarily the one the message was sent through.

Keeping the session​

Send enquire_link every 30–60 seconds while there is nothing else to send. The server does not send enquire_link itself and does not need you to: it watches what comes from you, and after about three minutes without a single PDU from your side it closes the session — sends unbind and drops the connection. With regular enquire_link the session stays up as long as your application keeps it: days and weeks are normal. unbind closes it cleanly.

If the connection drops, reconnect and bind again. Receipts you have not acknowledged are not lost: they are kept for ten days and come over your next session.

If the account is blocked or the SMPP switch is turned off, open sessions are closed within thirty seconds.

Checking the connection​

Before you configure the library, check that the entry is reachable from your server. The first command opens a plain connection, the second one a TLS connection and prints the certificate — its name must be smpp-tls.blackbox.business:

nc -vz smpp.blackbox.business 2775
openssl s_client -connect smpp-tls.blackbox.business:2995 -servername smpp-tls.blackbox.business </dev/null | openssl x509 -noout -subject -enddate

If both answer and the bind is still refused, the reason is in the command_status of bind_resp: see Errors and limits.

Everything sent over SMPP lands in the same reports as everything else: the cabinet's report of sends through the API and SMPP shows these messages line by line, with the same statuses the receipts carry.