text presaging
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?
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.
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!
I'm too tired to be cordial. Fuck off.
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.
Do you have to pay for an extra service plan for this, or did you find some fabulous loophole?
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
Very cool. Nice job.
100% awesome. Possibly 140% awesome.
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.
wtf is wardialing? what are people going to do, sms us to death?
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.
1.
no, rcr! you're playing right into his hands!
Text messaging is teh new commenting!
ha! looks my attempt to send you a picture message has backfired completely.
tommy is this your first hack?
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.
Awesome! Also I'm extra immune from wardialing! Unless they want to call every cell phone in Italy...
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).
Post A Comment