OK, let's start the conversation over.
First: this thread was from eight years ago. Google Voice has undergone a complete refresh since then, and many features have changed. Google Voice now directly supports SIP VoIP calling, without the old XMPP/Google Chat kludge. That OBi X_SkipCallScreening setting is now non-functional and irrelevant.
Google Voice call screening has been completely replaced, and it now has a different behavior. Here is how call screening now works, assuming you have turned it on in Google Voice settings:
- All calls, from all callers, will be screened. "Screened" is defined as: when you answer the call, Google Voice will always announce "Call from..." and then ask you, the Google Voice user and called party to decide -- press 1 to accept the call and talk to the caller, or press 2 to send the caller to your Google Voice voicemail.
- If the calling phone number is not in your Google Contacts, then that caller will be asked to state their name before the call rings on your end. Google Voice will play back whatever the caller said, after "Call from..." It will not save their name, and they will be asked to speak their name on every subsequent call. Even if they say nothing, your phone will still ring, and it will simply have no recorded speech to play back.
- If the calling phone number is in your Google Contacts, then the caller will not be asked to speak their name, however, their call will still be screened. Instead, Google Voice will use that contact's information with text-to-speech, to say the name you entered in their contact.
Over the past couple of years, the majority of robocalling has been using "neighbor spoofing", whereby the robocall software spoofs the caller ID of some random number that has the same area code and prefix as your number. This is a "social engineering" trick to make you think the call is indeed from one of your neighbors or local businesses, doctor's office, etc. Until the new "STIR/SHAKEN" based caller ID authentication system is more widely supported, there is no defense against this, other than to simply not answer calls from numbers you do not recognize, or to build a cumbersome white-list solution.
Note that you can "fork" inbound calls to Nomorobo, to add its blocking database, and that's been discussed in other threads.