3. Table of contents
Introduction Factors in detail
What is RapidSMS? 4 Context 19
Coded in Country 4 Motivation 20
Built to scale 5 Behavior 21
Flexible for your needs 5 Critical mass 22
Free and open source 6 Sustainability 23
Awareness 24
Getting Started Expense 25
When is RapidSMS appropriate? 7 Usability 28
When is RapidSMS not appropriate? 8 Quality 30
Milestones & Timelines 9 Support 31
Factors for success Building a good team
Interrelated factors 12 What to look for in programmers 33
Framework for thinking 14 What to look for in project managers 33
RapidSMS Project Evaluation Worksheet 15
Agile planning 16 Topic Guides
Documenting your project 34
Partnering with mobile service providers 38
More information 39
Annex 1: Example training materials 40
Annex 2: Equipment 47
4. What is RapidSMS? Coded in Country
RapidSMS is a SMS-based (text message) framework that RapidSMS framework was created by programmers
manages data collection, complex workflows, and group working directly on actual project implementations with
coordination using basic mobile phones -- and can present end users -- not by an isolated software firm working from
information on the internet as soon as it is received. specifications.
So far RapidSMS has been customized and deployed with The resulting software is practical, flexible, and simple
diverse functionality: remote health diagnostics, nutrition enough to meet real world needs.
surveillance, supply chain tracking, registering children in
public health campaigns, and community discussion. RapidSMS is not constrained to any particular kind of
mobile device: any mobile phone that can send and
RapidSMS was designed to be customized for the receive text messages can interact with RapidSMS.
challenges of governments, multilateral, international-
and non-government organizations, and development End users never need a specific device or to install
practitioners: working effectively in spite of geographical any software on their phone. RapidSMS is focused on
remoteness of constituents, limited infrastructure (roads, commonly available, existing infrastructure to allow for
electricity), and slow data collection (due to paper-based replicability and scalability.
records, slow courier systems, etc).
4
5. Built to scale Flexible for your needs
RapidSMS is built for robustness and high availability. There is no single tool or mobile application that can be
RapidSMS is designed for horizontal and vertical universally applied to fit all project and stakeholder needs.
scalability. RapidSMS is designed for easy integration with existing
workfows and other software systems. RapidSMS can easily
‘Horizontal scalability’ is the ability to be easily replicated export data to excel for further analysis, query existing
or expanded into other domains. The modular nature databases, and communicate with other software systems.
of RapidSMS functionality is designed to allow a single
deployment to be used for a variety of purposes. The RapidSMS community strongly advocates for an
For example, a system that initially collects nutrition atmosphere of collaboration with other effective platforms,
indicators can easily add capabilities to collect food and a concerted effort to ensure interoperability.
inventory data to give a more comprehensive view of a
complex environment. RapidSMS is the first platform to implement SPOMC, a
standard protocol for the interoperability of SMS software
‘Vertical-scalability’ is the ability to effectively handle developed by members of the Open Mobile Consortium.
increasing workload. If a product cannot meet the
demands of a growing population of users, it will be
limited in its value and reliability. RapidSMS was
designed to efficiently process vast amounts incoming
and outgoing messages to large numbers of users.
Projects successfully demonstrated at a local level
can easily and confidently be deployed at a national or
regional levels.
5
6. Free and open source
RapidSMS code is freely available under the New BSD license:
anyone may modify and redistribute the code.
Software developers from Senegal, Mali, Nigeria, Kenya,
Uganda, Canada, UK, and USA have contributed to the growing
codebase.
Nearly 200 software developers and implementers discuss
RapidSMS on the RapidSMS mailing-list. The list’s online
archives are a great way to become familiar with RapidSMS.
More information for software developers can be found on the
project wiki and documentation site.
6
7. When is RapidSMS appropriate?
When you need a large-scale (enterprise) solution
• Collected data can be accessible to many people in many locations via the internet
• Thousands of users can interact with your system simultaneously
When you need a customizable solution
• Certain actions can be triggered in specific circumstances
• RapidSMS can integrate with existing software tools and services
When you need a robust solution
• Thousands of users can interact with your system simultaneously
• Collected data is constantly available via the internet
When your end users only have very basic phones (text/voice)
• End users do not need “smartphones” or Java-enabled phones or computers to interact
with RapidSMS
When you want a scalable solution
• A single RapidSMS system can handle one village or one country
• RapidSMS can use GSM modems for small volumes and can integrate with mobile
network operators or 3rd party solutions for large volumes
7
8. When is RapidSMS not appropriate?
Implementing organization lacks technical and software development expertise
• Experience with command line tools and server administration is necessary for installation and
configuration
• Experience with object oriented programming is necessary for customization
Implementing organization cannot procure necessary equipment
• In most cases, physical access to a low-end server is needed (can be an old desktop PC).
Internet connectivity for the server is necessary for email functionality and the website portion of
RapidSMS (internet connection should not be behind a restrictive firewall so programmers can
update remotely and so automatic backups of data can occur).
• A GSM modem (with a non-prepaid SIM card) or an arrangement with a mobile network
operator or 3rd party vendor is necessary to send and receive text messages.
End users have data-enabled mobile phones and constant internet connectivity
• Internet-based (rather than SMS-based) solutions may be more appropriate in these situations
Implementing organization does not have enough time for proper negotiations or planning
• RapidSMS is designed for long-term large-scale projects with specialized needs, which
necessitate negotiations with mobile network operators and lots of planning.
8
9. Milestones & Timelines
Phase 1: planning & scoping
• Desk review - research similar initiatives and project context (network coverage, phone ownership)
• Initial scoping & feasibility - technical and subject experts meet with partners, mobile providers, and end-
users to formulate management, expense, system, and training plans
• Agreement with management, mobile providers and partners on timeline, budget and rollout
• Secure necessary equipment
Phase 2: hiring & developing
• Assessment of local software developer/technical capacity
• Identify local project manager and/or administrator
• Establish partnerships with mobile operators (if necessary)
• Collect baseline data
• Hiring of local technical support/software developers
• Software development/customization and testing cycles
• Training of implementer and/or partner staff
• Training of end users
Phase 3: launching & documenting
• Produce technical and non-technical project documentation (ongoing but should be finalized and shareable
here)
• System improvements (additional features, improvements to website portion, optimization)
• Assessment of how findings from phase 2 could improve phase 3 and beyond
• System administration/upkeep
9
10. Factors for success
A successful RapidSMS project requires excellence in concept design, implementation, and
participation. These three elements are not mutually exclusive -- they all overlap one another.
Implementation
Participation
Concept design
10
11. Excellence in concept design means the project is feasible; excellence in implementation means
the project is sustainable; and excellence in participation means the project is desired by its
intended users.
sustainability
desireability
feasibility
Each project has its own balance of desirability, sustainability, and feasibility. For example, low
literacy (a component of feasibility) can be offset by a highly-motivating service such as an
unprecedented way to stay in contact with their relatives (a component of desirability).
11
12. Interrelated factors
awareness critical mass
quality
sustainability support
motivation
expense
Many factors influence a project’s
sustainability, desirability, and
desireability feasibility.
behavior
training
usability feasibility
context
competency
literacy
All of the interrelated factors must be considered. Each is described on the following page, and are arranged
beginning with factors requiring mostly programmatic expertise (knowledge of project focus such as logistics or
nutrition) and ending with factors requiring mostly technical expertise (whether from a software developer or nutrition
expert, for example).
Please keep in mind that often each factor requires a combination of programmatic and technical input for success.
12
13. programatic
context culturally appropriate, socially acceptable, exploits available
technologies, builds on existing relationships and practices
motivation provides a shortcut (saves time and/or effort), builds personal or
professional reputation, encourages peer/community pressure
behavior similar to existing workflow/practices, easy to understand, or desirable
enough to incentivize change. adequate training.
critical mass sufficient participation in order to get value from system. early
adopters/influencers to promote peer learning
sustainability mechanisms to measure/evaluate usage and desired behaviors.
adequate training and motivation to reinforce participation
awareness promotion by formal and informal channels,
local training capacity and local project manager
expense ongoing costs are acceptable to users, implementer, and partners.
local system administrator to maintain system
usability minimal training requirements, actions are as natural as possible.
training materials are concise and appropriate for low literacy
quality functions reliably, gives constructive feedback to errors. local software
developer(s) for bug fixes and new features
support help and supplementary training is readily available from formal
(implementer) and informal (peer) channels
technical
13
14. Framework for thinking
The previous page and following worksheet are intended as a thought exercise to help guide the
development of your RapidSMS project. All of these factors are interrelated, but try to think about
each separately -- this will help to identify weaknesses and areas that need more attention.
Does your project plan and implementation strategy cover all of these factors? How well? Do you
understand your project’s context and intended users well enough?
On the next page, consider each factor with respect to your current project plan and implementation
strategy. Get your colleagues to do complete the page independently and then compare.
For each factor, assign a score (or weight) between 1 (lowest) and 5 (highest). Also add today’s date
to the lower-right corner.
14
15. RapidSMS Project Evaluation Worksheet
score:
context culturally appropriate, socially acceptable, exploits available
technologies, builds on existing relationships and practices
motivation provides a shortcut (saves time and/or effort), builds personal or
professional reputation, encourages peer/community pressure
behavior similar to existing workflow/practices, easy to understand, or desirable
enough to incentivize change. adequate training.
critical mass sufficient participation in order to get value from system. early adopters/
influencers to promote peer learning
sustainability mechanisms to measure/evaluate usage and desired behaviors.
adequate training and motivation to reinforce participation
awareness promotion by formal and informal channels,
local training capacity and local project manager
expense ongoing costs are acceptable to users, implementer, and partners. local
system administrator to maintain system
usability minimal training requirements, actions are as natural as possible.
training materials are concise and appropriate for low literacy
quality functions reliably, gives constructive feedback to errors. local software
developer(s) for bug fixes and new features
support help and supplementary training is readily available from formal
(implementer) and informal (peer) channels
date:
15
16. Agile planning
How can you adapt your project plan and implementation strategy to score higher? Who can you
consult for advice regarding certain factors?
Are there certain factors that cannot be improved? Not all factors need to have a high score, but most
should be three or above.
If a certain factor cannot be improved, can you improve other factors to promote overall success?
Each time you revise your project plan and implementation strategy (and at least every week) fill out
another copy of the sheet without looking a previous scores. How much do your scores change? Why
have they changed?
16
17. Bags of blank paper forms for a bednet distribution capaign in Nigeria’s Kano state -- and two RapidSMS developers
explaining the internet-accessible data sent to RapidSMS during the campaign.
17
18. Factors in detail
The following pages describe factors in more detail, pose questions, and offer strategies for improving
your project plan and implementation strategy.
18
19. Context
Understand the cultural, social, and technological
setting of your project -- and make sure your project is
compatible. Do your intended users own or have access
to mobile phones? If so, do they have regular access to
electricity to charge their mobiles?
Be mindful and respectful of different frames of reference,
local gender roles, traditional customs, and religious
practices when designing your project.
This kind of understanding comes from relationships,
real experiences, and empathy -- spend plenty of time
observing, asking, talking, and trying. Better yet, your
team should focus on co-creation by including individuals
intimately familar with the project’s context.
Map existing relationships among people and
organizations and take advantage of them. Think of how
these relationships can be facilitated and strengthened by
faster information flows.
19
20. Motivation shortcut saves user time or money or reduces
travel
Users must be motivated to participate in your
RapidSMS project. Unfortunately, altruism is not recognition boosts users social standing among
enough to ensure adequate participation. coworkers or community
Strategies for designing a project that will provide
additional incentives and motivation to your users are
outlined on the next page.
competition peer or community pressure
encourages participation
new skills users gain valuable skills, such
Example as new phone, math, or language
competencies
For an inventory survey project in Ethiopia,
implementers sent a text message to all of
the data collectors praising the individual
data collector who had sent in the most reward user is compensated (with money,
text messages during the first week. The airtime credits, or similar)
next week, data collectors sent many more
messages containing valuable data -- as
they competed to be “#1” for the week.
20
21. Behavior
Minimize disruption and additional burden. Map Example
existing workflows and dataflows to find the best
opportunity for RapidSMS. Try to minimize any For a nutrition surveillance project in
additional workload, especially for users that may Malawi, Health Surveillance Assistants
already be overworked and underpaid. (HSAs) in rural clinics sent data points to
RapidSMS in the same order that the data
The intended interactions your users will have with points appear on the paper forms that
the HSAs had been using -- which made
RapidSMS must be simple and easy to understand. If
the SMS format easy to understand and
one user cannot easily explain ‘what to do’ and ‘why explain.
to do it’ to another user, the interaction is too complex.
Think about the least amount of data that can be
actionable. Example
For example, why ask for number of new patients For a bednet distribution project in Nigeria,
and current stock level if only the stock level data is door-to-door teams distributed vouchers
essential and actionable? Use only data from paper that were redeemed the following week
for bednets. A supervisor summed the
forms that are already being used -- but not every total numbers of vouchers issued by all
piece of data. of the teams under his or her supervision
and sent this data each day. If each team
What data is most valuable when it is known by others were to send their own data, the totals for
rapidly -- and can be acted upon rapidly? individual neighborhoods would be known
-- but dozens of additional people would
require training. So, less-specific data
was collected so that training time and
coordination expenses could remain lower.
21
22. Critical mass
How many users must participate for the implementer
to gain value from the overall system? How can you
design differently so your critical mass is smaller?
Do users depend on other users’ participation? Can
these dependencies be avoided?
Minimize disruption to your users’ normal routine and
avoid additional burden (workload, time, etc).
Identify ‘champions’ or ‘power users’ that are
competent and enthusiastic. How can you reward
and empower these users to encourage their peers to
participate?
22
23. Sustainability
How will you measure and evaluate usage?
If second-order effects are expected (behavior change, improved
efficiency, etc), how can these be measured?
Training and motivation must be thorough enough so users will
continue to participate after the ‘honeymoon’ phase following
project deployment.
Training materials must be readily available and as simple as
possible.
23
24. Awareness
Example
For a nutrition surveillance project in
Malawi, implementers printed “cheat
sheets” of instructions for each user.
Expect users to forget everything from their training Cheat sheets were printed 4 per page and
session. then laminated. Several weeks later, a
surprising number of users still carried their
Make supplementary materials easily available. “cheat sheets” -- because their size and
durable lamination made them excellent
Consider posters or laminated cards that explain
fans!
how to use RapidSMS.
Provide a phone number for a local trainer or
schedule supplementary training.
Send reminder messages when you are expecting
data submissions to prompt participation.
24
25. Expense
Out-of-pocket expenses for end users are a serious threat to motivation. Requiring users to maintain airtime
balance and pay for each text message -- even if they are reimbursed -- will significantly affect participation.
Be sure to design a project with enough social or shortcut motivations to offset this disadvantage.
Better yet, arrange for reverse-billing or free/toll-free numbers so users never need to pay for using your
service.
25
26. solution description
pre-paid SIM basic consumer SIM
post-paid SIM (AKA contract SIM) consumer contract SIM, usually billed monthly for charges incurred during the
previous month. may require a long-term subscription agreement
bulk-rate SIM special SIM optimized for bulk SMS, intended for commercial customers. may be
available as pre-paid or post-paid. lacks ability to dial or receive voice calls, but incurs
a discounted rate for sending and receiving SMS
reverse-billing SIM special SIM where all charges incurred sending to or dialing the SIM are billed to the
SIM rather than the caller/texter. so, users sending messages to this SIM do not incur
any charges on their own SIM -- these charges are billed to the reverse-billing SIM.
depending on the network, users may need to maintain a minimum balance on their
SIM, even though the balance is not debited when they send to the reverse-billing
SIM
toll-free SIM same as above, except network operator absorbs all costs
shortcode unlike a normal phone number (‘longcode’) which is fully-qualified, a shortcode is
a special number (usually 5 or 6 numbers long) unique within a particular network.
for a large project, the same shortcode must be acquired on all of the major mobile
networks you intend to support. often, a third-party vendor must be contracted to
coordinate these shortcodes so they can be used seamlessly
26
27. time/negotiation solution applicability who pays who to talk to
requirements
pre-paid SIM testing users and implementer normal retail channels
post-paid SIM short-term pilots, small users and implementer normal retail channels
scale projects
bulk-rate SIM small-to-medium scale users and implementer network operator’s
projects corporate sales
department
reverse-billing SIM small-to-medium implementer network operator’s
scale projects where corporate sales
users must not incurr department
charges
toll-free SIM medium-to-large donated by network network operator’s
scale projects where CSR department or
users most not incurr foundation
charges
shortcode large scale projects implementer or network operator’s
donated by network CSR department,
foundation, or senior
management as well
as a thrid party vendor
27
28. Usability
Even though a user may own a phone, there are many levels of Tip
competency that affect how much interaction they may successfully
perform with RapidSMS. Usage of your RapidSMS system should
be simple enough so that one user can
Most mobile owners’ competency is being contactable -- if their explain it to another in a single sentence
phone rings, they will answer. such as:
“type the clinic number from this poster and
then each of the numbers from this form in
Not as many mobile owners are familiar with more complicated uses
the same order”
of their phone -- uses that require significant amounts of training
to develop competency. For example, if your users have never sent
a text message, it will require intensive training for them to become
competent sending structured text messages containing data.
28
29. Mobile phone competencies
sending data in text
sending text
competency /
training needs receiving text
flashing / beeping
making calls
contactable
popularity / familiarity
29
30. Quality
Be sure to allow time for frequent, sufficient testing misspellings locations and names may have
of your RapidSMS project throughout the development many possible spellings --
process. If the system does not behave or respond as especially if local languages are
anticipated, users may believe they made a mistake rarely written in print
even if a software error or poor design is at fault.
free-form comments expect users to direct questions or
Unexpected behavior will lower your users’ confidence say ‘thank you’ to RapidSMS
in themselves and RapidSMS -- at a detriment to
project participation.
character substitutions numeral ‘1’ is often easier to type
on a mobile handset than letter ‘l’
Misspellings, unexpected words, and malformed data
must be handled and responded to with descriptive,
helpful messages -- and every message should
data order sometimes data points may be
receive a response. submitted out-of-order
arbitrary delimiters users may use unexpected
characters to separate data fields
30
31. Support
Readily available training materials must be concise and clear, with Tip
limited textual explanations. Use icons when possible so materials are
easy to understand. If you are using a GSM modem, enable call
forwarding on the SIM card to local training
Resources for informal and formal help or support staff. Sometimes users may call
the phone number intended for submitting
System status inquiries - users should know what to do if the system SMS -- which may disrupt RapidSMS’s
ability to send and receive text messages
is not responding promptly. Training material should include a phone
-- even if another phone number has been
number to call with questions or to report problems. provided for inquiries. By enabling call
forwarding for the SIM card in the modem,
Local software developers and systems administrator are available for the risk of disrupted SMS functionality is
troubleshooting and/or improvements, if necessary. avoided -- and confused users’ calls are
answered by knowledgable staff.
31
33. What to look for in programmers What to look for in project managers
When evaluating candidates, experience working When evaluating candidates, experience working with
with RapidSMS in a similar context is by far the RapidSMS in a similar context is by far the most important
most important quality. quality.
RapidSMS software is complicated and poorly Also, look for experience working with private sector
documented. No amount of programming talent technologists (especially mobile operators), training end
or mobile experience is more valuable than users, and documenting projects (photos, blogs, etc).
having experience programming, training, and/
or deploying a RapidSMS project with similar [link to example TOR]
requirements in a similar environment.
example Terms of Reference
33
34. Documenting your project
Blogging -Try to document your project throughout Link your blog to a photo site such as Flickr or
the development and deployment process. This Picasa - Visuals - whether photos or screenshots
makes it easier for partners to stay abreast and build can be very powerful, so try to take plenty.
interest (it also helps to have material to draw from
when writing a project report or summary). examples:
RapidSMS Mauritania (nutrition)
examples: RapidSMS mapping in Uganda
http://www.jokkoinitiative.org Illustrate the challenges you are facing, your
http://projectmwana.posterous.com problem solving approach, and offer a forum to
http://www.childcount.org/category/blog/ ask questions or get involved.
The following pages present a few examples of
problem illustration, screen shots, and solution
diagrams.
34
38. Partnering with mobile service providers
Meet early, meet often
Even with plenty of enthusiasm, delivery of operational technologies from mobile service providers can take a
long time. Internal processes and discussions among a providers CSR (Corporate Social Responsibility) staff,
foundation staff, and technical staff may last for months. Allow plenty of time before your project goes into
production and be persistent.
Don’t start a large-scale project without an agreement. Don’t set a launch date for a project until you have
personally sent and received messages via the facilities defined in the agreement.
Link to example agreement?
38
39. For more information or guidance
Links to projects, downloads, and more:
http://rapidsms.org
Technical / Implementation: Evan Wheeler: ewheeler@unicef.org
Management / Partnership / Organizational:
Erica Kochi: ekochi@unicef.org and Christopher Fabian: cfabian@unicef.org
Further reading
Human-Centered Design Toolkit : A Free Toolkit for NGOs and Social Enterprise.Developed by IDEO with
IDE and Gates Foundation
Getting Real : The smarter, faster, easier way to build a successful web application. By 37Signals
Shared Phone Use
By Jan Chipchase and Indri Tulusan
39
43. Example of location codes
20 State: 01 - 37
Kano
2027 LGA: 01 - 44
Kura
202708 Ward: 01 - 15
Kurun Sumau
2027082 Distribution point: 1, 2, or 3
D. Point 2
20270823 Mobilization team: 1, 2, 3 or 4
M. Team 3
43
44. Distribution example
Leni (203507)
In the evening , after the day's distribution,
the DP supervisor of distribution point 1
finalizes form I-7a and texts:
DP supervisor llin nets 2035071 926 74 68 60
Automatic confirmation SMS to DP supervisor:
Thanks, Abimbola. We confirm nets distribution data for
Leni ward, DP 1: distributed=926 nets, expected=74 nets,
actual=68 nets, discrepancy=60.
44
45. Example stock transaction
Automatic SMS to LGA warehouse: Automatic SMS to state warehouse:
Notice: 200 bales LLIN are enroute to Kura Notice: 200 bales LLIN are have been
from Kano (waybill 11111). received at Kura (waybill 11111).
Automatic confirmation SMS to state Automatic confirmation SMS to LGA
warehouse manager: warehouse manager:
Thanks, Abimbola. We confirm issuing of Thanks, Evan. We confirm receipt of 200
200 bales from Kano to Kura, waybill=11111, bales from Kano to Kura, waybill=11111, Takai
Kano stock balance=1800 bales stock balance=317 bales
Once waybill 11111 is on truck and warehouse Upon arrival once warehouse stock sheet
stock sheet entry is written, state warehouse entry is written, LGA warehouse manager
manager texts: texts:
llin issue from 20 to 2037 11111 200 1800
llin receive from 20 to 2037 11111 200 317
200
Kano (20) Waybill
Kura (2037)
(11111)
2000 - 200 = 1800 117 + 200 = 317
45
46. Net card example
Ward supervisor verifies & signs form I-4a
(atfer the mobilization team leader from
Kuru (203005) team 3 of distribution point 1 arrives in the
evening), and texts:
llin net cards 20300513 10 5783 621
Automatic confirmation SMS to ward supervisor.
Thanks, Abimbola. We confirm net card distribution data
for Kuru ward, DP 1, MT 3: settlements=10, people=5783,
netcards=621.
Ward supervisor Ward supervisor verifies & signs form I-4a
(atfer the mobilization team leader from
team 1 of distribution point 2 arrives in the
evening), and texts:
llin net cards 20300521 13 6459 684
Automatic confirmation SMS to ward supervisor.
Thanks, Abimbola. We confirm net card distribution data
for Kuru ward, DP 2, MT 1: settlements=13, people=6459,
netcards=684.
Repeat for remaining mobilization teams
46
47. Annex 2: Equipment
There are many different ways and combinations of equipment that
can be used to deploy a RapidSMS project -- and the wide variety of
requirements and contexts of different projects means that there is no
one-size-fits-all recommendation.
The two most popular scenarios are presented in this section, as well
as the specific components that must be procured.
48. GSM modem(s)
Server
• Securely hosted with reliable electricity (or connected to a UPS unit). You
will need physical access to the machine to install the modems.
• Server does not need to be a recent or powerful computer (can be a low- Tip
end desktop workstation)
• Internet connection to allow remote access for updating, troubleshooting, Often it is cheaper to send text messages
to numbers on the same mobile network
etc. Ensure that ports 22 (ssh), 9418 (git), and 80 (http) are not blocked by
than sending from one mobile network
a firewall. When possible, a static IP is more desireable than a dynamic IP to another. RapidSMS can have multiple
address. GSM modems attached to the same
• Linux operating system (latest version of Ubuntu is recommended) software system. Although additional
modems are an additional expense, users
GSM modem(s) may be more inclined to participate if they
are able to send within their own mobile
• one for each major mobile network
network.
• model that is compatible with RapidSMS (see http://wiki.github.com/
adammck/pygsm/). Multitech MTCBA-G-U-F4 is recommended.
• SIM card for each modem -- may need to place a call from a handset to
activate the card, depending on the network.