Accounting callbacks and SMPP Error Codes

Accounting callbacks and SMPP Error Codes SearchSearch
Author Message
Tim Williams
New member
Username: Timw

Post Number: 36
Registered: 09-2010
Posted on Tuesday, July 23, 2013 - 10:12 am:   

Hi,

Out accounting callbacks are all up and running and should return different SMPP errors depending on the reason - yet when checking with customers and running a trace I can see they all return the ESME Throttling error:

We respond with:

PreAuth=Deny
SMPPErrorCode=0x0000000A
RejectMessage=Invalid source address

And the SMPP message sent back is:

Result: Throttling error (ESME exceeded allowed message limits) (0x00000058)

Please can you let us know if there is anything wrong with our response?
Tim Williams
New member
Username: Timw

Post Number: 37
Registered: 09-2010
Posted on Tuesday, July 23, 2013 - 04:01 pm:   

Bit of further info, also tried to respond with:

PreAuth=Deny
SMPPErrorCode=0x0A
RejectMessage=Invalid source address

And that also caused NowSMS to respond with:

Result: Throttling error (ESME exceeded allowed message limits) (0x00000058)

Yet just changing the error code to 65 ESME_RX_P_APPN (I know its not the code for invalid source address):

PreAuth=Deny
SMPPErrorCode=65
RejectMessage=Invalid source address

Caused NowSMS to pay some attention, but it responded with:

Result: [Reserved] (0x00000041)

Which doesn't appear to match the code it should be.

This is quite urgent as need to resolve this for a client.
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4575
Registered: 08-2008
Posted on Tuesday, July 23, 2013 - 05:06 pm:   

Hi Tim,

If there is no 0x prefix, we assume the error code is decimal. So 65 decimal is 0x41.

I'm not aware of any problems with our parsing the 0x prefix as hex format, but my initial reaction would be to try the error code in decimal.

I've done more testing, and I see the problem. Hex values that include A thru F are not parsed correctly. So for example, 0x14 works, but not 0x0A.

Convert to decimal (SMPPErrorCode=10) and it will return the expected response.

--
Des
NowSMS Support
Tim Williams
New member
Username: Timw

Post Number: 38
Registered: 09-2010
Posted on Tuesday, July 23, 2013 - 05:14 pm:   

Hi Des,

Thanks, please can you confirm if the following (hex):

ESME_RINVMSGLEN 0x1 Invalid Message Length
ME_RSYSERR 0x8 System Error
ESME_RINVSRCADR 0x0A Invalid source address
ESME_RINVDSTADR 0x0B Invalid desintation address
ESME_RINVSERTYP 0x15 Invalid service_type value
ESME_RTHROTTLED 0x58 Throttling error
ESME_RX_R_APPN 0x66 ESME Receiver Reject Message Error Code
ESME_RUNKNOWNERR 0xFF An unknown error occurred
ESME_RX_P_APPN 0x65 ESME Receiver permanent error

Would convert to (Decimal):

ESME_RINVMSGLEN 1 Invalid Message Length
ME_RSYSERR 8 System Error
ESME_RINVSRCADR 10 Invalid source address
ESME_RINVDSTADR 11 Invalid desintation address
ESME_RINVSERTYP 21 Invalid service_type value
ESME_RTHROTTLED 88 Throttling error
ESME_RX_R_APPN 102 ESME Receiver Reject Message Error Code
ESME_RUNKNOWNERR 255 An unknown error occurred
ESME_RX_P_APPN 101 ESME Receiver permanent error
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4577
Registered: 08-2008
Posted on Tuesday, July 23, 2013 - 05:30 pm:   

Hi Tim,

Those decimal values all look good to me.

The Windows Calculator is a great tool for these conversions, use Alt-View-Programmer.

--
Des
NowSMS Support