Error Messages in SMSOUT log file

Error Messages in SMSOUT log file SearchSearch
Author Message
Anonymous
 
Posted on Wednesday, August 11, 2004 - 01:34 pm:   

Hi Bryce,

As per my understanding, after submitting the messages to SMSC, NowSMS gateway writes the details of the message in SMSOUT log file. After going through the log files I found that if NOWSMS gateway is not able to submit the message to the SMSC (HTTP connection), it writes in the log file 'Retry Pending'. Also, I have seen some errors like 'syntax error' written in the log file. Is it possible to get the list of all these error messages in the SMSOut log for all connections (SMPP, UCP, HTTP, GSM)? I have gone through the documentation but was not able to find any such list.

Thanks.
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 3250
Registered: 10-2002
Posted on Wednesday, August 11, 2004 - 10:16 pm:   

Any errors transmitting a message are written to the Event log, so you can get a snap shot of them there.

I would normally not worry about any "retry pending" errors, as we will automatically retry the send.

I don't have a list of all of the different error codes, because in most cases, we are just reporting back the error that was returned by the SMSC.

There is a list of GSM modem error codes at the following link (usually a GSM modem will report a CMS ERROR when it fails to send a message, sometimes a faulty modem will just return the text "ERROR"):

http://support.nowsms.com/discus/messages/1/829.html

