On 03 Jul 2014, at 10:21, [email protected] wrote:

> If you want to check this behaviour,
> turned off your mobile , a take a tcpdump trace , and send one message by 
> one, until you get an error from the smsc, ( usually teh maximum message per 
> subscriber on the smsc configuration are betwwen 10 and 25 ) depending the 
> operator
> normally you will get an 0x000014 error message ( message queue full ) but 
> often you will receive a 0x 000058 error that are throttling error for a 
> message queue full situation.
> on this case, the retry parameter will allow you to manage the retry queue on 
> kannel . if there is no paramter , kannel will take the default value ( if i 
> am not mistaken it is 10 attempts per minute )
> hope it help
> br
> Marc


We have two different things here:

MessageQueueFull is telling you that the SMSC doesn't want to store further 
messages going to the destination number because it can not forward them to the 
mobile at the moment because either the sim storage on the phone does not have 
space to store additional new messages (on very old mobiles) or the SMSC 
already has a certain amount of SMS to that destination in the queue and 
doesn't want to add more to avoid flooding. In other words MessageQueueFull is 
the message telling you that this specific destination number should be retried 
later.

Throttling error however does affect ALL the traffic going to the SMS, not only 
a specific destination. This is meant for flow control between the ESME to the 
SMSC. So it tells Kannel to stop back and send slower because the SMSC can or 
do not wish to process it as fast. Usually it is a rate limit set contractual 
wise and implemented technically.

So the correct behaviour is
        MessageQueueFull = put the message on to the retry mechanism to retry 
again later. This affects a single number.
        Throttling Error = stop for a small moment and continue again. Simply 
retry as long as  you get ThrottlingError again. This affects all messages.

If you get ThrottlingError for a messageQueueFull situation, then the SMSC is 
not correctly implementing the SMPP specs.
Our SMSC for example would give you a ThrottlingError only in two cases:

a) you exceed the configured rate limit
b) you are out of credit (in which case no further messages are accepted at 
all).

MessageQueueFull would only be returned if the mobile returns this to us 
(memory capacity exceeded).

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to