Tag Archives: computer

How to install/configure Kannel(SMS Gateway) for sending SMS from your computer?

10 Jan

Kannel Installation and Configuration as SMS gateway Server


  1. Download latest version of Kannel http://www.kannel.org/download.shtml
  2. Unzip it into some directory
  3. Before installation of Kannel we have to install a dependency libxml2. To install libxml2 we can download it from the following link. ftp://gd.tuwien.ac.at/pub/libxml/
    • After extracting the package cd into the directory where it is extracted.
    • Type ./configure
    • make
    • make install
    • to check whether the installation is successful or not type this command: make tests
  4. After installation of libxml2 now we will be able to install the Kannel. Now repeat the above  steps which we repeated for the libxml2 installation
    • cd into directory where Kannel is unzipped and then type the following commands
    • ./configure
    • make
    • make install
  5. Now Kannel is installed and ready for the configuration


  1. Kannel has three parts bearerbox, smsbox and wapbox. We will need only two bearerbox and smsbox as we are going to setup it as SMS gateway server. Bearerbox is the main queue and smsbox handles the smscs.
  2. Now we need configuration of each beaerbox and smsbox to run the Kannel according to device attached. Configuration of bearerbox and smsbox is written into a configuration file sometimes but not necessarily named as ‘smskannel.conf’.
  3. How to find the ‘smskannel.conf’? Open the terminal and type this command > locate smskannel.conf. Now you the open the ‘smskannel.conf’ by the path returned by the command.
    • After opening the ‘smskannel.conf’ you will see different types of groups there. E.g. Core group, smsc group, modem group and smsc service groups.  You can refer Kannel installation guide for further information.
  4. By default bearerbox  and smsbox installation files lies in /usr/local/sbin
  5. Now copy the ‘smskannel.conf’ into /usr/local/sbin
  6. Modem which will be used with Kannel should support ‘AT+CNMI’ command otherwise modem will not work with Kannel.
  7. We can check if our modem is detected or not by this command > ls /dev . If modem is being detected then we will see ttyACM0 / ttyUSB0 in result.
  8. To check whether’ AT+CNMI’ command is supported on the modem or not we have to test it through serial port. In Linux we can open our device through serial port using ‘minicom’.

1 3 4 52 3 4 5

If get error in return then you cannot use that modem with Kannel and if you get out put something like above then you can use that modem with Kannel.

  • Now run the bearerbox by this command
    •  bearerbox  smskannel.conf
  • Now run smsbox by this command opening a new terminal and going into directory
    • smsbox smskannel.conf
  • smskannel.conf for Motorola Razer V3 is given below

*******************************smskannel.conf starts here********************************



# There is only one core group and it sets all basic settings

# of the bearerbox (and system). You should take extra notes on

# configuration variables like ‘store-file’ (or ‘store-dir’),

# ‘admin-allow-ip’ and ‘access.log’

group = core

admin-port = 13003

smsbox-port = 13004

admin-password = bar

#status-password = foo

#admin-deny-ip = “”

#admin-allow-ip = “”

log-file = “/usr/local/Log/kannel.log”

box-deny-ip = “*.*.*.*”

box-allow-ip = “”

access-log = “/usr/local/Log/access.log”


#—————–Modem Group————

group = modems

id = motorola

name = “ATI 144”

detect-string = “Motorola”

init-string = “AT0”

init-string= “ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0”

init-string = “AT+CNMI=3,2,0,0,0”

init-string = “AT+CMEE=2;+CNMI=3,1,0,0,0”

reset-string = “ATZ”


need-sleep = true

keepalive-cmd = “AT+CBC;+CSQ”

enable-mms = true




#this is for Motorola Razer V3i

group = smsc

smsc = at

smsc-id = Motorola Razer V3i

modemtype = motorola


my-number = 00923348648921

sms-center= 00923330005150

connect-allow-ip =

log-level = 0



group = smsbox

bearerbox-host =

sendsms-port = 13013

global-sender = 13013

#sendsms-chars = “0123456789 +-”

#log-file = “/tmp/smsbox.log”

#log-level = 0

#access-log = “/tmp/access.log”




# These users are used when Kannel smsbox sendsms interface is used to

# send PUSH sms messages, i.e. calling URL like

# http://kannel.machine:13013/cgi-bin/sendsms?username=tester&password=foobar…

group = sendsms-user

username = tester

password = foobar


#user-deny-ip = “”

#user-allow-ip = “”



group = sms-service

keyword = nop

text=”Working nop key word searched”

# There should be always a ‘default’ service. This service is used when no

# other ‘sms-service’ is applied.

#group = sms-service

#keyword = sub


group = sms-service

keyword = rgs


group = sms-service

keyword = default

catch-all = yes


#text=”Mahtab Rasheed”


*******************************smskannel.conf ends here*********************************

Frequently Asked Question

Question: After the installation of the gateway, do I have to connect each
mobile phone / sim of the network i want to send to?
You need to connect a GSM modem/ mobile phone containing a SIM.  Now Kannel will use that SIM to send SMS automatically. You don’t need additional SIMS to send SMS to other networks.
Question: Will I be charged for any message I send using this platform?
Yes you will be charged as regular SMS cost. Kannel is the only gateway who can do the job automatically through your PC instead of send it manually from your mobile phone.

How to find PI SDK/Server Documentation (Programming Guide)?

17 Oct

When I started PI Server Programming the first problem I got, was to find the programming guide/documentation of PI SDK. So I Googled it but unable to find the documentation. Yesterday I was desperate to find the PI Server Documentation so I tried random. Finally I was very happy when I was successful. Actually it was very easy.

So I decided to write about it.

Here is a step by step process