Information on how NowSMS handles different SMPP errors can be found at the following link: http://blog.nowsms.com/2007/06/smpp-error-code-handling-in-nowsms.html
This article is a reference for SMPP error codes.
ESME_RINVMSGLEN - 1 - Invalid Message Length (sm_length parameter)
ESME_RINVCMDLEN - 2 - Invalid Command Length (command_length in SMPP PDU)
ESME_RINVCMDID - 3 - Invalid Command ID (command_id in SMPP PDU)
ESME_RINVBNDSTS - 4 - Incorrect BIND status for given command (example: trying to submit a message when bound only as a receiver)
ESME_RALYBND - 5 - ESME already in bound state (example: sending a second bind command during an existing SMPP session)
ESME_RINVPRTFLG - 6 - Invalid Priority Flag (priority_flag parameter)
ESME_RINVREGDLVFLG - 7 - Invalid Regstered Delivery Flag (registered_delivery parameter)
ESME_RSYSERR - 8 - System Error (indicates server problems on the SMPP host)
ESME_RINVSRCADR - 0x0A - Invalid source address (sender/source address is not valid)
ESME_RINVDSTADR - 0x0B - Invalid desintation address (recipient/destination phone number is not valid)
ESME_RINVMSGID - 0x0C - Message ID is invalid (error only relevant to query_sm, replace_sm, cancel_sm commands)
ESME_RBINDFAIL - 0x0D - Bind failed (login/bind failed - invalid login credentials or login restricted by IP address)
ESME_RINVPASWD - 0x0E - Invalid password (login/bind failed)
ESME_RINVSYSID - 0x0F - Invalid System ID (login/bind failed - invalid username / system id)
ESME_RCANCELFAIL - 0x11 - cancel_sm request failed
ESME_RREPLACEFAIL - 0x13 - replace_sm request failed
ESME_RMSGQFUL - 0x14 - Message Queue Full (This can indicate that the SMPP server has too many queued messages and temporarily cannot accept any more messages. It can also indicate that the SMPP server has too many messages pending for the specified recipient and will not accept any more messages for this recipient until it is able to deliver messages that are already in the queue to this recipient.)
ESME_RINVSERTYP - 0x15 - Invalid service_type value
ESME_RINVNUMDESTS - 0x33 - Invalid number_of_dests value in submit_multi request
ESME_RINVDLNAME - 0x34 - Invalid distribution list name in submit_multi request
ESME_RINVDESTFLAG - 0x40 - Invalid dest_flag in submit_multi request
ESME_RINVSUBREP - 0x42 - Invalid 'submit with replace' request (replace_if_present flag set)
ESME_RINVESMCLASS - 0x43 - Invalid esm_class field data
ESME_RCNTSUBDL - 0x44 - Cannot submit to distribution list (submit_multi request)
ESME_RSUBMITFAIL - 0x45 - Submit message failed
ESME_RINVSRCTON - 0x48 - Invalid Source address TON
ESME_RINVSRCNPI - 0x49 - Invalid Source address NPI
ESME_RINVDSTTON - 0x50 - Invalid Destination address TON
ESME_RINVDSTNPI - 0x51 - Invalid Destination address NPI
ESME_RINVSYSTYP - 0x53 - Invalid system_type field
ESME_RINVREPFLAG - 0x54 - Invalid replace_if_present flag
ESME_RINVNUMMSGS - 0x55 - Invalid number_of_messages parameter
ESME_RTHROTTLED - 0x58 - Throttling error (This indicates that you are submitting messages at a rate that is faster than the provider allows)
ESME_RINVSCHED - 0x61 - Invalid schedule_delivery_time parameter
ESME_RINVEXPIRY - 0x62 - Invalid validity_period parameter / Expiry time
ESME_RINVDFTMSGID - 0x63 - Invalid sm_default_msg_id parameter (this error can sometimes occur if the "Default Sender Address" field is blank in NowSMS)
ESME_RX_T_APPN - 0x64 - ESME Receiver Temporary App Error Code
ESME_RX_P_APPN - 0x65 - ESME Receiver Permanent App Error Code (the SMPP provider is rejecting the message due to a policy decision or message filter)
ESME_RX_R_APPN - 0x66 - ESME Receiver Reject Message Error Code (the SMPP provider is rejecting the message due to a policy decision or message filter)
ESME_RQUERYFAIL - 0x67 - query_sm request failed
ESME_RINVOPTPARSTREAM - 0xC0 - Error in the optional TLV parameter encoding
ESME_ROPTPARNOTALLWD - 0xC1 - An optional TLV parameter was specified which is not allowed
ESME_RINVPARLEN - 0xC2 - An optional TLV parameter has an invalid parameter length
ESME_RMISSINGOPTPARAM - 0xC3 - An expected optional TLV parameter is missing
ESME_RINVOPTPARAMVAL - 0xC4 - An optional TLV parameter is encoded with an invalid value
ESME_RDELIVERYFAILURE - 0xFE - Generice Message Delivery failure
ESME_RUNKNOWNERR - 0xFF - An unknown error occurred (indicates server problems on the SMPP host)
Error codes between 0x400 and 0x4FF are SMPP provider specific, and it is necessary to consult system documentation for the provider for more details.
For additional information, archived versions of the SMPP specification can be found at the following link: http://blog.nowsms.com/2009/03/smpp-34-protocol-specification-archive.html


