GSM modems != good SMS gateways
(for non-programmer folks, != means does not equal)
I've had a little time up my sleeves lately, so I decided to get my hands dirty and code up an application that would send and receive SMS messages. Based on the advice of Geekzone guru sbiddle, I bought a Wavecom GSM modem (USB model) and dropped in a 2degrees SIM.
Doing some research, I found a handful of existing programs that would do the send/receive I wanted, but they were all too expensive (for example, ActiveXperts SMS component, US$795). Using a standard COM port, I control the modem using the standard AT+ commands, that most (if not all) GSM modems support. My thinking was that if I made the program light-weight, send/receive of SMS would be lightning fast.
I wrote a pretty straight forward, basic program - when a message is received, it logs it to a SQL Server database, does some processing, and then fires back a reply - this is where I came unstuck.
I've had the luxury of using commercial SMS gateways before. They are super fast, and very reliable however you pay for the convenience. Trying to replicate this cheaply using a GSM modem is just not possible.
The biggest issue I encountered is speed. The modem can only work as fast as the connecting network will allow. Trying to send a message while the modem is already sending one will cause it to jam; the same happens for receiving multiple messages concurrently. If you have a time sensitive application, this method is just too slow.
I also discovered interesting delays between Vodafone and 2degrees. Sending a SMS message from my mobile (Vodafone) to the GSM modem (2degrees) would take around 25-30 seconds to arrive, however the reverse worked much faster at an average of 4 seconds.
My recommendation: if you want speed and reliability, go with a commercial SMS gateway provider (and be prepared for an light/empty wallet). For less time sensitive applications, a GSM modem will do just fine.
Other related posts:
Vodafone voicemail-to-email for free
Vodafone’s Sure Signal upgrade
How to fix “Message rejected by Google Groups”
Comment by jbard, on 5-Aug-2011 04:29
Hmm i wonder if the expensive programs would help with the speed issue, i guess not as it is the modem that is the issue.
Maybe making a que and only pushing messages to the modem every 5 seconds or so would ease things up.
What sort of speeds are we talking here, if i had say 500 messages to send out how long would that take?
Cheers
Comment by freitasm, on 5-Aug-2011 09:22
Making a queue and pushing the messages at one every five seconds wouldn't scale quick enough. That would be twelve messages per minute, a very small number...
Comment by Fraktul, on 5-Aug-2011 09:53
Did you consider using kannel for the SMS Gateway and then integrate your backend system into that?
We went with our own voicemail and got VF to hand off this to us so we could integrate in with our softswitch VM more tightly. However we didn't have a way to get VM notifications out initially and so setup Kannel to do this with a rack of connected wavecom modems for this. Worked pretty well for bodge job at the time.
Comment by luke, on 9-Aug-2011 10:52
The device we use:
http://www.2n.cz/en/products/gsm-gateways/analog/smartgate/
Along with the following link we use a custom batch file to text us if servers are down. Very handy over the weekends.
http://smstools3.kekekasvi.com/
Comment by codyc1515, on 10-Aug-2011 16:44
I also struck these delays when I was making an app that would do what you mentioned in C#. It is very, very slow for the modem to process. e.g. doesn't scale well
Comment by Alex, on 22-Aug-2011 03:09
Here is cheap SMS software for GSM modem.
http://smsenabler.com
It costs ten times less than the activex components you mentioned in your post.
Add a comment
Please note: comments that are inappropriate or promotional in nature will be deleted.
E-mail addresses are not displayed, but you must enter a valid e-mail address to confirm your comments.

Comment by freitasm, on 4-Aug-2011 16:38
Good advice.
And be prepared for spammers to start posting comments about SMS gateways...