Reg.Long distance outgoing protection


i am using the following dial plan for outgoing calls now…

exten => _NXXNXXXXXX,1,Dial(Zap/G1/wwwwww1${EXTEN}|20,tWw)
exten => _NXXNXXXXXX,2,Congestion()
exten => _NXXNXXXXXX,102,busy()

i wish to setup a dial plan such way like , i would like to allow for long distanace calling with password support …

whenever we dial more than 10 digits , it should ask a password and after authenticating , it should allow to make a call or

whenever a person wants to do the long distance calling, he has to dial a number (3 digits and should authenticate with apssword, afer this , the person should be able to dial long distance…

it will be much help if any one can throw some light on this would be greatfull

Thanks in advance … thenticate