For HTTP connections, generally it will be an HTTP status code there. 200 is OK (and won't be reported as an error), but other codes are generally service specific.

Common HTTP status codes include:

401 - Invalid Username or Password
403 - Access denied (sometimes invalid username or password, sometimes IP address not authorised)

Note that for 500 series errors, NowSMS assumes that there is a server problem, and will keep retrying rather than rejecting a message.

For UCP/EMI, SMPP and CIMD2, the error codes are generally going to be the errors defined in the specifications.

Here are the error codes defined by the SMPP specification:

0x01: "ERROR: Message Length is invalid"
0x02: "ERROR: Command Length is invalid"
0x03: "ERROR: Invalid Command ID"
0x04: "ERROR: Incorrect BIND Status for given command"
0x05: "ERROR: ESME Already in Bound State"
0x06: "ERROR: Invalid Priority Flag"
0x07: "ERROR: Invalid Registered Delivery Flag"
0x08: "ERROR: System Error"
0x0A: "ERROR: Invalid Source Address"
0x0B: "ERROR: Invalid Dest Addr"
0x0C: "ERROR: Message ID is invalid"
0x0D: "ERROR: Bind Failed"
0x0E: "ERROR: Invalid Password"
0x0F: "ERROR: Invalid username/system id"
0x11: "ERROR: Cancel SM Failed"
0x12: "ERROR: Reserved 0x12"
0x13: "ERROR: Replace SM Failed"
0x14: "ERROR: Message Queue Full"
0x15: "ERROR: Invalid Service Type"
0x33: "ERROR: Invalid number of destinations"
0x34: "ERROR: Invalid Distribution List name"
0x40: "ERROR: Destination flag is invalid (submit_multi)"
0x42: "ERROR: Invalid 'submit with replace' request"
0x43: "ERROR: Invalid esm_class field data"
0x44: "ERROR: Cannot Submit to Distribution List"
0x45: "ERROR: submit_sm or submit_multi failed"
0x48: "ERROR: Invalid Source address TON"
0x49: "ERROR: Invalid Source address NPI"
0x50: "ERROR: Invalid Destination address TON"
0x51: "ERROR: Invalid Destination address NPI"
0x53: "ERROR: Invalid system_type field"
0x54: "ERROR: Invalid replace_if_present flag"
0x55: "ERROR: Invalid number of messages"
0x58: "ERROR: Throttling error (ESME has exceeded allowed message limits)"
0x61: "ERROR: Invalid Scheduled Delivery Time"
0x62: "ERROR: Invalid message validity period (Expiry time)"
0x63: "ERROR: Predefined Message Invalid or Not Found"
0x64: "ERROR: ESME Receiver Temporary App Error Code"
0x65: "ERROR: ESME Receiver Permanent App Error Code"
0x66: "ERROR: ESME Receiver Reject Message Error Code"
0x67: "ERROR: query_sm request failed"
0xC0: "ERROR: Error in the optional part of the PDU Body."
0xC1: "ERROR: Optional Parameter not allowed"
0xC2: "ERROR: Invalid Parameter Length."
0xC3: "ERROR: Expected Optional Parameter missing"
0xC4: "ERROR: Invalid Optional Parameter Value"
0xFE: "ERROR: Delivery Failure (used for data_sm_resp)"

Yes, some of these errors are quite cryptic, but there is not much information in the SMPP specification that explains the nature of some of the more cryptic error codes. So the codes returned can often vary by provider.

Some SMPP-based service providers also define their own extended error codes. If one of these is returned, NowSMS will return "Unknown Error XXXXXXXXX", where the X's are a hex representation of the SMPP error code.

It is also possible to see one of the following errors:

"ERROR: Timeout waiting for response from server or lost connection"
"ERROR: TCP/IP Error sending data to server"
"ERROR: Unable to connect to server"

The above errors would happen if an SMSC drops the connection every time we try to submit a particular message. We reject the message in this case, as this would likely be a case of where something about the message is causing a system error in the SMSC.

And here are the error codes from the UCP/EMI Specification:

1 : "Checksum error"
2 : "Syntax error"
3 : "Operation not supported by system"
4 : "Operation not allowed"
5 : "Call barring active"
6 : "AdC invalid"
7 : "Authentication failure"
8 : "Legitimisation code for all calls, failure"
9 : "GA not valid"
10 : "Repetition not allowed"
11 : "Legitimisation code for repetition, failure"
12 : "Priority call not allowed"
13 : "Legitimisation code for priority call, failure"
14 : "Urgent message not allowed"
15 : "Legitimisation code for urgent message, failure"
16 : "Reverse charging not allowed"
17 : "Legitimisation code for rev. charging, failure"
18 : "Deferred delivery not allowed"
19 : "New AC not valid"
20 : "New legitimisation code not valid"
21 : "Standard text not valid"
22 : "Time period not valid"
23 : "Message type not supported by system"
24 : "Message too long"
25 : "Requested standard text not valid"
26 : "Message type not valid for the pager type"
27 : "Message not found in smsc"
30 : "Subscriber hang-up"
31 : "Fax group not supported"
32 : "Fax message type not supported"
33 : "Address already in list (60 series)"
34 : "Address not in list (60 series)"
35 : "List full, cannot add address to list (60 series)"
36 : "RPID already in use"
37 : "Delivery in progress"
38 : "Message forwarded"

Some of these errors are even more cryptic and bizarre than the SMPP codes, but for typical NowSMS use, I would not expect to see most of them. Probably most common is "Syntax Error" which usually happens when there is not a "Default Sender Address" configured for the SMSC connection, and most UCP/EMI servers consider a lack of sender address to be a "Syntax Error".

Some UCP-based service providers also define their own extended error codes. If one of these is returned, NowSMS will return "Unknown Error nnn", where the nnn is a decimal representation of the UCP/EMI error code returned by the server.

It is also possible to see one of the following errors:

"ERROR: Timeout waiting for response from server or lost connection"
"ERROR: TCP/IP Error sending data to server"
"ERROR: Unable to connect to server"

The above errors would happen if an SMSC drops the connection every time we try to submit a particular message. We reject the message in this case, as this would likely be a case of where something about the message is causing a system error in the SMSC.

For the sake of completeness, I'll also mention the possible CIMD2 error codes:

1 : "ERROR: Unexpected operation"
2 : "ERROR: Syntax error"
3 : "ERROR: Unsupported parameter error"
4 : "ERROR: Connection to MC lost"
5 : "ERROR: No response from MC"
6 : "ERROR: General System Error"
7 : "ERROR: Cannot find information"
8 : "ERROR: Parameter formatting error"
9 : "ERROR: Requested operation failed"
100: "ERROR: Invalid login"
101: "ERROR: Incorrect access type"
102: "ERROR: Too many users with this login ID"
103: "ERROR: Login refused by MC"
104: "ERROR: Invalid window size"
105: "ERROR: Windowing disabled"
106: "ERROR: Virtual SMS Center-based barring"
107: "ERROR: Invalid subaddr"
108: "ERROR: Alias account, login refused"
300: "ERROR: Incorrect destination address"
301: "ERROR: Incorrect number of destination addresses"
302: "ERROR: Syntax error in user data parameter"
303: "ERROR: Incorrect bin/head/normal user data parameter combination"
304: "ERROR: Incorrect dcs parameter usage"
305: "ERROR: Incorrect validity period parameters usage"
306: "ERROR: Incorrect originator address usage"
307: "ERROR: Incorrect PID parameter usage"
308: "ERROR: Incorrect first delivery parameter usage"
309: "ERROR: Incorrect reply path usage"
310: "ERROR: Incorrect status report request parameter usage"
311: "ERROR: Incorrect cancel enabled parameter usage"
312: "ERROR: Incorrect priority parameter usage"
313: "ERROR: Incorrect tariff class parameter usage"
314: "ERROR: Incorrect service description parameter usage"
315: "ERROR: Incorrect transport type parameter usage"
316: "ERROR: Incorrect message type parameter usage"
318: "ERROR: Incorrect MMs parameter usage"
319: "ERROR: Incorrect operation timer parameter usage"
320: "ERROR: Incorrect dialogue ID parameter usage"
321: "ERROR: Incorrect alpha originator address usage"
322: "ERROR: Invalid data for alpha numeric originator"
400: "ERROR: Incorrect address parameter usage"
401: "ERROR: Incorrect scts parameter usage"
500: "ERROR: Incorrect scts parameter usage"
501: "ERROR: Incorrect mode parameter usage"
502: "ERROR: Incorrect parameter combination"
600: "ERROR: Incorrect scts parameter usage"
601: "ERROR: Incorrect address parameter usage"
602: "ERROR: Incorrect mode parameter usage"
603: "ERROR: Incorrect parameter combination"
800: "ERROR: Changing password failed"
801: "ERROR: Changing password not allowed"
900: "ERROR: Unsupported item requested"

Some CIMD-based service providers also define their own extended error codes. If one of these is returned, NowSMS will return "Unknown Error nnn", where the nnn is a decimal representation of the CIMD error code returned by the server.

It is also possible to see one of the following errors:

"ERROR: Timeout waiting for response from server or lost connection"
"ERROR: TCP/IP Error sending data to server"
"ERROR: Unable to connect to server"

The above errors would happen if an SMSC drops the connection every time we try to submit a particular message. We reject the message in this case, as this would likely be a case of where something about the message is causing a system error in the SMSC.