Skip to main content

SMPP - Connection

8x8 supports SMPP (Short Message Peer-to-Peer), a mature binary protocol widely used in carrier-grade SMS infrastructure. Unlike REST APIs, SMPP uses persistent TCP connections and is designed for sustained, high-volume message throughput with low latency.

This connection method is a good fit if you are running enterprise messaging software, an SMS gateway, or any platform that natively speaks SMPP. For new integrations without an existing SMPP requirement, the 8x8 SMS API offers a simpler REST-based alternative.

The 8x8 SMPP environment runs on a high-availability cluster designed for enterprise-scale traffic. Connecting to our regional hostnames provides automatic failover and intelligent load balancing to ensure optimal performance.

Protocol Specification

Version: SMPP v3.4
Format: All PDUs must conform to the standard v3.4 binary specification.


Connection Details

The hostname depends on the platform region your account is provisioned in.

SettingValue
Hostname (Asia Pacific)smpp.8x8.com
Hostname (Europe)smpp.8x8.uk
Port2775 (Legacy/Non-Secure)
Port (TLS)2776 (TLS v1.3)
system_idyour username
passwordyour password

Security & Compliance

  • IP Whitelisting: For enhanced security, SMPP binds are strictly controlled via IP Whitelisting. Please provide your source IP addresses to your account manager during onboarding to enable access.
  • Encryption: Port 2775 is maintained for legacy compatibility and transmits in plaintext. Use Port 2776 (TLS v1.3) for all production environments to ensure data integrity.
  • IPSec: For enhanced network-level security, 8x8 also supports IPSec Tunnel binds. Contact support for setup details.

Binding & Architecture

A bind is a persistent TCP session between your application and the 8x8 SMPP server. The bind type determines the direction of message flow:

  • bind_transmitter: Dedicated to sending messages (MT traffic).
  • bind_receiver: Dedicated to receiving messages and delivery receipts (MO and DLRs).
  • bind_transceiver: Supports bidirectional traffic on a single connection.

Performance Optimization

For high-throughput integrations, we recommend splitting traffic into dedicated transmitter and receiver binds. This architecture prevents "head-of-line blocking," ensuring that a high volume of outbound submissions (submit_sm) does not delay the processing of inbound delivery receipts (deliver_sm).

Session Management

  • Capacity: Accounts are typically provisioned with a baseline of 4 concurrent binds per system_id.
  • Elasticity: For customers requiring higher parallelization, additional binds can be allocated to meet your architecture's needs.
  • DLR Routing: 8x8 intelligently routes delivery receipts (deliver_sm) to any active bind sharing the same system_id, ensuring consistent updates regardless of which session originated the message.

Throughput & Performance

The 8x8 platform is engineered to handle massive, carrier-grade message volumes. To ensure a smooth integration, we apply the following performance baselines:

  • Baseline Throughput: By default, connections start at 50 messages per second (MPS) per bind.
  • Enterprise Scaling: We routinely scale MPS limits significantly higher for high-volume customers. Your account manager can adjust these limits to match your specific production requirements.
  • Asynchronous Windowing: To achieve maximum performance, we recommend using an asynchronous windowing approach, allowing you to submit multiple PDUs without waiting for individual responses.

Supported PDUs

PDUDescription
bind_*Authenticate and establish the session
submit_smSubmit a short message for delivery
enquire_linkKeep-alive heartbeat to maintain the session
deliver_sm_respAcknowledge a received deliver_sm (DLR)
unbindGracefully terminate the session

Data Encoding

When sending messages, set the correct Data Coding Scheme (DCS) value in your submit_sm PDU:

DCS ValueEncoding
0 or 1GSM7 (default)
3Latin-1 (ISO-8859-1)
8Unicode (UCS-2)