• Published on | Nov 15, 2005 | by Chris Osborn

Tic-tac-toe, what else?

Ok, this is sort of old but I just started this blog and thought this was still interesting.

A while ago I built an automated phone answering system that runs on Linux and uses a standard modem. The software supports caller ID and can email messages that are recorded. But what's really cool is it is Tcl based. That means I can make it do just about anything I want.

One of the things I set up is Auto-blacklisting. In the old days whenever a telemarketer called and I got sick of them I had to manually add their number to a database and then shut down and restart the software. Now I have it setup so that if someone calls and doesn't press a button to do something from the main menu, their number is automatically blacklisted. The next time they call the answering software will immediately pickup on the first ring and play the little tones that sometimes trick the telemarketing system into thinking the number is disconnected. Then they get a chance at the menu again. If this time around they pick something, they are automatically un-blacklisted. There's also a whitelist of people that can never be blacklisted.

Another feature I added is the system will pick up on the first ring before 8am and after 8pm, unless the caller is on the whitelist. Great for those annoying wrong numbers in the middle of the night.

I hooked speakers into the Linux computer which play a ring sound. The ring sound is only played after the caller ID is received and if it isn't picking up on the first ring because of blacklisting or after-hours. I haven't yet figured out what to do about the rest of the phones in the house though. On all but one I turned off the ringer. I think I need to setup an intercom or something and have it hooked into the speakers on my Linux box so it can relay the ring signal.

Before I moved I also had an X10 menu in there. It would prompt me to enter a unit number and I could turn things on and off. I haven't yet gotten around to fighting with X10 at the new place yet though, so for now it's disabled.

Since the system is Tcl based, I decided to get crazy and I added a Tic-tac-toe module. Callers can choose to play from the main menu, and can choose to go first or second. The numbers 1-9 represent the board. It's not a super-smart implementation, it is possible for the caller to win. It just chooses random squares and looks for 2 in a row to either block or make a win.

Now that it plays Tic-tac-toe I'm wondering what other games might be playable over the phone? Of course I could do a lot more than just have it play games. I could set up some kind of automated phone service, do billing, use text-to-speech to read email or stock reports or weather or something, the list goes on-and-on. But for the moment, adding more silly games seems like fun.

Join The Discussion