Registrar

Last modified by Buildbot on 2024/05/10 01:10

 Documentation based on repostory git version commit 2.4.0-alpha-166-gbd70a12d 

Module Registrar

The ModuleRegistrar module handles REGISTERs for domains it is in charge of, and store the address of record in order to allow routing requests destinated to the client who registered. REGISTERs for other domains are simply ignored and given to the next module.
----

Configuration options:

NameDescriptionDefault ValueDefault UnitType
enabled

Indicate whether the module is activated.

 true Boolean
filter

A request/response enters module if the boolean filter evaluates to true. Ex: from.uri.domain contains 'sip.linphone.org', from.uri.domain in 'a.org b.org c.org', (to.uri.domain in 'a.org b.org c.org') && (user-agent == 'Linphone v2'). You can consult the full filter documentation here : https://wiki.linphone.org/xwiki/wiki/public/view/Flexisip/Configuration/Filter%20syntax/

  BooleanExpr
reg-domains

List of whitespace separated domain names which the registar is in charge of. It can eventually be the '*' (wildcard) in order to match any domain name.

 localhost StringList
reg-on-response

Register users based on response obtained from a back-end server. This mode is for using flexisip as a front-end server to hold client connections but registeracceptance is deferred to backend server to which the REGISTER is routed.

 false Boolean
max-contacts-by-aor

Maximum number of registered contacts per address of record.

 12 Integer
unique-id-parameters

List of contact URI parameters that can be used to identify a user's device. The contact parameters are searched in the order of the list, the first matching parameter is used and the others ignored.

 +sip.instance pn-tok line StringList
enable-gruu

When supported by the client, assign a pub-gruu address to the client, returned in the response.

 true Boolean
max-expires

Maximum expire time for a REGISTER.

 86400 secondDurationS
min-expires

Minimum expire time for a REGISTER.

 60 secondDurationS
force-expires

Set a value that will override expire times given by the REGISTER requests. A null or negative value disables that feature. If it is enabled, max-expires and min-expires will not have any effect.

 -1 Integer
static-records-file

File containing the static records to add to database on startup. Format: one 'sip_uri contact_header' by line. Example:
<sip:contact@domain> <sip:127.0.0.1:5460>,<sip:192.168.0.1:5160>

  String
static-records-timeout

Timeout after which the static records file is re-read and the contacts updated.

 600 secondDurationS
db-implementation

Implementation used for storing the contact URIs of each address of record. Two backends are available:
 - redis : contacts are stored in a Redis database, which allows persistent and shared storage accross multiple Flexisip instances.
 - internal : contacts are stored in RAM. Of course, if flexisip is restarted, all the contact URIs are lost until clients update their registration.
The redis backend is recommended, the internal being more adapted to very small deployments.

 internal String
redis-server-domain

Hostname or address of the Redis server.

 localhost String
redis-server-port

Port of the Redis server.

 6379 Integer
redis-auth-user

ACL username used to authenticate on Redis. Empty to disable. Setting this but not `redis-auth-password` is a misconfiguration, and will be ignored.

  String
redis-auth-password

Authentication password for Redis. Empty to disable. If set but `redis-auth-user` is left unset or empty, Flexisip will attempt to register in legacy mode.

  String
redis-slave-check-period

When Redis is configured in master-slave, Flexisip will periodically ask which Redis instances are the slaves and the master. This is the period with which it will query the server. It will then determine whether is is connected to the master, and if not, let go of the connection and migrate to the master.
Note: This requires that all Redis instances have the same password. Otherwise the authentication will fail.

 60 secondDurationS
redis-use-slaves-as-backup

Tell if Flexisip should try to connect to Redis slaves if master went down. Can be disabled if slaves hostname info are on private network for example.

 true Boolean
service-route

Sequence of proxies (space-separated) where requests will be redirected through (RFC3608)

  String
message-expires-param-name

Name of the custom Contact header parameter which is to indicate the expire time for chat message delivery.

 message-expires String
register-expire-randomizer-max

If not zero, the expire time put in the 200 OK response won't be the one required by the user agent, but will be slightly modified by substracting a random value. The value given by this parameter is the maximum percentage of the initial expire that can be substracted.
If zero, no randomization is applied.

 0 Integer