text presaging

posted by tom / April 04, 2006 /

It's working. The text messaging stuff I've been working on for the last six weeks is finally all working. The payoff is forthcoming. Right now, it's time to show off — and, more importantly, load test. Until the end of Wednesday, April 5, you can add comments to this post via SMS. Neat, huh?

Just text the number 202-299-7949. Seriously, please give it a shot. It'd be a big help to me. If your message doesn't show up within a couple of minutes, leave a comment to that effect. And don't worry, your phone number's last four digits will be scrubbed.


Warning: fopen(/home/zuntae0/public_html/sms/smslog.txt) [function.fopen]: failed to open stream: No such file or directory in /home/metamon/public_html/zunta/blog/archives/2006/04/04/text_presaging/index.php on line 81

Warning: filesize() [function.filesize]: stat failed for /home/zuntae0/public_html/sms/smslog.txt in /home/metamon/public_html/zunta/blog/archives/2006/04/04/text_presaging/index.php on line 82

Warning: fread(): supplied argument is not a valid stream resource in /home/metamon/public_html/zunta/blog/archives/2006/04/04/text_presaging/index.php on line 82

Here's the setup. There's an unlimited-SMS SIM in my cracked-screen Nokia 3100. From there text messages travel over my recently-acquired FutureDial cable and are picked up by Gammu's smsd daemon. That dumps them into a directory. A Python script uses the coincidentally-named Gamin to detect the arrival of the new files (because Gamin's Perl interface refuses to compile for me, even using CPAN). It then dispatches the content of the messages to an appropriate Perl script. That script packages the data up and sends it to a simple PHP script on this server, which unpacks the data and prepends it to a text file. A tiny bit of PHP in this post includes that text file, and some CSS formats it.

There! Some of the most tightly-packed technical gibberish I've ever written. The acronym density should give you some idea of just how much time I've put into this project, and how much knowledge I've had to pick up along the way. It took me a fucking lot of work to get this operating properly. I'm exhausted and ecstatic that it's finally working. When this system is hooked up to something useful, it should be pretty cool.

Comments

I don't think the backslash was in my original message. fyi. Possibly because of the apostrophe?

Posted by: rcr on April 4, 2006 11:10 PM

yeah, I noticed that. the problem is likely that perl is making the content URL-safe according to its rules, then PHP is reversing the process according to its own rules. Apparently they don't match. Ah well. I'd fix it if this was the real deal. Thanks for trying it out, though, and letting me know about the weirdness.

Posted by: tom on April 4, 2006 11:23 PM

Wow, now anybody can wardial yinz phones numbers from 0000 to 9999. Yippee. Tom has brought up a security issue all on his own. Or one could simply take a poster's name, phone number, and fire up a web browser...
After a few reverse lookups and directory listings searches, with the aide of certain geographical clues (DC, Chicago), one could torment the users of this fine blog. Of course, one would have to be so inclined!

Bye bye privacy... hello stalkers!

Posted by: Tomas on April 5, 2006 12:11 AM

I'm too tired to be cordial. Fuck off.

Posted by: tom on April 5, 2006 12:16 AM

Sigh. I wish I had stalkers.

Tom, sometimes your techie posts make me regret going to law school. I can assure you, writing code is more fun than writing a brief.

Posted by: rcr on April 5, 2006 12:20 AM

Do you have to pay for an extra service plan for this, or did you find some fabulous loophole?

Posted by: Matt F on April 5, 2006 12:30 AM

Is this a name of a song or code for something?

Niner Three Four Oscar Sierra Tango November Whiskey
Deuce Naught Deuce - Cinq Un Huit - Six Six Sept Un

Bravo India Alpha Tango Hotel

Uniform Papa Delta Alpha Tango Echo Whiskey Hotel Oscar India Sierra

Papa Echo Alpha Charlie Echo Oscar Uniform Tango,

Tango Echo

Posted by: Stalk-o-saurus Rex on April 5, 2006 12:51 AM

Very cool. Nice job.

Posted by: Jake on April 5, 2006 07:41 AM

100% awesome. Possibly 140% awesome.

Posted by: Emily on April 5, 2006 08:01 AM

matt: no special service plan. Just the $30 sidekick data-only plan, which is the cheapest unlimited SMS plan for GSM that I could find. Maybe T-Mo's goons will come bursting through my door one day, but I've already revealed my plans (somewhat) to two different T-Mobile service reps so far.

The first time I said, "er, so is there some extra fee if this isn't just used for personal use?" and he said no. The second time I had been on hold for 45 minutes and just said I wanted to turn off inbound phone calls because the phone was going to be connected to a PC, doing SMS all day. He seemed to think that was fine, too.

The catch is probably going to be throughput. T-Mobile and Nokia presumably has some system in place for ensuring reliable delivery of simultaneously-arriving messages, but the phone can't send messages that quickly. For heavy-duty SMS applications, you still need to use a dedicated provider like Clickatel. During periods of heavy use this system may become a bottleneck (or crash entirely). We'll just have to wait and see, I think.

Posted by: tom on April 5, 2006 10:27 AM

wtf is wardialing? what are people going to do, sms us to death?

Posted by: catherine on April 5, 2006 10:37 AM

wardialing is the process of sequentially calling a block of numbers with an automated program. it was used in the bad ol' modem days to identify private, modem-accessible networks. when the modem hit a number that answered with an electronic handshake (you know... EEEEEeeeeeoooooooooBSHHHHHHH), the wardialer would mark it for future digging. the next morning the hacker running the wardialer would manually investigate the numbers marked by the wardialer as having modems connected.

wardialing does NOT work for identifying single people out of blocks of 10,000. I suppose you could write an Asterisk script that sequentially dials that block, playing an mp3 that says "please press 1 now if you're rock creek rambler". But you'd have to be pretty stupid to think that'd work for identifying someone who wants to remain anonymous. Or to think that the phone company wouldn't notice your activity and go after you -- scam artists like to do this trick (remember that episode of the Simpsons?). If you don't have the license to be a telemarketer, you'll get caught.

Posted by: tom on April 5, 2006 11:12 AM

1.

Posted by: rcr on April 5, 2006 12:27 PM

no, rcr! you're playing right into his hands!

Posted by: tom on April 5, 2006 12:43 PM

Text messaging is teh new commenting!

Posted by: kriston on April 5, 2006 04:28 PM

ha! looks my attempt to send you a picture message has backfired completely.

Posted by: jeff on April 5, 2006 05:16 PM

tommy is this your first hack?

Posted by: Jon on April 5, 2006 05:42 PM

what do you mean by "hack"? there's no exploit here. if you just mean "combine technology in somewhat novel and potentially ill-advised ways" then hell, I do that all the time.

Posted by: tom on April 5, 2006 05:45 PM

Awesome! Also I'm extra immune from wardialing! Unless they want to call every cell phone in Italy...

Posted by: mealworm on April 5, 2006 05:53 PM

yeah, as kanishka's number also shows, the script currently only expects US numbers (10 digits, prefixed with +1). Should be pretty easy to support international codes (although also kind of pointless, given the applications I have in mind).

Posted by: tom on April 5, 2006 06:03 PM

Post A Comment

Name


Email Address


URL


Comments


Remember info?



Google Analytics