Not sure if this is in the correct part of the forum, Mod please move as required.
There are circuits to decode (UK) caller ID, but I`m not sure of the legality of connecting a custom (unapproved) circuit to the UK phone system even when its properly isolated and protected against surges.
See this http://brohogan.blogspot.co.uk/2009/12/telephone-interface.html
The other way to do this is with a cheap modem, using AT commands, has anyone tried this with the usb voice modems you can buy from Ebay?
Could an Arduino be used with said USB Modem?, I don`t really want to use the old bulky serial port ones.
The short answer is no. Attempting to connect a USB modem to an Arduino is likely to fail as the Arduino isn't a USB host device, it doesn't know how to be... Yet.
The CID is sent between the 1st and 2nd rings as a burst of 2400 baud data and might not likely be present as data in the same manner on a mobile call as it is on a pots call (Plain Old Telephone Service).
I DO hope this helps.
The caller ID format is documented on several websites and there are IC circuits that will decode it into serial format, but to "legally" connect to the telephone line it has to be tested/approved which costs quite a bit of money!