Help with setting up user permissions

Can anybody help

I would like users to enter their employee number (user code/ user id) and then a password on order to authenticate. They must be able to do this from any extension and then depending on the level of access they have, they can then dial either national, international or cell numbers. How do I go about doing this?

Currently I am using ‘authenticate’ with a static password for each context viz. trunk-local; trunk-national and trunk-inter and this works fine, but I feel that this can be cracked very easily and there is then no way of knowing who made which call.

Thanks in anticipation