Monday, May 19, 2014

 1:24 AM      9 comments
Free & commercial software and tools that you can use to build your own SMS System

Depending on your budget and your objective there are 2 ways to setup your own SMS system:
1-     SMPP SMS Gateway server & HTTP Web SMS client software (Advanced)
2-     Web SMS software only (Basic)

1-     SMPP Server & HTTP Web SMS client software

What is SMPP Server?
The Short Message Peer to Peer Protocol (SMPP) is a socket-based, open industry protocol, designed for sending 2-way SMS traffic. SMPP is the recommended connection interface for clients who are already familiar with this protocol or the detailed options of an SMS.
It is used to allow third parties to submit messages, often in bulk. It is a session-based peer to peer protocol.  'Session based' means a customer has to establish a connection to the SMS provider and use this connection to send or receive messages. 'Peer to peer' means that both the customer and SMS provider (i.e. the peers) may use operations defined by the SMPP protocol, depending on the type of session.
Authentication is done during the set up of this connection. After the initial authentication, the session between the customer's system and the SMS provider's system (i.e. the peers) is kept open and alive.

What is SMS Gateway?
An SMS gateway typically sits between the end user who needs to send/receive SMS and a mobile network's SMSC. Such gateways provide a choice of protocols including HTTP, SMTP, Short Message Peer-to-Peer and web services. Providers of SMS gateway services include SMS aggregators and mobile operators.
An SMS gateway connects with mobile network SMSCs in order to send/receive messages and/or other SMS gateways in order to reach mobile subscribers on multiple mobile networks. It is therefore possible that an SMS gateway has a combination of mobile network SMSC connections and connections with other SMS gateways in order to provide its services. However, there is the increasing potential for delivery problems with SMS the greater the number of SMS gateways in the delivery chain.

What Is SMS Client software?
SMS client is a software used by non developer users/clients to send single or bulk SMS, the submitted messages are sent to your SMS gateway which in turn analyze the mobile numbers and determine which over which route “SMSC” the messages will be sent.

SMS client software can be in many formats:
-        Web SMS client “most common”
-        Desktop SMS client
-        Excel Plugin
-        Outlook Plugin
Web SMS client is more recommended as if there is a problem with the software you only have to fix the problem in one location despite Desktop client if you have 100 clients and 10 of them have problems with their installation you have 10 locations where you need to look into the problem with many probabilities it could that user OS is out dated or there is a missing dependency etc…

Advantages to having your own SMS gateway
-      You can keep your system provider independent.
-      You can access more than one SMS service providers simultaneously to increase fault tolerance and to do least cost routing.
-      You can use a GSM modem as a backup line in case IP connectivity fails.
-      You can control costs and adjust the capacity as demand changes.
-      You can provide multiple API options e.g. HTTP  & SMPP

How the SMPP SMS gateway & SMS engine work together?
Almost all SMS gateway servers comes with a frontend to send single and bulk SMS but often they are very poor in options and not user friendly.
The main purpose for the SMS gateway is to manage connections to different SMSC’s “SMS providers, Aggregators” and the main purpose of the SMS engine is for you manage clients account credits, billing and to provide to your clients an easy way to upload their contacts and manage their SMS sending.

Let’s take a case study to fully understand how it works
You decided that you want to be a SMS provider for the Europe mainly (Italy, France, and Germany) and after researching many suppliers you came up with 3 suppliers “aggregators”
Supplier1: gave you best prices for Italy
Supplier2: gave you best prices for France
Supplier3: gave you best prices for Germany
Each supplier gave you the option to connect to them and submit SMS’s to their gateway “SMSC” either by HTPP API or by SMPP as you already have your own SMPP SMS gateway you will connect to them via SMPP.
An SMPP account basically consists of:
Host/IP: e.g. 193.375.38.46
Port: 9900
Username: username
Password: password

In your SMS gateway you have created 3 SMPP providers accounts named as follow:
-      Italysmpp
-      Francesmpp
-      Germanysmpp
All SMS gateways gives a way to define routing via mobile or country dialing prefixes
-      Italy mobile prefix: 39
-      France mobile prefix: 33
-      Germany mobile prefix: 49
Depending on your SMS gateway routing interface you will setup 3 routing rules
1-     Any SMS submitted to your gateway with a prefix: 39 will be sent via Itallysmpp
2-     Any SMS submitted to your gateway with a prefix: 33 will be sent via Francesmpp
3-     Any SMS submitted to your gateway with a prefix: 49 will be sent via Germanysmpp
Note: for sure you can setup a much more complex routing rules e.g. you can define routing for each mobile operator in each country or/and define routing based on a predefined sender id “originator” We are just keeping it simple here for you to understand the concept.

