Connect to Aurora SendCloud over SMPP v3.4, configure your bind, and receive delivery receipts.
Aurora SendCloud SMPP Integration Guide
Overview
Connect to Aurora SendCloud over SMPP, send SMS messages, and receive delivery receipts.
Aurora SendCloud supports SMPP v3.4. Use a transceiver bind if you want one connection to both send messages and receive receipts.
Prerequisites
- Enable the SMS service in the Aurora SendCloud console.
- Aurora SendCloud creates
SMS_USERandSMS_KEYin the backend for your SMPP account. SMS_USERmust be 8-15 characters and can only contain English letters, numbers, and underscore_.- SMPP accounts are separate from API accounts. SMPP credentials cannot be used for the HTTP API, and API credentials cannot be used for SMPP.
- Keep
SMS_KEYsecure and update all clients if you regenerate it, because the old key becomes invalid. - Ensure your S-Wallet balance is sufficient, since SMS is billed by country/region and SMS pieces.
- IP allowlisting is required for SMPP access. If your source IP is not allowlisted, you cannot connect.
- IP allowlisting is not self-service. Contact Aurora SendCloud support to add or update your allowlisted IPs.
- Use SMPP
hostsmpp.aurorasendcloud.comandport2775. - Optionally validate credentials with the Send SMS API before going live.
Connection Parameters
host:smpp.aurorasendcloud.com.port:2775.system_id: yourSMS_USER.password: yourSMS_KEY.protocol: SMPP v3.4.bind_mode:transceiveris commonly used for sending and receiving on one connection.system_type: leave empty unless instructed otherwise.
Connect and Bind
- Open a TCP connection to
smpp.aurorasendcloud.com:2775. - Send
bind_transceiverand wait forbind_transceiver_respwith status0. - Send
enquire_linkevery 30 seconds to keep the session alive. - If you need send-only or receive-only behavior, use
bind_transmitterorbind_receiver.
Addressing and Sender IDs
- Use MSISDN in E.164 format (country code + national destination code + subscriber number) and always include the country code.
- For international MSISDN, a common TON/NPI pairing is
1/1. - Sender IDs are country-dependent. Use the Aurora SendCloud Sender ID rules from the SMS documentation.
Encoding and Long Messages
- GSM-7: 1 piece up to 160 characters, concatenated parts up to 153 characters.
- UCS-2 (Unicode): 1 piece up to 70 characters, concatenated parts up to 67 characters.
- For Unicode, set the DCS value to
8. - If you send messages longer than one piece, split the payload and include concatenation headers (UDH).
Delivery Receipts
- Request receipts by setting
registered_deliveryinsubmit_sm. - Delivery receipts are returned in
deliver_sm. - Delivery receipts use
esm_classbit 2 to indicate an MC delivery receipt. - The common receipt text format is:
id:<messageId> sub:001 dlvrd:001 submit date:YYMMDDhhmm done date:YYMMDDhhmm stat:<STAT> err:<ERR> text:statis a 7-character field and may be abbreviated by the SMSC.- Common
statvalues include:DELIVRD: delivered to the handset.UNDELIV: delivery failed or the message was undeliverable.EXPIRED: delivery timed out or the validity period expired.
- Other values may appear depending on SMSC implementation. Treat any non-
DELIVRDstatus as not confirmed delivered.
Throughput and Limits
- Typical SMPP provider defaults are 10 msg/s per bind and a window size of 10, but actual limits are provisioned per account.
- Many providers also limit parallel connections per system ID. Contact Aurora SendCloud support if you need higher limits.
Optional: Validate with the HTTP API
- The Send SMS API is documented as a POST endpoint in the API reference and can help you validate credentials before you go live with SMPP.
Common SMPP Errors
ESME_RINVCMDLENinvalid command length.ESME_RINVCMDIDinvalid command ID.ESME_RINVBNDSTSincorrect bind state.ESME_RINVDSTADRinvalid destination address.ESME_RBINDFAILbind failed.ESME_RINVPASWDinvalid password.ESME_RTHROTTLEDexceeded message limits.
Troubleshooting Checklist
- Verify
SMS_USERandSMS_KEYand ensure the key was not regenerated. - Confirm that you are connecting to
smpp.aurorasendcloud.comon port2775. - Confirm that your client source IP is on the SMPP allowlist.
- Confirm S-Wallet balance and country/region pricing.
- Check destination number format and encoding.
- If you do not receive receipts, confirm
registered_deliveryis set and the RX/TRX bind is active.
