"The World's most reliable SMS gateway software!"
Tel.: 00 36 52 532 731
Overview Quick start Download Manual How to buy FAQ Contact Us
OZEKI NG SMS Gateway - Product Guide

Least Cost Routing Contents | SearchAsterisk PBX SMS

Home > Product Manual > Examples and Solutions > SMS Load Balancing

SMS Gateway SMS Gateway Home

  Product Manual
  SMS technology
  Installation Guide
  User Guide
  Developers Guide
  Examples and Solutions
  Telephone networks
  SMS Pin game
  E-mail to SMS alert
  2 way SMS to Email gateway
  SMS Order System
  Least Cost Routing
  SMS Load Balancing
  Asterisk PBX SMS
  SQL SMS Gateway
  SMS Service Provider
  Service Provider
  SMS PIN code query
  SMS Counter game
  SMS newsgroup
  Distributed SMS
  SMS Menu
  Google maps
  Birthday greeting - SQL Express
  Birthday greeting - MySQL
  Birthday greeting - Oracle
  Instant brochure - MMS autoreply
  Alphabet letter game
  SMS sport betting service
  E-mail about outgoing SMS messages
  SMS Information Menu
  Email to SMS feature
  Reminder example
  Bulk SMS Client
  Bulk SMS to a given phone number range
  Filtering phone numbers
  Ozeki Phone Sytem PBX SMS
  Feature list
  Commercial Information

Automated phone calls?
Ozeki Phone System XE VoIP PBX software is an advanced PBX built for automated voice calls and 2 way SMS messaging. It has outstanding APIs for software developers. It can be used for:

Phone calls from SQL
Phone calls from HTTP
Voice and SMS applications

Callcenter developers
If you are working on telephone solutions, please check out the Ozeki VoIP SIP SDK.
It can be used to create VoIP client and server software.

Contact Us!
If you wish to get further information, do not hesitate to contact us!

E-mail: info@ozekisms.com

If you have a technical question, please submit a support request on-line.

SMS sending Load Balancing

This page explains how to set up outbound routing with the Ozeki NG - SMS Gateway software to allow load balancing for the purpose of efficient use of small capacity connections with SMS Centers. You can read about the motivation, the resultant task for the program, the solution, and a practical example illustrating the convenience of load balancing.


Load balancing allows an increase in the throughput of SMS messages. You may need to make use of it if you wish to send out a large number of SMS messages with small capacity connections to GSM service providers.

If you have several small capacity connections to GSM service providers, you can achieve the largest possible throughput by balancing their loads. Load balancing means equally involving different connections in the job of sending out SMS messages.

Ozeki NG - SMS Gateway allows you to define for the program which service provider connection to use to send out an SMS message. For this, you need to set outbound routing rules. By appropriately editing these rules, you can achieve a setup which ensures that the loads of different connections will be balanced. This will avoid a situation in which one of the connections is (too) "busy" sending out messages, while another connection is (much) less busy or idle, because it has fewer or no messages to send out.

Consider the following situation, in which the loads are not balanced:
If you have two connections to Vodafone (Vodafone1 and Vodafone2), it may occur that one of them becomes more loaded than the other. This may happen if there comes a time in SMS messaging when one of them is used to send out a considerably larger number of messages than the other. Which GSM service provider connection is used to send out a message depends on outbound routing rules. Based on the outbound routing rules, the program decides automatically which service provider connection to use to send out a message. (For more information, check out the Outbound Routing page.) There may be a situation in which Vodafone1 is more needed - and therefore more loaded - than Vodafone2. Vodafone1 may be sending out 50 SMS messages per second at a given time, while Vodafone2 may only be sending out 30. Whereas if Vodafone2 could take over some of the job of sending out messages, their loads would become (more) balanced, and the messages could be sent out at a greater speed. If there are two different outbound routing rules, specifying Vodafone1 and Vodafone2 respectively, the messages that are bound to be sent out using Vodafone 1 may considerably outnumber those sent out using Vodafone 2.

The situation in which one connection is more loaded than the other is depicted in Figure 1 below:

Figure 1 - Load differences between connections

Task for the program

This situation described and depicted above leads to inefficiency in sending out messages, as Vodafone2 is only sending out 30 SMS messages per second, whereas it could send more by taking some of the load off Vodafone1.

