FaMaKe's SMS Sender sends text messages from a computer, using a mobile phone, connected to the computer. Because the messages are sent using a mobile phone (smartphone), they will appear to come from the device's phone number.
FaMaKe's SMS Sender is built on the principle of doing just one thing, and doing it well. It will only send SMS messages (not even receive them).
Use case
FaMaKe's SMS Sender is great for people who need to send SMS messages, but don't like typing on their mobile device. It is also practical if you need to copy/paste something from a computer.
Screenshot
This screenshot shows all of FaMaKe's SMS Sender's functionality.
Technology
There is no obvious, definitive, way of sending SMS messages from a PC via a Windows Mobile device. FaMaKe's SMS Sender uses a small "helper" program that installs on the mobile device. This program makes use of an API that allows it to send SMS messages. The helper program talks to the main Windows application via a custom TCP/IP-based protocol.
FaMaKe's SMS Sender is inspired by Microsoft SMS Sender . The latter does not work on Windows Mobile devices.
System requirements
Desktop computer- Windows XP or newer
- .NET Framework 3.5
- An active internet connection is required to use the program (se below).
- Windows Mobile 5 or later
- .NET Compact Framewok 3.5 (included)
- ActiveSync connection to desktop
Download
FaMaKe's SMS Sender is provided free of charge for download.
Download FaMaKe's SMS Sender.
Source code
The source code is available for anyone that is interested. It is,
however, not well commented, and I do not expect anyone to have any
use of it. Both the mobile and the desktop part is written in C#
for .NET Framework 3.5. It will probably be difficult to open in
anything but Visual Studio.
Source code
Known issues
The messages that are sent using Famake's SMS Sender are not saved anywhere on the computer or the mobile device of the sender. Maybe I will add saving to Sent Messages in a later version, but it is not likely. Note that the textbox where messages are enetered is cleared when a message is successfully sent, and it can not be restored with Ctrl-Z.
The program may randomly choose a network setup that causes connections to fail. The computer will show "Waiting for connection", and the mobile device will show "Loading..." until a timeout occurs (after about a minute). See also other causes for this error in Troubleshooting. This happens when the desktop program selects a specific IP address as its local endpoint, this address being related to the proxying of connections from the mobile device (specifically 169.254.2.2). This would be trivial to fix, by just excluding this address from the list of possible local addresses, alas I don't have Visual Studio at the moment, so I can't recompile (the program was developed on the trial version(!). If someone wants to donate a license to Visual Studio (see Contact), I would be happy to fix this.
Troubleshooting
Number format I discovered a problem when I moved to the UK: the application is not at all forgiving about prefixes / number format. You should verify that the numbers are stored in the correct format. For example: Normally, a UK phone number has an area-dependent prefix (for mobile phones, this is of course not tied to georgraphy). This is on the format 0def, where d, e and f can be any digits. When using INTERNATIONAL prefix +44, the zero has to be omitted, or the message will not go through: that is, the prefix is just def. Text messaging then works well (and I don't have to debug the code. yay!)
An internet or local network connection is required to use this program. This appears to be partially a limitation in the ActiveSync software, and partially in my code. There is no solution for people that are off line, AFAIK (maybe, if you set up VMWare or similar, that the virtual network adapter will make it work). The ActiveSync internet connection is not a standard, routed, IP network. The desktop computer acts as a proxy for all TCP connections. This is probably what causes it to fail if you are off line. When I was testing, I saw some really bizarre behaviour of the network connection: no matter what IP I was connecting to from the mobile device, it would always connect to the local computer (desktop) instead. This did not cause any trouble for me, but I have to wonder how other programs, like the browser, do it.
Desktop application shows "Waiting for connection", and mobile app shows "Loading", but nothing happens (or a time-out error is shown after some time).
- Verify that you are connected to the Internet or a network (see above paragraph).
- Ensure that the desktop application is allowed to receive connections by your firewall. If given the option, only enable local/private connections.
- If none of the above apply, you may be a victim of the network address bug. In that case, rebooting the computer may help. Rebooting without the device connected has a 100 % success rate AFAIK.
Contact
You can contact me regarding this program at pmb@fa2k.net.