General Dialplan concepts
In general, a Dialplan helps generate a list of actions to take so that a caller can reach the person or people they want to talk to. A Dialplan module implements the decision-making process that powers this. While a Dialplan module is free to implement any concept it wants for organizing how calls are routed, three concepts, in particular, are generally used when processing a call. These three concepts can be broken down by asking the same three questions for every call:
Contexts: Where do we look for a general list of destinations (or features) that the current caller is allowed to reach?
Conditions: Whom, specifically, is the caller trying to reach?
Actions: What actions need to be taken to reach that party?
These three questions are generally answered by breaking routing decisions into three concepts—caller context, condition matching, and actions. These concepts are not necessarily unique to FreeSWITCH. We'll explore each of these concepts individually in this...