Why do web sites that send me text messages need to know my carrier?
April 5, 2011 9:53 AM Subscribe
Why do web sites that send me text messages need to know my carrier?
A couple web sites that I regularly interact with can be set up to send me text messages. One is amazon.com -- they'll send a text message when my package is delivered). The other is my university library's web site -- when I find a book in the catalog I can ask for a text message to be sent to my phone with the catalog information, which means I don't have to find a scrap of paper to write on.
Both of these web sites ask me for my phone number and my carrier.
Why do they need to know the carrier? If I want to send a text message to somebody from my phone I don't need to know the carrier -- I'm guessing that the mechanism by which these messages are being sent isn't the same one I use.
A couple web sites that I regularly interact with can be set up to send me text messages. One is amazon.com -- they'll send a text message when my package is delivered). The other is my university library's web site -- when I find a book in the catalog I can ask for a text message to be sent to my phone with the catalog information, which means I don't have to find a scrap of paper to write on.
Both of these web sites ask me for my phone number and my carrier.
Why do they need to know the carrier? If I want to send a text message to somebody from my phone I don't need to know the carrier -- I'm guessing that the mechanism by which these messages are being sent isn't the same one I use.
You can send text messages by email if you know the phone number and the carrier. I imagine this eliminates any need for a special sms setup and any accompanying fees for the sender.
posted by mrsshotglass at 9:57 AM on April 5, 2011 [2 favorites]
posted by mrsshotglass at 9:57 AM on April 5, 2011 [2 favorites]
From what little I know setting up a webpage to do this, the "internet to SMS" interfaces are different per carrier, and can only reach their respective customers. Or in other words, they're relaying these messages via the internet, and not via a cellphone.
posted by samsara at 9:58 AM on April 5, 2011
posted by samsara at 9:58 AM on April 5, 2011
I was involved (writing documentation, mostly) in a project that sends alerts to phone or email. When we got started, we worked out that the simplest way to handle SMS alerts was just to convert the phone number to an email address as in mrsshotglass's link.
In our case, we have the users enter the the full phone-as-email-address, but you could do the same thing on the backend by having users indicate the carrier.
posted by epersonae at 10:04 AM on April 5, 2011
In our case, we have the users enter the the full phone-as-email-address, but you could do the same thing on the backend by having users indicate the carrier.
posted by epersonae at 10:04 AM on April 5, 2011
Best answer: Oh, yeah, I wrote one of those.
Unlike email, which can bounce around from one place to another, different carriers have different gateways for their subscribers' text messages. Each gateway converts an email (SMTP) to a text message. We could either pay a fee for someone to handle this for us (drag), or, given the spectacularly low volume we have of text messages, we could just ask for the carrier and use that as a key to lookup the appropriate gateway. I have a little dictionary in Python that looks like:
posted by adipocere at 10:05 AM on April 5, 2011 [9 favorites]
Unlike email, which can bounce around from one place to another, different carriers have different gateways for their subscribers' text messages. Each gateway converts an email (SMTP) to a text message. We could either pay a fee for someone to handle this for us (drag), or, given the spectacularly low volume we have of text messages, we could just ask for the carrier and use that as a key to lookup the appropriate gateway. I have a little dictionary in Python that looks like:
cfg['providers'] = {'alltel': '@message.alltel.com', 'boost-mobile': '@myboostmobile.com', 'cellular-south': 'phonenumber@csouth1.com', 'cingular': '@mobile.mycingular.com ', 'comcast': '@comcastpcs.textmsg.com', 'metro-pcs': '@mymetropcs.com', 'nextel': '@messaging.nextel.com', 'ntelos': '@pcs.ntelos.com', 'qwest': '@qwestmp.com', 'southern-linc': '@page.southernlinc.com', 'southwestern-bell': '@email.swbw.com', 'sprint-pcs': '@messaging.sprintpcs.com', 't-mobile': '@tmomail.net', 'us-cellular': '@email.uscc.net', 'verizon': '@vtext.com', 'virgin-mobile-usa': '@vmobl.com'}Unfortunately, the complete list of gateways is very long, indeed. I was able to find hundreds. Once you give me that information, I'm basically sending an email that bounces around, as email does, until it hits the gateway for that service and is transformed into a text message.
posted by adipocere at 10:05 AM on April 5, 2011 [9 favorites]
Amazon is not using the carriers' e-mail to SMS gateways, which are rate-limited and undependable. I built an RSS-to-SMS podcasting company (ave atque vale, Foneshow) and even at our scale it was not feasible to use the e-mail gateways.
There's no single injection point to which you can send SMS messages for all carriers. The carriers have agreed to accept and deliver SMS messages from each other's customers, and they can refer directly to a giant routing database that maps numbers to carriers, so when you text your friends you don't have to worry about what carrier each is on.
They do this because they're all in the same business and they trust each other not to abuse the system. If you want to join the club, you have to negotiate a separate connection with each carrier to whose customers you hope to send messages – or use "aggregators" whose business it is negotiate and maintain those connections and hand off text messages to the appropriate carriers for you, but each aggregator can only deliver to the carriers they have deals with.
So you have to know which carrier your user's phone is on, so that you know which aggregator can send messages to that user.
posted by nicwolff at 12:02 PM on April 5, 2011 [2 favorites]
There's no single injection point to which you can send SMS messages for all carriers. The carriers have agreed to accept and deliver SMS messages from each other's customers, and they can refer directly to a giant routing database that maps numbers to carriers, so when you text your friends you don't have to worry about what carrier each is on.
They do this because they're all in the same business and they trust each other not to abuse the system. If you want to join the club, you have to negotiate a separate connection with each carrier to whose customers you hope to send messages – or use "aggregators" whose business it is negotiate and maintain those connections and hand off text messages to the appropriate carriers for you, but each aggregator can only deliver to the carriers they have deals with.
So you have to know which carrier your user's phone is on, so that you know which aggregator can send messages to that user.
posted by nicwolff at 12:02 PM on April 5, 2011 [2 favorites]
« Older How can I get rid of some nice men's clothes... | Should I be worried about racism in the East of... Newer »
This thread is closed to new comments.
posted by pharm at 9:57 AM on April 5, 2011