Configuration Files

This section describes some of the XiVO configuration files.

Configuration priority

Usually, the configuration is read from two locations: a configuration file config.yml and a configuration directory conf.d.

Files in the conf.d extra configuration directory:

  • are used in alphabetical order and the first one has priority
  • are ignored when their name starts with a dot
  • are ignored when their name does not end with .yml

For example:


log_level: critical


log_level: error


log_level: debug


log_level: info

The value that will be used for log_level will be debug since:

  • 10-debug.yml comes before 20-nodebug.yml in the alphabetical order.
  • .01-critical.yml starts with a dot so is ignored
  • 02-error.yml.dpkg-old does not end with .yml so is ignored

File configuration structure

Configuration files for every service running on a XiVO server will respect these rules:

  • Default configuration directory in /etc/xivo-{service}/conf.d (e.g. /etc/xivo-agentd/conf.d/)
  • Default configuration file in /etc/xivo-{service}/config.yml (e.g. /etc/xivo-agentd/config.yml)

The files /etc/xivo-{service}/config.yml should not be modified because they will be overridden during upgrades. However, they may be used as examples for creating additional configuration files as long as they respect the Configuration priority. Any exceptions to these rules are documented below.


  • Default configuration directory: /etc/xivo-agentd/conf.d
  • Default configuration file: /etc/xivo-agentd/config.yml


  • Default configuration directory: /etc/xivo-amid/conf.d
  • Default configuration file: /etc/xivo-amid/config.yml


  • Default configuration directory: /etc/xivo-auth/conf.d
  • Default configuration file: /etc/xivo-auth/config.yml


  • Default configuration directory: /etc/xivo-confgend/conf.d
  • Default configuration file: /etc/xivo-confgend/config.yml
  • Default templates directory: /etc/xivo-confgend/templates


  • Default configuration directory: /etc/xivo-ctid/conf.d
  • Default configuration file: /etc/xivo-ctid/config.yml


  • Default configuration directory: /etc/xivo-dao/conf.d
  • Default configuration file: /etc/xivo-dao/config.yml

This configuration is read by many XiVO programs in order to connect to the Postgres database of XiVO.


  • Default configuration directory: /etc/xivo-dird-phoned/conf.d
  • Default configuration file: /etc/xivo-dird-phoned/config.yml


  • Path: /etc/xivo/asterisk/xivo_ring.conf
  • Purpose: This file can be used to change the ringtone played by the phone depending on the origin of the call.


Note that this feature has not been tested for all phones and all call flows. This page describes how you can customize this file but does not intend to list all validated call flows or phones.

This file xivo_ring.conf consists of :

  • profiles of configuration (some examples for different brands are already included: [aastra], [snom] etc.)
  • one section named [number] where you apply the profile to an extension or a context etc.

Here is the process you should follow if you want to use/customize this feature :

  1. Create a new profile, e.g.:

  2. Change the phonetype accordingly, in our example:

    phonetype = aastra
  3. Chose the ringtone for the different type of calls (note that the ringtone names are brand-specific):

    phonetype = aastra
    intern = <Bellcore-dr1>
    group = <Bellcore-dr2>
  4. Apply your profile, in the section [number]

  • to a given list of extensions (e.g. 1001 and 1002):

    1001@default = myprofile-aastra
    1002@default = myprofile-aastra
  • or to a whole context (e.g. default):

    @default = myprofile-aastra
  1. Restart xivo-agid service:

    service xivo-agid restart


  • Purpose: This file specifies various configuration options and paths related to Asterisk and used by the web interface.

  • As file is embedded in docker, to edit it, you should execute:

    docker cp xivo_webi_1:/etc/xivo/web-interface/ipbx.ini /tmp
    vi /tmp/ipbx.ini # And save your modification
    docker cp /tmp/ipbx.ini xivo_webi_1:/etc/xivo/web-interface/ipbx.ini

Here is a partial glimpse of what can be configured in file ipbx.ini :

  1. Enable/Disable modification of SIP line username and password:

    readonly-idpwd = "true"
When editing a SIP line, the username and password fields cannot be modified via the web interface. Set this option to false to enable the modification of both fields. This option is set to “true” by default.


This feature is not fully tested. It should be used only when absolutely necessary and with great care.