Summary

In this chapter, we discussed the following:

  • The basic structure of XML dialplan:
  • dialplan is divided into contexts
  • contexts contains extensions
  • extensions contains one or more conditions
  • conditions decides about the execution of contained actions and anti-actions

We then reviewed the meaning of "call legs" (A-leg is the incoming call, B-legs are the outbound calls originated by FreeSWITCH in response to A-leg dialplan processing).

We also looked at channel variables, how to set and check them, followed by an explanation of how dialplan is traversed by accumulating "actions" in a TODO list that's executed after dialplan traversal.

And the basic building blocks of useful extensions: applications and dialstrings.

In next chapter we'll see how to use XML to build much more powerful IVRs than would be possible from dialplan.