In general, I'm going to wait until Google makes changes in the next few weeks and see how it works then. But I did make an additional change to restore incoming calls.
What I did to receive calls reliably was to create a free line at
callcentric.com and then forward Google Voice calls to the callcentric number. That works reliably because the connections to callcentric use the sip protocol, which works fine on my Obi200. I'm still making outbound calls with Google Voice, since I can restore Google Voice service temporarily by rebooting the Obi200 from my computer. It's not perfect, but it makes me functional again.
In using the callcentric did for incoming calls be careful to not allow outgoing calls. If you do that you'll get stuck paying 2 cents/minute for outgoing service. Since I already had a PBX server (FreePBX/Asterisk) setup and running, I created a callcentric trunk and incoming route, but no outgoing route. That leaves no possibility for outgoing calls through callcentric. I have the Obi200 connecting to my PBX server as a generic sip device to receive calls on SP2. If I had it to do over again I would probably put callcentric on SP1 and Google Voice on SP2 so I don't get the double ring on incoming calls, but since it's only temporary I'll leave it alone.
As an additional experiment I've ordered an ObiWIFI dongle so I can connect to the AT&T Mobley directly. That's obviously going to be an improvement because the Mobley also uses nat. So I'm currently using two layers of nat, first through the Mobley and then again through the AC1900 router, which is clumsy. I'll post back later this week on whether connecting directly to the Mobley helped.
SteveInWA has been a terrific resource in the past. I'm sorry to see that he's not taking this issue seriously. But maybe it's a moot point with the upcoming changes in Google Voice connectivity. It could be an entirely new game a few weeks from now.