Useful information for SMS Service Operators

1.) What server should you install the components on?

We recommend the Windows operating system. Any version of Windows 11, Windows 10, as well as Windows Server 2022, Windows Server 2019 are supported platforms. It can be run on both physical and virtual machines.

You can find more detailed information in the link below:
https://ozeki-sms-gateway.com/p_7000-sms-gateway-system-requirements.html

2.) In a case of redundancy what should you make available and what should you parameter?

Redundance has two levels in Ozeki. On one side, you may duplicate the server itself and it can be solved with the Ozeki Cluster software, that the reserve computer automatically takes over the role of the primary computer if the primary computer malfunctions. First of all Ozeki Cluster synchronizes all libraries used by the program, Second of all, it checks server functionality every 10 seconds.

Find more detailed information about Ozeki Cluster in the link below:
https://ozeki.hu/p_1086-cluster-server-redundancy-software.html

The other level of redundancy is the redundant serving of providers. The reason for this is that if connection "A" is interrupted by the mobile network for some reason, then the program can move all the messages of the program to connection "B". You can configure connection redundancy in the SMS routing settings.

You can find more information on this in the links below:
https://ozeki-sms-gateway.com/p_232-how-to-route-sms-messages-to-multiple-mobile-networks.html (SMS routing introduction)
https://ozeki-sms-gateway.com/p_2839-how-to-setup-backup-sms-routing.html (Handling interrupted SMS service provider connections)
https://ozeki-sms-gateway.com/p_2837-how-to-setup-sms-load-balancing.html (Load distribution)

3.) How to set up SMS routing in case of multiple service providers?

The routing solution is done through a routing table. The best solution here is if we choose which SMS we forward to which provider by the phone number prefix. It also supports the software HLR (Home Location Register) lookup option, which uses a HLR service to request which network to send the SMS to, in case of an unknown address.

SMS routing features many possible options. You may create rules for periods, text contained by messages, sender and recipient phone numbers, network loads, and other parameters.

You can find more information on the decision-making process off SMS routing here:
https://ozeki-sms-gateway.com/p_315-sms-routing.html (SMS routing decision-making)
https://ozeki-sms-gateway.com/p_445-how-to-do-hlr-lookups-in-sms-routing.html (HLR lookup information)
https://ozeki-sms-gateway.com/p_6932-least-cost-sms-routing.html (Least cost routing)

Disclaimer: We would not recommend using HLR lookup on high-performance systems. This would only make sense for carried phone numbers, and additional queries would draw more computing resources from the sender's capacity.

4.) What system of rules should be implemented when there is a problem with sending?

E.g.: SMSC is unavailable / The VPN connection to the SMSC is slow or interrupted.

This can typically be solved with the BACKUP routing configuration.

The documentation below demonstrates this exact case, and provides a correct configuration:
https://ozeki-sms-gateway.com/p_2839-how-to-setup-backup-sms-routing.html (Handling interrupted SMS service provider connections)

The way it works is that if a connection is down for some reason, the system can detect it from not receiving an answer to the keepalive packets. In this case, the software switches the provider to offline and moves the messages to another provider. It also tries to re-establish the offline connection at regular intervals.

5.) What re-sending options are there?

In case of outside connections, the system can prepare for interruptions. For example, if a connection is unavailable, it dumps all SQL updates and inserts operations into a .txt file, and if the database is available again, it executes them.

In SMS sending, the default policy is:

If sending fails in connection "A", then the system tries connection "B", if the routing allows.
If it doesn't work anywhere, it creates a report on the reason why it was unsuccessful . (For example, if we send something from a database, it writes "status not submitted" into the database).

6.) What happens when there is an error while sending, can I set up warnings or error notifications?

We have a software called Ozeki Alarm. Larger providers use this to notify operators if one of the Ozeki links goes down. The software can send alarm notifications in E-mail, SMS (if there are remaining active connections), or it can make a call to an alarm center and use the Contac ID protocol to send a report.

You can find more information Ozeki Alarm here:
https://ozekialarm.com/
https://ozekialarm.com/p_1966-phone-line-error-detection-with-email-alert.html (This shows how to send E-mail if the connection is down.)

7.) What are the server database requirements?

The system doesn't necessarily require a database. It stores all the files required for it to work in the file system and uses memory for caching to run faster. Despite this, many customers connect it to database servers.

Corporate users generally use the database to send SMS. Practically, they put the SMS messages they want to send in a database table. Here, the Ozeki software finds what to send and sends it, then updates the status in case of receiving submitted reports and delivery reports.

Here you can find a more detailed description:
https://ozeki-sms-gateway.com/p_5708-send-sms-from-sql-database.html

Our mobile provider and SMS aggregator customers use the database to log ongoing traffic. This is called a reporting database connection. This is used for creating a record in the database for every SMS that goes through.

You can find more information on it here:
https://ozeki-sms-gateway.com/p_62-how-to-log-sms-traffic-into-an-sql-database.html

The two solutions above are often used together.

In case of both solutions, the system supports MS SQL, Oracle, MySQL, and practically every major database handling system. When it comes to databases, I would personally recommend Microsoft SQL Server. I think it is beneficial because if the database server runs on a separate computer, then the database server and SMS gateway will not have to compete for resources (DISK, RAM) This is especially justified, if the traffic is on average higher than 10 SMS/second. If it is over 100 SMS/second, then it is essential.

8.) You don't necessarily need a cluster solution if the system works and you want to expand it.

Even though the server can upgraded later, in the beginning, it is beneficial to upgrade the capacity which might be needed later. A system that is carefully designed to begin with and has a large capacity, can run years without problems. It is worth choosing the needed capacity in both the software and the hardware license. We have customers, who have not needed to modify the system in 10-12 years and it runs perfectly fine.

If there isn't an opportunity for this, the system can be upgraded later. When it comes to upgrading your system, it all depends on what the system has run out of. If hardware components need to be replaced or it has to be completely reconfigured, it can come with a lot of work and reinstalling and reconfiguring. Hardware upgrades are easiest when the software is installed on virtual machines. If we give the virtual machine more performance and allocate more RAM and CPU, then it will perform better. (Ozeki software builds a lot on the multi-thread capabilities of CPUs and RAM.)

It is a good idea to prepare for upgrades in advance, by writing down every important connection setting, so that we can use them again later. Forgotten passwords and unique parameters can lead to many headaches.

So when it comes to incremental upgrades, it is better to assemble a larger system if possible. It is worth it in the long term.

9.) Please show me a working system in person. (MS Teams/Zoom meeting is enough)

We cannot show the systems of our customers, because they contain confidential information (such as phone numbers, provider subscriptions, users, etc.). Luckily, several videos demonstrate a working system on our website. I would recommend watching the videos below.

This video shows the setup and operation for one such system, that requires a 1000 SMS/second capacity:
https://ozeki-sms-gateway.com/p_5784-how-to-test-the-performance-of-your-smpp-server.html
You can see that in the video we have sent 1 000 000 SMS messages through this test system.