just download at:-
http://media.juiceanalytics.com/downloads/area_codes_by_state.xls
convert by whatever means to .csv
Create a database key on NPA with value = state
while IFS=, read -r NPA STATENAME STATE; do echo "rasterisk -x 'database put NPA $NPA $STATE'"; done < area_codes_by_state.csv|bash
Create a database key on state with value = destination
for i in $(cat area_codes_by_state.csv |cut -d ',' -f3|sort -u);do echo "rasterisk -x 'database put STATE $i \${EXTEN}'";done|bash
update ${EXTEN}
to the destination for any states you cover for example:-
rasterisk -x 'database put STATE 4566'
Then something like (pseudo code)
[custom-inbound-context]
Exten => _NXXNXXXXXX,1,DBGET state from CID
Exten => _NXXNXXXXXX,n.Goto(DBGETdestination from state