Registrar

Last modified by François Grisez on 2020/05/25 11:49

 Documentation based on repostory git version commit 1.0.13 

Module Registrar

The ModuleRegistrar module accepts REGISTERs for domains it manages, and store the address of record in order to allow routing requests destinated to the client who registered.
----

Configuration options:

NameDescriptionDefault ValueType
enabledIndicate whether the module is activated. trueBoolean
filterA 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') BooleanExpr
reg-domainsList of whitespace separated domain names to be managed by the registrar. It can eventually be the '*' (wildcard) in order to match any domain name. localhostStringList
reg-on-responseRegister 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. falseBoolean
max-contacts-by-aorMaximum number of registered contacts of an address of record. 12Integer
unique-id-parametersList 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 lineStringList
max-expiresMaximum expire time for a REGISTER, in seconds. 86400Integer
min-expiresMinimum expire time for a REGISTER, in seconds. 60Integer
force-expiresSet a value that will override expire times given by REGISTER requests. A null or negative value disables that feature. If it is enabled, max-expires and min-expires will not have any effect. -1Integer
static-records-fileFile containing the static records to add to database at 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-timeoutTimeout in seconds after which the static records file is re-read and the contacts updated. 600Integer
db-implementationImplementation used for storing address of records contact uris. Two backends are available:
 - redis : contacts are stored in a redis database, which allows persistent and shared storage accross multiple flexisip nodes
 - internal : contacts are stored in RAM. Of course, if flexisip is restarted, all contacts are lost until client update their registration.
 The redis backend is recommended, the internal being more adapted to very small deployments.
 internalString
redis-server-domainDomain of the redis server.  localhostString
redis-server-portPort of the redis server. 6379Integer
redis-auth-passwordAuthentication password for redis. Empty to disable. String
redis-server-timeoutTimeout in milliseconds of the redis connection. 1500Integer
redis-record-serializerSerialize contacts with: [C, protobuf, json, msgpack] protobufString
redis-slave-check-periodWhen Redis is configured in master-slave, flexisip will periodically ask what 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. 60Integer
service-routeSequence of proxies (space-separated) where requests will be redirected through (RFC3608) String
name-message-expiresThe name used for the expire time of forking message message-expiresString
register-expire-randomizer-maxMaximum percentage of the REGISTER expire to randomly remove, 0 to disable 0Integer