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:
| Setting | Value |
|---|---|
| Protocol | SMPP 3.4 |
| Host without encryption | smpp.blackbox.business |
| Port without encryption | 2775 or 3700 — the same entry, pick either |
| Host with TLS | smpp-tls.blackbox.business |
| Port with TLS | 2995 |
| TLS versions | 1.2 and 1.3 |
system_id | The phone number you sign in to the cabinet with, in international format: 447700900123 |
password | Your cabinet password |
system_type | Empty — the value is not checked |
| Bind | bind_transceiver: sending and receipts in one session |
interface_version, addr_ton, addr_npi, address_range in the bind | Any — they are not used |
enquire_link | Every 30–60 seconds while the session is quiet |
The pages of this section, in the order you will need them:
- this one — how to get connected;
- Sending — what goes into
submit_sm; - Delivery receipts — what comes back and how to read it;
- Errors and limits — every refusal, and what to do about it.
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:
- The SMPP switch opens the protocol for the account. With it off, the bind is refused even with the right password.
- 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 as203.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, port2775or3700. Both ports behave the same way: use whichever your library defaults to. - TLS —
smpp-tls.blackbox.business, port2995. 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
| Field | What to put in it |
|---|---|
system_id | The phone number you sign in to the cabinet with, in international format: digits only, a leading + is ignored |
password | The cabinet password |
system_type | Leave 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.