How to Manage Throttling with SMPP
Objective
Managing throttling in SMPP.
Applies To
- SMPP
- Maximum Throughput
Procedure
By default, an SMPP account is set up with a throughput of 30 SMS per second.
A logic of flow-control is needed by the SMPP client in order to avoid rejections of SMS with error code 0x00000058 (throttling error, 88 decimal value).
Here is the recommended logic:
- Perform a throttle control that is matching the authorized throughput (30 SMS/sec by default).
- Resubmit rejected submit_sm with error code 0x00000058.
Comments
8 comments
This is at the account level shared across all your binds, however in some countries like US/Canada there's a limitation of 1sms/sec/number (sender).
Yes, that is correct. Unless you split it and send it via another virtual number.
5 SMS per sec? this is per dst address or on the total throughput of the bind?
So if the message is longer is 160 char then does that mean this will be rejected by SMSC with the throttling error due to concatenation in US/CAnada?
Is it the carriers you use that have such limitation ? because with telus, rogers or bell, when I send a long message using my mobile phone from and to one of these carriers, long messages get concatenated...
This is due to the 1sms/sec/number limitation when sending to US/Canada https://help.nexmo.com/entries/22362928-Restrictions-in-US-and-Canada to by pass it I have enable queueing when sending above this limit.
Now there's no proper support of concatenated messages for US/Canada due to end carrier limitation, it means if you are sending a long message it will be received as multiple SMS on the handset and not reconstructed in one message like it's supposed to be.
When I post a large sms, the response says that the message is will be splitted, but all parts except the first one are not sent because of the rate limitation.. what is the point of having a built-in length detection/auto split without the throttling ? Or am I missing someting ? I can do my own splitting but how can I make the dst phone to put back the message together ? I know its possible, because when I send a long message from my phone, all parts appears as one message on the receiving end.
the message I get for the call, using the php wrapper:
| Your message was sent in 2 parts
|
|StatusMessage ID|
| |
| OK
| XXXXXXXXXXXXXXX
|
| Throughput Rate Exceeded - please wait [ 994 ] and retry
|
The limitation is linked to the long virtual number we are using they are not fully featured, because carriers don't want to cannibalize their short code business.
Please sign in to leave a comment.