SMS Gateway Technology

What is an SMS Gateway

An SMS gateway is a software that allows you to send and receive SMS messages from your applications. It can also be used to provide SMS services. An SMS gateway is often referred to as an SMS Server. It is a self hosted SMS gateway. You may install an SMS Gateway on an Android phone or on a Windows or Linux computer. Ozeki 10 SMS Gateway is an outstanding SMS Gateway software with several unmatched advantages.

Use cases

An SMS gateway is ideal for lots of simple to complex scenarios. Some of which are:

  1. Provide SMS service to customers
  2. Act as a centeral hub for SMS services
  3. Provide SMS service for SMS applications
  4. Provide SMS aggregator service
  5. SMS routing
  6. Use as a reporting gateway to keep track of all SMS messages
  7. Use as a protocol converter
  8. Forward SMS messages to mobile networks and 3rd party SMS service providers

how sms gateway technology works
Figure 1 - SMS Gateway technology

What is the best SMS Gateway in 2024

In 2024 the best SMS gateway for a company is either an Android SMS Gateway installed on a high-end mobile phone, or a self hosted SMS gateway installed on a Windows computer or an SMS gateway installed on a Linux server. The first option of running an SMS gateway on an Android mobile is best if the number of SMS messages stays below a few thousand SMS per day or if the SMS service is still in pilot or development phase. The second option of self hosting an SMS gateway is recommended if you consider to build an important communication infrastructure for your business. Self hosting can be done in virtual server hosting facilities, such as Amazon Web Services or Microsoft Azure Cloud, or it can be hosted in your own server room if data security and operational reliability is crucial.

What are the benefits of a self hosted SMS Gateway in 2024

Operational reliability: With a self hosted SMS gateway system, you can connect to multiple SMS services over the Internet, and you may even connect to the mobile network wirelessly. You can setup backup servers and backup SMS routes to avoid a single point of failure. The possibility of intervention, monitoring and alerting capabilities is also a huge plus and it allows you to increase the operational reliability of your SMS infrastructure. We should also mention the possibility of automated backup and easy restore options when you have your SMS infrastructure in your own hands.

Service provider independence: It is beneficial to be independent of a single SMS service provider. It gives you freedom in terms of negotiating business conditions and prices if you know you can easily switch providers without the need to rewrite your software. It is also great to be able to send SMS messages through different networks and to do least cost SMS routing, load balancing and fail over routing. If you write your code to an Ozeki API, for example using the Ozeki C# SMS API, you can be sure that you will always have a chance to switch to another SMPP SMS service provider or you can take advantage of a new player's offerings by simply configuring their service in the Ozeki HTTP/REST SMS client connection.

Data security: One of the most important aspects of operating content services and marketing businesses is to be able to keep your contact list and data safe. If you want to make sure that nobody else has access to the phone numbers of your valuable client list, it is a good idea to operate your own SMS gateway. This way you don't have to upload your contact list to an unknown third party, who can sell or use your contact list. It is also much easier to comply with EU GDPR regulations if your data is residing on your own servers.

Operational costs: With your own SMS gateway cost optimization can be done using least cost routing and relying on SMS credit limit management offered by Ozeki SMS gateway. Since you can connect to multiple networks you are in a better position to negotiable tariffs and to take advantage of bulk message buying offered by provider for certain destinations. In most cases when you connect to mobile network's short message service centers (SMSC) directly you will not be charged for incoming SMS messages.

International business: If you operate an International business, or you plan to expand Internationally, it is important for you to be able to connect to local mobile network operators from your centeral IT data center over the Internet. Local mobile network operators can give you better terms and conditions then International SMS service providers. Since they often operate their own mobile network you can expect better delivery times, better reliability and compliance with local legal regulations. Your local SMS messages will not be rejected as international spam and have a higher priority in delivery over International SMS. If you connect Ozeki SMS Gateway to local national networks, you will have access to local phone numbering schemes and local short codes. You won't have to use the international country code prefix to send and receive SMS in those remote networks.

