Call numbers from a list per user

Does anyone know how to configure Asterisk to permit calls per user only from a list?
For example, I have 2 users, each user can call only assigned numbers, that I get from a list or database, I can populate from another server (in my case a CRM).

It could be achieved either by some dialplan-logic (assuming You are able to fetch the permitted destinations by a ODBC-connection or a webservice or something like that) or by a AGI-call.

The solution depends on the way You may interact with Your CRM-solution (direct database access or access via a service-call/webservice).