Sms Server

download Sms Server

of 22

Transcript of Sms Server

  • 8/3/2019 Sms Server

    1/22

    SMS Server tools

    Nii Okai QuayeFebruary 2010

  • 8/3/2019 Sms Server

    2/22

    SMS SERVER TOOLS

    o Installo Aptitude search sms/smstoolso Sudo apt-get install smstools

    Copyright 2011. World Wide Web Foundation. All rights reserved

  • 8/3/2019 Sms Server

    3/22

    SMS Server Tools Config files

    start /etc/init.d/sms start

    stop /etc/init.d/sms stop

    config file /etc/smsd.conf

    error logfile /var/log/smsd.log

    sms queues /var/spool/sms

    Apache webserver

    start /etc/init.d/apache2 start

    stop /etc/init.d/apache2 stop

    config file /usr/apache2/conf/httpd.conf

    error logfile /usr/apache2/logs/error.log

    web pages /usr/apache2/htdocs

    The location of these files is different on some linux distributions.

    MySQL database

    start /etc/init.d/mysqld start

    stop /etc/init.d/mysqld stop

    client mysql -u root -p

    SMS SERVER TOOLS

    Copyright 2011. World Wide Web Foundation. All rights reserved

  • 8/3/2019 Sms Server

    4/22

    Programs the run repeatedly at specified times

    Every day, hour, minute

    Windows

    nnCron lite c:\programme\cron\cron.tab

    Part of *nix systems

    */10****cp/tmp/logfile.old /tmp/logfile.new

    minute (0-59)

    hour (0-23)

    day (1-31)

    month (1-12)

    weekday (0=sunday, 1=monday, ...)

    Cron Jobs

    Copyright 2011. World Wide Web Foundation. All rights reserved

  • 8/3/2019 Sms Server

    5/22

    Open source sms and wap gateway

    WAP

    Communicates to the phone via wap stack and

    translates request it receives to http forcontent and service providers

    Compresses WML scripts into more compactformat to save bandwidth and

    SMS

    Abstract various smsc protocols and exposes httpinterface for content providers

    Kannel

    Copyright 2011. World Wide Web Foundation. All rights reserved

  • 8/3/2019 Sms Server

    6/22

    Consists of three programs called boxes bearerbox

    - Accepts sms and wap messages and sends them toother boxes

    wapbox- Handles wap messages

    smsbox- Handles sms messages

    It is possible to have multiple sms and wapboxes on the same or different hosts

    Kannel

    Copyright 2011. World Wide Web Foundation. All rights reserved

  • 8/3/2019 Sms Server

    7/22

    Apt-get install

    /etc/init.d/kannel

    - start / stop / restart

    Kannel on Debian

    Copyright 2011. World Wide Web Foundation. All rights reserved

  • 8/3/2019 Sms Server

    8/22

    # mkdir src

    # cd src

    # tar xfz ../downloads/gateway-1.4.1.tar.gz

    # cd gateway-1.4.1

    # configure prefix=/usr/local/kannel

    # make

    # sudo make install

    password: **************

    Kannel Setup

    Copyright 2011. World Wide Web Foundation. All rights reserved

  • 8/3/2019 Sms Server

    9/22

    Group (assume comm from localhost only)

    group = core admin-port = 13000 smsbox-port = 13001 admin-password = bar log-file = "/tmp/kannel.log" log-level = 0

    - 0 - 4. 0 => debug and development 4=>critical errorsand problems

    - Ex 0 for development and 1 for production box-deny-ip = "*.*.*.*" box-allow-ip = "127.0.0.1"

    Kannel Core Group

    Copyright 2011. World Wide Web Foundation. All rights reserved

  • 8/3/2019 Sms Server

    10/22

    Smsc Group

    Kannel allows many smsc conf- Fakesms service for development and testing- GSM- SMS service over Http

    group = smsc smsc = at modemtype = auto device=/dev/ttyUSB*

    - Serial port through which device is connected my-number = XXXXXXXXXX connect-allow-ip = 127.0.0.1 log-level = 0

    Kannel SMSC Group

    Copyright 2011. World Wide Web Foundation. All rights reserved

  • 8/3/2019 Sms Server

    11/22

    Receives and sends sms received by the core

    - group = smsbox- bearerbox-host = 127.0.0.1- sendsms-port = 13013- Global-sender = XXXXXXXX

    Outgoing number of modem

    - log-level = 0

    Kannel SMSBox Group

    Copyright 2011. World Wide Web Foundation. All rights reserved

  • 8/3/2019 Sms Server

    12/22

    Allows web apps to send sms(over http) usingkannel

    - group = sendsms-user- username = kanneluser- password = XXX- concatenation= true- max-messages = 10

    Kannel Sendsms Group

    Copyright 2011. World Wide Web Foundation. All rights reserved

  • 8/3/2019 Sms Server

    13/22

    Configures how Kannel sends messages to applications

    Possible to setup to catch incoming messages based on variouscriteria

    Using HTTP Get to send message to an app all messages go to onescript

    - group = sms-service- keyword =- keyword-regex = .*- catch-all = yes- Max-messages = 0

    Tells kannel to never send reply directly from incomingmessage ans for :

    - get-url = "http://localhost/sms?phone=%p&text=%a"

    Kannel SMS-Service Group

    Copyright 2011. World Wide Web Foundation. All rights reserved

  • 8/3/2019 Sms Server

    14/22

    Kannel calls the url sepecified in sms-servicegroup

    Further processing and use up to us and thespecific application/service we intend todeliver

    Kannel Receiving Messages

    Copyright 2011. World Wide Web Foundation. All rights reserved

  • 8/3/2019 Sms Server

    15/22

    Done over Http

    function sendSmsMessage($in_phoneNumber, $in_msg)!{!$url = '/cgi-bin/sendsms?username=' . CONFIG_KANNEL_USER_NAME!

    . '&password=' . CONFIG_KANNEL_PASSWORD!

    . '&charset=UCS-2&coding=2'!

    . "&to={$in_phoneNumber}"!

    . '&text=' . urlencode(iconv('utf-8', 'ucs-2',

    $in_msg));!$results = file('http://'!

    . CONFIG_KANNEL_HOST . ':'!

    . CONFIG_KANNEL_PORT . $url);!}!

    Php iconv

    allow_url_fopen set to On in php.ini

    Kannel Sending Messages

    Copyright 2011. World Wide Web Foundation. All rights reserved

  • 8/3/2019 Sms Server

    16/22

    Enable SMSBOX

    sudo vi /etc/default/kannel- START_WAPBOX=1- START_SMSBOX=1

    Add kannel user to dialout group to enablekannel user to use /dev/ttyUSB0 device that isnecessary for GSM modems

    sudo vi /etc/group- dialout:x:20:daniel,kannel

    Kannel Hands on

    courtesy:

    Copyright 2011. World Wide Web Foundation. All rights reserved

  • 8/3/2019 Sms Server

    17/22

    # !# Sample configuration file for Kannel bearerbox on Debian. !# See the documentation for explanations of fields. !#!# HTTP administration is disabled by default. Make sure you set the !# password if you enable it.!group = core !admin-port = 13000 !admin-password = bar !admin-deny-ip = "*.*.*.*" !admin-allow-ip = "" !

    wapbox-port = 13002 !wdp-interface-name = "*" !log-file = "/var/log/kannel/bearerbox.log" !box-deny-ip = "*.*.*.*" !box-allow-ip = "127.0.0.1" !smsbox-port = 13003!group = wapbox !bearerbox-host = localhost !log-file = "/var/log/kannel/wapbox.log"!####### SMS box setup !group = smsbox !bearerbox-host = localhost !log-file = "/var/log/kannel/smsbox.log"!####### SMSC / GSM modem setup, using enfora modem defined below !group = smsc !smsc = at !

    modemtype = enfora !device = /dev/ttyUSB0!

    Kannel Configuration Sample 1

    Copyright 2011. World Wide Web Foundation. All rights reserved

  • 8/3/2019 Sms Server

    18/22

    Information pull

    Keywords auto reply can be sent to provide therequested information

    We can also link keywords to forward messageto a predifined group or individual

    - Eg For customer complaint Keywords can be linked to multiple actions

    - Eg join group ,auto reply and forward

    FrontlineSMS Keywords

    Copyright 2011. World Wide Web Foundation. All rights reserved

  • 8/3/2019 Sms Server

    19/22

    This allows for of FLSMS be programmed toperform some action based on an external(http) command

    Need to establish port to listen to

    Format

    http://localhost:/send/sms///

    Where

    FrontlineSMS Http Trigger

    Copyright 2011. World Wide Web Foundation. All rights reserved

  • 8/3/2019 Sms Server

    20/22

  • 8/3/2019 Sms Server

    21/22

    String encodedPhoneNumber =

    URLEncoder.encode("+2348069361226","UTF-8");!

    String encodedMessage =

    URLEncoder.encode("helo","UTF-8");!URL url=new URL("http://localhost:

    8181/send/sms/"!+ encodedPhoneNumber + "/"!+ encodedMessage);!

    Copyright 2011. World Wide Web Foundation. All rights reserved

  • 8/3/2019 Sms Server

    22/22

    Copyright 2011. World Wide Web Foundation. All rights reserved