I can think of a couple ways. Suppose we had one number coming in, but had defined extensions.
I made a little call flow and captured an image for you:
http://i.imgur.com/prVdKz8.pngThe SIP would be your SP1 on OBi202#1 that is rung from your 800 number. If the call is answered, we go no further in this flow.
If that line is not available, on a call or busy (do not disturb), then the call gets sent to extension 202 which has a similar call flow defined. If the SP1 is offline, we send a text message to your cell phone to that effect before transferring to extension 202.
Off to the left you can see some of the various elements you can drag into the active call flow.
I did this with extensions, but Transfer could have been used to send calls to phones that have their own numbers or SIP addresses.
I only have one line, so I have not tested this. I have made good use of the call flows to effectively deal with robocallers, and to handle people on my whitelist differently from unknown callers.
You can even have different things happen at different times of the day/week. Note that Business Hours control on the left. I don't use that one. I am not a business.
You can drag controls from the left, and connect the inputs and outputs as you wish.
I am confident that each SIP provider has a good way to do call hunt. That is a pretty standard thing to have. It might be more pre-configured. The call flow method can let you transfer friends to extension 202 and known businesses to extension 203, or your cell phone, or both extension 203 and your cellphone.
Obi has an offering that could be of interest. I have not seen people post about it much, but one of the forums here is about OBiPlus
http://www.obihai.com/obiplus.htmlAlso, with your OBi202s, you could have some Google Voice lines free. You can have 2 services use one phone port (one at a time) The OBi knows when the phone is busy, and can do transferring. But since SIP providers do that stuff easily, it would make sense to me to do so.