SMPP Citron (deprecated)

Upgrading to SMPP Tangerine

  • The new service is available at smpp.bulksms.com port 2775 (unencrypted) and 3550 (encrypted by TLS).
    • The existing service will continue to function at smpp1.bulksms.com/smpp2.bulksms.com until customers have been migrated.
  • The system_id that you bind with is now your BulkSMS userGuid (e.g. 200012345), where previously it was your BulkSMS userId (e.g. 12345). To find out what your BulkSMS userGuid is, please contact Support.
  • Accounts registered with the country set to South Africa are not yet supported on the new service; a bind request from such an account produces an ESME_RBINDFAIL error.
  • 16-bit (Unicode) is now supported for multipart-part (concatenated) messages.
  • Concatenated 7-bit and 16-bit messages to a given recipient are only delivered once all their parts are received.
  • All message classes (0, 1, 2, 3) are now supported.
  • protocol_id is now supported.
  • Mobile Originating (MO) messages: 7-bit (all GSM characters) and 16-bit messages are now supported, including concatenated messages.
  • Bind Groups: the length of the bind group ID has been changed to numeric values from 0-99.
  • INSUFFICIENT_CREDITS and INSUFFICIENT_QUOTA responses are now returned in deliver_sm_resps (whereas these statuses were previously returned in submit_sm_resps using vendor-specific status codes).
  • Delivery Receipts:
    • submit date and done date are now in the UTC time zone (used to be GMT+2).
    • The status codes have reduced in number, and two new codes (INSUFFICIENT_CREDITS and INSUFFICIENT_QUOTA) were added. The possible values for err codes are now:
      • DELIVERED = 000
      • INSUFFICIENT_CREDITS = 025
      • INSUFFICIENT_QUOTA = 027
      • UNROUTABLE = 031
      • BLOCKED_TO_RECIPIENT = 032
      • BLOCKED_ABUSE = 034
      • FAILED = 050
      • FAILED_EXPIRED = 053
      • HANDSET_ERROR = 057
      • UNKNOWN = 070
    • INSUFFICIENT_CREDITS and INSUFFICIENT_QUOTA produce a delivery receipt with:
      • the optional parameter message_state set to 8 (REJECTED) (see SMPP spec ยง5.2.28);
      • a deliver_sm body which includes stat:REJECTD.
  • All other features remain identical to the previous service.