The Short Message Peer-to-Peer (SMPP) protocol enables the exchange of short messages between Short Message Service Centers (SMSCs) and External Short Messaging Entities (ESMEs). Below is a comprehensive list of common SMPP error codes, including their hexadecimal, decimal, and description values:

  • 0x00000000 (0) - No error
  • 0x00000001 (1) - Message too long
  • 0x00000002 (2) - Invalid destination address
  • 0x00000003 (3) - Invalid source address
  • 0x00000004 (4) - Invalid message ID
  • 0x00000005 (5) - Bind failed
  • 0x00000006 (6) - Invalid password
  • 0x00000007 (7) - Invalid system ID
  • 0x00000008 (8) - Cancel SM failed
  • 0x00000009 (9) - Replace SM failed
  • 0x00000010 (16) - Message queued
  • 0x00000011 (17) - Invalid service type
  • 0x00000012 (18) - Invalid number of destinations
  • 0x00000013 (19) - Invalid distribution list name
  • 0x00000014 (20) - Destination flag is invalid (submit_multi)
  • 0x00000015 (21) - Invalid 'submit with replace' request (i.e. submit_sm with replace_if_present_flag set)
  • 0x00000033 (51) - Invalid source address TON
  • 0x00000034 (52) - Invalid source address NPI
  • 0x00000035 (53) - Invalid destination address TON
  • 0x00000036 (54) - Invalid destination address NPI
  • 0x00000037 (55) - Invalid system_type field
  • 0x00000038 (56) - Invalid replace_if_present flag
  • 0x00000039 (57) - Invalid number of messages
  • 0x00000040 (64) - Throttling error (ESME has exceeded allowed message limits)
  • 0x00000041 (65) - Invalid scheduled delivery time
  • 0x00000042 (66) - Invalid expiration time
  • 0x00000043 (67) - Invalid message validity period (relative)
  • 0x00000044 (68) - Predefined message invalid or not found
  • 0x00000045 (69) - Receipted message ID is invalid
  • 0x00000046 (70) - ESME Receiver temporary app error code
  • 0x00000047 (71) - ESME Receiver permanent app error code
  • 0x00000048 (72) - ESME Receiver reject message error code
  • 0x00000049 (73) - Query SM Failed

Note that this is only a partial list of SMPP error codes, and additional codes may be returned in specific contexts and implementations. It is important for users to consult the relevant documentation and resources to fully understand and address any errors that may occur.