Configure for local manual testing

Last modified by Félix Olart on 2023/11/27 08:58

How to configure Flexisip for local manual testing?

The tutorial is mostly targeting developers and is written for Flexisip >= 2.3.

This tutorial will help you set up minimal configurations to start testing Flexisip on a local environment.

It is designed as follows:

  • A common section Minimal configuration helps you enable basic features.
  • Several sections to help you enable all the other features with minimal configuration.

Prerequisites

First, please make sure Flexisip is installed:

  • From Belledonne Communications' repositories ...
  • ... or manual installation from built source code.

You will need some information for this tutorial:

  • IPv4 address (on local network) of the device on which your server will run.
  • We will use sip.example.org as sip domain.
Details for manual installations

        Please make sure it is installed with a prefix by setting -DCMAKE_INSTALL_PREFIX=<path_to_installation_directory> in your CMake configuration.

        Then, install Flexisip: cmake --build <path_to_build_directory> --target install


Minimal configuration

This first section covers the minimum requirements, on both server and client sides, to start testing.

This configuration will enable registration of devices to the SIP server and allow basic communications (audio/video calls + one-to-one chat).

Server side

Flexisip requires only a few parameters, simply defining the domain in which Flexisip operates: sip.example.org.

You can create a configuration file flexisip.test.conf containing the following lines:

[global]
aliases=localhost sip.example.org

[module::Registrar]
reg-domains=sip.example.org

Now start Flexisip: ./flexisip -c flexisip.test.conf --debug

Client side

We need fake users to register on our SIP server to start testing.

The SIP client used for this tutorial is Linphone >= 5.1, but you can use any SIP client.

Add a new SIP account (on Linphone: Assistant > Use a SIP account) with the following configuration:

# SIP account settings
SIP address:            sip:<user_name>@sip.example.org
SIP server address:     <sip:<server_ip_address>;transport=tcp>
Registration duration:  600
Transport:              TCP
...

# NAT and firewall
Enable ICE:             True
...

Now, you should start to see requests coming to your proxy server from this new user.


Push notifications

This section will help you configure push notifications on Flexisip.

Please make sure you have access to Apple push notifications service certificates files and/or Firebase credentials (token and/or service account file). Otherwise you will not be able to configure push notifications.

You can follow the instructions in the dedicated section: module::PushNotification