extensions_custom.conf problem

Hello, I have an issue…, I need to restrict calls to international ( 011 ) and all islands that are dialed with 1 but with out blocking the USA…, so what I did was create a custom context which will specify like this different patterns and what asterisk will do with the call.

this will let all calls starting 1939 with 7 more digits after it to proceed via master01 iax trunk…, no problem

exten => _1939XXXXXXX,1,Macro(outbound-callerid,${ARG1})
exten => _1939XXXXXXX,2,Dial(IAX2/master01/${EXTEN}${TIMELIMIT})

an this is what I would use to block a call going to 1809 and any other 7 digits.

exten => _1809XXXXXXX,1,Busy
exten => _1809XXXXXXX,2,Hangup

ok, no problem…, so you wonder how I allow all outgoing calls to the states…, I added:

exten => _1XXXXXXXXXX,1,Macro(outbound-callerid,${ARG1})
exten => _1XXXXXXXXXX,2,Dial(IAX2/master01/${EXTEN}${TIMELIMIT})

to the end of the context…, if it doesn’t match any of my previous busy prefixes it will allow it through this one ( I did make sure to cover all prefixes that are not USA )

my problem is that since I’m using this context with this setting Asterisk does not know how to manage calls from one extencion to another in the same server…, I tried this but no luck…, anyone have any idea or suggestion to my problem?

exten => _XXXX,1,Macro(outbound-callerid,${ARG1})
exten => _XXXX,2,Dial(IAX2/master01/${EXTEN}${TIMELIMIT})

I did not use the outgoing setting for any of this because it will allow anything I put and deny everything else…, imagine typing all area codes of the USA…, HELL NO!!!.., there has to be an answer to this…

Thanks in advance