I suggest you carefully look at [from-pstn-e164-us] then copy it into /etc/asterisk/extensions_custom.conf as [custom_from_pstn_mine]
NANP numbers are “closed” every one is 10 digits long, you can often add the “country code” (1) , so for example
exten => s/_011NX.,n,Goto(from-pstn,${EXTEN},1)
might be replaced with
exten => s/_011NX.,n,Set(LANGUAGE()=xx)
exten => s/_011NX.,n,Goto(from-pstn,${EXTEN},1)
and add specifically
exten => s/_01149X.,n,Set(LANGUAGE()=de)
exten => s/_01149X.,n,Goto(from-pstn,${EXTEN},1)
where you have defined your own language xx in /var/lib/asterisk/sounds/xx/* and added appropriate files.
you can of course use anything there, it is basically freeform but also there are many conventially predefined ones like en-GB, fr and de ( https://msdn.microsoft.com/en-us/library/ee825488(v=cs.20).aspx ). The somewhat anomalous hardcoded default is “en”, ( it should surely properly be en-US ) which if you have /var/lib/asterisk/sounds/en/ (which is likely)
send you inbound calls to that context.
It all depends on how the CALLERID(num) is presented and by what means you can define your “national calls” perhaps by length , perhaps by MostSignificantDigits.