-
Notifications
You must be signed in to change notification settings - Fork 225
Home
KalSMS is a simple SMS gateway running entirely on an Android phone. It works wherever the phone can receive SMS messages and access the Internet (via wifi or GPRS), so it can provide an SMS gateway anywhere the phone works.
It requires no additional hardware of software installation/maintenance outside of simply keeping a phone on – something most people in the world already know how to do.
To install KalSMS, just scan this barcode:
(You can also download the APK if you prefer)
Once the application is installed, launching it will display the following screen:
Pressing Menu will open the settings screen. There are two settings to configure:
- SMS Identifier: KalSMS will only handle SMS messages that begin with this string. If you wish to handle any incoming SMS, set this to an empty value.
- Target URL: Once an SMS is received, KalSMS will do an HTTP GET request to this URL, passing the contents in
msg
parameter and sender phone number insender
.
When KalSMS is launched, it listens for SMS starting with the SMS Identifier string (or if the string is empty, any SMS). When a message is received, its content & sender phone number are sent as an HTTP GET request to the Target URL, for example http://example.com/sms?sender=1234&msg=itp+hello
The target URL may reply with XML containing messages to be SMSed back to the sender phone or other phones.
Here’s an example workflow:
- KalSMS is installed on the phone with Target URL
http://qkhack.appspot.com/weather
and SMS Identifierweather
- User sends an SMS to the phone running KalSMS with the text “weather 10026” from phone number 123-555-1337
- KalSMS recognizes the “weather” keyword and opens the URL
http://qkhack.appspot.com/weather?sender=1235551337&msg=weather+10026
- The server at
qkhack.appspot.com
replies with the following XML:
<reply> <sms-to-sender>Mostly Cloudy 51F today, Partly Cloudy 54F tomorrow, Mostly Sunny 58F Thursday</sms-to-sender> </reply>
- KalSMS parses the reply XML and SMSes the message
Mostly Cloudy 51F today, Partly Cloudy 54F tomorrow, Mostly Sunny 58F Thursday
to the user’s phone number, 123-555-1337
In addition to replying to an SMS, KalSMS can also send SMS to other phones as well. Check out the Examples page for more use cases, and Reply XML for details on the reply’s XML format.
- If you respond with text to be sent back to the user, KalSMS expects it to be UTF-8. Other encodings may work, but they might cause unexpected behavior.
- Android enforces an outgoing limit of 100 SMS messages per hour. However, there are ways to override this
- At the moment KalSMS does not remove received SMS, which means you probably want to use one of Android’s SMS auto delete applications to clean them up periodically (if you have good/bad experience with a particular application please let us know and we’ll be happy to post it here)
- KalSMS is not meant for mission critical or high load applications in its current form. It works, but it’s a young codebase and yet to be tested in real use. Again, if you have feedback on real use we’d love to hear it.
On any feedback, questions, comments, etc please feel free to email [email protected]