Read data from RJ11 connector / build a call blocker

Hello!

I'm planning to build a call blocker for a home telephone, but, I'm wondering about the format of the data obtained from RJ11 connector, and the way to read it. My goals for the call blocker are the following:

1.- Have a blacklist and white list of numbers, with wildcard support (, +1). 2.- Answer/block calls based on time (noon, morning, night). 3.- "Answering machine" that have responses based on Caller ID.

Any ideas for this? My main doubt is how to obtain the Caller ID.

Regards,

very interesting, i have no idea

Helbirah: Hello!

I'm planning to build a call blocker for a home telephone, but, I'm wondering about the format of the data obtained from RJ11 connector, and the way to read it. My goals for the call blocker are the following:

1.- Have a blacklist and white list of numbers, with wildcard support (, +1). 2.- Answer/block calls based on time (noon, morning, night). 3.- "Answering machine" that have responses based on Caller ID.

Any ideas for this? My main doubt is how to obtain the Caller ID.

Speak to your telecoms provider about getting caller ID. They usually charge for that service in the UK. Notice also that calls from outside the UK are reported as "The caller's number is not known." I don't know how they are treated where you are. It's possible to block all calls where there is no caller ID, but I cannot do that, as it will also block calls from relatives living abroad.

Hello!

Thanks Henry_Best, my telecoms provider already handles this information, and the calls from outside of my country appears like "+1*", but, I would like to control also the ringing of the phone depending if the caller is on the black/white list. I saw in Sparkfun a RJ11 to USB adapter, but I still would like to know how to obtain this information from RJ11 connector.

Regards,

You will have to read the actual standard document that your telephone provider uses. These standards are published by for-profit organizations, so you will usually have to pay to get a copy.

Equipment manufacturers need these standards so they can build the phones that people actually buy. The phone company must be able to tell you which standard they use, but they won't let you borrow their copy of the standard. They will also freak out if you say that you are plugging anything into the phone line which is not approved for connection. The phone companies are bound by very restrictive legislation and they are very protective of anything unapproved plugged into their lines.

Helbirah: Thanks Henry_Best, my telecoms provider already handles this information, and the calls from outside of my country appears like "+1*", but, I would like to control also the ringing of the phone depending if the caller is on the black/white list. I saw in Sparkfun a RJ11 to USB adapter, but I still would like to know how to obtain this information from RJ11 connector.

Your telecoms provider sends the caller ID down the line before it sends ringing current. You will need to decode the data sent by your telecoms provider and check it against your blacklist. If the number is on your blacklist you can stop the ringing current from ringing your phone, but the caller will still hear the ringing tone at his end of the line. A better way would be to answer with a recorded message saying "Sorry. This phone doesn't accept calls from your number!" You will need to isolate the phone line from your Arduino as the voltages on the line will damage your Arduino if connected directly. Depending on where you live, ringing voltage is 70 to 85V AC and line loop voltage is around 50V DC. None of this is a beginner's project. See this: http://en.wikipedia.org/wiki/Caller_ID

In the UK it is a very serious offence to connect such "homebrew" equipment to the network. Punishment includes fines and jail time. In addition to having your connection cutoff. If your current provider cots you off for this NO other provider will take you on!

Mark