Skip to content
niryariv edited this page Nov 9, 2010 · 40 revisions

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.

The main benefit of KalSMS over current solutions is extremely simple installation/maintenance. No hardware (such as server and cell modem) is needed. Maintenance consists of simply keeping the phone working, just like any cellphone. To install, just scan this barcode:

(You can also download the APK if you like)

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 in sender.

How KalSMS works

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. See Reply XML for details on the reply format, and check out the Examples page for some use cases.

Limitations

  • 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.
  • 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.

Contact

On any feedback, questions, comments, etc please feel free to email [email protected]

Clone this wiki locally