mirror of
https://github.com/cwinfo/envayasms.git
synced 2024-11-14 20:30:26 +00:00
298 lines
11 KiB
HTML
Executable File
298 lines
11 KiB
HTML
Executable File
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset='utf-8'>
|
|
<meta http-equiv="cache-control" content="no-cache, must-revalidate" >
|
|
<title>EnvayaSMS: Frequently Asked Questions</title>
|
|
<link rel='stylesheet' type='text/css' href='/styles/site.css' />
|
|
</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">
|
|
|
|
<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>
|
|
|
|
<span class="small">
|
|
SMS gateway for Android
|
|
</span>
|
|
|
|
</h1>
|
|
|
|
<div class='menu' style='clear:both;padding-top:5px'>
|
|
<a href='/'>Home</a>
|
|
·
|
|
<a href='/install/'>Install</a>
|
|
·
|
|
<a href='/test/'>Test</a>
|
|
·
|
|
<a href='/how/'>How it Works</a>
|
|
·
|
|
<a href='/serverapi/'>API Reference</a>
|
|
·
|
|
<a class='active' href='/faq/'>FAQ</a>
|
|
·
|
|
<a href='/history/'>History</a>
|
|
·
|
|
<a href='/community/'>Community</a>
|
|
</div>
|
|
|
|
<h2>Frequently Asked Questions</h2>
|
|
|
|
|
|
<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>
|
|
<li>
|
|
<a href='#q_rate'>How fast can EnvayaSMS send SMS messages?</a>
|
|
</li>
|
|
<li>
|
|
<a href='#q_tunnel'>EnvayaSMS can't connect to my dev server! What's wrong?</a>
|
|
</li>
|
|
<li>
|
|
<a href='#q_phones'>What phones are compatible with EnvayaSMS?</a>
|
|
</li>
|
|
<li>
|
|
<a href='#q_servers'>Does EnvayaSMS use envaya.org's servers?</a>
|
|
</li>
|
|
<li>
|
|
<a href='#q_envaya_org'>What is the relationship between EnvayaSMS and envaya.org?</a>
|
|
</li>
|
|
<li>
|
|
<a href='#q_kalsms'>What is the difference between EnvayaSMS and KalSMS?</a>
|
|
</li>
|
|
<li>
|
|
<a href='#q_smssync'>What is the difference between EnvayaSMS and SMSSync?</a>
|
|
</li>
|
|
</ul>
|
|
|
|
<h4 id='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.)
|
|
</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>
|
|
|
|
<h4 id='q_rate'>How fast can EnvayaSMS send SMS messages?</h4>
|
|
|
|
<p>
|
|
The rate at which EnvayaSMS can send messages depends on several factors, including your phone, your network, and the length of the SMS messages you're sending.
|
|
</p>
|
|
<p>
|
|
Using an LG 540 with T-Mobile, we were able to send 50 outgoing SMS messages (each 160 characters long)
|
|
in 4 minutes 17 seconds, for an average of 1 message every 5.1 seconds (~12 messages/minute, ~700 messages/hour).
|
|
</p>
|
|
<p>
|
|
In a different test, EnvayaSMS sent 176 outgoing SMS messages (with an average length of 7 characters)
|
|
in 9 minutes 50 seconds (using the same phone), for an average of 1 message every 3.4 seconds (~18 messages/minute, ~1100 messages/hour).
|
|
</p>
|
|
<p>
|
|
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. EnvayaSMS also allows you to set priority levels on outgoing SMS messages,
|
|
so important transactional messages can be delivered before low-priority notifications.
|
|
</p>
|
|
<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_tunnel'>EnvayaSMS can't connect to my dev server! What's wrong?</h4>
|
|
|
|
<p>
|
|
EnvayaSMS may be unable to connect to your development web server if it is blocked by a firewall on your computer,
|
|
or if your computer has a IP address that's inaccessible from your phone's network.
|
|
</p>
|
|
|
|
<p>
|
|
If your Android phone is on the same Wi-Fi network as your development web server, configure the firewall on
|
|
your development computer to allow incoming connections to your web server, then simply enter your computer's IP address
|
|
in EnvayaSMS as the Server URL.
|
|
</p>
|
|
<p>
|
|
If you're testing with the phone's mobile data connection, or if your phone and development computer are on different
|
|
Wi-Fi networks, the IP address of your development web server is likely inaccessible to the phone.
|
|
</p>
|
|
<p>
|
|
To allow the phone to connect to your development computer, you can set up a reverse SSH tunnel between your
|
|
development computer and a server with a public IP address.
|
|
</p>
|
|
<p>
|
|
To set up a reverse SSH tunnel, you can either:
|
|
|
|
<ul>
|
|
<li>use a hosted service like <a href='http://progrium.com/localtunnel/'>localtunnel</a>, or</li>
|
|
<li>use <code>ssh -R</code> to connect to your own server accessible from the public internet. For example:
|
|
<pre>ssh -R 0.0.0.0:8765:localhost:80 [user]@[host]</pre>
|
|
<p>
|
|
This sets up port 8765 on <code>host</code> to forward to port 80 on your local development computer.
|
|
Then you can use <code>http://[host]:8765/</code> as the Server URL in EnvayaSMS, and it will be
|
|
forwarded to <code>http://localhost</code> on your development server.
|
|
</p>
|
|
<p>
|
|
Note: In order for SSH port forwarding to work, you will need to set <code>GatewayPorts yes</code> in the <code>/etc/sshd_config</code> file
|
|
on the public server.
|
|
</p>
|
|
</li>
|
|
</ul>
|
|
|
|
<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>
|
|
|
|
<h4 id='q_servers'>Does EnvayaSMS use envaya.org's servers?</h4>
|
|
|
|
<p>
|
|
No. When using EnvayaSMS, your phone connects to your own web server.
|
|
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>
|
|
For information about configuring a web server to connect to EnvayaSMS, see the <a href='/serverapi/'>API Reference</a> page.
|
|
</p>
|
|
|
|
<h4 id='q_envaya_org'>What is the relationship between EnvayaSMS and envaya.org?</h4>
|
|
|
|
<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>
|
|
|
|
<h4 id='q_kalsms'>What is the difference between EnvayaSMS and KalSMS?</h4>
|
|
|
|
<p>
|
|
The source code for EnvayaSMS was originally based on <a href='https://github.com/niryariv/kalsms/'>KalSMS</a>, an open-source project
|
|
started by Nir Yariv in 2010. KalSMS first introduced the idea of a simple SMS gateway implemented entirely as an Android app.
|
|
</p>
|
|
|
|
<p>
|
|
EnvayaSMS builds upon the idea of KalSMS by adding many new features that are necessary when deploying an SMS gateway in the field,
|
|
such as sending more than 100 messages per hour, authenticating the phone to the server, and retrying forwarding messages after transient errors.
|
|
For a complete list of changes, see the <a href='/history/'>History</a> page.
|
|
</p>
|
|
<p>
|
|
EnvayaSMS's server API is incompatible with that of KalSMS. Anyone switching from KalSMS to EnvayaSMS must
|
|
update their server to use the new API described on the <a href='/serverapi/'>API Reference</a> page.
|
|
</p>
|
|
<p>
|
|
As of 2011, KalSMS is no longer actively developed, and new development will occur on the EnvayaSMS project.
|
|
</p>
|
|
|
|
<h4 id='q_smssync'>What is the difference between EnvayaSMS and SMSSync?</h4>
|
|
|
|
<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,
|
|
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.
|
|
</p>
|
|
|
|
<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> |