I think many questions were already answered, will try to clarify some...
Early suggestions (in this thread) to block scanners were based on matching caller. Caller is a string sent by calling party, that's how it represents itself. Provided that normally you receive calls with valid 10 digits caller id and that scanners use something like "10001", "admin", etc. you can filter them out. But what if scanner uses a right pattern? Your OBi will ring the phone...
My idea was to use callee id instead. The way is documented in Inbound Call Route part of OBi manual (may be lacking more examples). Most of us use one or several providers, may-be receiving direct SIP calls - pretty much determined set of valid strings. All other calls may be dropped. That's what I made.
BTW, old good Sipura / Linksys adapters allow the only user_id, any call not matching it does not ring.
>('myname'|123456@.):ph1
This is to allow incoming calls to myname@myhost (direct SIP calls) and 123456_me@myhost (voip.ms pattern, all sub-accounts have the same prefix), forward both to ph1 (I do not use ph2 now) and disregard all other calls. Note that you may receive SIP calls from several providers on the same SPn, that's why you may want to combine several patterns. You need separate SPn only if you want to register with several providers.
>('1777xxxxxxx'):ph1
This should work for Callcentric, but I believe you may remove quotas and even parentheses.
>>> Aside from the nerdiness what advantage does one gain using SIP URIs vs the traditional way...
It may be independent from any provider (sometimes more reliable), completely free, always the best quality (direct traffic)... Not something necessary though...
>>> 3/20/2013 2:19:10 AM INVITE sip:+972592280470@12.34.56.78:5078 SIP/2.0
This is from syslog. I have it enabled on OBi, most verbose and sent to the server.