By default, Flexisip loads its settings from /etc/flexisip/flexisip.conf. If no file exists yet, you may have Flexisip to generate a fully documented one by invoking 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 of 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.

Any lines stating by a # character are taken as comment line.

Main sections tour

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

Section nameDescription
[global]The settings contains in this section are loaded by any kind of server except network settings, which concern the proxy server only.
[presence-server]Settings for the presence server only.
[conference-server]Settings for the conference server only.

All the sections which the name start by module:: are sections concerning the configuration for 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 given module section.

Usually, you may need to touch the following modules:

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

[module::Authentication]

Performs a digest or TLS authentication. All the request 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 port 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 to listen on 0.0.0.0/0 (and [::]/0 if IPv6 is supported by the underlying OS).

Here, there are some examples:

  • Enabling UDP and TCP on port 5060:
[global]
transports=sip:*
  • Listen on 5060 with TCP transport only:
[global]
transports=sip:*;transport=tcp
  • Listen on 12345 with TCP transport:
[global]
transports=sip:*:12345;transport=tcp
  • Use TLS as transport layer:
[global]
transports=sips:*
  •  Use TLS for public network and TCP for local network:
[global]
transports=sips:1.2.3.4 sip:10.0.0.50;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. This way allows you to both listen on an IPv4 and IPv6 interface by using only once transport URI ; but it is also the recommended way to tell Flexisip what is its FQDN host name.

[global]
transports=sip:sip.example.org;transport=tcp

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.

[global]
transports=sip:sip.example.org;transport=tcp;maddr=1.2.3.4

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

Specific topics

Examples of configuration

Created by SandrineAvakian on 2017/01/06 10:32