In UK there is a system with BT that you can dial 1471 and it tells you what was the last number to telephone your number.
You can also set it to record the last 5 numbers, once it has told you after pressing 3 it will dial that number back.
There is also 1571 that will act like an answering machine and record messages if you are on the phone or out.
Both of these are FREE but you do have to pay for the return phone call.
What do other countries have?