i recently did something similar here in canada, and i found a dead-simple hardware solution
just grab an old 56k dial-up modem out of a junk box, and plug it in!
https://github.com/cleverca22/nixos-con ... aller-id.c
you just run the program with "caller-id -s nas.localnet -u callerid -p PW -m /dev/ttyS0"
and it will then connect to both the modem and mqtt server
it will send "AT#CID=1" to the dialup modem, requesting that it decode caller-id info
and then it just waits for events from the serial port, and mirrors them over mqtt
https://github.com/cleverca22/nixos-con ... ller-id.py
a seperate python program then runs on every other machine in the house, it listens for the messages, and displays a popup
just grab an old 56k dial-up modem out of a junk box, and plug it in!
https://github.com/cleverca22/nixos-con ... aller-id.c
you just run the program with "caller-id -s nas.localnet -u callerid -p PW -m /dev/ttyS0"
and it will then connect to both the modem and mqtt server
it will send "AT#CID=1" to the dialup modem, requesting that it decode caller-id info
and then it just waits for events from the serial port, and mirrors them over mqtt
https://github.com/cleverca22/nixos-con ... ller-id.py
a seperate python program then runs on every other machine in the house, it listens for the messages, and displays a popup
Statistics: Posted by cleverca22 — Wed Jul 30, 2025 12:45 pm