Global variables
When FreeSWITCH first starts up, it loads your entire XML configuration into the memory. During this process, it looks for the following code:
<X-PRE-PROCESS cmd="set" data="domain=127.0.0.1"/>
This code defines the global variables.
Global variables are expanded during this initial load process when FreeSWITCH starts up. The X-PRE-PROCESS
tag designates a command to be processed during the actual XML load. When you set a variable during this phase, that variable is considered global automatically and becomes accessible throughout the application as $${variable}
elsewhere in the XML.
Note also that when you utilize $${variable}
in your XML, it is also replaced during XML load-time with the variable that was set during the X-PRE-PROCESS
tag processing.
<X-PRE-PROCESS cmd="set" data="domain=127.0.0.1"/> <param name="domain" value="$${domain}"/>
For example, the preceding XML code would literally be compiled and seen by FreeSWITCH as one single line:
<param name...