Skip to main content

Global Variables

About​

At startup FreeSWITCH creates some global variables, these are read-only (technically, you can change them, but changing the value has no effect). Some of these are used heavily in the default configuration, others are just there for informational purpose.

On this page we list all these pre-defined variables.

Click here to expand Table of Contents

hostname​

string This global variable is set dynamically by the FreeSWITCH core and is set to the host name of the server on which FreeSWITCH is running. You cannot override the value of this variable by setting it. However if you change the host name of the server the value of the variable will be updated.

local_ip_v4​

string

This global variable is set dynamically by the FreeSWITCH core by asking the underlying OS for the IP address of the server on which FreeSWITCH is running. If the server has multiple IP addresses this will be set to the first one returned by the OS. In the default configuration there are many settings that use this global variable.

You cannot override the value of this global variable, because it will be reset by the FreeSWITCH core every minute. If your server has multiple IP addresses and you want to force FreeSWITCH to use a particular IP address, you can create a global variable force_local_ip_v4 and set it to the IP address you prefer. You must also set the local_ip_v4 variable to this IP address, you can do it by simply setting local_ip_v4 to use the value of force_local_ip_v4

Example: force_local_ip_v4

<X-PRE-PROCESS cmd="set" data="force_local_ip_v4=1.1.1.1"/>
<X-PRE-PROCESS cmd="set" data="local_ip_v4=$${force_local_ip_v4 }"/>

FreeSWITCH will not validate that the IP address you entered for force_local_ip_v4 is actually pointing to the server, it's up to you to ensure that you use a valid IP address that's routed correctly to the server.

local_ip_v6​

string

This global variable is set dynamically by the FreeSWITCH core by asking the underlying OS for the IPv6 address of the server on which FreeSWITCH is running (if it supports IPv6). If the server has multiple IPv6 addresses this will be set to the first one returned by the OS. In the default configuration this variable is used for setting up IPv6 SIP and Verto Profiles.

You cannot override the value of this global variable, because it will be reset by the FreeSWITCH core every minute. If your server has multiple IPv6 addresses and you want to force FreeSWITCH to use a particular IPv6 address, you can create a global variable force_local_ip_v6 and set it to the IP address you prefer. You must also set the local_ip_v6 variable to this IP address, you can do it by simply setting local_ip_v6 to use the value of force_local_ip_v6.

Example: force_local_ip_v6

<X-PRE-PROCESS cmd="set" data="force_local_ip_v4=1.1.1.1"/>
<X-PRE-PROCESS cmd="set" data="local_ip_v4=$${force_local_ip_v4 }"/>

FreeSWITCH will not validate that the IPv6 address you entered for force_local_ip_v6 is actually pointing to the server, it's up to you to ensure that you use a valid IP address that's routed correctly to the server.

local_mask_v4​

string

This global variable is set dynamically by the FreeSWITCH core by using the network mask received from the underlying OS when determining the local_ip_v4.

nat_public_addr​

string

If you use auto-nat and FreeSWITCH was able to identify the public IP address pointing to your server, this variable will be set with the auto detected public IP address.

nat_private_addr​

string

If you use auto-nat and a public IP address was detected, this variable will be set with the private IP address to which the detected public IP address is mapped.

nat_type​

string

If you use auto-nat FreeSWITCH will set this global variable to the type of auto nat device it detected this can be either pmp or upnp.

zrtp_enabled ZRTP IS NOW DEPREICATED and will be removed out of the docs​

string

This global variable is set by the FreeSWITCH core to the value of the global rtp-enable-zrtp setting in switch.conf.xml. For more information see the SIP TLS page.

Directories​

These variables show the default directory used by FreeSWITCH for certain files. At startup FreeSWITCH will assign default values to all of these, to use a different directory, you can pass it along as a Command Line Switch at startup.

base_dir​

string

This defines the base directory for most other directory settings

cache_dir​

string

certs_dir​

string

conf_dir​

string

db_dir​

string

grammar_dir​

string

htdocs_dir​

string

log_dir​

string

mod_dir​

string

recordings_dir​

string

run_dir​

string

script_dir​

string

sounds_dir​

string

sound_prefix​

string Directory prefix where the sounds for phrase macros live, and where recordings are saved by default. See mod_dptools:record, mod_dptools:record_session, and mod_commands's (the FreeSWITCH API) uuid_record .

See Variables on how to check the values of local and global variables.

storage_dir​

string

temp_dir​

string

Others​

core_uuid​

string

switch_serial​

string