Let us start by saying that is it currently impossible to stop "all" anonymous phone calls. Technical experts in the USA, United Kingdom, Germany and Japan have pumped a lot of time and money into finding a solution, and have so far come up with nothing we can use. Thankfully, the ideas they have come up with means that it is possible to stop most anonymous callers from getting through. But sadly, at the moment, stopping anonymous calls is similar to the justice system (at least in principal). They say that the justice system is like a spider's web, in that it catches the small flies, but the big ones always get through. The same is true for stopping anonymous calls. You can take action to stop the small timers from contacting you, but you cannot stop all anonymous phone calls.
Some companies offer ACR (Anonymous Call Rejection)
A caller must take certain steps in order to call a number and hide the phone number being called from. The phone companies that offer ACR will identify these means and block the caller from being able to reach you. In many cases, the call is diverted to a messaging service so that the person being called need not be bothered by it.
Beware that ACR does not block telemarketers, unless they try to hide their number. This is a big disappointment for many people who sign up for ACR. Operator assisted calls that are billed to a credit card are also not blocked. There is a small possibility that an operator assisted call is someone that you know, maybe someone who needs to call but cannot afford it. On the other hand, these days everyone has a mobile phone, or knows someone with one, so operator assisted calls are probably not going to happen a lot. In many cases, you are able to set your own security settings.
Your anonymous callers may hear an announcement
You can often set the system to give an announcement to the anonymous caller. It will often say how the person being called does not accept hidden numbers. They will be asked to reveal their number by calling back. Some will also offer the caller an option to reveal their number so that the call may be connected.
What about people who set their phone numbers for anonymous outgoing calls?
Upon occasion, a person may wish to call you, but their phone is set to make outgoing calls anonymous. In this case, they will have to deactivate the anonymous function. If they cannot do this, or do not want to do this, they may either use a pay phone, a different phone, or call the operator for an operator assisted phone call.
People may use SBC (Selective Call Blocking)
This is very good for people who are always getting phone calls from people trying to sell to them. You may block numbers specifically. Some companies will also go further. For example, they will allow you to block an anonymous call, and they will track the caller ID and stop that caller ID from being able to contact you again.
As you can imagine, there are many ways to get around SBC. For example, a caller may change their caller ID for each phone call. But SBC does allow people to make the lives of anonymous and marketing callers a little more difficult. Sometimes, if you keep inconveniencing the companies, your number will be lost. There is a chance that they will scrap your number as one that has been deactivated or never answers.
SBC is also good for private citizens who call you (either maliciously or through their over-enthusiasm for you). Private citizens will often take no further steps once they have been blocked.
Anonymous call rejection may be customized
There are some companies that offer an ability to allow certain anonymous calls to get through. It allows you to select phone call IDs to still contact your phone. These are often of family and friends, but you will have to manually submit their number on a "safe list." Sometimes if you want to get through to a person with ACR but do not want your number displayed as a default, then you also have to join an ACR program.
ACR does not stop "out of area" or "unavailable" calls
It is still possible to receive phone calls that are listed as "out of area" or "unavailable" calls. These have not made an attempt to block their number, but still will not display a phone number on your phone, nor give you one to call back. The reason for this is because these phone numbers have not been blocked, and if they have not been blocked then there is little that ACR can do, unless you have SCB.