2. Configuration

Last modified by Félix Olart on 2024/04/24 10:39

By default, Flexisip loads its settings from /etc/flexisip/flexisip.conf. If the file does not exist, you can ask Flexisip to generate a fully documented file by running the following command:

/opt/belledonne-communications/bin/flexisip --dump-all-default > /etc/flexisip/flexisip.conf.sample

File syntax

The syntax of the file is close to the INI format i.e. it is composed of sections which contain key-value parameters. A section is declared by any line on the shape of [section-name] and all the line following a section declaration are taken as part of the section until the next section declaration.

Each parameter are on the shape of key=value. The value is composed by all the characters following the equal symbol until the end of the line, so that any other white-space characters are taken as part of the value.

For parameters of type "Duration", you can indicate the unit after the value: parameter-name=duration<unit>. Supported units are: ms, s, min, h, d, m, y. No combinations allowed. If no unit is indicated, the default unit will be used.

Any line beginning with a '#' character is considered a comment line.

Main sections tour

All the sections concern the proxy server only, except the sections listed in the table below:

Section nameDescription
[global]Settings in this section are loaded by any sort of server except network settings, which concern the proxy server.
[presence-server]Settings for the presence server.
[conference-server]Settings for the conference server.
[b2bua-server]Settings for the back to back user-agent server.

All sections whose name begins with module:: are sections concerning the configuration of each module of the proxy. Modules are features that may be independently enabled or disabled to fit your needs. By default, the proxy behaves as a simple SIP message forwarder.

Each module can be enabled or disabled by setting the enabled parameter in the corresponding module section.

Usually, you may need to edit the following modules:

Section nameDescription
[module::Registrar]Add the ability to treat REGISTERs request for several domains.


Performs a digest or TLS authentication. All the requests are accepted if this module is off.
[module::PushNotifications]Allows to send push notifications to user agents that are not available in order to wake them up.
[module::MediaRelay]Add an RTP media relay.

Listening interface and port

The interfaces and ports on which Flexisip listens are set by the transport parameter in the [global] section for the proxy server, and in the server specific sections for the other servers.

It takes a list of SIP URIs, which the domain is used as listening local address, the port as listening port and the "transport" URI parameter as transport protocol specifier. If no transport parameter is used, then both UDP and TCP will be used.

IP address prefix are not allowed, but using a lonely wildcard character as domain will make Flexisip listen on (and [::]/0 if IPv6 is supported by the underlying OS).

Here are some examples:

  • Enabling UDP and TCP on port 5060:
  • Listen on 5060 with TCP transport only:
  • Listen on 12345 with TCP transport:
  • Use TLS as transport layer:
  •  Use TLS for public network and TCP for local network:
transports=sips: sip:;transport=tcp

An FQDN may also be used as domain. Then, Flexisip will automatically find out the IP addresses on which it has to listen be doing a DNS request. It allows you to both listen on an IPv4 and an IPv6 interface by using only one transport URI ; but it is also the recommended way to tell Flexisip what is its FQDN host name.


However, for some reasons, you may wish distinct the FQDN host name from the listening address. In such a case, you can use maddr parameter to do so.


Please visit the Global Section Reference for the full documentation of transports parameter.

Specific topics

Examples of configuration