rename to EnvayaSMS
@ -55,10 +55,10 @@
|
||||
</table>
|
||||
|
||||
<p>
|
||||
KalSMS is ideal for situations where no hosted services with local numbers are available in
|
||||
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>
|
||||
KalSMS likely has lower throughput than hosted services or partnering with mobile operators, but should
|
||||
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>
|
||||
|
@ -1,6 +1,6 @@
|
||||
<h2>History</h2>
|
||||
|
||||
Version 2.0-beta (2011/09/19)
|
||||
Version 2.0-beta (2011/09/22)
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
@ -54,11 +54,14 @@ Version 2.0-beta (2011/09/19)
|
||||
Add server library and example code for PHP
|
||||
</li>
|
||||
<li>
|
||||
Create KalSMS website
|
||||
Create EnvayaSMS website
|
||||
</li>
|
||||
<li>
|
||||
Rename from KalSMS to EnvayaSMS
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
Version 1a (2011/01/18)
|
||||
<a href='https://github.com/niryariv/kalsms/tree/polling'>KalSMS Version 1a</a> (2011/01/18)
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
@ -66,7 +69,7 @@ Version 1a (2011/01/18)
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
Version 1 (2010/10/04)
|
||||
<a href='https://github.com/niryariv/kalsms'>KalSMS version 1</a> (2010/10/04)
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
|
@ -1,8 +1,8 @@
|
||||
<h2>How it Works</h2>
|
||||
|
||||
<p>
|
||||
In the simplest configuration, KalSMS only needs to be installed on one phone.
|
||||
Suppose that you have installed KalSMS on an Android phone in Dar es Salaam,
|
||||
In the simplest configuration, EnvayaSMS only needs to be installed on one phone.
|
||||
Suppose that you have installed EnvayaSMS on an Android phone in Dar es Salaam,
|
||||
Tanzania, with phone number <code>+255987654321</code> (local number <code>0987654321</code>),
|
||||
with GSM service from Zantel.
|
||||
</p>
|
||||
@ -13,7 +13,7 @@ Suppose also that your web server is <code>example.com</code>, and its servers a
|
||||
|
||||
<p>
|
||||
In Dar es Salaam, you would put the Android phone in an office with internet access and a Wi-Fi router,
|
||||
and connect the phone to the Wi-Fi network. (Wi-Fi is not strictly necessary, since KalSMS will also
|
||||
and connect the phone to the Wi-Fi network. (Wi-Fi is not strictly necessary, since EnvayaSMS will also
|
||||
work over the phone's mobile data connection, but Wi-Fi is likely to be more reliable and cheaper.)
|
||||
</p>
|
||||
|
||||
@ -26,21 +26,21 @@ TODO
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Typically your organization will need only one phone running KalSMS in a
|
||||
Typically your organization will need only one phone running EnvayaSMS in a
|
||||
particular country. However, it is possible to use multiple phones to load-balance requests
|
||||
for higher throughput, to offer different user services, or to serve different mobile networks.
|
||||
</p>
|
||||
|
||||
<h3>Receiving incoming SMS and sending replies</h3>
|
||||
|
||||
<p>Here is an example of how KalSMS would forward an incoming SMS to your server, and send a SMS back as a reply:</p>
|
||||
<p>Here is an example of how EnvayaSMS would forward an incoming SMS to your server, and send a SMS back as a reply:</p>
|
||||
|
||||
<ol>
|
||||
<li>User in Tanzania, using Nokia phone with phone number <code>0555551234</code>, sends SMS message to <code>0987654321</code></li>
|
||||
<li>Your Android phone at <code>0987654321</code> receives SMS</li>
|
||||
<li>KalSMS sends SMS to <code>example.com</code> via HTTP</li>
|
||||
<li>EnvayaSMS sends SMS to <code>example.com</code> via HTTP</li>
|
||||
<li>example.com processes the message and returns SMS reply in HTTP response</li>
|
||||
<li>KalSMS forwards SMS reply to <code>0555551234</code></li>
|
||||
<li>EnvayaSMS forwards SMS reply to <code>0555551234</code></li>
|
||||
</ol>
|
||||
|
||||
<p>
|
||||
@ -50,9 +50,9 @@ for sending one local SMS message, and your phone would also be charged for send
|
||||
|
||||
<h3>Sending outgoing SMS notifications</h3>
|
||||
|
||||
<p>KalSMS uses a different process to send SMS notifications that were not in response to an incoming message.</p>
|
||||
<p>EnvayaSMS uses a different process to send SMS notifications that were not in response to an incoming message.</p>
|
||||
|
||||
<p>Assume now that <code>example.com</code> has multiple phones using KalSMS in different countries,
|
||||
<p>Assume now that <code>example.com</code> has multiple phones using EnvayaSMS in different countries,
|
||||
and it is configured to send all messages to phone numbers with a <code>255</code> prefix (Tanzania's country code)
|
||||
via the cell phone with number <code>+255987654321</code>.
|
||||
|
||||
@ -60,12 +60,12 @@ via the cell phone with number <code>+255987654321</code>.
|
||||
<li><code>example.com</code> wants to send an SMS message to <code>+255555551234</code></li>
|
||||
<li><code>example.com</code> identifies that the recipient number has a <code>255</code>
|
||||
prefix, and chooses sender phone number <code>+255987654321</code></li>
|
||||
<li>The next time KalSMS polls <code>example.com</code> for queued outgoing messages
|
||||
<li>The next time EnvayaSMS polls <code>example.com</code> for queued outgoing messages
|
||||
for its phone number <code>+255987654321</code>, the server responds with
|
||||
the message to send
|
||||
</li>
|
||||
<li>KalSMS forwards the message to <code>0555551234</code></li>
|
||||
<li>KalSMS notifies <code>example.com</code> via HTTP that message was sent</li>
|
||||
<li>EnvayaSMS forwards the message to <code>0555551234</code></li>
|
||||
<li>EnvayaSMS notifies <code>example.com</code> via HTTP that message was sent</li>
|
||||
<li><code>example.com</code> removes the SMS message from its queue of outgoing messages.</li>
|
||||
</ol>
|
||||
|
||||
|
@ -3,13 +3,13 @@ layout: default.twig
|
||||
|
||||
<p>
|
||||
<div style='float:right;padding-left:10px;padding-bottom:10px'>
|
||||
<img src='media/screenshot-main.png' width='211' height='347' />
|
||||
<img src='media/screenshot-main.png' width='212' height='350' />
|
||||
<br />
|
||||
<img src='media/screenshot-settings.png' width='211' height='347' />
|
||||
<img src='media/screenshot-settings.png' width='212' height='350' />
|
||||
|
||||
</div>
|
||||
|
||||
KalSMS is a SMS/MMS gateway running entirely as an Android app.
|
||||
EnvayaSMS is a SMS and MMS gateway running entirely as an Android app.
|
||||
|
||||
<p>
|
||||
It forwards incoming SMS and MMS messages to a web server on the Internet, and sends
|
||||
@ -18,7 +18,7 @@ outgoing messages from the web server to other phones.
|
||||
|
||||
<p>
|
||||
People with any type of mobile phone can send SMS and MMS to a phone
|
||||
running KalSMS, without needing their own Android phone.
|
||||
running EnvayaSMS, without needing their own Android phone.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -26,34 +26,34 @@ It works wherever the phone can receive SMS messages and access the Internet
|
||||
(via Wi-Fi or mobile data connection).
|
||||
</p>
|
||||
|
||||
<h2>Why KalSMS?</h2>
|
||||
<h2>Why EnvayaSMS?</h2>
|
||||
|
||||
<p>
|
||||
KalSMS can be used to enable a web service to send and receive SMS and MMS messages
|
||||
EnvayaSMS can be used to enable a web service to send and receive SMS and MMS messages
|
||||
nearly anywhere in the world.
|
||||
</p>
|
||||
<p> In particular, it is useful in countries where obtaining a local virtual phone number
|
||||
or SMS shortcode is difficult, expensive, or impossible. A phone running KalSMS
|
||||
or SMS shortcode is difficult, expensive, or impossible. A phone running EnvayaSMS
|
||||
connects to the phone network in the same way as any other mobile phone,
|
||||
so it can be set up without needing approval from anyone else.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
KalSMS is designed to to be maintainable even when deployed in remote locations
|
||||
that cannot easily be accessed by your organization's technical staff. KalSMS is simple
|
||||
EnvayaSMS is designed to to be maintainable even when deployed in remote locations
|
||||
that cannot easily be accessed by your organization's technical staff. EnvayaSMS is simple
|
||||
enough for non-technical users to do all setup and maintenance of deployed phones.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Price</h2>
|
||||
<p>
|
||||
KalSMS is free to install on as many phones as you'd like.
|
||||
EnvayaSMS is free to install on as many phones as you'd like.
|
||||
</p>
|
||||
<p>
|
||||
In order to deploy KalSMS, you will need a messaging plan for your phone, and the phone itself.
|
||||
KalSMS is compatible with many old or inexpensive Android phones, e.g. the LG GT540, currently $120 on Amazon.com.
|
||||
In order to deploy EnvayaSMS, you will need a messaging plan for your phone, and the phone itself.
|
||||
EnvayaSMS is compatible with many old or inexpensive Android phones, e.g. the LG GT540, currently $120 on Amazon.com.
|
||||
</p>
|
||||
|
||||
<a href='install.html' class='button'>
|
||||
Install KalSMS Now
|
||||
Install EnvayaSMS Now
|
||||
</a>
|
@ -1,8 +1,8 @@
|
||||
layout: default.twig
|
||||
---
|
||||
<h2>Installing KalSMS</h2>
|
||||
<h2>Installing EnvayaSMS</h2>
|
||||
|
||||
Before installing KalSMS, ensure that you have the following prerequisites:
|
||||
Before installing EnvayaSMS, ensure that you have the following prerequisites:
|
||||
|
||||
<ul>
|
||||
<li>One or more Android phones (1.6 Donut or higher) that are
|
||||
@ -14,7 +14,7 @@ Before installing KalSMS, ensure that you have the following prerequisites:
|
||||
<li> A web server accessible from the public internet </li>
|
||||
</ul>
|
||||
|
||||
To install the current release version of KalSMS on an Android phone,
|
||||
To install the current release version of EnvayaSMS on an Android phone,
|
||||
either scan the barcode below with a QR code app,
|
||||
or click the link from your phone's browser. <br />
|
||||
|
||||
@ -22,17 +22,17 @@ or click the link from your phone's browser. <br />
|
||||
<img src='media/qr.png' width='175' height='175' style='vertical-align:middle' />
|
||||
<em>or</em>
|
||||
<span style='font-size:20px;font-weight:bold'>
|
||||
<a href="https://github.com/downloads/youngj/KalSMS/kalsms.apk">Install KalSMS</a>
|
||||
<a href="https://github.com/downloads/youngj/EnvayaSMS/envayasms.apk">Install EnvayaSMS</a>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Alternatively, software developers may <a href="https://github.com/youngj/KalSMS">download the source code from GitHub</a>
|
||||
and build KalSMS themselves.
|
||||
Alternatively, software developers may <a href="https://github.com/youngj/EnvayaSMS">download the source code from GitHub</a>
|
||||
and build EnvayaSMS themselves.
|
||||
</p>
|
||||
|
||||
<h2>Configuring KalSMS</h2>
|
||||
<h2>Configuring EnvayaSMS</h2>
|
||||
|
||||
<h3>Server Configuration</h3>
|
||||
|
||||
@ -42,7 +42,7 @@ It is assumed that your organization already has an HTTP server, or has the tech
|
||||
|
||||
<p>
|
||||
Follow the instructions in the <a href='serverapi.html'>API Reference</a> page to learn how to construct a
|
||||
resource on your HTTP server that can communicate with KalSMS.
|
||||
resource on your HTTP server that can communicate with EnvayaSMS.
|
||||
</p>
|
||||
|
||||
<h3>Phone Configuration</h3>
|
||||
@ -53,14 +53,14 @@ resource on your HTTP server that can communicate with KalSMS.
|
||||
|
||||
|
||||
<p>
|
||||
After your server is configured, configure KalSMS on your phone to connect to your server as follows:
|
||||
After your server is configured, configure EnvayaSMS on your phone to connect to your server as follows:
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
|
||||
<li>Open the KalSMS app</li>
|
||||
<li>Open the EnvayaSMS app</li>
|
||||
<li>Click the Menu button, then "Settings"</li>
|
||||
<li>Configure KalSMS to work with your server by entering:</li>
|
||||
<li>Configure EnvayaSMS to work with your server by entering:</li>
|
||||
<ul>
|
||||
<li>your server URL</li>
|
||||
<li>your phone number</li>
|
||||
@ -68,41 +68,40 @@ After your server is configured, configure KalSMS on your phone to connect to yo
|
||||
</ul>
|
||||
<li>Choose an interval to poll for new outgoing messages</li>
|
||||
<li><em>Recommended:</em> under Wi-Fi sleep policy, select "always stay connected".
|
||||
(Otherwise, KalSMS will be unable to forward messages after the phone goes to sleep.)
|
||||
(Otherwise, EnvayaSMS will be unable to forward messages after the phone goes to sleep.)
|
||||
</li>
|
||||
<li>Check "Enable KalSMS"</li>
|
||||
<li>Check "Enable EnvayaSMS"</li>
|
||||
<li>Click the Back button to return to the main screen</li>
|
||||
</ol>
|
||||
|
||||
<p>
|
||||
To test if KalSMS has been configured properly and can connect
|
||||
to your server, open the KalSMS app, click the Menu button,
|
||||
To test if EnvayaSMS has been configured properly and can connect
|
||||
to your server, open the EnvayaSMS app, click the Menu button,
|
||||
then click "Test Connection".
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<strong>Important:</strong> After KalSMS is enabled, it will forward all SMS messages regardless of whether the
|
||||
KalSMS app is open. If you want to use SMS normally again, return to KalSMS' settings screen
|
||||
and uncheck "Enable KalSMS".
|
||||
<strong>Important:</strong> After EnvayaSMS is enabled, it will forward all SMS messages regardless of whether the
|
||||
EnvayaSMS app is open. If you want to use SMS normally again, return to EnvayaSMS' settings screen
|
||||
and uncheck "Enable EnvayaSMS".
|
||||
</p>
|
||||
|
||||
<h3>Installing Expansion Packs</h3>
|
||||
|
||||
<p>
|
||||
By default, Android prevents KalSMS from sending more than 100 outgoing SMS messages per hour.
|
||||
However, that limit can be increased by installing KalSMS Expansion Packs.
|
||||
By default, Android prevents EnvayaSMS from sending more than 100 outgoing SMS messages per hour.
|
||||
However, that limit can be increased by installing EnvayaSMS Expansion Packs.
|
||||
</p>
|
||||
<p>
|
||||
Each Expansion Pack allows KalSMS to increase its sending limit by an additional 100 outgoing SMS messages
|
||||
per hour. For example, if you install 14 expansion packs, KalSMS will be able to send up to 1500 outgoing SMS messages
|
||||
Each Expansion Pack allows EnvayaSMS to increase its sending limit by an additional 100 outgoing SMS messages
|
||||
per hour. For example, if you install 14 expansion packs, EnvayaSMS will be able to send up to 1500 outgoing SMS messages
|
||||
per hour.
|
||||
</p>
|
||||
<p>
|
||||
<a href='http://envaya.org/_media/kalsms-pack01.apk'>KalSMS Expansion Pack 01</a><br />
|
||||
<a href='http://envaya.org/_media/kalsms-pack02.apk'>KalSMS Expansion Pack 02</a>
|
||||
TODO add download links
|
||||
</p>
|
||||
<p>
|
||||
With Expansion Packs, KalSMS is limited only by how fast your phone can send and receive SMS,
|
||||
With Expansion Packs, EnvayaSMS is limited only by how fast your phone can send and receive SMS,
|
||||
and by your mobile provider's usage limits and terms of service.
|
||||
</p>
|
||||
<p>
|
||||
|
@ -3,18 +3,18 @@ layout: default.twig
|
||||
<h2>Server API Reference</h2>
|
||||
|
||||
<p>
|
||||
KalSMS communicates with the server via HTTP POST requests that expect an XML response.
|
||||
EnvayaSMS communicates with the server via HTTP POST requests that expect an XML response.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For convenience, KalSMS includes <a href='https://github.com/youngj/KalSMS/tree/master/server'>server libraries and example code</a>
|
||||
For convenience, EnvayaSMS includes <a href='https://github.com/youngj/EnvayaSMS/tree/master/server'>server libraries and example code</a>
|
||||
for certain languages to simplify handling its POST requests and generating response XML.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If a server library is not yet available for your programming language, you can still use
|
||||
KalSMS by implementing code in accordance with the API reference below.
|
||||
We encourage you to contribute new libraries and example code back to the KalSMS project!
|
||||
EnvayaSMS by implementing code in accordance with the API reference below.
|
||||
We encourage you to contribute new libraries and example code back to the EnvayaSMS project!
|
||||
</p>
|
||||
|
||||
<h3>
|
||||
@ -24,15 +24,15 @@ HTTP Request Format
|
||||
<h4>Example requests</h4>
|
||||
|
||||
<p>
|
||||
In each of the example requests below, the Server URL is <code style='white-space:nowrap'>http://192.168.70.1:3000/sg/kalsms</code>
|
||||
and the phone number of the phone with KalSMS is <code>16505551212</code>.
|
||||
In each of the example requests below, the Server URL is <code style='white-space:nowrap'>http://192.168.70.1:3000/sg/EnvayaSMS</code>
|
||||
and the phone number of the phone with EnvayaSMS is <code>16505551212</code>.
|
||||
</p>
|
||||
|
||||
<p>An incoming SMS from <code>6505551234</code> with message body "test":</p>
|
||||
|
||||
<pre>
|
||||
POST /sg/kalsms HTTP/1.1
|
||||
X-Kalsms-Signature: sAemG31uRllk/K9xck2WRNaF/WI=
|
||||
POST /sg/EnvayaSMS HTTP/1.1
|
||||
X-EnvayaSMS-Signature: sAemG31uRllk/K9xck2WRNaF/WI=
|
||||
Content-Length: 96
|
||||
Content-Type: application/x-www-form-urlencoded
|
||||
Host: 192.168.70.1:3000
|
||||
@ -44,8 +44,8 @@ from=6505551234&message_type=sms&message=test&version=2&phone_number=16505551212
|
||||
<p>An incoming MMS message with an <code>image/jpeg</code> part and a <code>text/plain</code> part with message 'Test':</p>
|
||||
|
||||
<pre style='white-space:pre-wrap'>
|
||||
POST /sg/kalsms HTTP/1.1
|
||||
X-Kalsms-Signature: OgpiQet9guVhEp+0klrONR8qGNs=
|
||||
POST /sg/EnvayaSMS HTTP/1.1
|
||||
X-EnvayaSMS-Signature: OgpiQet9guVhEp+0klrONR8qGNs=
|
||||
Content-Length: 13087
|
||||
Content-Type: multipart/form-data; boundary=i66xAht5IMn1Tfk7tL9DgY8ZHZxq0d0RGB6_wkjO
|
||||
Host: 192.168.70.1:3000
|
||||
@ -132,8 +132,8 @@ Content-Transfer-Encoding: binary
|
||||
<p>Checking for outgoing SMS messages:</p>
|
||||
|
||||
<pre>
|
||||
POST /sg/kalsms HTTP/1.1
|
||||
X-Kalsms-Signature: 139CL71b7r1Zw/E2wcccWFviSlg=
|
||||
POST /sg/EnvayaSMS HTTP/1.1
|
||||
X-EnvayaSMS-Signature: 139CL71b7r1Zw/E2wcccWFviSlg=
|
||||
Content-Length: 50
|
||||
Content-Type: application/x-www-form-urlencoded
|
||||
Host: 192.168.70.1:3000
|
||||
@ -145,8 +145,8 @@ action=outgoing&version=2&phone_number=16505551212
|
||||
<p>Notifying the server of the status of a sent message:</p>
|
||||
|
||||
<pre>
|
||||
POST /sg/kalsms HTTP/1.1
|
||||
X-Kalsms-Signature: 6uJtI6+QqlVBbUsR4T0WsQomods=
|
||||
POST /sg/EnvayaSMS HTTP/1.1
|
||||
X-EnvayaSMS-Signature: 6uJtI6+QqlVBbUsR4T0WsQomods=
|
||||
Content-Length: 80
|
||||
Content-Type: application/x-www-form-urlencoded
|
||||
Host: 192.168.70.1:3000
|
||||
@ -158,28 +158,28 @@ id=1536&status=sent&error=&action=send_status&version=2&phone_number=16505551212
|
||||
<h4>Specification</h4>
|
||||
|
||||
<p>
|
||||
The following parameters are sent in all POST requests from KalSMS:
|
||||
The following parameters are sent in all POST requests from EnvayaSMS:
|
||||
</p>
|
||||
|
||||
<dl>
|
||||
<dt>"version" ::= <integer></dt>
|
||||
<dd>
|
||||
KalSMS's version code. This is an integer that will be incremented whenever
|
||||
a new version of KalSMS is released. (It is not the same as the version name shown
|
||||
EnvayaSMS's version code. This is an integer that will be incremented whenever
|
||||
a new version of EnvayaSMS is released. (It is not the same as the version name shown
|
||||
on the Help screen.)
|
||||
<br />
|
||||
<br />
|
||||
This allows the server to support phones running different API versions at the same time.
|
||||
If a deployment has many phones running with KalSMS, the server should update its code first,
|
||||
then the phones can be upgraded to the new version of KalSMS as convenient.
|
||||
If a deployment has many phones running with EnvayaSMS, the server should update its code first,
|
||||
then the phones can be upgraded to the new version of EnvayaSMS as convenient.
|
||||
</dd>
|
||||
|
||||
<dt>"phone_number" ::= <text></dt>
|
||||
<dd>
|
||||
The phone number of the phone running KalSMS, as entered under Menu > Settings.
|
||||
The phone number of the phone running EnvayaSMS, as entered under Menu > Settings.
|
||||
<br /><br />
|
||||
This allows the server to differentiate between KalSMS clients if multiple phones
|
||||
are running KalSMS.
|
||||
This allows the server to differentiate between EnvayaSMS clients if multiple phones
|
||||
are running EnvayaSMS.
|
||||
</dd>
|
||||
|
||||
<dt>"action" ::= "outgoing" | "incoming" | "send_status"</dt>
|
||||
@ -208,10 +208,10 @@ The following parameters are sent in all POST requests from KalSMS:
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
The following HTTP Headers are sent in all POST requests from KalSMS:
|
||||
The following HTTP Headers are sent in all POST requests from EnvayaSMS:
|
||||
|
||||
<dl>
|
||||
<dt>"X-Kalsms-Signature" ::= <text></dt>
|
||||
<dt>"X-EnvayaSMS-Signature" ::= <text></dt>
|
||||
<dd>
|
||||
A signature of the request to verify the phone and the server share the same password.
|
||||
(This doesn't protect against MITM snooping or replay attacks, so it is recommended to
|
||||
@ -382,7 +382,7 @@ The Content-Type header should be text/xml, with the content as follows:
|
||||
<dl>
|
||||
<dt>"id" ::= <text> (optional)</dt>
|
||||
<dd>
|
||||
An ID for this outgoing message. (KalSMS will send this
|
||||
An ID for this outgoing message. (EnvayaSMS will send this
|
||||
back to the server as the id field in a send_status request.)
|
||||
</dd>
|
||||
<dt>"to" ::= <text> (optional for incoming, required for outgoing)</dt>
|
||||
|
@ -2,23 +2,25 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset='utf-8'>
|
||||
<title>KalSMS</title>
|
||||
<title>EnvayaSMS</title>
|
||||
<link rel='stylesheet' type='text/css' href='styles/site.css' />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<a href="http://github.com/youngj/KalSMS"><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>
|
||||
<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">
|
||||
|
||||
<h1><a href="index.html">KalSMS</a>
|
||||
<a style='float:left' href="index.html"><img src='media/icon.png' height='72' width='72' style='margin-right:10px' /></a>
|
||||
<h1 style='padding-top:13px'><a href="index.html">EnvayaSMS</a>
|
||||
|
||||
<span class="small">
|
||||
SMS/MMS gateway for Android
|
||||
</span>
|
||||
SMS gateway for Android
|
||||
</span>
|
||||
|
||||
</h1>
|
||||
|
||||
<div class='menu'>
|
||||
<div class='menu' style='clear:both;padding-top:5px'>
|
||||
<a href='index.html'>Home</a>
|
||||
·
|
||||
<a href='install.html'>Install</a>
|
||||
@ -35,7 +37,7 @@
|
||||
{{ content }}
|
||||
|
||||
<div class="footer">
|
||||
get the source code on GitHub : <a href="http://github.com/youngj/KalSMS">youngj/KalSMS</a>
|
||||
get the source code on GitHub : <a href="http://github.com/youngj/EnvayaSMS">youngj/EnvayaSMS</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
BIN
.phrozn/media/icon.png
Executable file
After Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 502 B After Width: | Height: | Size: 589 B |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 90 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 63 KiB |
@ -47,12 +47,12 @@ dd
|
||||
margin: 0 auto;
|
||||
width: 700px;
|
||||
}
|
||||
h1 { margin-top:0; font-size: 3.8em; color: #678bf0; margin-bottom: 3px; }
|
||||
h1 .small { font-size: 0.4em; color:#666; }
|
||||
h1 { margin-top:0; font-size: 42px; color: #6b9412; margin-bottom: 3px; }
|
||||
h1 .small { font-size: 20px; color:#666; }
|
||||
h1 a { text-decoration: none }
|
||||
h2 { font-size: 1.5em; color: #678bf0; }
|
||||
h3 { color: #678bf0; }
|
||||
a { color: #678bf0; }
|
||||
h2 { font-size: 1.5em; color: #6b9412; }
|
||||
h3 { color: #6b9412; }
|
||||
a { color: #6b9412; }
|
||||
.description { font-size: 1.2em; margin-bottom: 30px; margin-top: 30px; font-style: italic;}
|
||||
.download { float: right; }
|
||||
pre {
|
||||
@ -64,7 +64,7 @@ hr { border: 0; width: 80%; border-bottom: 1px solid #aaa}
|
||||
.button
|
||||
{
|
||||
text-decoration:none;
|
||||
display:block;margin:0 auto;width:200px;background:#68f;color:white;padding:8px;font-weight:bold;text-align:center;
|
||||
display:block;margin:0 auto;width:200px;background:#6b9412;color:white;padding:8px;font-weight:bold;text-align:center;
|
||||
}
|
||||
|
||||
a.button:hover
|
||||
|
@ -2,23 +2,25 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset='utf-8'>
|
||||
<title>KalSMS</title>
|
||||
<title>EnvayaSMS</title>
|
||||
<link rel='stylesheet' type='text/css' href='styles/site.css' />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<a href="http://github.com/youngj/KalSMS"><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>
|
||||
<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">
|
||||
|
||||
<h1><a href="index.html">KalSMS</a>
|
||||
<a style='float:left' href="index.html"><img src='media/icon.png' height='72' width='72' style='margin-right:10px' /></a>
|
||||
<h1 style='padding-top:13px'><a href="index.html">EnvayaSMS</a>
|
||||
|
||||
<span class="small">
|
||||
SMS/MMS gateway for Android
|
||||
</span>
|
||||
SMS gateway for Android
|
||||
</span>
|
||||
|
||||
</h1>
|
||||
|
||||
<div class='menu'>
|
||||
<div class='menu' style='clear:both;padding-top:5px'>
|
||||
<a href='index.html'>Home</a>
|
||||
·
|
||||
<a href='install.html'>Install</a>
|
||||
@ -89,16 +91,16 @@
|
||||
</table>
|
||||
|
||||
<p>
|
||||
KalSMS is ideal for situations where no hosted services with local numbers are available in
|
||||
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>
|
||||
KalSMS likely has lower throughput than hosted services or partnering with mobile operators, but should
|
||||
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>
|
||||
|
||||
<div class="footer">
|
||||
get the source code on GitHub : <a href="http://github.com/youngj/KalSMS">youngj/KalSMS</a>
|
||||
get the source code on GitHub : <a href="http://github.com/youngj/EnvayaSMS">youngj/EnvayaSMS</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
27
history.html
@ -2,23 +2,25 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset='utf-8'>
|
||||
<title>KalSMS</title>
|
||||
<title>EnvayaSMS</title>
|
||||
<link rel='stylesheet' type='text/css' href='styles/site.css' />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<a href="http://github.com/youngj/KalSMS"><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>
|
||||
<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">
|
||||
|
||||
<h1><a href="index.html">KalSMS</a>
|
||||
<a style='float:left' href="index.html"><img src='media/icon.png' height='72' width='72' style='margin-right:10px' /></a>
|
||||
<h1 style='padding-top:13px'><a href="index.html">EnvayaSMS</a>
|
||||
|
||||
<span class="small">
|
||||
SMS/MMS gateway for Android
|
||||
</span>
|
||||
SMS gateway for Android
|
||||
</span>
|
||||
|
||||
</h1>
|
||||
|
||||
<div class='menu'>
|
||||
<div class='menu' style='clear:both;padding-top:5px'>
|
||||
<a href='index.html'>Home</a>
|
||||
·
|
||||
<a href='install.html'>Install</a>
|
||||
@ -34,7 +36,7 @@
|
||||
|
||||
<h2>History</h2>
|
||||
|
||||
Version 2.0-beta (2011/09/19)
|
||||
Version 2.0-beta (2011/09/22)
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
@ -88,11 +90,14 @@ Version 2.0-beta (2011/09/19)
|
||||
Add server library and example code for PHP
|
||||
</li>
|
||||
<li>
|
||||
Create KalSMS website
|
||||
Create EnvayaSMS website
|
||||
</li>
|
||||
<li>
|
||||
Rename from KalSMS to EnvayaSMS
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
Version 1a (2011/01/18)
|
||||
<a href='https://github.com/niryariv/kalsms/tree/polling'>KalSMS Version 1a</a> (2011/01/18)
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
@ -100,7 +105,7 @@ Version 1a (2011/01/18)
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
Version 1 (2010/10/04)
|
||||
<a href='https://github.com/niryariv/kalsms'>KalSMS version 1</a> (2010/10/04)
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
@ -109,7 +114,7 @@ Version 1 (2010/10/04)
|
||||
</ul>
|
||||
|
||||
<div class="footer">
|
||||
get the source code on GitHub : <a href="http://github.com/youngj/KalSMS">youngj/KalSMS</a>
|
||||
get the source code on GitHub : <a href="http://github.com/youngj/EnvayaSMS">youngj/EnvayaSMS</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
40
how.html
@ -2,23 +2,25 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset='utf-8'>
|
||||
<title>KalSMS</title>
|
||||
<title>EnvayaSMS</title>
|
||||
<link rel='stylesheet' type='text/css' href='styles/site.css' />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<a href="http://github.com/youngj/KalSMS"><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>
|
||||
<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">
|
||||
|
||||
<h1><a href="index.html">KalSMS</a>
|
||||
<a style='float:left' href="index.html"><img src='media/icon.png' height='72' width='72' style='margin-right:10px' /></a>
|
||||
<h1 style='padding-top:13px'><a href="index.html">EnvayaSMS</a>
|
||||
|
||||
<span class="small">
|
||||
SMS/MMS gateway for Android
|
||||
</span>
|
||||
SMS gateway for Android
|
||||
</span>
|
||||
|
||||
</h1>
|
||||
|
||||
<div class='menu'>
|
||||
<div class='menu' style='clear:both;padding-top:5px'>
|
||||
<a href='index.html'>Home</a>
|
||||
·
|
||||
<a href='install.html'>Install</a>
|
||||
@ -35,8 +37,8 @@
|
||||
<h2>How it Works</h2>
|
||||
|
||||
<p>
|
||||
In the simplest configuration, KalSMS only needs to be installed on one phone.
|
||||
Suppose that you have installed KalSMS on an Android phone in Dar es Salaam,
|
||||
In the simplest configuration, EnvayaSMS only needs to be installed on one phone.
|
||||
Suppose that you have installed EnvayaSMS on an Android phone in Dar es Salaam,
|
||||
Tanzania, with phone number <code>+255987654321</code> (local number <code>0987654321</code>),
|
||||
with GSM service from Zantel.
|
||||
</p>
|
||||
@ -47,7 +49,7 @@ Suppose also that your web server is <code>example.com</code>, and its servers a
|
||||
|
||||
<p>
|
||||
In Dar es Salaam, you would put the Android phone in an office with internet access and a Wi-Fi router,
|
||||
and connect the phone to the Wi-Fi network. (Wi-Fi is not strictly necessary, since KalSMS will also
|
||||
and connect the phone to the Wi-Fi network. (Wi-Fi is not strictly necessary, since EnvayaSMS will also
|
||||
work over the phone's mobile data connection, but Wi-Fi is likely to be more reliable and cheaper.)
|
||||
</p>
|
||||
|
||||
@ -60,21 +62,21 @@ TODO
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Typically your organization will need only one phone running KalSMS in a
|
||||
Typically your organization will need only one phone running EnvayaSMS in a
|
||||
particular country. However, it is possible to use multiple phones to load-balance requests
|
||||
for higher throughput, to offer different user services, or to serve different mobile networks.
|
||||
</p>
|
||||
|
||||
<h3>Receiving incoming SMS and sending replies</h3>
|
||||
|
||||
<p>Here is an example of how KalSMS would forward an incoming SMS to your server, and send a SMS back as a reply:</p>
|
||||
<p>Here is an example of how EnvayaSMS would forward an incoming SMS to your server, and send a SMS back as a reply:</p>
|
||||
|
||||
<ol>
|
||||
<li>User in Tanzania, using Nokia phone with phone number <code>0555551234</code>, sends SMS message to <code>0987654321</code></li>
|
||||
<li>Your Android phone at <code>0987654321</code> receives SMS</li>
|
||||
<li>KalSMS sends SMS to <code>example.com</code> via HTTP</li>
|
||||
<li>EnvayaSMS sends SMS to <code>example.com</code> via HTTP</li>
|
||||
<li>example.com processes the message and returns SMS reply in HTTP response</li>
|
||||
<li>KalSMS forwards SMS reply to <code>0555551234</code></li>
|
||||
<li>EnvayaSMS forwards SMS reply to <code>0555551234</code></li>
|
||||
</ol>
|
||||
|
||||
<p>
|
||||
@ -84,9 +86,9 @@ for sending one local SMS message, and your phone would also be charged for send
|
||||
|
||||
<h3>Sending outgoing SMS notifications</h3>
|
||||
|
||||
<p>KalSMS uses a different process to send SMS notifications that were not in response to an incoming message.</p>
|
||||
<p>EnvayaSMS uses a different process to send SMS notifications that were not in response to an incoming message.</p>
|
||||
|
||||
<p>Assume now that <code>example.com</code> has multiple phones using KalSMS in different countries,
|
||||
<p>Assume now that <code>example.com</code> has multiple phones using EnvayaSMS in different countries,
|
||||
and it is configured to send all messages to phone numbers with a <code>255</code> prefix (Tanzania's country code)
|
||||
via the cell phone with number <code>+255987654321</code>.
|
||||
|
||||
@ -94,12 +96,12 @@ via the cell phone with number <code>+255987654321</code>.
|
||||
<li><code>example.com</code> wants to send an SMS message to <code>+255555551234</code></li>
|
||||
<li><code>example.com</code> identifies that the recipient number has a <code>255</code>
|
||||
prefix, and chooses sender phone number <code>+255987654321</code></li>
|
||||
<li>The next time KalSMS polls <code>example.com</code> for queued outgoing messages
|
||||
<li>The next time EnvayaSMS polls <code>example.com</code> for queued outgoing messages
|
||||
for its phone number <code>+255987654321</code>, the server responds with
|
||||
the message to send
|
||||
</li>
|
||||
<li>KalSMS forwards the message to <code>0555551234</code></li>
|
||||
<li>KalSMS notifies <code>example.com</code> via HTTP that message was sent</li>
|
||||
<li>EnvayaSMS forwards the message to <code>0555551234</code></li>
|
||||
<li>EnvayaSMS notifies <code>example.com</code> via HTTP that message was sent</li>
|
||||
<li><code>example.com</code> removes the SMS message from its queue of outgoing messages.</li>
|
||||
</ol>
|
||||
|
||||
@ -109,7 +111,7 @@ all SMS messages are sent domestically and are not charged as international SMS
|
||||
</p>
|
||||
|
||||
<div class="footer">
|
||||
get the source code on GitHub : <a href="http://github.com/youngj/KalSMS">youngj/KalSMS</a>
|
||||
get the source code on GitHub : <a href="http://github.com/youngj/EnvayaSMS">youngj/EnvayaSMS</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
42
index.html
@ -2,23 +2,25 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset='utf-8'>
|
||||
<title>KalSMS</title>
|
||||
<title>EnvayaSMS</title>
|
||||
<link rel='stylesheet' type='text/css' href='styles/site.css' />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<a href="http://github.com/youngj/KalSMS"><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>
|
||||
<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">
|
||||
|
||||
<h1><a href="index.html">KalSMS</a>
|
||||
<a style='float:left' href="index.html"><img src='media/icon.png' height='72' width='72' style='margin-right:10px' /></a>
|
||||
<h1 style='padding-top:13px'><a href="index.html">EnvayaSMS</a>
|
||||
|
||||
<span class="small">
|
||||
SMS/MMS gateway for Android
|
||||
</span>
|
||||
SMS gateway for Android
|
||||
</span>
|
||||
|
||||
</h1>
|
||||
|
||||
<div class='menu'>
|
||||
<div class='menu' style='clear:both;padding-top:5px'>
|
||||
<a href='index.html'>Home</a>
|
||||
·
|
||||
<a href='install.html'>Install</a>
|
||||
@ -35,13 +37,13 @@
|
||||
|
||||
<p>
|
||||
<div style='float:right;padding-left:10px;padding-bottom:10px'>
|
||||
<img src='media/screenshot-main.png' width='211' height='347' />
|
||||
<img src='media/screenshot-main.png' width='212' height='350' />
|
||||
<br />
|
||||
<img src='media/screenshot-settings.png' width='211' height='347' />
|
||||
<img src='media/screenshot-settings.png' width='212' height='350' />
|
||||
|
||||
</div>
|
||||
|
||||
KalSMS is a SMS/MMS gateway running entirely as an Android app.
|
||||
EnvayaSMS is a SMS and MMS gateway running entirely as an Android app.
|
||||
|
||||
<p>
|
||||
It forwards incoming SMS and MMS messages to a web server on the Internet, and sends
|
||||
@ -50,7 +52,7 @@ outgoing messages from the web server to other phones.
|
||||
|
||||
<p>
|
||||
People with any type of mobile phone can send SMS and MMS to a phone
|
||||
running KalSMS, without needing their own Android phone.
|
||||
running EnvayaSMS, without needing their own Android phone.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -58,40 +60,40 @@ It works wherever the phone can receive SMS messages and access the Internet
|
||||
(via Wi-Fi or mobile data connection).
|
||||
</p>
|
||||
|
||||
<h2>Why KalSMS?</h2>
|
||||
<h2>Why EnvayaSMS?</h2>
|
||||
|
||||
<p>
|
||||
KalSMS can be used to enable a web service to send and receive SMS and MMS messages
|
||||
EnvayaSMS can be used to enable a web service to send and receive SMS and MMS messages
|
||||
nearly anywhere in the world.
|
||||
</p>
|
||||
<p> In particular, it is useful in countries where obtaining a local virtual phone number
|
||||
or SMS shortcode is difficult, expensive, or impossible. A phone running KalSMS
|
||||
or SMS shortcode is difficult, expensive, or impossible. A phone running EnvayaSMS
|
||||
connects to the phone network in the same way as any other mobile phone,
|
||||
so it can be set up without needing approval from anyone else.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
KalSMS is designed to to be maintainable even when deployed in remote locations
|
||||
that cannot easily be accessed by your organization's technical staff. KalSMS is simple
|
||||
EnvayaSMS is designed to to be maintainable even when deployed in remote locations
|
||||
that cannot easily be accessed by your organization's technical staff. EnvayaSMS is simple
|
||||
enough for non-technical users to do all setup and maintenance of deployed phones.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Price</h2>
|
||||
<p>
|
||||
KalSMS is free to install on as many phones as you'd like.
|
||||
EnvayaSMS is free to install on as many phones as you'd like.
|
||||
</p>
|
||||
<p>
|
||||
In order to deploy KalSMS, you will need a messaging plan for your phone, and the phone itself.
|
||||
KalSMS is compatible with many old or inexpensive Android phones, e.g. the LG GT540, currently $120 on Amazon.com.
|
||||
In order to deploy EnvayaSMS, you will need a messaging plan for your phone, and the phone itself.
|
||||
EnvayaSMS is compatible with many old or inexpensive Android phones, e.g. the LG GT540, currently $120 on Amazon.com.
|
||||
</p>
|
||||
|
||||
<a href='install.html' class='button'>
|
||||
Install KalSMS Now
|
||||
Install EnvayaSMS Now
|
||||
</a>
|
||||
|
||||
<div class="footer">
|
||||
get the source code on GitHub : <a href="http://github.com/youngj/KalSMS">youngj/KalSMS</a>
|
||||
get the source code on GitHub : <a href="http://github.com/youngj/EnvayaSMS">youngj/EnvayaSMS</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
65
install.html
@ -2,23 +2,25 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset='utf-8'>
|
||||
<title>KalSMS</title>
|
||||
<title>EnvayaSMS</title>
|
||||
<link rel='stylesheet' type='text/css' href='styles/site.css' />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<a href="http://github.com/youngj/KalSMS"><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>
|
||||
<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">
|
||||
|
||||
<h1><a href="index.html">KalSMS</a>
|
||||
<a style='float:left' href="index.html"><img src='media/icon.png' height='72' width='72' style='margin-right:10px' /></a>
|
||||
<h1 style='padding-top:13px'><a href="index.html">EnvayaSMS</a>
|
||||
|
||||
<span class="small">
|
||||
SMS/MMS gateway for Android
|
||||
</span>
|
||||
SMS gateway for Android
|
||||
</span>
|
||||
|
||||
</h1>
|
||||
|
||||
<div class='menu'>
|
||||
<div class='menu' style='clear:both;padding-top:5px'>
|
||||
<a href='index.html'>Home</a>
|
||||
·
|
||||
<a href='install.html'>Install</a>
|
||||
@ -32,9 +34,9 @@
|
||||
<a href='history.html'>History</a>
|
||||
</div>
|
||||
|
||||
<h2>Installing KalSMS</h2>
|
||||
<h2>Installing EnvayaSMS</h2>
|
||||
|
||||
Before installing KalSMS, ensure that you have the following prerequisites:
|
||||
Before installing EnvayaSMS, ensure that you have the following prerequisites:
|
||||
|
||||
<ul>
|
||||
<li>One or more Android phones (1.6 Donut or higher) that are
|
||||
@ -46,7 +48,7 @@ Before installing KalSMS, ensure that you have the following prerequisites:
|
||||
<li> A web server accessible from the public internet </li>
|
||||
</ul>
|
||||
|
||||
To install the current release version of KalSMS on an Android phone,
|
||||
To install the current release version of EnvayaSMS on an Android phone,
|
||||
either scan the barcode below with a QR code app,
|
||||
or click the link from your phone's browser. <br />
|
||||
|
||||
@ -54,17 +56,17 @@ or click the link from your phone's browser. <br />
|
||||
<img src='media/qr.png' width='175' height='175' style='vertical-align:middle' />
|
||||
<em>or</em>
|
||||
<span style='font-size:20px;font-weight:bold'>
|
||||
<a href="https://github.com/downloads/youngj/KalSMS/kalsms.apk">Install KalSMS</a>
|
||||
<a href="https://github.com/downloads/youngj/EnvayaSMS/envayasms.apk">Install EnvayaSMS</a>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Alternatively, software developers may <a href="https://github.com/youngj/KalSMS">download the source code from GitHub</a>
|
||||
and build KalSMS themselves.
|
||||
Alternatively, software developers may <a href="https://github.com/youngj/EnvayaSMS">download the source code from GitHub</a>
|
||||
and build EnvayaSMS themselves.
|
||||
</p>
|
||||
|
||||
<h2>Configuring KalSMS</h2>
|
||||
<h2>Configuring EnvayaSMS</h2>
|
||||
|
||||
<h3>Server Configuration</h3>
|
||||
|
||||
@ -74,7 +76,7 @@ It is assumed that your organization already has an HTTP server, or has the tech
|
||||
|
||||
<p>
|
||||
Follow the instructions in the <a href='serverapi.html'>API Reference</a> page to learn how to construct a
|
||||
resource on your HTTP server that can communicate with KalSMS.
|
||||
resource on your HTTP server that can communicate with EnvayaSMS.
|
||||
</p>
|
||||
|
||||
<h3>Phone Configuration</h3>
|
||||
@ -85,14 +87,14 @@ resource on your HTTP server that can communicate with KalSMS.
|
||||
|
||||
|
||||
<p>
|
||||
After your server is configured, configure KalSMS on your phone to connect to your server as follows:
|
||||
After your server is configured, configure EnvayaSMS on your phone to connect to your server as follows:
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
|
||||
<li>Open the KalSMS app</li>
|
||||
<li>Open the EnvayaSMS app</li>
|
||||
<li>Click the Menu button, then "Settings"</li>
|
||||
<li>Configure KalSMS to work with your server by entering:</li>
|
||||
<li>Configure EnvayaSMS to work with your server by entering:</li>
|
||||
<ul>
|
||||
<li>your server URL</li>
|
||||
<li>your phone number</li>
|
||||
@ -100,41 +102,40 @@ After your server is configured, configure KalSMS on your phone to connect to yo
|
||||
</ul>
|
||||
<li>Choose an interval to poll for new outgoing messages</li>
|
||||
<li><em>Recommended:</em> under Wi-Fi sleep policy, select "always stay connected".
|
||||
(Otherwise, KalSMS will be unable to forward messages after the phone goes to sleep.)
|
||||
(Otherwise, EnvayaSMS will be unable to forward messages after the phone goes to sleep.)
|
||||
</li>
|
||||
<li>Check "Enable KalSMS"</li>
|
||||
<li>Check "Enable EnvayaSMS"</li>
|
||||
<li>Click the Back button to return to the main screen</li>
|
||||
</ol>
|
||||
|
||||
<p>
|
||||
To test if KalSMS has been configured properly and can connect
|
||||
to your server, open the KalSMS app, click the Menu button,
|
||||
To test if EnvayaSMS has been configured properly and can connect
|
||||
to your server, open the EnvayaSMS app, click the Menu button,
|
||||
then click "Test Connection".
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<strong>Important:</strong> After KalSMS is enabled, it will forward all SMS messages regardless of whether the
|
||||
KalSMS app is open. If you want to use SMS normally again, return to KalSMS' settings screen
|
||||
and uncheck "Enable KalSMS".
|
||||
<strong>Important:</strong> After EnvayaSMS is enabled, it will forward all SMS messages regardless of whether the
|
||||
EnvayaSMS app is open. If you want to use SMS normally again, return to EnvayaSMS' settings screen
|
||||
and uncheck "Enable EnvayaSMS".
|
||||
</p>
|
||||
|
||||
<h3>Installing Expansion Packs</h3>
|
||||
|
||||
<p>
|
||||
By default, Android prevents KalSMS from sending more than 100 outgoing SMS messages per hour.
|
||||
However, that limit can be increased by installing KalSMS Expansion Packs.
|
||||
By default, Android prevents EnvayaSMS from sending more than 100 outgoing SMS messages per hour.
|
||||
However, that limit can be increased by installing EnvayaSMS Expansion Packs.
|
||||
</p>
|
||||
<p>
|
||||
Each Expansion Pack allows KalSMS to increase its sending limit by an additional 100 outgoing SMS messages
|
||||
per hour. For example, if you install 14 expansion packs, KalSMS will be able to send up to 1500 outgoing SMS messages
|
||||
Each Expansion Pack allows EnvayaSMS to increase its sending limit by an additional 100 outgoing SMS messages
|
||||
per hour. For example, if you install 14 expansion packs, EnvayaSMS will be able to send up to 1500 outgoing SMS messages
|
||||
per hour.
|
||||
</p>
|
||||
<p>
|
||||
<a href='http://envaya.org/_media/kalsms-pack01.apk'>KalSMS Expansion Pack 01</a><br />
|
||||
<a href='http://envaya.org/_media/kalsms-pack02.apk'>KalSMS Expansion Pack 02</a>
|
||||
TODO add download links
|
||||
</p>
|
||||
<p>
|
||||
With Expansion Packs, KalSMS is limited only by how fast your phone can send and receive SMS,
|
||||
With Expansion Packs, EnvayaSMS is limited only by how fast your phone can send and receive SMS,
|
||||
and by your mobile provider's usage limits and terms of service.
|
||||
</p>
|
||||
<p>
|
||||
@ -142,7 +143,7 @@ and uncheck "Enable KalSMS".
|
||||
</p>
|
||||
|
||||
<div class="footer">
|
||||
get the source code on GitHub : <a href="http://github.com/youngj/KalSMS">youngj/KalSMS</a>
|
||||
get the source code on GitHub : <a href="http://github.com/youngj/EnvayaSMS">youngj/EnvayaSMS</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
BIN
media/icon.png
Executable file
After Width: | Height: | Size: 7.5 KiB |
BIN
media/logo.png
Executable file
After Width: | Height: | Size: 25 KiB |
BIN
media/qr.png
Before Width: | Height: | Size: 502 B After Width: | Height: | Size: 589 B |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 90 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 63 KiB |
@ -2,23 +2,25 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset='utf-8'>
|
||||
<title>KalSMS</title>
|
||||
<title>EnvayaSMS</title>
|
||||
<link rel='stylesheet' type='text/css' href='styles/site.css' />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<a href="http://github.com/youngj/KalSMS"><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>
|
||||
<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">
|
||||
|
||||
<h1><a href="index.html">KalSMS</a>
|
||||
<a style='float:left' href="index.html"><img src='media/icon.png' height='72' width='72' style='margin-right:10px' /></a>
|
||||
<h1 style='padding-top:13px'><a href="index.html">EnvayaSMS</a>
|
||||
|
||||
<span class="small">
|
||||
SMS/MMS gateway for Android
|
||||
</span>
|
||||
SMS gateway for Android
|
||||
</span>
|
||||
|
||||
</h1>
|
||||
|
||||
<div class='menu'>
|
||||
<div class='menu' style='clear:both;padding-top:5px'>
|
||||
<a href='index.html'>Home</a>
|
||||
·
|
||||
<a href='install.html'>Install</a>
|
||||
@ -35,18 +37,18 @@
|
||||
<h2>Server API Reference</h2>
|
||||
|
||||
<p>
|
||||
KalSMS communicates with the server via HTTP POST requests that expect an XML response.
|
||||
EnvayaSMS communicates with the server via HTTP POST requests that expect an XML response.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For convenience, KalSMS includes <a href='https://github.com/youngj/KalSMS/tree/master/server'>server libraries and example code</a>
|
||||
For convenience, EnvayaSMS includes <a href='https://github.com/youngj/EnvayaSMS/tree/master/server'>server libraries and example code</a>
|
||||
for certain languages to simplify handling its POST requests and generating response XML.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If a server library is not yet available for your programming language, you can still use
|
||||
KalSMS by implementing code in accordance with the API reference below.
|
||||
We encourage you to contribute new libraries and example code back to the KalSMS project!
|
||||
EnvayaSMS by implementing code in accordance with the API reference below.
|
||||
We encourage you to contribute new libraries and example code back to the EnvayaSMS project!
|
||||
</p>
|
||||
|
||||
<h3>
|
||||
@ -56,15 +58,15 @@ HTTP Request Format
|
||||
<h4>Example requests</h4>
|
||||
|
||||
<p>
|
||||
In each of the example requests below, the Server URL is <code style='white-space:nowrap'>http://192.168.70.1:3000/sg/kalsms</code>
|
||||
and the phone number of the phone with KalSMS is <code>16505551212</code>.
|
||||
In each of the example requests below, the Server URL is <code style='white-space:nowrap'>http://192.168.70.1:3000/sg/EnvayaSMS</code>
|
||||
and the phone number of the phone with EnvayaSMS is <code>16505551212</code>.
|
||||
</p>
|
||||
|
||||
<p>An incoming SMS from <code>6505551234</code> with message body "test":</p>
|
||||
|
||||
<pre>
|
||||
POST /sg/kalsms HTTP/1.1
|
||||
X-Kalsms-Signature: sAemG31uRllk/K9xck2WRNaF/WI=
|
||||
POST /sg/EnvayaSMS HTTP/1.1
|
||||
X-EnvayaSMS-Signature: sAemG31uRllk/K9xck2WRNaF/WI=
|
||||
Content-Length: 96
|
||||
Content-Type: application/x-www-form-urlencoded
|
||||
Host: 192.168.70.1:3000
|
||||
@ -76,8 +78,8 @@ from=6505551234&message_type=sms&message=test&version=2&phone_number=16505551212
|
||||
<p>An incoming MMS message with an <code>image/jpeg</code> part and a <code>text/plain</code> part with message 'Test':</p>
|
||||
|
||||
<pre style='white-space:pre-wrap'>
|
||||
POST /sg/kalsms HTTP/1.1
|
||||
X-Kalsms-Signature: OgpiQet9guVhEp+0klrONR8qGNs=
|
||||
POST /sg/EnvayaSMS HTTP/1.1
|
||||
X-EnvayaSMS-Signature: OgpiQet9guVhEp+0klrONR8qGNs=
|
||||
Content-Length: 13087
|
||||
Content-Type: multipart/form-data; boundary=i66xAht5IMn1Tfk7tL9DgY8ZHZxq0d0RGB6_wkjO
|
||||
Host: 192.168.70.1:3000
|
||||
@ -164,8 +166,8 @@ Content-Transfer-Encoding: binary
|
||||
<p>Checking for outgoing SMS messages:</p>
|
||||
|
||||
<pre>
|
||||
POST /sg/kalsms HTTP/1.1
|
||||
X-Kalsms-Signature: 139CL71b7r1Zw/E2wcccWFviSlg=
|
||||
POST /sg/EnvayaSMS HTTP/1.1
|
||||
X-EnvayaSMS-Signature: 139CL71b7r1Zw/E2wcccWFviSlg=
|
||||
Content-Length: 50
|
||||
Content-Type: application/x-www-form-urlencoded
|
||||
Host: 192.168.70.1:3000
|
||||
@ -177,8 +179,8 @@ action=outgoing&version=2&phone_number=16505551212
|
||||
<p>Notifying the server of the status of a sent message:</p>
|
||||
|
||||
<pre>
|
||||
POST /sg/kalsms HTTP/1.1
|
||||
X-Kalsms-Signature: 6uJtI6+QqlVBbUsR4T0WsQomods=
|
||||
POST /sg/EnvayaSMS HTTP/1.1
|
||||
X-EnvayaSMS-Signature: 6uJtI6+QqlVBbUsR4T0WsQomods=
|
||||
Content-Length: 80
|
||||
Content-Type: application/x-www-form-urlencoded
|
||||
Host: 192.168.70.1:3000
|
||||
@ -190,28 +192,28 @@ id=1536&status=sent&error=&action=send_status&version=2&phone_number=16505551212
|
||||
<h4>Specification</h4>
|
||||
|
||||
<p>
|
||||
The following parameters are sent in all POST requests from KalSMS:
|
||||
The following parameters are sent in all POST requests from EnvayaSMS:
|
||||
</p>
|
||||
|
||||
<dl>
|
||||
<dt>"version" ::= <integer></dt>
|
||||
<dd>
|
||||
KalSMS's version code. This is an integer that will be incremented whenever
|
||||
a new version of KalSMS is released. (It is not the same as the version name shown
|
||||
EnvayaSMS's version code. This is an integer that will be incremented whenever
|
||||
a new version of EnvayaSMS is released. (It is not the same as the version name shown
|
||||
on the Help screen.)
|
||||
<br />
|
||||
<br />
|
||||
This allows the server to support phones running different API versions at the same time.
|
||||
If a deployment has many phones running with KalSMS, the server should update its code first,
|
||||
then the phones can be upgraded to the new version of KalSMS as convenient.
|
||||
If a deployment has many phones running with EnvayaSMS, the server should update its code first,
|
||||
then the phones can be upgraded to the new version of EnvayaSMS as convenient.
|
||||
</dd>
|
||||
|
||||
<dt>"phone_number" ::= <text></dt>
|
||||
<dd>
|
||||
The phone number of the phone running KalSMS, as entered under Menu > Settings.
|
||||
The phone number of the phone running EnvayaSMS, as entered under Menu > Settings.
|
||||
<br /><br />
|
||||
This allows the server to differentiate between KalSMS clients if multiple phones
|
||||
are running KalSMS.
|
||||
This allows the server to differentiate between EnvayaSMS clients if multiple phones
|
||||
are running EnvayaSMS.
|
||||
</dd>
|
||||
|
||||
<dt>"action" ::= "outgoing" | "incoming" | "send_status"</dt>
|
||||
@ -240,10 +242,10 @@ The following parameters are sent in all POST requests from KalSMS:
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
The following HTTP Headers are sent in all POST requests from KalSMS:
|
||||
The following HTTP Headers are sent in all POST requests from EnvayaSMS:
|
||||
|
||||
<dl>
|
||||
<dt>"X-Kalsms-Signature" ::= <text></dt>
|
||||
<dt>"X-EnvayaSMS-Signature" ::= <text></dt>
|
||||
<dd>
|
||||
A signature of the request to verify the phone and the server share the same password.
|
||||
(This doesn't protect against MITM snooping or replay attacks, so it is recommended to
|
||||
@ -414,7 +416,7 @@ The Content-Type header should be text/xml, with the content as follows:
|
||||
<dl>
|
||||
<dt>"id" ::= <text> (optional)</dt>
|
||||
<dd>
|
||||
An ID for this outgoing message. (KalSMS will send this
|
||||
An ID for this outgoing message. (EnvayaSMS will send this
|
||||
back to the server as the id field in a send_status request.)
|
||||
</dd>
|
||||
<dt>"to" ::= <text> (optional for incoming, required for outgoing)</dt>
|
||||
@ -453,7 +455,7 @@ OK
|
||||
|
||||
|
||||
<div class="footer">
|
||||
get the source code on GitHub : <a href="http://github.com/youngj/KalSMS">youngj/KalSMS</a>
|
||||
get the source code on GitHub : <a href="http://github.com/youngj/EnvayaSMS">youngj/EnvayaSMS</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
@ -47,12 +47,12 @@ dd
|
||||
margin: 0 auto;
|
||||
width: 700px;
|
||||
}
|
||||
h1 { margin-top:0; font-size: 3.8em; color: #678bf0; margin-bottom: 3px; }
|
||||
h1 .small { font-size: 0.4em; color:#666; }
|
||||
h1 { margin-top:0; font-size: 42px; color: #6b9412; margin-bottom: 3px; }
|
||||
h1 .small { font-size: 20px; color:#666; }
|
||||
h1 a { text-decoration: none }
|
||||
h2 { font-size: 1.5em; color: #678bf0; }
|
||||
h3 { color: #678bf0; }
|
||||
a { color: #678bf0; }
|
||||
h2 { font-size: 1.5em; color: #6b9412; }
|
||||
h3 { color: #6b9412; }
|
||||
a { color: #6b9412; }
|
||||
.description { font-size: 1.2em; margin-bottom: 30px; margin-top: 30px; font-style: italic;}
|
||||
.download { float: right; }
|
||||
pre {
|
||||
@ -64,7 +64,7 @@ hr { border: 0; width: 80%; border-bottom: 1px solid #aaa}
|
||||
.button
|
||||
{
|
||||
text-decoration:none;
|
||||
display:block;margin:0 auto;width:200px;background:#68f;color:white;padding:8px;font-weight:bold;text-align:center;
|
||||
display:block;margin:0 auto;width:200px;background:#6b9412;color:white;padding:8px;font-weight:bold;text-align:center;
|
||||
}
|
||||
|
||||
a.button:hover
|
||||
|