11.3. The 3rd Way: Using a Computer to Receive SMS Messages through a Connection to the SMS Gateway of an SMS Service Provider

Another way to receive SMS messages using a computer is through a connection to the SMS gateway of an SMS service provider. SMS service providers generally support two kinds of solution:

  1. SIM hosting -- The SMS service provider hosts a SIM card for you. All SMS messages sent to the mobile phone number of the SIM card will be forwarded to your system using a protocol / interface supported by the SMS gateway of the SMS service provider.

  2. Shared phone number -- The SMS service provider provides you a phone number that is shared by its customers for receiving SMS messages. You have to specify one or more keywords to associate with your SMS application. If an SMS message is received and its content begins with a keyword specified by you, it will be forwarded to your system using a protocol / interface supported by the SMS gateway of the SMS service provider.

Some SMS service providers also provide SMS messaging solutions that are customized to your needs. For example, if you need to receive SMS messages from users in a few countries, an SMS service provider may help you open dedicated phone numbers in those countries and forward the received SMS messages to you in a unified way. To use such SMS messaging services, you have to contact the SMS service provider to discuss the details.


11.3.1. SIM Hosting

In this approach, an SMS service provider hosts a SIM card for you. The SIM card's mobile phone number will serve as a dedicated phone number of your SMS application. To use the service, you mail your SIM card to the SMS service provider. Later if you end the service, the SMS service provider will mail the SIM card back to you. The SIM card will be put into a GSM/GPRS modem, which is connected to an SMS gateway. The SMS gateway will forward all received SMS messages to your computer using a certain protocol / interface. For example, HTTP, HTTPS, XML over HTTP/HTTPS, SMTP (SMS to email), SMPP, etc.

Like receiving SMS messages using your own mobile phone or GSM/GPRS modem, SIM hosting has a major weakness -- it cannot handle a large amount of SMS traffic. The advantage of SIM hosting is that you do not need to buy, set up and manage the necessary equipment. Also, you do not need to write any code to control the receiving of SMS messages from a GSM/GPRS modem via low-level AT commands, which means you can concentrate on the business logic of your SMS application. The SMS service provider may provide you a detail log of the incoming SMS messages.


11.3.1.1. Cost of SIM Hosting Service

SIM hosting service typically involves a one-time setup fee and a monthly hosting fee. Usually there is no per-message cost. Some SMS service providers do not state the cost of SIM hosting service on their website, which means you have to contact their staff directly.

If the SMS service provider is located overseas, the SIM card needs to support foreign network roaming. SMS roaming fees may be charged by the wireless carrier that provides you the SIM card.


11.3.2. Shared Phone Number

In this approach, the SMS service provider rents dedicated phone numbers from wireless carriers. Each phone number will then be shared by a number of the SMS service provider's customers for receiving SMS messages. Since the phone number is provided by a wireless carrier directly (not through a SIM card) and the SMS service provider has a high speed connection to the SMSC or SMS gateway of the wireless carrier, the SMS service provider is capable of handling a large amount of SMS messages with the phone number. As a result, the users of such shared phone number service can enjoy a higher SMS transmission rate than using SIM hosting services or using their own wireless modem. The cost of shared phone number service is less expensive than renting your own dedicated phone number from a wireless carrier. A detail log of the received SMS messages is sometimes provided by SMS service providers.

Like using SIM hosting service, using shared phone number service has the advantage that you do not need to buy, set up and manage any equipment (e.g. GSM / GPRS modems) and write any low-level code for receiving SMS messages. Hence, an SMS application developer can concentrate on the business logic of his/her SMS messaging application.

The weakness of shared phone number service is that the bandwidth is shared, i.e. the performance drops if the number of users sharing the phone number increases, or if the amount of incoming SMS traffic required by other users increases.


11.3.2.1. Registering Keywords

Since multiple users share a single phone number, when the SMS gateway of the SMS service provider receives an SMS message, it needs a way to determine which user to forward the SMS message to. SMS service providers' engineers come up with a solution like this: First, a user registers one or more keywords to associate with his/her SMS messaging application. Later when the SMS gateway receives an SMS message that begins with one of the keywords, it will forward the SMS message to that SMS messaging application.

Here is an example for illustration. Suppose you want to develop an SMS messaging application that provides free ringtone download service. A user will be able to perform two functions: listing the free ringtones that are available and requesting a ringtone to be sent to a mobile phone.

To receive SMS messages from users, you can subscribe to the shared phone number service of an SMS service provider and register two keywords, list and download, to be associated with your SMS messaging application.

To request the list of free ringtones that are available on your server, the user can send the following SMS text message to the shared phone number:


list


When the SMS gateway of the SMS service provider receives the above SMS text message, it parses its content and extracts the keyword list. It then searches a database to find out which SMS messaging application is associated with the keyword list. As your SMS messaging application is associated with the keyword list, the SMS text message will be forwarded to your SMS messaging application.

The keyword list indicates that the user wants the list of free ringtones that are available on your server. Hence, your SMS messaging application should return an SMS text message that contains something like this:


Free ringtones available:
1. Ringtone ABC
2. Ringtone CDEF
3. Ringtone X
4. Ringtone Y


To download the second ringtone, the user can send an SMS text message that looks like this to the shared phone number:


download 2


Since the keyword download is also associated with your SMS messaging application, the SMS gateway will forward the above SMS text message to your SMS messaging application. This time the keyword download indicates that the user wants to download a ringtone. Your SMS messaging application should encode the second ringtone in an SMS message and send it to the user.


11.3.2.2. Cost of Shared Phone Number Service

Shared phone number service typically involves a monthly subscription fee, a per-message fee and/or a per-keyword fee. A few SMS service providers also charge a one-time setup fee. Some SMS service providers do not state the cost of shared phone number service on their web site, which means you have to contact their staff directly.


Previous Page Page 16 of 65 Next Page

Contents at a Glance (Click Here for Full Table of Contents)

Feedback Form (ExpandCollapse)

What do you think about this web page?






(Optional) Please provide us more details. For example, suppose you select option 2 above, can you tell us specifically what information is missing? You can also suggest anything that can help us improve this web page.

(Optional) Your name:

(Optional) Your email address:

Please enter again to confirm:

Due to the amount of messages we received, we may not be able to reply to all messages.

A button for going back to the top of this page