2011-09-23 19:16:53 +00:00
<!DOCTYPE html>
< html >
< head >
< meta charset = 'utf-8' >
2011-09-24 03:42:11 +00:00
< meta http-equiv = "cache-control" content = "no-cache, must-revalidate" >
2011-09-23 22:18:36 +00:00
< title > EnvayaSMS: Frequently Asked Questions< / title >
2011-09-24 03:42:11 +00:00
< link rel = 'stylesheet' type = 'text/css' href = '/styles/site.css' / >
2011-09-23 19:16:53 +00:00
< / head >
< body >
< a href = "http://github.com/youngj/EnvayaSMS" > < img style = "position: absolute; top: 0; right: 0; border: 0;" src = "http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt = "Fork me on GitHub" / > < / a >
< div id = "container" >
2011-09-23 22:18:36 +00:00
< a style = 'float:left' href = "/" > < img src = '/media/icon.png' height = '72' width = '72' style = 'margin-right:10px' / > < / a >
< h1 style = 'padding-top:13px' > < a href = "/" > EnvayaSMS< / a >
2011-09-23 19:16:53 +00:00
< span class = "small" >
SMS gateway for Android
< / span >
< / h1 >
< div class = 'menu' style = 'clear:both;padding-top:5px' >
2011-09-23 22:18:36 +00:00
< a href = '/' > Home< / a >
2011-09-23 19:16:53 +00:00
·
2011-09-23 22:18:36 +00:00
< a href = '/install/' > Install< / a >
2011-09-23 19:16:53 +00:00
·
2011-09-23 22:18:36 +00:00
< a href = '/how/' > How it Works< / a >
2011-09-23 19:16:53 +00:00
·
2011-09-23 22:18:36 +00:00
< a href = '/serverapi/' > API Reference< / a >
2011-09-23 19:16:53 +00:00
·
2011-09-23 22:18:36 +00:00
< a class = 'active' href = '/faq/' > FAQ< / a >
2011-09-23 19:16:53 +00:00
·
2011-09-23 22:18:36 +00:00
< a href = '/history/' > History< / a >
2011-09-23 23:36:51 +00:00
·
< a href = '/community/' > Community< / a >
2011-09-23 19:16:53 +00:00
< / div >
2011-09-23 22:18:36 +00:00
2011-09-23 19:16:53 +00:00
< h2 > Frequently Asked Questions< / h2 >
2011-09-23 22:18:36 +00:00
2011-09-23 23:36:51 +00:00
2011-09-23 23:44:06 +00:00
< ul class = 'faq_links' >
< li >
< a href = '#q_alternative' > Instead of implementing a SMS gateway as an Android app, why not use X instead? (where X = Twilio, Tropo, Clickatell, FrontlineSMS, RapidSMS, Kannel, etc.)< / a >
< / li >
2011-09-28 05:49:34 +00:00
< li >
< a href = '#q_rate' > How fast can EnvayaSMS send SMS messages?< / a >
< / li >
2011-09-23 23:44:06 +00:00
< li >
< a href = '#q_phones' > What phones are compatible with EnvayaSMS?< / a >
< / li >
2011-09-24 18:36:39 +00:00
< li >
< a href = '#q_servers' > Does EnvayaSMS use envaya.org's servers?< / a >
< / li >
2011-09-23 23:44:06 +00:00
< li >
< a href = '#q_envaya_org' > What is the relationship between EnvayaSMS and envaya.org?< / a >
< / li >
< li >
2011-09-24 00:37:04 +00:00
< a href = '#q_kalsms' > What is the difference between EnvayaSMS and KalSMS?< / a >
2011-09-23 23:44:06 +00:00
< / li >
2011-09-24 00:37:04 +00:00
< li >
2011-09-24 02:47:02 +00:00
< a href = '#q_smssync' > What is the difference between EnvayaSMS and SMSSync?< / a >
2011-09-24 00:37:04 +00:00
< / li >
2011-09-23 23:44:06 +00:00
< / ul >
< h4 id = 'q_alternative' >
2011-09-23 23:36:51 +00:00
Instead of implementing a SMS gateway as an Android app, why not use X instead? (where X = Twilio, Tropo, Clickatell, FrontlineSMS, RapidSMS, Kannel, etc.)
< / h4 >
< p >
The existing alternative methods for creating SMS gateways can generally be categorized as
hosted services (e.g. Twilio, Tropo, Clickatell), connecting GSM phones/modems to a computer (e.g. FrontlineSMS, RapidSMS, Kannel),
and partnering directly with mobile operators.
< / p >
< p >
The table below summarizes the major benefits and drawbacks of each of these methods for creating an SMS gateway:
< / p >
< table class = 'comparison_table' >
< thead >
< tr >
< td > < / td >
< th > Benefits< / th >
< th > Drawbacks< / th >
< / tr >
< / thead >
< tbody >
< tr >
< th > Hosted services< / th >
< td >
< ul > < li > High message throughput
< li > Easy to deploy< / ul >
< / td >
< td >
< ul > < li > No local numbers in many countries
< li > Usually no MMS support< / ul >
< / td >
< / tr >
< tr >
< th > Connecting modem< br / > to computer< / th >
< td >
< ul > < li > Can work with inexpensive phone< / li > < / ul >
< / td >
< td >
< ul > < li > Expensive hardware costs
< li > Lots of moving parts to keep working
< li > Very difficult for non-technical users to deploy
< li > Low message throughput
< li > No MMS support< / ul >
< / td >
< / tr >
< tr >
< th > Partnering with< br / > mobile operators< / th >
< td >
< ul >
< li > High message throughput
< li > Can provide free service to users via shortcode< / ul >
< / td >
< td >
< ul > < li > Usually very expensive
< li > Requires operator approval
< li > Long setup time< / li > < / ul >
< / td >
< / tr >
< / tbody >
< / table >
< p >
EnvayaSMS is ideal for situations where no hosted services with local numbers are available in
a particular country, or when it is necessary to receive MMS messages.
< / p >
< p >
EnvayaSMS likely has lower throughput than hosted services or partnering with mobile operators, but should
be able to forward up to a few thousand messages per phone per day.
< / p >
2011-09-28 05:49:34 +00:00
< h4 id = 'q_rate' > How fast can EnvayaSMS send SMS messages?< / h4 >
< p >
In our largest test so far, EnvayaSMS able to send 176 outgoing SMS messages in 9 minutes 50 seconds (using a LG 540 with T-Mobile).
< / p >
< p >
This is equivalent to 1 message every 3.35 seconds, or slightly more than 1000 messages per hour assuming this rate is sustained.
< / p >
< p >
Your rate may vary depending on your phone and network.
< / p >
< p >
2011-09-28 06:00:20 +00:00
To increase the rate at which you can send SMS messages, you can install EnvayaSMS on multiple phones and
balance outgoing SMS messages between them.
2011-09-28 05:49:34 +00:00
< / p >
2011-09-28 06:00:20 +00:00
< p >
In order to send more than 100 messages per hour with a single phone, it is necessary to install < a href = '/install/#expansion' > EnvayaSMS Expansion Packs< / a > .
< / p >
< h4 id = 'q_phones' > What phones are compatible with EnvayaSMS?< / h4 >
< p >
EnvayaSMS should work on any phone with Android 1.6 (Donut) or higher. As of 9/23/2011, over 579 different phone models are compatible with EnvayaSMS.
< / p >
< p >
EnvayaSMS has been tested and is known to work with the following phones:
< ul >
< li > LG GT540 Optimus< / li >
< li > Samsung Galaxy Mini S5570< / li >
< / ul >
2011-09-28 05:49:34 +00:00
2011-09-24 18:36:39 +00:00
< h4 id = 'q_servers' > Does EnvayaSMS use envaya.org's servers?< / h4 >
2011-09-23 20:50:24 +00:00
< p >
2011-09-23 23:14:39 +00:00
No. When using EnvayaSMS, your phone connects to your own web server.
2011-09-23 20:50:24 +00:00
The EnvayaSMS Android app does not connect to < a href = 'http://envaya.org' > envaya.org< / a > or any third-party servers.
In particular, you do not need to register for < a href = 'http://envaya.org' > envaya.org< / a > .
< / p >
< p >
2011-09-27 22:47:02 +00:00
For information about configuring a web server to connect to EnvayaSMS, see the < a href = '/serverapi/' > API Reference< / a > page.
2011-09-23 20:50:24 +00:00
< / p >
2011-09-23 23:44:06 +00:00
< h4 id = 'q_envaya_org' > What is the relationship between EnvayaSMS and envaya.org?< / h4 >
2011-09-23 20:50:24 +00:00
< p >
We originally developed EnvayaSMS to enable civil society organizations in East Africa to interact with
< a href = 'http://envaya.org' > envaya.org< / a > via SMS and MMS, such as by posting news updates and photos
to their website.
< / p >
< p >
We realized that EnvayaSMS would be useful for any web service that needs to send and receive SMS/MMS,
and decided to make EnvayaSMS available for anyone building their own applications.
< / p >
< p >
Development of EnvayaSMS is currently led by the < a href = 'http://envaya.org' > envaya.org< / a > team,
but anyone is welcome to contribute to improve it.
< / p >
2011-09-24 00:37:04 +00:00
< h4 id = 'q_kalsms' > What is the difference between EnvayaSMS and KalSMS?< / h4 >
2011-09-23 20:50:24 +00:00
< p >
The source code for EnvayaSMS was originally based on < a href = 'https://github.com/niryariv/kalsms/' > KalSMS< / a > , an open-source project
2011-09-25 16:13:18 +00:00
started by Nir Yariv in 2010. KalSMS first introduced the idea of a simple SMS gateway implemented entirely as an Android app.
2011-09-23 20:50:24 +00:00
< / p >
< p >
2011-09-23 23:36:51 +00:00
EnvayaSMS builds upon the idea of KalSMS by adding many new features that are necessary when deploying an SMS gateway in the field,
2011-09-23 20:50:24 +00:00
such as sending more than 100 messages per hour, authenticating the phone to the server, and retrying forwarding messages after transient errors.
2011-09-23 22:18:36 +00:00
For a complete list of changes, see the < a href = '/history/' > History< / a > page.
2011-09-23 20:50:24 +00:00
< / p >
< p >
EnvayaSMS's server API is incompatible with that of KalSMS. Anyone switching from KalSMS to EnvayaSMS must
2011-09-23 22:18:36 +00:00
update their server to use the new API described on the < a href = '/serverapi/' > API Reference< / a > page.
2011-09-23 20:50:24 +00:00
< / p >
< p >
As of 2011, KalSMS is no longer actively developed, and new development will occur on the EnvayaSMS project.
< / p >
2011-09-24 00:37:04 +00:00
2011-09-24 02:47:02 +00:00
< h4 id = 'q_smssync' > What is the difference between EnvayaSMS and SMSSync?< / h4 >
2011-09-24 00:37:04 +00:00
< p >
< a href = 'http://smssync.ushahidi.com/' > SMSSync SMS Gateway< / a > is an alternative Android SMS gateway app developed by Ushahidi.
< / p >
< p >
EnvayaSMS contains several features not present in the current version of SMSSync, such as receiving MMS messages,
2011-09-24 01:31:54 +00:00
sending more than 100 outgoing SMS messages per hour, notifying the server of the status of outgoing messages,
and showing log messages to facilitate troubleshooting.
2011-09-24 00:37:04 +00:00
< / p >
2011-09-23 19:16:53 +00:00
< div class = "footer" >
get the source code on GitHub : < a href = "http://github.com/youngj/EnvayaSMS" > youngj/EnvayaSMS< / a >
< / div >
< / div >
< script type = "text/javascript" >
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-25868450-2']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
< / script >
< / body >
< / html >