Friday, April 30, 2010


Mobile Banking and SMS

SMS is the communication service component of the GSM mobile communication system which
allows exchange of text messages between mobile phone devices. SMS has been adopted by
the CDMA system as well. We can send up to 160 characters (including spaces) to and from a
mobile handset. SMS can be used for peer-to-peer as well as broadcast kind of messaging. [1]
SMS or text messaging is very popular in developing countries of South-East Asia and is also
gaining popularity in the USA. SMS provides the end consumer with a low cost way of using the
mobile VAS services. Anyone even without a data plan is able to send and receive SMS. Hence
many of the content providers are providing mobile VAS through SMS or SMS based platforms.
SMS is definitely a great medium to provide Banking services. There can actually be two way
communications between the end consumer and the banks. We can classify the communication
into two types PUSH and PULL. PULL kind of communication is done when the end consumer
request for his balance by sending a SMS onto a shortcode provided and the content provider
sends him the required information. PUSH kind of communication is done when the Banks want
to intimate the consumer on some activity on this account. There can be an alert sent as an
SMS with the required information. SMS based platforms like STK/UTK also enable both kind of
communication. The only concern is of security when offering a financial service over SMS. This
can be addressed using some extra authentication using PIN and so on.
To provide SMS based services one needs to know about some components or technologies or
protocols.

SMSC is a acronym for Short Message Service Center. A SMSC is responsible for handling the
SMS operations of a wireless network. When a user sends a text message (SMS message) to
another user, the message gets stored in the SMSC which delivers it to the destination user
when they are available. This is a store and forward option. [2]
The Short Message Peer-to-Peer (SMPP) protocol is a telecommunications industry protocol for
exchanging SMS messages between SMS peer entities such as short message service
centers and/or External Short Messaging Entities. It is often used to allow third parties
(e.g. value-added service providers like news organizations) to submit messages, often in bulk.
[3] In simple terms SMPP is the language that a SMSC speaks.
Short codes (also known as short numbers) are special telephone numbers, significantly
shorter than full telephone numbers, which can be used to address SMS and MMS messages
from mobile phones or fixed phones. There are two types of short codes: dialing and
messaging. Short codes are designed to be easier to read and remember than normal
telephone numbers. Short codes are widely used for value-added services such as television
voting, ordering ringtones, charity donations and mobile services. [4]
SMS gateway is a device or service offering SMS transit, transforming messages
to mobile network traffic from other media, or vice versa, allowing transmission or receipt
of SMS messages with or without the use of a mobile phone. Typical use of a gateway would be
to forward simple SMS to a mobile phone recipient. [5]
Some SMS gateway providers can be classified as SMS aggregators or SS7 providers. The
aggregator model is based on multiple agreements with mobile carriers to exchange 2-way SMS
traffic into and out of the operator's Short Message Service Centre (SMSC) Aggregators lack
direct access into the SS7 protocol, which is the protocol where the SMS messages are
exchanged. These providers have no visibility and control over the message delivery, being
unable to offer delivery guarantees. SMS messages are delivered in the operator's SMSC, but
not the subscriber's handset. [5]
The Gateway connects directly to a Mobile Operator's SMSC via the Internet or direct leased
line connections. It converts the message format into a format understood by the SMSC,
typically this is the SMPP protocol. Direct to SMSC Gateways are used by SMS Aggregators to
provide SMS services to their clients. Typically Direct to SMSC Gateways are used for high
volume messaging and require a contract directly with the Mobile Operator. [5]
For the service to be carrier agnostic it has to use a SMS Aggregator. The other way can be to
have a SMS Gateway at the content provider’s end which connects to SMSCs of different
operators.
Kannel is a freely available and an Open source SMS Gateway. [7]
SIM Application Toolkit (commonly referred to as STK) is a standard of the GSM system
which enables the SIM to initiate actions which can be used for various value-added services.
The SIM Application Toolkit consists of a set of commands programmed into the SIM card which
define how the SIM should interact directly with the outside world and initiates commands
independently of the handset and the network. This enables the SIM to build up an interactive
exchange between a network application and the end user and access or control access to the
network. The SIM also gives commands to the handset, such as display menu and ask for user
input. STK has been deployed by many mobile operators around the world for many
applications, often where a menu-based approach is required, such as Mobile Banking and
content browsing] Designed as a single application environment, STK can be started at the
initial power up of the SIM card and is especially suited to low level applications with simple
user interfaces. [6]
Some manufacturers claim that STK enables higher levels of security through identity
verification and encryption, which are necessary for secure electronic commerce. This provided
high level of security than the SMS Client since the SMS here is encrypted.
A menu for STK based application is pre-burnt on the SIM or it is possible today to change STK
Menu for WIB or S@T based applications quickly Over The Air via SMS bearer, without the user
having to return the SIM or even take it to the operator's business center. It is also be possible
to change the menu of WIG-based STK applications. One of the limitations can be that there is
no multimedia support (only basic pictures).
UTK which stands for UIM Toolkit is the counter part of the STK for the CDMA networks.
There is something called a DP (Delivery Platform) with the operator end which enables STK or
UTK kind of applications. Some of popular vendors of such platforms are SmartTrust [8] and
Gemalto [9].


