Send free SMS from anywhere

Introduction

After seeing the idea of snempaa to send SMS from a mobile phone using one of the many VoIP Betamax clones, I extended on his code to make this a full featured Java application. This will work with sites such as VoipBuster, VoipWise, Webcalldirect and many others.
It is known to work on SonyEriccson W300i/W810i/W800i/k800i, Nokia N95, Siemens C65, Motorola L6 and Palm Treo 680. It should run on any device implementing the J2ME MIDP-2.0 (JSR 118) and CLDC-1.1 (JSR 139) standards.

Download

You can download BetamaxSMS.jad and BetamaxSMS.jar. On Palm Treo (and probably other) devices you can install directly from the JVM by typing: http://www.vdberg.org/BetamaxSMS.jad
After this you can keep up to date by selecting update from the JVM. This is known as OTA (over the air) installation/updates.
The source code is available at the SourceForge project page.

The current version is 1.6.1 Select the About command in the application to see which version you are running.
For changes between versions, see the changelog.

Activation and pricing

On your first run, set up the application using the settings menu. The BetmaxSMS application itself is freeware. You will need an active account on one of the Betamax clones, and probably some credit if you want to send a lot of SMSes. See the pricing pages of your Betamax website about the charges per SMS. They are free most of the time. Some users reported a charge of 1 cent (before taxes) per SMS after 100 free ones were sent.
There is also a non-official SMS rate comparison site.

With respect to data usage, I did some tests sending a 160 character SMS.
Unsecure (http):
Upload: 729 bytes
Download: 1123 bytes
Total: 1852 bytes
Secure (https):
Upload: 1291 bytes
Download: 2557 bytes
Total: 3848 bytes
AFAIK mobile data traffic is billed by total (upload+download) traffic, so when calculating data costs using 2kB for each SMS over http and 4kB for each SMS over https seems safe.

Settings

In the settings page the follow can be set.

Username/password
Your credentials for Betamax clone website.
Caller ID
Optional sender number, must be verified on the Betamax clone site first (usually using the Windows desktop client).
Betamax clone
VoIP site name without www. Examples: voipbuster.com, sparvoip.de, webcalldirect.com.
Use SSL/HTTPS
https (http over SSL) is needed for some Betamax clones. The amount of data transfered per SMS goes from 2kB to 4kB when secured.
Country code
Convert numbers starting with 0 to international notation using this code. For example, 061234678 becomes +31612345678 when the country code is set to 31.
Strip accents
Some phone companies cannot handle the way Betamax sends accents on letters like כלספ. They might show up on the recipient phone as ? or *. When this options is set to "yes", BetamaxSMS will strip the accents from letters before sending the message to the Betamax website.
This uses AccentLookup.java from Balie v1.81.
If your phone has JSR 75 support to its phone book, the follow settings are also available:
Override builtin lookup
Override Nokia/SonyEricsson builtin contacts lookup with JSR 75 lookups. This turns the To field into a text field where a name can be entered. Using the Lookup command will display all contacts in the phone book matching this name.
Only mobile
Only show mobile numbers during lookup (on supported devices).
Auto select
Auto select number when JSR 75 lookup only returns one result.

Screenshots

These screenshots were taken on a Palm Treo 680. The layout of the screens is very dependent on the JVM implementation of your device.

Common problems

Feedback

Please let me know how this application works for you.