Throttling error from SMSC - RetryDelay

Throttling error from SMSC - RetryDelay SearchSearch
Author Message
Ricardo Alvarez
New member
Username: Ricalv

Post Number: 9
Registered: 09-2004
Posted on Thursday, April 28, 2005 - 05:51 pm:   

Hi! We are currently receiving many throttling errors from the SMSC. I am trying to use the RetryDelay settings, but they don't seem to work yet. What we want is that when NowSMS gets this error it doesn't wait 15 seconds (see log below) before retrying since the SMSC is not sending the error because of a connection limit but because of a limit for that specific phone number. Here is the SMSGW section of the smsgw.ini file:
[SMSGW]
WebAuth=No
WebMenu=Yes
WebPort=8800
ReceiveSMS=Yes
ReceiveMMS=Yes
Debug=Yes
BinaryDCS=4
RetryDelay=1
RetryDelayMultiplier=0

Here is a fraction of the log with the delay of 15 seconds:

2005-04-28 12:21:08,42710803.req,66.231.171.138,7874750560,Retry Pending - ERROR: Throttling error (ESME has exceeded allowed message limits) -- SMPP - 196.32.135.9:6200
2005-04-28 12:21:23,42710831.req,66.231.171.138,7874750662,Retry Pending - ERROR: Throttling error (ESME has exceeded allowed message limits) -- SMPP - 196.32.135.9:6200
2005-04-28 12:21:38,4271083C.req,66.231.171.138,7874750677,Retry Pending - ERROR: Throttling error (ESME has exceeded allowed message limits) -- SMPP - 196.32.135.9:6200
2005-04-28 12:21:53,42710843.req,66.231.171.138,7874750688,Retry Pending - ERROR: Throttling error (ESME has exceeded allowed message limits) -- SMPP - 196.32.135.9:6200
2005-04-28 12:22:08,42710844.req,66.231.171.138,7874750689,Retry Pending - ERROR: Throttling error (ESME has exceeded allowed message limits) -- SMPP - 196.32.135.9:6200
2005-04-28 12:22:23,42710870.req,66.231.171.138,7876912130,Retry Pending - ERROR: Throttling error (ESME has exceeded allowed message limits) -- SMPP - 196.32.135.9:6200
2005-04-28 12:22:38,42710989.req,66.231.171.138,7874750560,Retry Pending - ERROR: Throttling error (ESME has exceeded allowed message limits) -- SMPP - 196.32.135.9:6200
2005-04-28 12:22:54,427109B7.req,66.231.171.138,7874750662,Retry Pending - ERROR: Throttling error (ESME has exceeded allowed message limits) -- SMPP - 196.32.135.9:6200
2005-04-28 12:23:09,427109C2.req,66.231.171.138,7874750677,Retry Pending - ERROR: Throttling error (ESME has exceeded allowed message limits) -- SMPP - 196.32.135.9:6200
2005-04-28 12:23:24,427109C9.req,66.231.171.138,7874750688,Retry Pending - ERROR: Throttling error (ESME has exceeded allowed message limits) -- SMPP - 196.32.135.9:6200
2005-04-28 12:23:39,427109CA.req,66.231.171.138,7874750689,Retry Pending - ERROR: Throttling error (ESME has exceeded allowed message limits) -- SMPP - 196.32.135.9:6200

Any help is deeply appreciated.

Thanks,
Ricardo Alvarez
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 4432
Registered: 10-2002
Posted on Thursday, April 28, 2005 - 06:53 pm:   

Hi Ricardo,

We were planning to put out a patch today, so I'm going to go ahead and include a tuning parameter to deal with this situation.

We originally put in a 15 second delay because it was the recommended action for this error code in the guidelines for connecting to O2 UK's SMPP server.

Since that time, we've added the ability to set a throttling level for each SMSC connection so that you can limit the number of messages per second that are attempted over a particular SMPP connection. So if someone is having throttling issues, I usually recommend that setting.

However, in your case, this is not a solution, because the error is not a true throttling error.

In the past, what I've seen is service providers returning the error ESME_RMSGQFULL (receive message queue full), when it has a receive limit for a particular subscriber.

But we can't change the response code that is coming from the provider, we just have to provide a way for you to deal with it.

We're going to change our default handling of this condition to be a 5 second delay instead of 15. And if you want to disable the delay, edit SMSGW.INI, and under the [SMSGW] header, add SMPPThrottleErrorDelay=0.

This will require v5.51b, which is not released yet. But there should be a ZIP file up within the next few hours. Details will be posted under http://www.nowsms.com/whatsnew.htm.

-bn
Ricardo Alvarez
New member
Username: Ricalv

Post Number: 10
Registered: 09-2004
Posted on Wednesday, May 04, 2005 - 07:47 pm:   

Thanks Bryce! Exactly what we wanted. Now, do the following parameters have any effect on that scenario (throttling):

RetryDelay=
RetryDelayMultiplier=
RetryDelayAfterAttempts=
RetryDelayMax=
RetryMaxAttempts=

or are there any other Multiplier and Max parameters related to SMPPThrottleErrorDelay ?

Thanks,
Ricardo
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 4472
Registered: 10-2002
Posted on Wednesday, May 04, 2005 - 10:35 pm:   

Hi Ricardo,

The SMPPThrottleErrorDelay is fixed, there are no multipliers or max involved for it.

But I think I understand where your question is going here.

The SMPPThrottleErrorDelay is a delay period that is imposed on the SMPP connection where a throttling error occurred. In your case, since this is not a true throttling error, I would recommend your setting this value to 0 to disable delays, so that there are not unnecessary delays over your SMPP connection.

The individual messages that encountered a throttling error will have retry delays applied to them. So that there will be a wait before those messages are retried. All of the above settings will apply to determine when one of these throttled messages is retried, EXCEPT that RetryMaxAttempts is ignored. If the only error received is a throttling error then currently we retry the message indefinitely (up to RetryDelayMax).

Let me know if you need any clarification on this ... it seemed rather confusing as I tried to write this reply.

-bn