How does Bandwidth message queuing work?


Kevin Elkins


As Bandwidth receives SMS or MMS message requests that exceed your rate limit settings, these requests are queued for delivery.





Default OFF, can be enabled

For HTTP V1, the Bandwidth account default does not queue messages. Once contracted, and your account is in commercial mode, we can configure your account to accept message requests at a higher rate than the account wide dequeue rate limit. Queuing allows you to send at a higher rate as long as the overall volume of messages measured over the last 15 minute period remains below your account wide dequeue rate limit. It's important to note that the 15 minute queue is across the entire account, and not per phone number.


Always ON

For HTTP V2, customers may send requests to Bandwidth at a rapid pace. Messages are automatically queued for sending to destination carriers at your account level dequeue rate limit. Only when you send sustained volumes such that you have exceeded your messages being dequeued within 15 minutes based on your dequeue rate will you receive a rate limit error.

Message Queuing for HTTP V1 Customers

Let’s look at how this works.  Below is an example of an account with:

  • Account Dequeue rate = 15 MPS
  • API Burst Request rate limit = 50 MPS

When your application requests messages to be sent at a rate below the account dequeue rate limit, messages are requested and sent at the same rate. When the application bursts to 48MPS, it is below the 50MPS API Burst Request rate limit. Messages begin to queue and are dequeued at 15MPS until the queue has been reduced and the requested message rate and dequeue rates match again.

Visually, you can see this burst below in blue and the sending rate limit maximum of 15MPS, so a temporary queue is built up on your account until the messages are sent.


Example: Calculating Queue Depth

An account has an Outbound dequeue rate of 5MPS and has enabled the 15 minute queue (900 seconds).


Example: Calculating Queue Fill Time

An account has an Outbound dequeue rate of 5 MPS, a Burst API rate of 15 MPS and has enabled the 15 minute queue (900 seconds).



Message Queuing for HTTP V2 Customers

V2 works much the same way, however there is not a API Burst Limit. You may send message requests to Bandwidth at a high rate until your queue depth exceeds your dequeue limit x 15 minutes.  


On HTTP V2, in the above example, where your dequeue rate limit if 5MPS, if you sent Bandwidth SMS requests at 100MPS for greater than 45 seconds, you would receive a rate limit error because you have exceeded the 15 minute queue depth when Bandwidth is dequeuing your messages to send at a rate of 5MPS.

Article is closed for comments.