We have Callwave. It used to be totally free for the better version. Now we pay $3.95 a month and it displays the number of the person calling and we can hear them leave a message. The version that is free either just displays the phone number or you can hear the message but there is no number displayed, one or the other, I can't remember. There is also another version even more expensive with more features.
I'm wondering if they have something like its free for everyone for the more advanced versions for awhile. We had it free for about a year before we got an e-mail about the change in pricing. When we were getting it free another friend said they were having to pay for the same service.
But we're very happy with it. With teenagers someone is always using the computer so its a real lifesaver.