XML Dialplan Recap

Following, in bullet format, how the dialplan works, its various components, their interaction, and all the important terms' definitions

  • incoming call lands at the beginning of one of the dialplan contexts. This is the "routing phase" of the call, phase during which the TODO list is built
  • to which context the call lands on is determined by modules' configuration (eg, which SIPprofile - IPaddress/port pair - the call comes from) or by User Directory (if call has been authorized)
  • a context is a list of extensions, call enters at beginning, and proceed toward end of list. If call goes through the end, is hungup
  • if an extension has been evaluated as "matching" (see later), then the call continue to the next extension depending on the value of the "continue" extension's parameter
  • each extension is composed by one or more conditions, each condition may contain one or more actions/anti-actions
  • the characteristics of the call (eg, dialed number), of the configuration (you can set variables in vars.xml and elsewhere) and of the system (eg, time of day) are all available via variables
  • each condition checks some specified variable against some (regular) expression
  • a condition is evaluated true or false, if the expression matches or not the specified variable(s)
  • if condition is true its actions will be pushed in the TODO list stack, it its false its anti-actions will go in the TODO list
  • in a condition, the parameter "break-on" determines if checks will continue with the next condition or stops here
  • actions (and anti-actions) are dialplan applications (provided by almost each FreeSWITCH module, most of them provided by mod_dptools)
  • after the traversing of the dialplan context, and the checking against the extensions, is completed then the call enters its "execution phase"
  • in "execution phase"all actions that were pushed in TODO list stack are executed in order (FIFO)
  • the separation between 'routing phase" and "execution phase" implies that you cannot set and check variables in the same dialplan pass (eg, not in next conditions of same extension, nor in conditions inside any following extensions). If you need that, use the "inline" parameter of the "set" application
  • the original incoming call that enters the dialplan is called "A-leg". FreeSWITCH-originated calls to be bridged with the A-leg, are called "B-legs"
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.135.201.209