This is such a frequently asked question that I am going to just throw this out there. If you have a spare computer (it doesn't have to be the latest and greatest) you can install
PBX in a Flash (PiaF) which is a full PBX program and is totally free. One of the modules that comes with it is called Caller ID Superfecta and that can be configured to try to look up a Caller ID name using any of several free reverse lookup sources on the Internet. If it fails to get a name it can also use the
Telcodata.us database to look up an approximate location for the caller's number (which may or may not be the actual geographic location of the caller, but at least it's something). In addition, you can put the numbers of people who call you frequently in the "Asterisk Phonebook" and then it will always display their name.
So let's say you have PiaF installed on a computer and you have your Obihai device configured like this:
Google Voice account on SP1
PiaF extension on SP2
What you can do is use one of the Voice Gateways in the Obihai to divert incoming calls from Google Voice to the PiaF server and at that point you can use Caller ID Superfecta, the Asterisk blacklist and phonebook, and any other special features of PiaF to handle the incoming call and then send it right back to your Obihai device on SP2. I explain how to do that here:
How to divert incoming Google Voice calls from an Obihai VoIP device to an Asterisk server for additional processing (such as Caller ID lookup)I do realize that many PiaF and Asterisk users would prefer to use their Obihai device as a full bidirectional gateway between Google Voice and Asterisk and of course that's also possible (I wrote a couple of articles on that last year, and others have also tackled the subject) but some people may be fine with sending their outgoing calls directly to Google Voice, and it's only the incoming calls that leave something to be desired, so this covers that situation and is a lot easier to set up
if you have a PiaF server running. Plus, because the server is on your local network, there is a lot less latency added than when you ship the call off to some distant service (such as Sipsorcery) and back. Google Voice has enough latency of its own; we really don't need to add any. But yes, you do have to learn how to configure the PBX, so there is that.