How Do I Filter Phone Calls on a Land Line?
An anonymous reader asks: "I have a telephone on a plain old land-line, with the option of subscribing to caller-id.
I would like to filter incoming phone calls, diverting them to either the handset or answering machine, based on whether the caller-id matches a list of trusted phone numbers.
Considering that many of today's land-line telephone handsets can display caller-id and store a list of favourite phone numbers, I don't think this is technologically difficult.
AI am not interested in: subscribing to a service provided by my telephone company. I would prefer the filtering occurred on my side of the phone line, or implementing a software solution on my PC. Frankly, that is overkill, and I don't want my PC turned on permanently. I would prefer something like a small, solid-state hardware device. Is there any such thing available?"
I beleive it's called a "wife". However, it's very very hard to pick these things up at a hardware store, and you can't get them off the internet (or at least the internet versions don't handle english language filtering all that well). I'd suggest that looking for more information on wives from slashdot is probably a waste of time.
An answering machine. Don't answer till you know who it is, and if they don't leave a message you probably didn't want to talk to them anyway.
"I use a Mac because I'm just better than you are."
http://www.privacycorps.com/products/?id=20
OK, you have a couple of options as I see it.
First would be to set up some kind of PBX. It's a little complex, but it would work. You could use Asterisk (I think that is what it's called) and some hardware (since I think it was designed for VOIP) and do it that way.
The more fun (in my eyes) and complicated way is to build it yourself. You could do this with a PIC micro-controller (or similar). You could put the little box you would make at the phone entry point of your house. When the phone rings you let the first ring through (so you know someone called). Caller ID is transfered between the 1st and 2nd rings so that is when the MCU picks that up. Based on that, it can power a double pole double throw relay. In the normally closed position the phone signals are routed to your house wiring. When a "bad" caller ID is encountered it simply powers the relay switching the phone line from being connected to the phones to the answering machine. Of course the answering machine could be anywhere if you can isolate it's phone jack from the rest (shouldn't be too hard).
Now there are a few little things to take into account here. First is that you may want to generate a ring for the answering machine so that it picks up on the 4th ring (or whatever) instead of the 5th because of the "lost ring". Second is that if you automatically send people to the answering machine unless the right caller ID comes across (i.e. the answering machine is in the normally closed position) then you'll need to make sure you have a way to force the relay to switch. You would want this even if you decide to pick up a call from the machine. When the main wiring is disconnected you could monitor the wiring to see if anyone picks up (you'd have to power it probably) and switch the relay if that happens. That way any time you pick up the phone you will always get the dial tone/caller. Having the relay connect you to the phone line in the normally-closed position is an important idea because you want it to be safe and let you use the line during a power outage.
It'd be a very cool project. You can find bits about how to do it on the web. For example, I once saw something about a guy who built his own TTL PBX. That project (which was rather well documented, as I remember) would be a gold mine for you.
If you do it, make sure to write it up and post it. I'd love to read it and I'm sure others would too.
Comment forecast: Bits of genius surrounded by a sea of mediocrity.
Well the obvious answer (at least to me) is Asterisk. If you don't want a "computer running all the time" build a small box, well.... tuff. Think Mini-ITX. You can put a small HD in in, and put it in a small case. If its only "diverting" calls it doesn't need much power or storage space at all and wouldn't draw much power (also, if you do it right - it could be all passive cooled).
Also - I'm sure no one wants to spend _that much time_ setting up Asterisk, so use TrixBox (Formely Asterisk@Home) instead.
snowulf.com
Microsoft released a 900MHz cordless phone back in late 1998 that had all the features you want, plus more. You could create a whitelist in the software and any phone call that wasn't in the whitelist wouldn't even ring the handset, but get diverted straight to voice mail. The phone supported voice dialing, multiple voice mailboxes, personalized rings and greetings based on the Caller-ID number. The software would automatically divert or block Caller-ID blocked incoming phone calls. The software even imported your phonebook from Outlook Express/Outlook.
Ok, granted, the phone was 900MHz, was quite bulky and the batteries were less than optimal. The one feature that this phone had that none (except PBXs) have had since, was total control of the hardware ringer. Because you had total control of the ringer, features became available (and controllable via software) that would allow you to force select incoming calls straight to voicemail or DND without ever being distracted by the ring. Of course, this product was soon killed and all support for updates to the software quickly killed, too.
The cheap Uniden dual-handset receiver that came free with my SunRocket service has a built-in phonebook, complete with user groups and different ring-tones. Set the default ring-tone to nothing/one quiet beep and put everyone you know into groups with a real ring.
No PBX, no software and service independent.
If it's truely important, the caller will re-dial after hanging up on your answering machine's greeting. Works fine.
Honestly, the "what about emergencies" arguement is as badly abused as "think of the children." My telephone is a resource for *my* convenience, paid for by *me.* If someone calls while I'm eating dinner with my family, the call is allowed to roll-over to the answering machine. If there's an immediate call-back, I'll probably interrupt what I'm doing. Somebody screaming into the answering machine in the next room would be a good clue too. Everything else gets done on *my* schedule.
It used to be that receiving a telephone call was a big deal - think back to the early 1900's. Nobody had phones. If somebody called you, there was probably large expense (money, time, effort) to place the call from the other end. That expectation persists to today, in spite of the ubiquity and low-value of most phone calls. The phone companies go to great lengths to maintain this perception of "high priority interrupt." They're in your face, and they want to stay there (but that's a completely different rant.)
Think of the children. They're busy eating their dinner and experiencing some family time. Call back later. (To address the original poster: get an answering machine; learn to use it; don't let the phone rule your life.)
1 sound muffled box containing
phone with answering machine
digital camera
laptop with OCR and RDBMS software
microphone
robotic hand
have the laptop listen to the microphone for noise (phone ring), the robotic hand should then hit the button on the camera which takes a picture of the LCD display on the phone showing the number, the image is transferred to the OCR software which returns the number, lookup the number in the RDBMS, if it's ok the robotic hand pushes open the lid on the sound muffled box "letting the ring out", if it's somebody you really don't want anything to do with the robotic hand lifts the phone and hangs up, in all other cases the phone is left to ring in the sound muffled box until the answering machine picks up.
Problem solved.
NZ Electronics Enthusiasts: Check out my Trade Me Listings
Slap said card into a Linux or Windows box. I chose Linux but it seems asterisk has been ported to Windows, too.
Now grab asterisk. If you went with Linux you'll have to download and install the Zaptel drivers for the Digium card, too. I haven't had much luck with the Debian packaged Asterisk and prefer to compile it from the CVS tree. Once you've got asterisk installed you can modify your extensions.conf file. Make some local extensions (You can use your FXS phone and a SIP soft phone like Linphone to test these.) Now you can do ALL SORTS of fun stuff. My home setup has a little voice menu system that asks you if you're a telemarketer and then asks you to dial 1 or 2 for myself or my room mate. If we don't pick up, the call goes into a voice mail system very simlar to what I have at work.
Eventually I plan to sign on with a VOIP service and keep the landline only for inbound calls and 911 service. You can also route local calls over a landline and long distance calls through a VOIP provider (or one of those 10-10 serivices if you prefer using one of those.) You can also set up speed dial keys for any combination (#1 on my phone gets you Abo's Pizza in Lafayette.)
I suggest that you keep an actual non-wireless phone plugged into one of the other landline ports in the house -- even if you're on a UPS, a protracted power outage could end up leaving you with no way to call 911. Having an old non-wireless phone around is the safest thing to do -- they draw voltage off the phone line to work, and that usually stays up. Just make sure you don't have to plug the phone into anything other than the phone line and you'll be good to go.
Asterisk takes a fair amount of configuring and it can be intimidating at first, but the flexibility it offers to the home user is unparalleled by anything else in its price range. For a home user, anything coming even close to it would be well out of the price range of most people.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?