To solve this problem of inequality and inefficiency, and to increase the throughput of messages, you can join the two Vodafone connections. Then their loads will become balanced. This ensures that Vodafone2 (or Vodafone1, depending on the messages) is not (much) less busy or idle while it could take part in sending out messages (to the same extent as the other connection). The "joint forces" of the connections also ensure that the job of sending out messages is finished more quickly.

This setup is depicted in Figure 2 below:

Figure 2 - Loads balanced between connections

Ozeki NG - SMS Gateway allows you to configure the outbound routing in a way that results in the load balancing described and depicted above. The section below will explain how to do it.


What you need to do to "join forces" is unite the connections under the same name. That is, give each of the two service provider connections the same name in the configuration, and specify this name when editing the outbound routing table of Ozeki NG - SMS Gateway. Accordingly, you have to refer to the two connections in the outbound routing setup as if they were one and the same.
To find out how to configure service provider connections, visit the Service Provider Connectivity page.
To find out how outbound routing works with Ozeki NG - SMS Gateway, and how to edit the outbound routing table, check out the Outbound Routing page.

A practical example

To understand the convenience of load balancing, consider the following example:
There is a talent search show on TV. Viewers can vote for one of two candidates by sending their favorite's name by SMS. The TV channel maintains two Vodafone connections for receiving (non-premium rate) messages and sending automatic replies. The two candidates are Kate and Liz.
The automatic reply to votes for Kate reads: "Thank you for your vote for Kate. Keep watching the show."
The automatic reply to votes for Liz reads: "Thanks for your vote for Liz. Keep watching the show."
The keyword (first word) of one of the messages is "Thank", while the keyword of the other one is "Thanks". This helps to distinguish the reply messages in the configuration of the outbound routing.

Wrong solution

As mentioned before, there are two Vodafone (Vodafone1 and Vodafone2) connections for sending out the reply messages. At first, it might seem obvious how outgoing reply messages should be routed:
There should be one rule specifying "Thank" as the keyword, and Vodafone1 as the service provider connection to use to send out a message thanking for a vote for Kate.
Also, there should be another rule specifying "Thanks" as the keyword, and Vodafone2 as the service provider connection to use to send out a message thanking for a vote for Liz.
In addition, there may be a third rule specifying a different service provider connection for sending out messages not related to the TV show.

Then, the outbound routing table should look like the one in Figure 3 below:

Figure 3 - Outbound routing not serving load balancing

However, it is unpredictable how many votes either of the candidates will receive. Therefore, it is unpredictable how many messages starting with "Thank" and how many starting with "Thanks" will need to be sent out. It may easily occur that viewers' votes for Kate considerably outnumber votes for Liz. In that case, a far larger number of reply messages starting with "Thank" will need to be sent. This means that Vodafone1, which is responsible for sending out these messages, will be much more loaded than the other connection (Vodafone2).

If these are small capacity connections, this setup will result in a large number of messages "having to wait" to be sent out. Therefore, outgoing messages will be delayed (possibly to a large extent). This is highly probable if a large number of viewers have voted, and the number of votes for either candidate is much larger than the number of votes for the other candidate. The setup in Figure 3 is likely to lead to the situation depicted in Figure 1. The user called "John" in Figure 1 corresponds to an application in this practical example: an autoreply user, which makes it possible to reply to incoming messages and to forward these messages to various phone numbers based on the sender address and the message content.

Right solution

You need a different setup to make the most efficient use of your small capacity Vodafone connections by balancing their loads. This will ensure that both connections will be equally "busy" when sending out reply messages. As a result, John's messages will not be sent out with the same degree of delay as with the setup above.

For the more efficient setup, you need to (re)name both the Vodafone1 and the Vodafone2 connection as Vodafone, as if they were one and the same. When (re)editing your outbound routing table on the user interface of Ozeki NG - SMS Gateway, use this name when specifying the routing rules for both messages.

Your outbound routing table should look like the one in Figure 4 below:

Figure 4 - Outbound routing serving load balancing

The identical name will cause both connections to be equally involved in the job. Accordingly, the engine of the program will not allow a situation in which one connection is (too) busy, while the other is (much) less busy or remains idle.

To read about how the load balancing feature of the software allows you to join a transmitter and a receiver connection from the same GSM service provider, check out the Load Balancing for SMPP v3.3 page.

Dig deeper!
People who read this also read...

Next page: Asterisk PBX SMS
Copyright © 2000 - 2014 Ozeki Informatics Ltd.
All rights reserved

Software PBX for Windows | VoIP SDK   |   Legal information   |   Privacy policy   |   Terms of use
Please, address your inquiries to info@ozekisms.com