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
-
You will need an active internet connection such as GPRS or UMTS for this
application to work.
-
Your device needs to support the J2ME MIDP-2.0 and CLDC-1.1
standards.
For Palm devices this means installing the
IBM JVM.
-
On most devices, the first time you send an SMS per session, you will be
asked to grant the application airtime. This is a protection to avoid being
charged for airtime without your approval.
-
When you get the message Session lost Please click here to log back
in you probably need to toggle the Secure option in the settings.
-
On one device (SonyEricsson W800i) I received an SSL Certificate error.
After installing the correct root certificate
(http://www.rapidssl.com/cps/rapidssl_01.cer
in my case) via Bluetooth, everything worked fine.
Nokia N73 users might want to open
rapidssl_01.der
inside the N73 web browser instead (thanks to João Fraga).
For Motorola L6 or Slvr, read
this
article on how to add the SSL ceriticate.
-
On Palm Treo devices, the settings are erased at every upgrade. I believe
this is bug of the IBM WebSphere Everyplace Micro Environment JVM.
-
Phonebook lookups work via the
SonyEricsson
hook for TextField.PHONENUMBER and manually via the JSR 75
standard. The Nokia N95 has a similar hook on TextField.PHONENUMBER.
For Palm devices you need to install fileconnect.prc, pimop.prc
and PIMPrefs.prc file from the
JVM zip file
to get JSR 75 support.
-
Using the contact lookup may take a long time to load. To speed up
the process, type a string in the To: field to use as a search string to
narrow down the lookup results.
-
Some phone companies cannot handle the way Betamax sends the accents on
international characters. BetamaxSMS sends these characters to the Betamax
website using UTF-8 encoding, and they arrive ok on some networks. On
others however, those characters show up as ? or *. If this is a problem
for you, set the Strip accents option to "yes".
Feedback
Please
let me know
how this application works for you.