Cell phones
Get your voicemail as email by forwarding to Google Voice
You can set up your AT&T phone (probably others, too) to forward to another number after 1) a certain number of rings, 2) if the phone is busy, or 3) if the phone is unavailable. Set up a Google Voice account and enable "Do Not Disturb" to send callers right to voicemail. You'll get an email through Google Voice with a speech-to-text translation of the voicemail. Usually you can get the gist, sometimes you get the complete message, other times it is just funny to see what it translates. But way better than checking voice mail (IMHO). You need to set the forwarding number for the 3 situations (they sound like they are the same situation "Nobody answers" but that's not how the phone computers see it).
These instructions all assume US phone numbers. Not sure what the modifications might be for other countries.
Forward after a certain amount of time:
Dial **61*+1XXXYYYZZZZ*11*20# To make the plus, hold down the 0 key on an iPhone. This sets your phone to forward to XXXYYYZZZZ after 20 seconds. You can replace 20 with any number in increments of 5.
Forward if busy:
Dial **67*+1XXXYYYZZZZ# To make the plus, hold down the 0 key on an iPhone. This sets your phone to forward to XXXYYYZZZZ if the line is busy.
Forward if device is unavailable/unreachable:
Dial **62*+1XXXYYYZZZZ# To make the plus, hold down the 0 key on an iPhone. This sets your phone to forward to XXXYYYZZZZ if your phone is unreachable or not found on the network.