Using landline for home automatization via dtmf

Hi guys

I would like to make a smart home controller with Arduino.
the way I would like to do it is by connecting my Arduino to the rj11 landline outlet in my house.

the way I would like it to work is as follows:
each time a person calls the land line the arduino senses that and picks the call up instantly.
the arduino plays a "fake" connecting tone so the person calling doesn't realize something is going on.
if the person with in 2 seconds enters the right password the arduino receives that via DTMF and will give a robotic voice with different preprogrammed options like how much electricity is being used switch on boiler, ac ,light,etc.
if the 2 seconds pass without or wrong password the system should switch the call back to normally incoming call so that the house phones will ring.

can someone give some advice how to go about?

thanks you are all great talented people with good will to help others!!

Googling "Ham phone patch circuits" might give you some hints. If you're clever enough you could probably use an old dial up modem to take care of the line interface.

thanks for your reply it seems these things are more made for ham radio
I am more looking at breakout boards to hook up to Arduino.

The phone line is relatively high voltage and high impedance, and you need matching circuitry to receive and transmit DTMF tones using Arduino. There is plenty of information on line for how to do that, so web searches should be productive.

This has some circuit ideas: wires - Connecting an Arduino to a telephone line? - Arduino Stack Exchange

They contain some of the components for what you are trying to design. You could hack one of those VOIP dongles for some of the pieces as well. I'm not sure you are going to find a breakout board but you could Google for that as well.

The Futurlec board from @jremington's link looks helpful.

I have seen this before I posted.
But there isn't much info about pick up the phone call and continuing if wrong code...
there isn't much info in general about that topic related to Arduino and landlines in compare sent to gsm modules where this could be achieved easily.

It sounds like a case of you don't know enough about the subject to use the information you can find and are instead looking for a project that you can just copy. That's okay and someone may provide one for you.

That is up to you and your code.

of course we all trying to make life easier and not having to reinvent the wheel.
Thanks for your time any suggestions?

Is this a copper land line, ISDN voice band or after a opticfibre box? The phone company can tell if you connect a load to the landline, and generally do not like people charging batteries on the phone company's expense.

For fun: Use this file (the first tone, actually) to tell automatic dialers that you do not exist: https://www.orangefreesounds.com/wp-content/uploads/2014/12/Wrong-number.mp3

I had my answering machine go off hook on the first ring, then played the tone used to say "this number is no longer in service" (the first tone in the three tone notification) which disconnected automated calls, then my answering machine let me mash my code to fiddle around with any recordings. P.S. Do not lick the wires during incoming call.

Thirty to fourty years ago, when Commodore, Apple, etc. home computers were popular, complete telephone modem interface add-ons were readily available, with simple 5V logic interfaces.

You can still buy them, for next to nothing on eBay, e.g. Vicmodem Commodore 1600 Telephone Interface Cartridge for Vic 20 (Untested) | eBay

a copper one I will power arduino with my own power supply

Yes, an old answering machine would have many of the components needed to build the interface. I fear OP is looking for a turnkey solution which might not exist.

Another excellent suggestion. OP, get busy!

looks interesting what does it do exactly do how do you communicate with it?

AT commands.

Manual

Connects to the phone line via the telephonehandset cord, and transmits 1200 baud UART serial information to modems on the other end of the line, like dialup bulletin board web sites. Controlled by digital signals.

There are other modems with many more features, like DTMF dialing, answering, etc.

You can automatically answer an incoming land line call, wait for a few seconds to see if there is an audio encoded message then transfer the call to a voicemail or similar if there is no encoded message. However, you cannot then revert that call as if it were an unanswered incoming call which would then ring the phone(s) making it answerable and for which the caller has to pay only if it is answered.
You can use dtmf or afsk encoding for digital information over a land line. Dtmf has a small alphabet of 16 symbols. Afsk can support sending ascii characters etc.

1 Like

how does the phone company operator/computer know that you actually picked up the call?
can you elaborate a bit more about the hook switch.

why not? I could replicate the 50 v calling signal so another phone in my house will ring and if he picked up he should be talking the the person calling in and when the arduino senses the picking up from another phone it should stop playing the dialing tone.