Better reporting: Ozeki SMS gateway can be configured to log every SMS into a database. It can use Microsoft SQL Server, MySQL, Oracle or virtually any other SQL database system to provide you with a log of all your SMS traffic. You will have information about when a message was sent by who, through which network at what cost, and you will know that message submission and delivery timestamps, status codes and error messages. Most important of all incoming SMS delivery reports are also matched to each submitted SMS, to let you know whether an SMS as delivered or not successfully to the recipient handset and when did the recipient receive the SMS.

Higher performance: There are to key aspects of SMS system performance. One is to have an in memory operation, that gives you outstanding computing speeds. The other is to have a load balancing system, that is able to distribute the load between multiple mobile network and multiple SMS service provider connections. Ozeki SMS Gateway provides both of these elements. It can reach delivery speeds of up to 1000 SMS per second per server computer thanks to it's in memory computing approach, and it can distribute SMS traffic among connection for both incoming and outgoing links.

SMS gateway performance

SMS gateway performance matters. One of the most common business mistakes we have seen was seening businesses making a small initial investment in their SMS infrastructure instead of investing into a high performance SMS gateway system in the beginning. This mistake became very costly later.

If your business grows, your SMS volume will grow. The number of software you build, that send and receive SMS messages will grow, and sooner or later you will send SMS marketing campaigns, one time passwords, notifications, alerts and other SMS content. Eventually your SMS traffic can reach a point when an SMS service provider might not be able to keep up with your demands. This is when it will start to become very costly if you cannot add a second or third provider without rewriting your codes and when you won't be able to switch to load balancing, backup routing, and to clustered redundant infrastructure. (Note that Ozeki SMS gateway offers these options.)

This statement might sound absurd to you now, but without a high performance SMS gateway infrastructure it is dangerous to use SMS in your business. Here at Ozeki we have met many cases where SMS aggregators, and on-line SMS service providers using their own custom made platforms could not keep up with growing SMS volume. We have experienced unacceptable delays, lost messages, delivery reports mixed up, messages dropped to name a few events. (And we are not talking about "no name" small providers. Think about NYSE listed and highly advertised services.) Serving lots of messages at a steady rate is demanding, and many providers are not up to the challenge. Ozeki SMS Gateway is currently one of the (or probably is the) highest performance platforms out there. Check out it's performance demonstrated in a speed test delivering 1 000 000 messages.

Running an SMS gateway on an physical server

Operate your SMS server on a phycisal compuer is beneficial because it gives you full control over the hardware and software aspects. This option gives you the highest possible performance. You get direct access to the memory, the CPU, the hard disk and the network resources, and all the processing of multi-threading CPUs are there to serve your SMS infrastructure. Ozeki 10 SMS gateway thrives when it is running in a multi-core multi-thread rich environment. It will give you unbeatable performance.

The drawbacks to using a physical server is that hardware upgrades are difficult, because you have to reinstall configure everything. Backing up and restoring a virtual machine is much more straightforward.

Runing the sms gateway on a virtual machine

Although an SMS gateway performs better on a real server, there are numerous benefits to using a virtual machine (often referred to as Virtual Private Server or VPS). Many users vote for this possibility when they use an SMS gateway. Maybe the biggest incentive to using a virtual machine is that it can be hosted in a server hosting facility. Amazon AWS, IBM cloud hosting and Microsoft Azure are popular choices among the companies we work with. If the SMS gateway is hosted at such a company, you don't have to take care of hardware issues.

If you operate your own virtual machine environment, you will like the fact that this technology allows easier managmenet of backups and restores. It is also great that running multiple virtual machines on a single physical server can save money. A weak point to using a virtual machine is that direct access to hardware resources become difficult. For example if you want to attach a GSM modem through an USB cable, you might have a hard time assigning the physical USB port to the appropriate virtual machine. If you run the SMS gateway on a virtual environment make sure you assign sufficient virtual hardware resources to the system. This is neccessary, because you want to make sure, that you don't miss out on performance. Also make sure that the virtual network for the smpp gateway is set up properly.

While talking about virtual machines, we must tell, that Ozeki 10 SMS gateway is known to work reliably in the following virtual environments: Windows Virtual PC, Microsoft Hyper-V, Solarwinds Virtualization Manager, Parallels Desktop, VMware Workstation Player, Citrix Hypervisor, QEMU, Xen Project.

Running an SMS gateway on an Android Mobile

