Quoted:Haha, I just got completely lost reading that.
Do you mean hard as in having 7d across multiple NPA's? OK, perhaps "hard" was the wrong worng. I should have said "time consuming" because you have to data fill everything one at a time instead of ranging it out.
Much easier to build your routing table as
0-9 local, variable for 7d (Add NPA to ANY incoming nxx)
001 intl
12-19 ld
And then optionally break out any other NPA's you can call local to...
608 - NPA with local calling
If you set up 7d to multiple npas then you have to manually break out each nxx...
123 - add NPA A
124 - add NPA B
125 - add NPA A
Unless you have ranges...
100-125 - add NPA A
But either way, its still a lot of additional datafill you have to do in your table. Rather then setting up 0-9 to add your home npa, then break out 1+, intl and any other NPA you can call locally. And of course operator and N11 shit. Then again it would also have to take into account where you do your local call screening. In our case we actually screen in another table, so just because (In the above example) we have the whole of 608 set as local if we dont find 608-nxx in our local screening table it will kill it.
Hard to say "You should do this" as unfortunately every switch has its own little personality to making things go ring ring ring.
Or alternatively, you could just do like my ILEC did and say "Fuck it, you're dialing 10 digits". I just do the digit manipulation on my end, in my switch. They get their 10 digits, and I get to remember what gets 1+, etc ONCE (when I write the patterns). After that, ignorance is bliss until I use somebody else's phone.
I'm not real hip on provider switches, so my way of doing it (on commercial switches) is probably much different, conceptually.