Let's say extension 1234 can only call US numbers. I'd setup an outbound route for +1, 001, 0111 for ext 1234, then another "catchall" outbound route for it with no trunks defined. Would that work?
Instead of defining no trunks you would need to define a dummy trunk. Depending on the dummy the call will actually fail, or get on to the next outbound route.
Hmmm. By dummy trunk, I guess you mean either a SIP trunk with no account, or with an invalid account that doesn't really go anywhere..?
Also, is there a way to allow calling local extensions as well, whether they are classic/PSTN numbers or SIP extensions? So the whole thing would be "This extension can call US numbers or local extensions (even if they happen to be via international PSTN)".