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 that connection.
Round Robin algorithm
Inbound routing in Ozeki NG SMS Gateway
Outbound routing in Ozeki NG SMS Gateway
Persistent message queues
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.