EasySendSMS Help Center
Help Center SMPP EasySendSMS SMPP Connection

EasySendSMS SMPP Connection

EasySendSMS SMPP Connection

For customers requiring precise control over SMS messaging with minimal latency, EasySendSMS offers an Enhanced SMPP service tailored to meet these needs.

Secure Communication:
EasySendSMS ensures secure communication with our SMPP servers by utilizing TLS encryption. However, since many SMPP client SDKs do not inherently support TLS, you may need to implement a tunneling solution to establish a secure connection between your client and our servers.

SMPP Account Information

An SMPP account at EasySendSMS includes a regional host accessed via a secure port (2778), along with a system_id and password required to connect to our services.

  • Concurrent Connections: By default, you are permitted a maximum of two concurrent connections per host/system_id combination. If your application requires additional connections, please contact our customer support for assistance.

IP Access Control

Access to EasySendSMS SMPP servers is restricted to pre-authorized IP addresses. To enable access, your client IP range must be provided and added to our firewall.

Supported SMPP PDUs

EasySendSMS supports the following SMPP PDUs:

  • From Client:

    • bind_transmitter
    • bind_receiver
    • bind_transceiver
    • enquire_link
    • unbind
    • submit_sm
    • data_sm
    • deliver_sm_resp
    • generic_nack
    • query_sm
    • cancel_sm
    • replace_sm
  • From Server:

    • bind_transmitter_resp
    • bind_receiver_resp
    • bind_transceiver_resp
    • enquire_link_resp
    • unbind_resp
    • submit_sm_resp
    • data_sm_resp
    • deliver_sm
    • query_sm_resp
    • cancel_sm_resp
    • replace_sm_resp

Throughput and Throttling

Throughput defines the maximum number of mobile-terminated (MT) messages that can be sent per second through the SMPP account on the EasySendSMS server.

  • Default Throughput: 30 messages per second per bind.

  • Increased Throughput: EasySendSMS supports throughput up to 500 SMS/second. For higher throughput requirements, please contact our support team for more information.

  • Recommended Window Size: 10 (maximum open requests).

Please note that the operator receiving the MT messages may impose their own capacity limits, potentially restricting throughput to certain destinations. To optimize distribution across networks, it is advisable to sort destination numbers by the last digits instead of the first.

Enquire Link Configuration

We recommend setting enquire_link requests to a 30-second interval to maintain a stable connection.

Time Zone Information

EasySendSMS's SMSC operates on UTC -4:00 (Atlantic Canada time).

MSISDN Formatting

An MSISDN (Mobile Station International Subscriber Directory Number) in GSM is structured as follows:

  • MSISDN = CC + NDC + SN
    • CC: Country Code
    • NDC: National Destination Code
    • SN: Subscriber Number

For further details on MSISDN formatting, please refer to the ITU-T specification E.164.

SMPP Account Configuration

SMPP Binding Details:

  • Host: smpp.easysendsms.com
  • Port: 2777
  • Secured Port: 2778
  • Username: Your account username
  • Password: Your account password
  • Mode: TX / RX / TRX
  • Connections: Maximum of 2 concurrent connections
  • Throughput: 30 SMS/second (up to 500 SMS/second available upon request)

Destination TON/NPI Settings:

  • If the sender address is alphanumeric or non-numeric, set TON to 5 and NPI to 0.
  • For short code senders, set TON to 3 and NPI to 0.
  • For addresses starting with a "+", set both TON and NPI to 1.
  • In other cases, set TON to 0 and NPI to 1.

Delivery Receipt Codes

EasySendSMS uses the following codes for delivery receipts:

  • 0: Message sent
  • 1: Failed message delivery
  • 2: Message delivered
  • 5: Failed message delivery

SMPP Error Codes

Below is a list of common SMPP error codes you may encounter, along with descriptions and possible solutions:

  • 0x00000000 (0): No Error
  • 0x00000001 (1): Message length is invalid (Max 140 octets; 160 chars in uncompressed default character encoding).
  • 0x00000002 (2): Command length is invalid
  • 0x00000003 (3): Invalid Command ID
  • 0x00000004 (4): Incorrect BIND Status for the given command (Ensure you are properly bound before sending requests).
  • 0x00000005 (5): ESME Already in Bound State (Avoid sending bind requests when already bound).
  • 0x00000006 (6): Invalid Priority Flag
  • 0x00000007 (7): Invalid Registered Delivery Flag
  • 0x00000008 (8): System Error
  • 0x0000000A (10): Invalid Source Address
  • 0x0000000B (11): Invalid Destination Address (Ensure the length is between 3 and 17 digits, and the format is valid).
  • 0x0000000C (12): Message ID is invalid
  • 0x0000000D (13): Bind Failed
  • 0x0000000E (14): Invalid Password
  • 0x0000000F (15): Invalid System ID
  • 0x00000015 (21): Invalid Service Type (Set to NULL)
  • 0x00000058 (88): Throttling error (Exceeded allowed message limits)
  • 0x000000FF (255): Unknown Error

If you encounter any specific errors or require further assistance, please don't hesitate to contact our support team.