Blog Stats
  • Posts - 198
  • Articles - 0
  • Comments - 36
  • Trackbacks - 0

 

Wednesday, July 6, 2016

Caller ID on Raspberry Pi


So I have gotten myself another Raspberry Pi 1 Model B. (from eBay with case, power supply and 8GB SD for under £20).

I’ve plugged in an Edmiax WIFI USB Card.   Plus the star purchase a £4 USB Conexant modem.   This  is a good news, as this modem can decode UK caller ID signals.

NewImage

 

 So the goal is to broadcast who’s calling my home phone line and send who’s calling to my desktop Mac and various iOS devices.

The Pi, side of things took the longest.    I decided to use the common established and old (all good things for reliability) NCID package.   Getting this onto the Pi took the longest.

I ended up having to compile the source code, and then struggled to get the thing to start automatically.

In the end this was the best guide I found -

https://github.com/Phiplex/ncidhitta

I used the 1.4 version of NCID.   

Once up and running, I used another terminal window to telnet to my Pi on port 3333 to check that when my home phone rings the Pi was decoding (via NCID) the incoming caller ID information.

 You get something back like the following - 

NewImage

 

 

So good news,  phone rings the telnet window updates, with who’s calling.

 

The next step was to notify all Macs and iOS devices.     I followed the guide here to ‘borrow’ how they collected output from NCID for their own purposes...

https://jimtech.wordpress.com/2012/04/09/getting-ncid-working-on-every-device-possible/

 

My modification was to change the output command to curl a web request adapted to my own web server.

 

As discussed previously I have managed to get Safari and iOS push notifications working, so I utilised that and a database of device tokens and a database of phone numbers to names, to send and Apple Push Notification.

 

Net result,  phone rings.   All my devices go PING  and instantly display who’s calling -

 

NewImage

 

Click the notification and you can see/edit  (in Safari) the name associated to the number and see last calls -

NewImage

In iOS, it works similarly.

 

 

 

 

Copyright © Richard Jones