Context help

Hi all.

I am a litle new to freepbx and asterisk but I always use the console. I have my test asterisk server, and create some users and different context. I have some weeks reading and reading… but I am a litle confuse about context and freepbx, I know there is the custom context but I am confuse.

Im my asterisk I have the example bellow and I want to do the same in another server with freepbx.

How could I do this with freepbx? I go to custom context but I dont know how to allow o deny some dial patterns or include others contexts.

The idea is to have all in order, in multiple context depending of the department.

For example.
3 operators users who can call everybuddy, record messages, external phones ,but not to the boss

3 visitors who can NOT call noone, only between them. Cannt call to operators, external…nothing

1 president who can call everybuddy, record messages… everything…

so in my extensions.conf I have something like:

[president]
include=>record-messages
include=>to-operator
include=>to-visitors
include=>to-external

[operators]
include=>record-messages
include=>to-operator
include=>to-visitor

[visitor]
include=>to-visitor

Thanks