Sending SMS messages without knowing the user's carrier

I have an idea for a new web-based application that involves the use
of SMS notifications, however I can't assume a particular carrier.
Most of the plugins I've seen like sms_fu require you to know the
carrier in order to send a message; is there any way around this, or
would I have to use an SMS gateway like CellTrust to handle this? I'm
going to need to both send and receive SMS messages (in case the users
want to opt-out of notiifications)

The app is still in the brainstorming stage, so I'm trying to gather
information on it first to determine how complex it will be.

Both of your requirements (accepting inbound SMS, and sending without
knowing the carrier) imply that you need a real SMS service provider.
I've personally had experience only with Clickatell and that experience
has been a good one.

To send, you'll need to use one of their APIs- I use their HTTP API, via
the Clickatell gem (, and it's
simple. Outbound cost is around 2.9c per text in the US.

On the receive side, Clickatell will accept the inbound texts for you,
then route to a URL you provide- so you just write a normal action
handler in Rails and, voila, your inbound text start arriving on that

The bad part is the inbound cost- while the actual per-message cost is
cheap (about 1c per inbound text, I think), you'll also need to rent a
shortcode, so your outbound message will appear to be from that code
(Twitter uses 40404, for example), and your users will send you messages
by texting to your shortcode (or replying to your outbound texts).

The process to rent a shortcode is an asinine ball of shit, thanks to
the carriers. It takes 2-3 months to complete the process, the carrier
actually DICTATE to you what words you have to include in the texts to
your users, then, as if that weren't insulting enough, you have to pay
$1600/mo for the privilege of renting the shortcode, after they've
wasted 2-3 months of your time just acquiring it. Prepare for
frustration in that process is all I can say.

The good news is, if you can afford the monthly charge, and the
heartburn of getting the shortcode, once you've got one, the actual
day-to-day operation using Clickatell's API for outbound and inbound
works great. In my experience they have been exceptionally reliable.



There is always the option of connecting a mobile phone to your computer and send/receive SMS through the phone. It’s slow though ~4 messages a minute.

Its not practical if your app is hosted but I was able to run using a server called Kylix (which polls and updates your DB) as well as using gnokia (command line) running on Windows.


Clickatell rocks, go for it!

Cheers, Sazima