9. What
is an SMS Gateway?
One
problem of SMS messaging is that SMSCs developed by different
companies use their own communication protocol and most of these
protocols are proprietary. For example, Nokia has an SMSC protocol
called CIMD whereas another SMSC vendor, CMG, has an SMSC protocol
called EMI. We cannot connect two SMSCs if they do not support a
common SMSC protocol. To deal with this problem, an SMS gateway is
placed between two SMSCs. This is illustrated in the following
figure. The SMS gateway acts as a relay between the two SMSCs. It
translates one SMSC protocol to another one. This way can be used by
two different wireless carriers to interconnect their SMSCs for
purposes such as enabling the exchange of inter-operator SMS
messages.
|
Figure
1. An SMS gateway acts as a relay between two SMS centers.
|
|

|
Besides
wireless carriers, content providers and SMS application developers
may also find an SMS gateway useful. Let's consider the following
situation. Suppose you are the developer of an SMS text messaging
application. To send and receive SMS text messages on your server,
one way is to connect to the SMSCs of the wireless carriers.
Different wireless carriers may use SMSCs from different vendors,
which means your SMS text messaging application may need to support
multiple SMSC-specific protocols. (This is illustrated in the
following figure). As a result, the SMS text messaging application's
complexity and development time increases.
|
Figure
2. An SMS text messaging application connects to SMSCs without an
SMS gateway.
|
|

|
To
deal with the above problem, an SMS gateway can be set up to handle
the connections to the SMSCs. Now the SMS text messaging application
only needs to know how to connect to the SMS gateway. To support more
SMSCs, you just need to modify the settings of the SMS gateway. No
change to the source code of the SMS text messaging application is
required. The use of an SMS gateway can greatly shorten the SMS text
messaging application's development time.
To
connect to an SMS gateway, you can use an SMSC protocol such as SMPP
and CIMD. Some SMS gateways support an HTTP / HTTPS interface. HTTP /
HTTPS is easier to use than SMSC protocols. The drawback is that
there may be fewer SMS features to use. For example, an SMS gateway
may not support the sending of picture messages through the HTTP /
HTTPS interface.
|
Figure
3. An SMS text messaging application connects to SMSCs through an
SMS gateway.
|
|

|
Besides
using a direct connection to the SMSC of a wireless carrier, another
way to send and receive SMS text messages on a computer is to use a
mobile phone or GSM/GPRS modem. To do this, your SMS text messaging
application has to know how to communicate with the mobile phone or
GSM/GPRS modem using AT commands.
Some
SMS gateways are capable of handling the connections to mobile phones
and GSM/GPRS modems. To send and receive SMS text messages with a
mobile phone or GSM/GPRS modem, the SMS text messaging application
only needs to know how to talk to the SMS gateway and does not need
to know anything about AT commands. More details about GSM/GPRS
modems and AT commands will be provided in later sections of this SMS
tutorial.
|
Figure
4. An SMS text messaging application connects to a pool of mobile
phones or GSM/GPRS modems through an SMS gateway.
|
|

|
9.1. Open Source
and Free SMS Gateway Software
As
you can see in the above sections, an SMS gateway has a lot of
responsibilities in an SMS messaging system. So, SMS gateway software
can be very complex and complex software is usually expensive.
Fortunately, there are open source SMS gateway software packages that
can be downloaded free of charge over the web. One high-quality free
SMS gateway software package is Kannel, which is written in the C
programming language. Kannel can handle connections to SMSCs, mobile
phones and GSM/GPRS modems. It has an HTTP / HTTPS interface for the
sending and receiving of SMS messages. More information about Kannel
can be found on its web site http://www.kannel.org/.
|
Feedback Form (ExpandCollapse)
|
|