You are on page 1of 30

Africa Information Technology Initiative

SMS-based Services Overview


Strathmore Mobile Bootcamp July 9, 2009

Agenda
Other Messaging Protocols
USSD & MMS

SMS-based Services (SBS)


SMS Delivery SMS Gateways SMS Applications

Designing SMS Interactions

Africa Information Technology Initiative 2009

http://aiti.mit.edu

Unstructured Supplementary Services Data (USSD)


Short, user-initiated responses (pull)
Balance check: Safaricom: *144#

USSD supported in all GSM networks New standards support push messages
M-Pesa Instant messaging

USSD is not SMS!

Africa Information Technology Initiative 2009

http://aiti.mit.edu

Multimedia Message Service (MMS)


Extension to SMS that allows message to include more content:
Images, videos, and audio

Use WAP browser to display the message Much bigger payload than SMS Problems:
Displaying on different phone (content adaption) Access to MMSC from provider
Africa Information Technology Initiative 2009

http://aiti.mit.edu

Short Message Service (SMS)


GSM Protocol that allows for exchange of short messages
CDMA networks also have SMS protocol

Each SMS messages is 140 bytes (byte = 8 bits)


Can encode up to 160 7-bit characters using default GSM alphabet

Africa Information Technology Initiative 2009

http://aiti.mit.edu

Simplified Network Diagram


Within Network SMS SMS

Out of Network

Short Message Service Center (SMSC)

SMS

Africa Information Technology Initiative 2009

http://aiti.mit.edu

Short Message Service Center (SMSC)


GSM network node that delivers SMS messages When user sends a messages:
Forwarded to SMSC Stored at SMSC until it can be delivered to recipient
If msg cannot be delivered, queue for later retry Termed Store-and-Forward

Some SMSCs also provide a "forward and forget" option where transmission is tried only once

SMSCs now connected to Internet


Better quality of service
Africa Information Technology Initiative 2009

http://aiti.mit.edu

SMS Gateways
Device or service providing SMS transport
Allowing SMS transport with or without phone Allow SMS traffic between business and mobiles

Direct To Mobile Gateway Appliance


Mobile phone or USB GSM modem Connected to PC, can send/receive messages Good for low to medium message volume (this class!)

Direct To SMSC Gateway


Gateway connected to SMSC via Internet Business has interface to Gateway (usually Internet)
Gateway then forwards message to SMSC (SMPP)
Africa Information Technology Initiative 2009

http://aiti.mit.edu

Simplified Network Diagram


Direct to Mobile Gateway USB SMS

Direct to SMSC Gateway Internet

Short Message Service Center (SMSC)

Africa Information Technology Initiative 2009

http://aiti.mit.edu

Gateway Software for SBS Business


Installed on Business computer to send/receive messages Can use either Direct-to-Mobile or Direct-toSMSC
Can use multiple at same time!

Require either:
Sending device (phone/modem) Contract with Operator or Service Provider
Africa Information Technology Initiative 2009 http://aiti.mit.edu

Gateway Software for SBS Business


Examples:
NowSMS
Not open-source

Kannel
Linux Open source Written in C

smslib
Windows XP Open-source Written in Java
Africa Information Technology Initiative 2009 http://aiti.mit.edu

Direct To Mobile Gateway


Using a phone or GSM Modem as a Windows modem
Connecting Installing Testing

PC to modem/phone connections
USB Bluetooth Infrared
Africa Information Technology Initiative 2009 http://aiti.mit.edu

Service Providers
Service providers have contracts with operators
Resell SMS services to you Provide APIs to send/receive messages
HTTP, PHP, Java, etc.

Can use Gateway software also (smslib)

Examples:
Clickatell

Problems:
Hard to send messages

Africa Information Technology Initiative 2009

13

http://aiti.mit.edu

Email to SMS Gateway


One can send an SMS to a phone via email Usually: recipient_number @provider.com Safaricom:
254721123456@safaricomsms.com Must first SMS EMAIL ON to 123
Africa Information Technology Initiative 2009

14

http://aiti.mit.edu

SMS to Email Gateway


One can send an SMS to an email address from a phone Safaricom message format:
recipient_address messsage Example: aiti@mit.edu I love your class!

Africa Information Technology Initiative 2009

15

http://aiti.mit.edu

SMS Premium Services with Operator Agreement