If the SMS volume your business requires is below 10 000 SMS per day, an Android mobile phone might be the option you need. An Android phone has one or two SIM cards and will provide you the means to send and receive SMS messages instantly. It can run the same Ozeki SMS Gateway software that you can install on Windows or Linux, and will provide all the API'S and connection options, that are provided by a desktop or server based SMS gateway system.

One advantage to using an Android SMS Gateway comes from the SMS tariffs included in mobile phone subscription plans. The SMS tariffs are often very convincing, because many mobile network operators advertise unlimited SMS messages free of charge. If you run your SMS gateway on an Android phone you can take advantage of such offerings, and you can send SMS messages from your desktop and business applications free of charge.

There are three scenarios when you should definitely consider and Android SMS Gateway: First, when you want to try, test and evaluate an SMS solution. Second, if you don't intend to send or receive more then 10 000 SMS messages per day. Third, if you already operate a PC based SMS gateway system and you would like to give an identical platform with SMS capability to developers for testing.

Other scenarios might also make an Android SMS Gateway a viable choice: If you need access to a particular mobile network through a local phone number, you may setup a local Android Mobile phone connected to that network wirelessly, and you may connect to the Android mobile through SMPP and use it as a local SMS service provider.

You may use several Android mobile phones to provide you a pool of telephone numbers. Each Android mobile phone comes with one or two SIM cards, so each can give you one or two local phone numbers to use for SMS messaging. These Android phones can be connected to a centeral SMS gateway through the SMPP protocol or the OZX protocol and can give you a powerful service that can offer several phone numbers for communication. Having access to many mobile phone numbers is an advantage if you wish to isolate the traffic of certain users and applications. You can assign an individual phone number to each user or application.

Finally we should mention that the built in battery of an Android phone is also an advantage. Even if the power goes down, your SMS gateway will operate. It can send SMS alerts about the power outage itself, It can notify you in an SMS if your webserver goes down or it can send you an SMS if your E-mail server is not accessible because the UPS battery is drained. It can come very handy to be able to notify relevant people automatically in critical no power scenarios.


What kind of number formats are available for SMS?

  • Short Code
  • Local Number Format
  • International Number Format
  • Long Code
  • Alphanumeric Number format

What is a short code?

A 4 or 5 digit number, e.g.: 1544

Short codes are memorable, 5- or 6-digit numbers used by businesses and organizations for SMS communication. Here's what makes them tick:

  • Simplicity at its Finest: Short codes are easy to remember and dial, making them ideal for widely advertised SMS services like contests or discount programs.
  • Network Specificity: They typically function within a single mobile operator's network or a specific country (if operators collaborate). Think of them as internal shortcuts for a particular service provider.
However, short codes have limitations:
  • No International Reach: Unlike phone numbers, short codes cannot be used to send SMS messages internationally. They operate within a specific network or region.
  • Limited Mobility Operator Support: While some operators share short codes across networks within a country, this isn't always the case. A short code might only work with a particular mobile provider.
This clarifies the benefits and drawbacks of short codes, emphasizing their simplicity and limitations regarding network reach and international use.

What is the local number format?

A number that does not start with a country code, e.g.: 06201234567

Local number formats are the familiar phone numbers you use for regular calls within your region. When it comes to SMS, here's what they offer:

  • Simple and Familiar: Local numbers consist only of digits, without a plus sign or country code. They're easy to remember and use for sending SMS messages to someone within your country.
  • Network Specific: Local numbers often include a network prefix that identifies the mobile operator (e.g., Verizon, AT&T). This prefix helps route the message within the specific network.
  • Staying Local: Local number formats are strictly for domestic use. You cannot send SMS messages internationally using a local number.
Essentially, local number formats are for sending SMS messages to people within your own country using their familiar phone numbers. They offer simplicity but lack the international reach needed for messages across borders.

What is international number format?

The most widely used telephone number format. It starts with a plus sign and a country code, that is followed by a network prefix and the phone number itself. e.g.: +36201234567

