A basic feature of Ozeki Message Server 6 is message routing. It collects SMS messages from various sources, such as a user typing in a message using the built-in graphical user interface (GUI), a database or an external application. Once the messages are collected they are organized into message queues in the message engine. The message engine (Figure 1), handles the sending devices. Each sending device, whether you use a GSM modem or an IP SMS connection, has a driver assigned. If more than one device (or connection) is used for sending messages, more instances of the drivers need to be installed.
Figure 1 - Message Engine
When you install a driver, it can be seen in the Server Manager Application below the folder options. If more than one connection is installed, more than one instances are displayed (Figure 2).
Figure 2 - Driver instances
When you install a driver, you configure it using the driver configuration form. On this form there is a special field, called operator name (Figure 3). An operator name is a unique name identifying the driver. You can put any name you like in this field. The operator name has a key function in message routing. It can be used to tell the engine which driver should be used to send a particular SMS message.
Figure 3 - Operator name
If you have more than one driver installed, you can select which driver you wish to use by selecting the appropriate operator name in the user interface when you compose the message (Figure 4) . If you use a database plugin, you have a special field set up in the outgoing message table called operator name. In this field you can put the name of the operator.
Figure 4 - Composing a message
The user properties form and the plugin configuration forms always contain an operator name field. If you specify this field, the user or plugin will only send outgoing messages using this connection.
In the users' settings you can specify the routing of incoming and outgoing messages. The routing is defined from the user's viewpoint. The user can be a person or a program. You can determine which incoming messages should be delivered to a user by specifying a list of keywords and/or telephone numbers belonging to the user, and you can also determine the operator(s) to be used for the user's outgoing messages. IP SMS connections allow you to specify a custom sender telephone number belonging to a user for outgoing messages.
To specify the routing you need to take the following steps:
Click on the Users pull-down menu and select 'Modify user properties'.
Figure 5 - Inbound Routing Step 1
A user list dialog box will show up, in which you can select the user whose properties you would like to modify. Once you have selected the user, click on the Modify button.
Figure 6 - Inbound Routing Step 2
In the following dialog box the user properties will show up. To specify the routing of incoming messages, click on the Inbound routing tab .
Figure 7 - Inbound Routing Step 3
The Inbound routing dialog box will show up, in which you can fill in two fields. The first one is for operator names, which have to be separated with a semicolon (if you would like to specify more than one). If you leave this field blank, all operators will be used.
In the second field you can specify a list of keywords and phone numbers to identify incoming messages belonging to the user, which also have to be separated with a semicolon. The keyword is the first word of a message. If you put the keyword "default" in this field, unmatched messages will be routed to the user. When you have finished the specifications for the inbound routing, click on the OK button.
Figure 8 - Inbound Routing Step 4
specify the routing of outgoing messages, click on the Modify button
in the User list dialog box (See Figure 6) after selecting a user in the list of users.
Figure 9 - Outbound Routing Step 3 (Step 1 and Step 2 are identical with those of the inbound routing. See Figure 5 and Figure 6.)
A dialog box will show up, in which you can fill in two
fields. The first one is for operator names to specify the
operators to be used for outgoing messages. The operator names
have to be separated with a semicolon (if you would
like to specify more than one). If you leave this field
blank, all operators will be used.
Figure 10 - Outbound Routing Step 4
Load balancing can be achieved by using the same operator name for more than one driver.