Flexisip


Introduction

Flexisip is a SIP proxy server implementation compliant to RFC 3261, written in C++11.
It has the following main features:

  • Transports: SIP/UDP, SIP/TCP and SIP/TLS
  • NAT-aware with built-in media-relay module and STUN server
  • Digest authentication based on external SQL password database or static password file
  • Registrar
  • Routing based on registrar database or static route file, with forking
  • Interconnected with push notifications systems for reliably notifying mobile apps of incoming calls or messages
  • High level event logging for activity monitoring
  • High availability and cluster mode operation for large deployments

The project was started by Belledonne Communications in 2011. The focus was to develop a SIP proxy solution easy to install, configure and maintain, and offering “out of the box” all the required behaviors to deploy a SIP service tuned for mobile applications.

License

Flexisip is a general purpose SIP proxy with media capabilities.
It is released under the Affero GPL v3, which you should understand and agree on before deployment.

Modules

Requests and responses are processed through a chain of modules. Each module beeing responsible of a particular task.
There are notably a module for authentication, user registration, transcoding, media relay...

The reference documentation of the modules is available through several pages. See flexisip:module_list|here.

Configuration

In addition to the configuration file, an flexisip:snmp|SNMP interface is available, allowing remote administration or reconfiguration of the server.

Statistics

As the proxy processes requests and responses, several counters are incremented and exposed through the SNMP interface.
It helps understand the internal state of the proxy and makes troubleshooting easier.

Clustering

Several proxies can be used together in order to scale and tolerate faults. 

This is achieved by the combination of DNS-SRV records, multiple flexisip instances (on different servers) and a fault-tolerant Redis database.

For more information, see the flexisip:high_availability|High Availability page.

Created by SandrineAvakian on 2017/01/05 17:20