The international number format is your key to sending SMS messages across borders. It ensures your message reaches any mobile phone worldwide, as long as the number is correctly specified. Here's how it works:

  • Universal Reach: The international format includes all the necessary components to route a message internationally. It combines the country code (identifies the nation), network prefix (specific mobile operator), and the phone number itself.
  • Example Breakdown: Let's say you're sending an SMS to a US number from abroad. You would use the format +12143500649, where:
    • +1 - Country code for the United States
    • 214 - Network prefix (e.g., Verizon, AT&T)
    • 3500649 - The recipient's phone number
Avoiding Common Pitfalls: People in regions where international calling is commonplace might be more familiar with the full international format. However, it's a good reminder that including the country code is essential for successful international SMS delivery. Forgetting the country code (+1 in the US example) can lead to failed messages and frustration.

By following the international number format, you can ensure your SMS messages travel the globe and reach their intended recipients.

What is a long code number?

Long code means that the telephone number is longer than the standard phone number length in the network. e.g.: +36201234567111111

While not universally available, some networks offer a feature called a postfix for long codes. This is a freely defined set of digits appended to the standard long code number.

Unlocking Possibilities: Postfixes can be incredibly useful for applications, acting like unique message IDs. Here's an example:

Imagine a long code +36201234567. By adding a postfix like 111111 (resulting in +36201234567111111), an application can identify and process the message content based on that specific postfix, enabling more dynamic interactions.

Network Specificity: It's important to note that postfixes are not supported by all networks. They typically work only with IP SMS connections like SMPP, UCP, or CIMD2.

GSM Modem Limitations: Traditional GSM modem technology doesn't allow for postfixes. If you're using a GSM modem, you can only receive messages on the standard long code number (MSISDN) itself.

This clarifies the concept of postfixes and their limitations, highlighting network compatibility and the restrictions of GSM modems.

What is the alphanumeric number format?

When sending SMS messages via an IP SMS connection (like SMPP, UCP, or CIMD2), you have more control over your sender address. It's not limited to just phone numbers:

  • Say Goodbye to Just Numbers: Embrace a more personalized touch! You can define a text sender address instead of, or in addition to, a phone number. This allows you to display your nickname, company name, or any other relevant identifier when sending the message.
  • Keeping it Short and Sweet: There's a limit of 11 characters for alphanumeric sender IDs. This ensures clarity and avoids overwhelming the recipient.
  • Latin Character Focus: For readability purposes, alphanumeric sender IDs currently support only Latin characters (A-Z and 0-9)
A Word on Replies: While alphanumeric sender IDs offer customization, it's important to note that recipients might not be able to reply directly to messages sent with them. This is a technical limitation you should consider when choosing your sender address strategy.

This clarifies the benefits and limitations of using alphanumeric sender addresses for IP SMS connections.

If my Android device supports two sim cards - can I receive SMS messages on both of the SIM cards? Which of the sim cards is the one, that will send the SMS message to a mobile phone?

The Ozeki Android SMPP SMS Gateway acts as a bridge between your Android phone's SIM cards and Ozeki SMS Gateway software on your computer. It facilitates two-way SMS communication through the following functionalities:

  • Inbound Message Forwarding: Any SMS message received on any SIM card within your Android phone is automatically forwarded to Ozeki SMS Gateway. This allows you to centrally manage and process incoming messages on your computer.
  • Outbound Message Delivery: When you initiate an SMS message through Ozeki SMS Gateway, the software identifies the recipient's phone number and selects the appropriate SIM card based on pre-configured settings. The message is then transmitted through the chosen SIM card to the recipient's phone, provided it's in an active state on your network.
In essence, Ozeki Android SMPP SMS Gateway enables you to leverage your Android phone's SIM cards for sending and receiving SMS messages through Ozeki SMS Gateway on your PC.

Can I see the phone number of sender's service center?

Ozeki cannot display the sender's service center phone number.

I have installed and SMPP connection then set the sender address of my admin user, but it does not appear on the destination phone. Could you help me?

The issue might be related to the configuration of your service provider connection in Ozeki SMS Gateway. Here's how to check:

  1. Access the configuration form for the service provider connection used for sending SMS messages.
  2. Locate the section for "Telephone number" (or a similar field).
  3. Look for a checkbox labeled "Overridable" or similar. Ensure this checkbox is enabled.
By enabling the "Overridable" option, you grant Ozeki the ability to use a sender number you specify when sending messages, overriding the default settings from the service provider.