In Ozeki NG SMS Gateway message queues are used for
scheduling messages coming from users to being sent out. Therefore, it can be
ensured that messages of each user will be sent out even in cases when one user
has a great number of messages waiting for sending in its message queue.
In Ozeki NG SMS Gateway each of the users has a separate message
queue that is used only by the given user (Figure 1). If the user has any number
of outgoing messages, they will be forwarded to the message queue of the given
user. For example, messages from user admin are forwarded into the message queue
of user admin.
At the other end of the message queue messages are polled out by so called
round robin algorithm. In this case the algorithm
selects one of the messages that has been stored the longest in each message queue
within one round (First in, First out algorithm). The selected messages are
forwarded to the outgoing route table.
The outgoing route table checks whether the properties of a message match the
directives of a routing rule. If there is a match, the message will be delivered
to the Service Provider in the way specified in the rule. In other words, if a
Destination (Service Provider) is specified in the outgoing route, the message
will be sent out according to it.
If the Destination is not specified (it is defined as ANY) the outgoing
route table selects a service provider connection and sends out the message via
In Ozeki NG SMS Gateway you can use Persistent message
queues option. If this option is enabled, message queues are stored in a file.
If you do not use this option, then messages are only stored in the memory of
the computer. By default, this option is enabled in the software. If you do not
want to use this option you can disable it in Advanced tab of Server
Preferences menu (Figure 2).
If persistent message queues are used (and messages are stored in file) messages
will be loaded back to the message queue of each user in case of restarting the
If you do not use persistent message queues option and restart the service, messages
will be lost from the memory.
For example, there are 1000 messages in the message queue.
Persistent message queues option is enabled: if you restart the service all the
1000 messages will be loaded back to the message queue and will be sent out.
Persistent message queues option is NOT enabled: if you restart the service
all of the 1000 messages will be lost from the memory.