5
0
mirror of https://github.com/cwinfo/envayasms.git synced 2024-12-04 20:45:32 +00:00

rename to EnvayaSMS

This commit is contained in:
Jesse Young 2011-09-22 17:25:32 -07:00
parent 6a2c49c8ec
commit 462249052f
25 changed files with 242 additions and 224 deletions

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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' />
&nbsp; &nbsp; <em>or</em> &nbsp; &nbsp;
<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>

View File

@ -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" ::= &lt;integer&gt;</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" ::= &lt;text&gt;</dt>
<dd>
The phone number of the phone running KalSMS, as entered under Menu &gt; Settings.
The phone number of the phone running EnvayaSMS, as entered under Menu &gt; 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" ::= &lt;text&gt;</dt>
<dt>"X-EnvayaSMS-Signature" ::= &lt;text&gt;</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" ::= &lt;text&gt; (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" ::= &lt;text&gt; (optional for incoming, required for outgoing)</dt>

View File

@ -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>
&middot;
<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

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 502 B

After

Width:  |  Height:  |  Size: 589 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 63 KiB

View File

@ -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
CNAME
View File

@ -1 +1 @@
kalsms.net
sms.envaya.org

View File

@ -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>
&middot;
<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>

View File

@ -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>
&middot;
<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>

View File

@ -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>
&middot;
<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>

View File

@ -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>
&middot;
<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>

View File

@ -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>
&middot;
<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' />
&nbsp; &nbsp; <em>or</em> &nbsp; &nbsp;
<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

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
media/logo.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 502 B

After

Width:  |  Height:  |  Size: 589 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 63 KiB

View File

@ -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>
&middot;
<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" ::= &lt;integer&gt;</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" ::= &lt;text&gt;</dt>
<dd>
The phone number of the phone running KalSMS, as entered under Menu &gt; Settings.
The phone number of the phone running EnvayaSMS, as entered under Menu &gt; 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" ::= &lt;text&gt;</dt>
<dt>"X-EnvayaSMS-Signature" ::= &lt;text&gt;</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" ::= &lt;text&gt; (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" ::= &lt;text&gt; (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>

View File

@ -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