All SMPP SMS gateways gives you options to create 2 types of Accounts:
1-     Provider accounts ( we have already setup and configured above)
2-     User accounts ( will setup as below to connect our SMS engine to it) 
Now that you have setup and configured your SMS providers account and routing rules you also need to create a user account with access to the built in HTTP API that comes with your SMS gateway.
Basically a HTTP user account consists of:
Host/IP: sms.domain.com:8080 (could be assigned a specific port or uses the standard port 80)
Username: username
Password: password
Credits: e.g. 10000 (the maximum number of SMS that can be sent by this account)

If you will be using the SMS client that may come with your SMS gateway or an SMS client compatible with your SMS gateway all you need to do to connect your SMS client to the SMS gateway is to enter the username and password. Otherwise you will need a developer to integrate your SMS gateway HTTP API into that SMS client, there are also a number of SMS clients where you don’t need a developer to implement the API as it comes with an administration interface where you can enter the parameters of any HTPP API below is an example of HTPP API URL parameters
Example URL Request
http://127.0.0.1:9501/api?action=sendmessage&username=admin&password=abc123&
recipient=06203105366&messagetype=SMS:TEXT&messagedata=Hello+World
Example Response
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 246

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE smsapi PUBLIC "-//OZEKI//DTD XML 1.0//EN" "http://www.ozekisms.com/DTD/smsapi.xml">
<response>
   <action>sendmessage</action>
   <data>
      <acceptreport>
         <statuscode>0</statuscode>
         <statusmessage>Message accepted for delivery</statusmessage>
         <messageid>ERFAV23D</messageid>
         <recipient>06203105366</recipient>
      </acceptreport>
   </data>
</response>

The best way to understand and to get a feel of what an SMS client would look like is to see and test a live demo visit this link http://playsms.org/demo/  where you will find login details to PlaySMS an open source SMS client that can work as a plug and play SMS client to the open source Kannel SMS gateway or as a standalone SMS client where you can connect to different providers via HTPP API 

Web SMS client software only (Basic)
Depending only on Web SMS client software is suitable only if your are working on a small scale market and your clients will not be sending large volume of SMS like 10k – 20k+ SMS  in one shot as some providers limit the maximum number of SMS’s that you can submit via HTTP at a single request, you will also be limiting yourself only to clients who will be sending through your web interface or via your SMS client HTPP API if it comes with built in HTTP API, you will not be able to provide SMPP accounts to your clients if requested
Live examples of web SMS client software:
PlaySMS: http://playsms.org/demo/  (Free Open Source)
Xtrabulk: http://xtrabulk.com/ (Commercial Open Source)

List of Free Open Source SMPP SMS gateway:
-      Kannel: www.kannel.org
List of Free Open Source SMS Clients:
-      PlaySMS: http://playsms.org
-      RapidSMS: https://www.rapidsms.org/
List of Commercial SMPP SMS gateway:
-      NowSMS: http://nowsms.com
-      Ozeki NG: http://www.ozekisms.com
-      Diafaan: http://www.diafaan.com
-      Elite SMS Gateway: http://www.elite-sms-software.com
-      Bonrix: http://www.smsviasmpp.com
List of Commercial web SMS client:
-      Xtrabulk: http://xtrabulk.com/
-      Jeema SMS : http://jeema.net/
-      Extraim: http://extraim.com

Want to learn more about how to setup your own SMS business? Buy my Ebook



9 comments:

  1. You have detailed your article very systematically. I like the your way of writing. keep it up.


    SMS Reseller India

    ReplyDelete
  2. Hello. I need a gateway for short code service to implement a new platform. I need to host the gatway in my own servers and manage every aspect of it. Pls guide me. Thanks

    ReplyDelete
    Replies
    1. Hello Sorry for the delay, please contact us via our website www.xtrabulk.com

      Delete
  3. I am really find out a nice post.We are providing all kinds of high Quality sms services at an affordable rate. we also provide web building for cheap rate Anybody interest. Refer

    White Label Website Builder

    ReplyDelete
  4. It is a great tutorial. Thank you for mentioning Ozeki NG software!

    ReplyDelete
  5. Creating sms system is not an easy task, nice post!

    Bulk SMS

    ReplyDelete
  6. Thank you for sharing such a good information It will help us a lot.

    Bulk SMS Aggregator

    ReplyDelete
  7. Hi! Nice post!

    Eurofox is one of the best and reliable SMS API development provider in India. It is an established company dedicated to provide the high quality service to the customers.

    Contact it now for instant reply!

    ReplyDelete
  8. Good post. I learn something totally new and challenging on websites I
    stumbleupon on a daily basis. It will always be exciting to read articles from other writers and use something from their websites.
    Here My website SEO Company in Ujjain

    ReplyDelete

Popular Posts

Recent Posts

Unordered List

Text Widget

Powered by Blogger.