As Mike indicated, you have an issue with redundant and conflicting forwarding destinations.
"I have an Obi100, using Anveo basic service on SP1 and GV on SP2. In Google Voice, I've check-marked Google Chat."
This scenario will cause confusing problems, since GV will ring both SP1 and SP2 on your OBi at approximately the same time (well, one will sometimes beat the other), and one or the other will grab the call.
Given that Google Chat client (XMPP) support is going away very soon, I suggest that you eliminate the Google Chat forwarding destination entirely. Log onto your GV account, and go here:
https://www.google.com/voice#phonesUn-check Chat, then delete it off of your GV account. It is no longer used for Hangouts support . Make SP2 your default on your OBi, or just get rid of SP1's existing configuration and re-do it as Anveo and delete SP2; your choice.
I'm not an Anveo customer, so I can't advise on how to configure their call-handling rules, or if it's even possible with Anveo, but: you need to either disable Anveo VM, or set it to pick up around 35 seconds after ring time, or, the best alternative would be to set conditional call forwarding if it's supported (no-answer/busy foward to GV number). Otherwise, you need to enable the Call Screening option on GV. GV CS will force whoever or whatever answers the call to prove they're human, by pressing 1 to accept the call. Since Anveo's VM can't do that, it'll bounce back to GV VM.