Freeswicth: vars.xml

Freeswitch FAQ:http://pro-voip.com.ua freeswitch
Q: Какая разница между ${var} и $${var} в конфигурационных файлах?

  • ${var} — эта переменная вычисляется, когда встречается в диалплане;
  • $${var} — эта переменная вычисляется при загрузке FS или при reloadxml.
Preprocessor variables

Переменные $${var} называют препроцессорными — preprocessor variables.Чаще всего используются для установки дефолтных значений.

Эти переменные устанавливаются вручную в файле vars.xml;

Например:

Кстати, строки с <X-PRE-PROCESS …> , где бы они не встречались, НИКОГДА не комментируются! Или оставляем, или удаляем.

Predefined variables

Отдельный тип переменных — predefined (предопределенные) переменные.

  • hostname
  • local_ip_v4
  • local_mask_v4
  • local_ip_v6
  • switch_serial
  • base_dir
  • recordings_dir
  • sound_prefix
  • sounds_dir
  • core_uuid
  • zrtp_enabled
  • nat_public_addr
  • nat_private_addr
  • nat_type

Эти переменные устанавливаются динамически — вычисляются, если возможно, FS’ом на основании своего окружения — и доступны в конфиге как $${variable}.

Вычисленные переменные можно увидеть в fs_cli командой:

Также эти переменные можно использовать как значения для preprocessor переменных.