I'm trying to implement a call blocker using a Raspberry Pi and a Zoom 3095 USB Mini External Modem using a guide I found on the web.

The modem used has a single RJ11 jack. It's not clear from the guide where it's connected from the phone line, but it seems a splitter was used out of the wall jack, and the phone and the call blocker were connected "in parallel".

Commercial call blockers, on the other hand, seem to usually have a TEL and a LINE jack, so they're presumably made to be connected in series, between the phone and the wall jack.

Is there a way to use the same modem with "input" and "output", so that I can connect my blocker in series? Or would I need two modems? My phone is analog (DTMF if I'm not mistaken).

  • 1
    \$\begingroup\$ given the "Frequently bought together" on the amazon page for this modem, your assumption about splitter is correct. I guess it is just monitoring the call on the line in parallel with the phone and hanging up any unwanted calls. \$\endgroup\$
    – Eugene Sh.
    Jul 17 '17 at 18:03
  • \$\begingroup\$ I see. But then there's a possibility that the phone will ring anyway, if the blocker doesn't hangup first, right? I'll try to reword my question on the in-out communication aspect, for clarity. \$\endgroup\$ Jul 17 '17 at 18:09
  • \$\begingroup\$ @EugeneSh. Made an edit on that. \$\endgroup\$ Jul 17 '17 at 18:20
  • \$\begingroup\$ @EugeneSh.: Caller ID is read after the first ring before call is picked up. The device can answer - this will stop the ring signal - and then hang up but that doesn't terminate the call. If the caller stays on the line they'll still be there if the user picks up their phone some time later. More likely the caller will give up when they hear the modem screech. \$\endgroup\$
    – Transistor
    Jul 18 '17 at 6:18
  • 1
    \$\begingroup\$ Mobile phones are completely digital and caller ID can be transmitted during the connect. With POTS the caller ID is transmitted on a high-frequency carrier between rings when the line is clear. There is no comparison between the two systems. Regarding your earlier comment: the blocker never answers the call so it doesn't hang up. The caller will hear the phone ring out. Meanwhile the blocker never connects the internal (real) phone until it has approved the caller ID. \$\endgroup\$
    – Transistor
    Jul 18 '17 at 16:47

The linked article doesn't explain how the system works, how it's connected or what the unwanted caller hears. By the sound of things it is connected in parallel with the line. There are a few things to be aware of:

  • Caller ID is transmitted between the first and second ring cadence, as far as I know. See Wikipedia's Caller ID for confirmation of this. This means that the phone will ring once before the modem can read the caller ID.
  • Caller ID is typically spoofed by the baddies. You can't rely on it to be accurate.
  • Blacklisting could take forever if the marketers keep changing their Caller ID.

On the Amazon page you linked to there is a review by Gordo who says:

I bought this modem to connect to a Raspberry Pi for a caller ID call blocking application.

The good: Raspberry Pi Linux OS recognized the modem without having to install additional drivers.

The bad: Caller ID function worked only about 10% of the time. Most of the time, incoming calls would just show RING without Caller ID while other phones in the house displayed Caller ID properly. But it worked occasionally. Maddening.

He goes on to describe more trouble and changed it for something else.

It doesn't look like a good solution to me. I think an answering machine that asked a question such as, "This is Rafael. To speak to me please dial in the first four letters of the name of the company I work for / town I was born in / mother's name, etc.", and then accepted or rejected the call would be much better.

I may consider a CAPTCHA approach, like you mentioned. But for that to work, it would be even more necessary to wire the blocker in parallel, not in series. Do you know if this is possible with a single modem?

For the CAPTCHA method the problems become more severe. The phone has to be disconnected by the controller, the CAPTCHA has to answer the call, decide if it's OK or not, if it is, then hold the call, send out ring voltage to the phone, detect phone pickup and transfer the call. No modem involvement at all but a lot more electronics.

A simpler solution might be to use an answering machine with the "CAPTCHA" prompt or even "Please state your name". Leave it with the sound turned up and enjoy the nuisance callers. I used to answer them, ask them to hold on and put the phone in front of the radio. It helps take them out of circulation for a while.

  • \$\begingroup\$ I saw that review as well, and Gordo goes on to mention another modem he bought and worked, according to him. I understand the solution is not perfect at all, and I may consider a CAPTCHA approach, like you mentioned. But for that to work, it would be even more necessary to wire the blocker in parallel, not in series. Do you know if this is possible with a single modem? \$\endgroup\$ Jul 17 '17 at 18:45
  • \$\begingroup\$ See the update. \$\endgroup\$
    – Transistor
    Jul 17 '17 at 19:12
  • \$\begingroup\$ I saw the update, but how would I do that with no modem, like you said? \$\endgroup\$ Jul 17 '17 at 19:21
  • 1
    \$\begingroup\$ I haven't a clue. I'm sure someone has published a design somewhere on the web. Sorry I can't be more helpful. \$\endgroup\$
    – Transistor
    Jul 17 '17 at 19:24
  • 1
    \$\begingroup\$ I had checked your profile and had seen that you are in Brazil, hence my comment. +1 for that piece of information. Answering questions would be easier if more people added their location to their profile. \$\endgroup\$
    – Transistor
    Jul 18 '17 at 19:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.