Slashdot Mirror


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?"

6 of 181 comments (clear)

  1. Telephone Hacking for Fun and Proffit by MBCook · · Score: 4, Interesting

    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.
    1. Re:Telephone Hacking for Fun and Proffit by MBCook · · Score: 3, Interesting

      I like the idea of keeping the phone line connected all the time by default, and it makes some other things easier. That said, I bet you could easily make the circuit to eat that first ring so it doesn't go through to the house wiring. You could eat ALL rings and just re-generate them yourself on the outputs (house and answering machine).

      Heck, you could use a voltage comparison to trigger a disconnect so when the phone rang the line is temporarily disconnect for the duration of the ring signal. The the right sized capacitor to absorb the spike that did get through and a transistor to let you turn that feature on and off (so you can let rings through if you want) would probably do it.

      As for how to get the data on and off, there are a few ways. You can go the program the MCU way, but that's annoying as you mentioned. You can make the MCU take direction form a serial port so you can program some flash memory that holds the list. But the easiest way is that it's not too hard to interface to a SD card or similar. You can buy very simple devices that let you access them with just a serial line or two. Put the list in a text file with a simple format (first line is the number of entries, after that each line is a valid number, sorted to allow for binary search) and you can update it trivially without having to reprogram and such.

      That said, as the parent poster said you could use a Rabbit or some other MCU with easy external access. There are ethernet (often an add on you can buy for another MCU), you could use serial or USB or BlueTooth. Plus there is always the LCD/buttons approach.

      Heck, program it with your phone. Pick up the phone and dial a magic sequence (###) or press a button then pick up the phone and you can do simple button combinations to program it. When in "magic mode" press 1 and then a 10 digit number to add it to the list. Press 2 and then a 10 digit number to remove it from the list. Both are confirmed with a simple tone. Press 3 then a 10 digit number to find out if it is in the list or not (one beep yes, two no). You could add other features later this way too. A simple way to turn on/off the filter for when you are expecting a call but you don't know who it will come from, or you want to go into "silent mode" to watch a movie where EVERYTHING goes to the machine.

      You could do other fun stuff. If someone calls from a blocked number and gets the machine, you can monitor that with the PIC. If you detect they press the magic button sequence (44666, spells "HI MOM") then the PIC generates a ring on your phone. This could be used for emergencies. Then you just pick up and the auto-detect I mentioned earlier connects you and you take over from the machine.

      The only complication I can see is the issue of how to handle call waiting, but you can avoid that just by turning it off.

      I gotta say, the more I write about this the more fun it sounds. Too bad I have no use for it or time to work on it right now.

      --
      Comment forecast: Bits of genius surrounded by a sea of mediocrity.
  2. Microsoft MP-900 phone...yes, really by TheCodeFoundry · · Score: 4, Interesting

    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.

  3. Re:The same way everyone else does by reason · · Score: 2, Interesting

    I hate that. I hate talking to answering machines and usually won't leave a message unless I have already tried calling several times with no answer and have no other way to contact the person. If you do that you are telling me that your time is more important than mine - I have to talk to a machine so you don't have to risk hearing from someone you don't want to talk to. If it's a temporary thing while you change your phone number after being harassed, that's one thing. As a permenant solution, it's quite another.

  4. What about emergencies? by Anonymous Coward · · Score: 2, Interesting

    What happens if someone on your whitelist is in some sort of emergency that forces them to use a phone that's not on your whitelist? Do you still want that urgent call that to go to the machine?

    Personally I'd perfer not to ever have to answer unsolicited calls, and I'd also like the option of silencing the ring from certain callers at various times of the day. For example, nothing but "work" should ring my phone before 8am, nothing but "that girl I'm stalking" should ring my phone after 8pm, and absolutely nothing should ring my phone between midnight and 6am, unless a family member needs an immediate blood transfusion or something equally urgent.

    The problem of course is that there isn't an urgent bit in the caller ID signal, and if there were such a bit, you could bet your last nickel that telemarketers would set it for every call, and it would have about as much effect as the boy who cried wolf.

    With todays phone system and level of voice recognition technology, you could probably rig up something to autodetect voices and even determine whether it's a live human or a computer, and you could detect keywords and level of stress in the voice. Your voice system could ask questions of unknown callers. In essence, you could insert an audio CAPTCHA onto your end of the phone line. This is something I've dreamed about for years. :-)

    But again, you have to stop and ask: What would happen in emergencies? Would the person calling on behalf of your injured relative be willing and able to get past the screening process for a chance to talk to you (afterall, you might not even be home...)?

    Idealism aside, I've concluded that right solution for me is to just pick up the phone when it rings. I've learned all the prerecorded telemarketer intros, so I can hang up on those in less than 1/2 a second. Sure, I could save myself some time if I blacklisted those intros, but I also don't have to make my friends wait an extra ring or two when they call me.

  5. Re:Talking Caller-ID by stonecypher · · Score: 2, Interesting

    I inform the person that if it's a telemarketer and they continue to talk to me anyway, that the fee will be $250. That way, when my friends need to call me from a payphone, they're not screwed. About once every four months a telemarketer gets ballsy, but on the other hand, so far I've scared two supervisors into actually paying out the fee, which pretty much guarantees that firm will never call me again.

    --
    StoneCypher is Full of BS