Michigantelephone,
Your very first example shows 1 common error: missing the enclosing ( ).
In order for OBi to apply digit map rules on patterns like 1xxxxxxxxx, it has to be
enclosed in parenthesis. You have corrected that in your 2nd example; but that's not what you intended.
OBi can route inbound calls based on caller number and/or called number.
A caller>called pair is referred to as a peering. The general format of a peering is:
some-caller > some-callee
where some-caller and some-callee can be a digit map (enclosed in parenthesis) or
plain number. In fact, to the left side of the colon (

in each inbound call route rule, you
can put more than 1 peering; just separate them by a comma. This is called a peering-list.
OBi will OR the peering's when checking the inbound call route rule.
Back to what you wanted to do. You don't care about who's calling (from OBi's point of view); you only want to check if a 11-digit number is called and let it go to sp1. Here is 1-way I can think of:
{>(1xxx xxx xxxx):sp1}, {>(<ob> xxx xxx xxx):pp}
Note how the second rule pre-pend the 9-digit number before sending it to pp (OBiTALK) trunk.
Please give it a try and let us know how it goes.