[HELP]: Logic for call restrictions in Dialplan

Hi There,

Currentlly our agents can make calls through our company CRM application and also via their softphone. I was looking for a way to allow agents to call numbers only through our company CRM application so if they try to call using the actual soft phone they will be blocked. Can logic like this be implemented using the dial plan? If so could you point me in the right direction on doing this?

Many thanks

Vicibox 5 64bit from .iso | Vicidial 2.8-416a | Build 131016-2112 | Asterisk | Single Server

The standard way of implement class of service restrictions is to use contexts.

Thanks David,

So just now both the call from the CRM and the softphone use the ‘default’ context. So if I change the context of the call from the soft phone and within this context implement some restrictions or a voice message placed in the dial plan this should work ok?


Normally the default context would have the least access, so you would expect to have the CRM in that context and the agents in a more restricted one.

Typically, you put the extensions and patterns that the agents can directly dial into one context, and then include (include =>, not #include) in the context used by the CRM.

Thanks again for your help David worked a treat.

I created a new context for the phones (similar to below) which plays a not authorised message when the agent tries to manually dial:

exten => _X!,1,AGI(agi://
exten => _X!,n,Playback(not-auth-pstn)
exten => _X!,n,Hangup()

and kept the calls through the CRM using the ‘default’ context.