Examples: Ringtones, digital content, state updates Value-added Service Provider (VASP) has agreement with operator
Extra charges are added to SMS to/from VASP VASP and operator share extra charge
Revenue share or fixed transport fee

Short codes

Messages transported between operator and VASP via Internet


VASP uses Gateway software
Africa Information Technology Initiative 2009

16

http://aiti.mit.edu

SMS Applications

Africa Information Technology Initiative 2009

17

http://aiti.mit.edu

SMS is Ubiquitous
Least-common denominator technology
All phone support SMS Almost everyone is familiar with SMS SMS messages are cheap, free on some networks

Reach the most users But many constraints

Africa Information Technology Initiative 2009

18

http://aiti.mit.edu

Types of SMS-based Services


Information Push Information Pull State Update Mobile-Based Systems Redirect Downloads

Africa Information Technology Initiative 2009

19

http://aiti.mit.edu

Information Push
Broadcasting information to a group
Bible verses, jokes, pickup lines

Alerts and notifications:


Ex: weather warnings, coupons, email notification, stock notification, credit card alerts

Users can subscribe and unsubscribe


Via SMS, web portal or email

Users can pay for service


Daily / monthly / yearly rate Operator agreement Reverse SMS billing (charge receiver)
Africa Information Technology Initiative 2009

20

http://aiti.mit.edu

Information Pull (Query)


Two way interaction User sends a formatted message requesting information
Ex: Google search, phone number search, directions, weather, sport scores, transportation information

User subscription or charged per message


Operator agreement Reverse billing
Africa Information Technology Initiative 2009

21

http://aiti.mit.edu

State Update
User sends a message to update the state of a system
Maybe an acknowledgment is returned

Examples:
Voting Systems
Idols East Africa

Update the state of an Internet site


Update Facebook/Twitter status, update personal blog, micropublishing

Disaster Information:
Update disaster locations to inform others via SMS

SMS Forms:
Predefined format Medical Records, Field Surveys, Business Agents
Africa Information Technology Initiative 2009

22

http://aiti.mit.edu

Mobile-Based Systems
User interacts with full system via SMS
User has continued presence with system Database backed

Protocol of SMS interactions


command arguments

Menu driven with session support:


Have to remember the state of the users interactions

Examples:
Independent M-Pesa, IM networks, classified ads

Africa Information Technology Initiative 2009

23

http://aiti.mit.edu

Designing SMS Applications

Africa Information Technology Initiative 2009

24

http://aiti.mit.edu

SMS Application Basics


SMS apps are constrained by many factors:
Only small amounts of text can be sent User interface is the SMS composer Writing text is cumbersome with 12 keys
T9 makes things a bit better

Each sent message is charged to the user


Ways around this

No online help / help screens


Africa Information Technology Initiative 2009

25

http://aiti.mit.edu

SMS Protocol Design Principles


Keep user input to a minimum
Digits easy to input Long words are hard If requiring a long word, make sure T9 completes it Disregard punctuation, space is adequate

Intuitive interactions
Command words that makes sense Consistent order of arguments Multiple command words for each command
With abbreviations

Keep responses to 1 message


Africa Information Technology Initiative 2009

26

http://aiti.mit.edu

Server Considerations
What is needed on the server?
Support for many users
Threaded server Multiple gateways (phones, modems)

Parse messages to perform actions Database of users and system state


Table design (SQL) Query design (SQL) Atomic actions?

Internet connection for accessing info


Africa Information Technology Initiative 2009

27

http://aiti.mit.edu

Agents?
Are agents needed for you system? Example:
M-Pesa agent

Africa Information Technology Initiative 2009

28

http://aiti.mit.edu

Conclusions
SMS is ubiquitous!
With it you can reach the largest audience

Many constraints
Design your interactions carefully

Different entry points for new SBS startup Think of service you want to offer
Research the market!
Africa Information Technology Initiative 2009

29

http://aiti.mit.edu

AITI '09: Two-week SMS unit


AITI / SMSlib infrastructure Open-ended Group project Projects go live!
We give out USB GSM modems to groups

SBS Ideas:
Directions (including matatu routes) Spot and Report Ticketing Forex Search Sports Scores Update Movie Tickets Business Directory
30
http://aiti.mit.edu

Africa Information Technology Initiative 2009