How does Bandwidth message queuing work?


Jessica Murray


As Bandwidth receives SMS or MMS message requests that exceed your rate limit settings, these requests are queued for delivery. Rate Limit settings are relative to the amount of segments sent at any time, not messages as a whole (i.e., a 5 segment message is equal to 5 messages, not 1 message).





Default OFF, can be enabled

For HTTP V1, the Bandwidth account default does not queue messages (segments). 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, by default Bandwidth queues messages (segments) internally to be sent out. Once contracted, Bandwidth will enable a 15 minute queue across the entire account. The number of messages (segments) in the queue will depend on your account wide dequeue rate. It's important to note that the 15 minute queue (900 seconds) is across the entire account, and not per phone number.


Examples of queuing on Bandwidth's HTTP platforms:

Queuing for HTTP V1

Queuing for HTTP V2



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 (segments) 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 no API Burst Limit. You may send message (segment) 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 (segments) to send at a rate of 5MPS.

Article is closed for comments.