Up to this point we have considered the basic use of channel variables. FreeSWITCH has more advanced ways of using variables, including global variables. Let's round out our understanding of variables by looking at some of these.
We have already discussed the purpose and basic use of the condition XML tag. Now we will discuss the different elements you can actually test to help make decisions about call handling.
FreeSWITCH offers three general categories of variables that you can test – caller profile fields, channel variables, and global variables. In addition, you can utilize macros and API functions and utilize their output in your conditions as well. We will review each of these in detail.