References
[1] SMS From Wikipedia, the free encyclopedia.
http://en.wikipedia.org/wiki/SMS
[2] SMSC From Wikipedia, the free encyclopedia.
http://en.wikipedia.org/wiki/Short_message_service_center
[3] SMPP From Wikipedia, the free encyclopedia.
http://en.wikipedia.org/wiki/SMPP
[4] Shortcodes From Wikipedia, the free encyclopedia.
http://en.wikipedia.org/wiki/Short_code
[5] SMS Gateway, From Wikipedia, the free encyclopedia.
http://en.wikipedia.org/wiki/SMS_gateway
[6] SIM Application Toolkit, From Wikipedia, the free encyclopedia.
http://en.wikipedia.org/wiki/SIM_Application_Toolkit
[7] Kannel, An Open Source SMS Gateway http://www.kannel.org/
[8] SmartTrust http://www.smarttrust.com
[9] Gemalto http://www.gemalto.com

Sunday, July 05, 2009

My First Contribution to Open Source GEO

This was the first code contribution from myself to this OSGEO project called GeoTools.

Saturday, May 30, 2009

How to use Plug2Surf Tata Indicom USB Modem in Fedora Linux 6

Please following the below following steps to use the tata indicom plug2surf USB modem in
Fedora Core Linux 6:

1. Type the below command on the command prompt in a terminal

$wvdialconf /etc/wvdial.conf

The wvdial.conf file is created and you will see some messages aswell.

2. Edit the wvdial.conf file in your favortite editor and should like below when done

[Dialer Defaults]
Modem = /dev/ttyACM0
Baud = 460800
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = at+crm=1
Stupid MODE=1
ISDN = 0
Modem Type = USB Modem
Phone = #777
Username = internet
Password = internet


3. Copy the resolv.conf into the /etc/ folder to be on safe-side.

cp /etc/ppp/resolv.conf /etc/


4. Plug-in the modem and just type the below command and the dialer will start.

$wvdial

You are ready to surf the internet now !!!

Wednesday, March 11, 2009

Oh My Jar Oh My Jar !!!

How do you know or ensure that your Enterprise Java Application is performing well ?

As per me I usually load "mata.jar" and "believer.jar" in the classpath and it is working quite well right now.

Looks like it is my first lesson in Computational Theology.











Wednesday, February 04, 2009

Hiroshima & Nagasaki : A QA Engineer's Perspective

Is Test Automation essential ?
Test Automation is very essential especially in regression testing of software systems. This question is similar to one like "How important is the manufacturing some product using a machine vs hand made ?". We cannot compare test done by a machine (a computer/ automated test) with a Manual Test of a QA Engineer.

While developing or maintaing a critical application you have to be doubly sure that the software you develop and deploy is bug free. Hence when you automate the tests you as a software engineer will be confident that the software you have written is bug free (atleast of the forseen or known bugs).

When "Test Automation" seen from the perspective of a poor QA Engineer who does not reliaze the benefits of automating the tests would lead to frustrated life, which not only lead to his own bad health but might lead to severe consequences. The consequences which might be harmful to the whole society.

Who knows the great disaster of "Hiroshima and Nagasaki" was a consequence of a frustration of QA engineer who could not automate his regression tests !!!!!!

The reality really bites ................................... doesn't it ?

Saturday, January 31, 2009

What the fuck is GIS ?

GIS for a layman and for everyman who wants to lay !!!!


What is GIS ?

Some call it Geographic Info Systems, some call it Geographical

Information Systems, some people see it as a field of academic study

