Outside callers can not call long distances

how do you make contexts such that internal phones can call anyone inside or outside local calls, but outside callers can not and only people with the password can call long distance.
you would have to use Read() and GotoIf() applications in your dial plan right?

You are talking about password for make outbound calls. You might use the Authenticate() app. If you know how work Authenticate() , Read(), GotoIf() you can easily write your dial plan. If not here you have the answer asteriskdocs.org/

DISA()

Please note this is a discussion forum, not a support one.