Monday, December 24, 2018

KANNEL SMS GATEWAY


I.       INTRODUCTION

   Kannel SMS gateway it is an open source SMS gateway used to provide short message service(SMS). Currently it runs on the Linux platform and provides a high level HTTP service for submitting SMS requests. It supports many protocols to connect with the SMSC.

SMSC: stands for the Short Message Service Center and is part of the telecommunications network to deliver the SMS.

SMPP: stands for the Short Message Peer-to-Peer (SMPP) and it is a protocol which is used to exchange the SMS between SMSC and SMS application system. There are various versions of SMPP, including 3.3, 3.4 and 5.0.

II.       SYSTEM ARCHITECTURE



III.       COMPONENTS

 1)    BEARERBOX

This is the core component and which should be initialized first to start the connection with the upstream smsc. The bearerbox holds all smsc connections and passes outbound message to one of the connected smsc’s based on the smsc-id. It has normally 2 listening ports assigned to it (ports can vary):

  • Port1: this is the generic Kannel administration port, which belongs to the "core" component of Kannel.
  • Port2: this is the communication port towards the SMS Box component.

2)    OPENSMPPBOX

OPENSMPPBOX handles the SMPP speciļ¬c communication to the clients. Opensmppbox connects to the smsbox-port of a bearerbox. It features an SMPP server port for incoming client connections. Accounts are configured in Opensmppbox to allow connections only from specific clients. The SMS is forwarded to Bearerbox, which routes it to the best available SMSC’s over a variety of protocols.

3)    SMSBOX

This component is just to interact with your third party application. Smsbox is the service which interacts between our application and bearerbox. ie, it receives incoming sms from our bearer box and sends it to our application and vice versa. It provides an http service to send the SMS through the bearerbox. If the sms is coming via smsbox, smsbox forwards it to bearerbox which delivers it to its destination using a smsc connection.

NOTE:In general scenario, a full system contains the following boxes: opensmppbox, sqlbox, smsbox and bearerbox.
If the sms is received by opensmppbox, which forwards it to sqlbox and then sqlbox sends it to bearerbox which delivers it to its destination using a smsc-connection
If the sms is coming via smsbox, smsbox forwards it to sqlbox and then sqlbox sends it to bearerbox which delivers it to its destination using a smsc-connection
Smsbox has an http interface to send sms and smppbox has an smpp interface to send sms. So http users use smsbox and smpp users use smppbox

ie, for smsbox users                : smsbox----sqlbox----bearerbox

     For smpp users                   : smppbox---sqlbox----bearerbox