called GI Science. You even get a Master's and Doctorate in this field

of study.

Defining GIS is not a simple task. It is percieved differently by

different people. some people think it as a branch of IT, some think

it to be computer-assisted mapping systems, some as cartographic

application, a type of database systems or a ....... some of my friends

even thought of it as Girl Information System.... ;-)

I am not getting into Perception and cognitive science.....


My Cricket coach always asked me to go by the book. so I am going by

the definition in this book on "Concepts and Techniques of Geographic

Information Systems by C.P.Lo and Albert K. W. Yeung", which is

GIS is a set of computer-based systems for managing geographic data and

using these data to solve spatial problems.

As IT professionals I expect everyone of us to know what data and

information is all about. some of us even know what metadata is.

A question must arise in our minds that what is the need of yet another

Information system.

The speciality of GIS lies entirely in the data. Geographic data or

spatial data is special since it is multi-dimensional. The any other

form of data can be called as non-spatial or attribute data.

Some of our mechanical engineering friends might be thinking about the

CAD/CAM systems. GIS offers much more that a simple CAD/CAM system.

The other main interesting aspect lies in its ability to make the user

visualize spatial data in the terms of the maps they can produce, which

is the cartographic side of GIS. Which is missing in AUTOCAD.

Why does the multi-dimensionalness pose a challenge?

Some of our computer science friends must be well aware of the Balanced-Trees or the B-Trees.
These data structures are used in the context of RDBMS for the indexing or ordering of data or tuples in a table.

we all know that we can only index 1 column using 1 tree. I hope I am right here. This column is usually the Primary key.

As all the well know RDBMS are suited only for the non-spatial data.

Why cant it be used for spatial data. Since it is multi-dimensional.

As we all know we can represent a point P in 2-D space using cartesian coordinates using as (x,y).


We all are well aware of the fact that both x and y are independant of each other but the point P needs both x and y for it to be represented.

Let us take the problem of finding the nearest ATM from our office.
If we represent all the points of interest in this problem as a Points in 2-D space. It is a problem of ordering in 2-D space.

Some mathematicians might argue that is a problem of topology !!!

Hence a Spatial Analysis problem. Can we use B-Trees for this ? No ...

so we need a new kind of a data structure for this which is called an

R-Tree. Hence the databases also special and called spatial Databases.

We can order the data using R-Tree on the basis of radial distance and

find the nearest ATM.

So GIS is a about data, Information System, Cartographic System and a

Spatial Analysis tool.



Maps and GIS.

GIS as a cartographic application. GIS gives us the capability of

visualizing the spatial data and the spatial distribution of the

non-spatial data in terms of the maps they can produce. One of the most

important aspect when displaying a map is the Map Scale.

The scale of a map is the ratio or proportion between the distances

measured on the map and the corresponding distances measured on the

ground.
YOu can do the mathematics.

Classes of Maps


1) General Purpose or Reference maps: These are maps not designed for

any specific applications. This class of maps focus on locations and

shows a variety of physical and cultural features such as drainage,

roads, railways, airports, forest and cultivate areas etc. They server

as the base maps for developing and integrating other form of

geographic infomation.

2) Special Purpose or Thematic maps:

These maps are designed to depict a particular type of feature or

measurement only. Like it can show the variation of rainfall across

certain region. These maps are generated using the base maps.


Interoperability, SOA and National Integration

It is all about "INTEROPERABILITY" my friends.
when you have different components of a system built in various technologies you will have lot of problems in making an integrated system which is working.

Every Child in India understands it, very well I guess.

There is INTROP issues at every moment in your life once you step out of your house.
They say there are 2 sides to a coin. One can take something positively or negatively.

Just for example if a south indian boy likes a north indian girl, both parties might not go ahead with the marriage simply because of INTROP issues between both the families.

Then SOA ...comes into the rescue.


what it basically means ..either of the parties have to be so well architected that they perform as a webservice which will make possible this integration ...

As they say again there are 2 sides to a coin ...but there is also a third side side which is hidden ..and can be seen only by few of them ..who believe in multi-dimensionality of things.....


When you change the context ..and look at larger issues like National Integration .... you need More Web-services ..... that is SOA components ...


I am a strong supporter of SOA ...... it as some nice philosophy behind it ....

Friday, January 23, 2009

How to Fly

Just dont believe in Newton's Law of Gravitation.