Liblinphone  5.5.0
Provisioning configuration keys

This document lists the supported sections and keys of the ini-style linphonerc configuration file.


This configuration can be served through https in order to remotely configure a linphone-sdk based application, see Linphone.Core.ProvisioningUri().
The Flexisip Account Manager has built-in support for remote provisioning Linphone or linphone-sdk based client applications.

Warning
this page is under construction, not all section and keys are yet referenced.

SIP - section [sip]

The sip section represents a general configuration for SIP.

SIP parameters
KeyValue typePossible valuesDefault valueAPI
100rel_support_levelintegerLinphone.SupportLevelNoSupportLinphone.Core.Tag100RelSupportLevel()
auto_send_ringinginteger0 or 11Linphone.Core.AutoSendRingingEnabled()
automatic_http_proxy_detectioninteger0 or 10Linphone.Core.AutomaticHttpProxyDetectionEnabled()
capability_negotiations_reinviteinteger0 or 11Linphone.Core.CapabilityNegotiationReinviteEnabled()
cfg_lines_mergeinteger0 or 11Linphone.Core.CfgLinesMergingEnabled()
client_cert_chainstringA path""Linphone.Core.TlsCertPath()
client_cert_keystringA key""Linphone.Core.TlsKeyPath()
contactstringSIP URI (e.g. sip:user@host)""Linphone.Core.PrimaryContact()
delayed_timeoutintegerseconds4Linphone.Core.DelayedTimeout()
dscpintegerDSCP0Linphone.Core.SipDscp()
enable_go_clearinteger0 or 10Linphone.Core.ZrtpGoClearEnabled()
guess_hostnameinteger0 or 11Linphone.Core.GuessHostname()
http_proxy_hoststringa hostname""Linphone.Core.HttpProxyHost()
http_proxy_portinteger0 - 655353128Linphone.Core.HttpProxyPort()
ice_enabledinteger0 or 11Linphone.NatPolicy.IceEnabled()
in_call_timeoutinteger0–86400 (s)0Linphone.Core.InCallTimeout()
inc_timeoutinteger0–300 (s)Android and IOS: 45. Else: 30Linphone.Core.IncTimeout()
keepalive_periodinteger0–60000 (ms)30000Linphone.Core.KeepAliveEnabled()
linphone_specsstring"groupchat/1.1"""Linphone.Core.LinphoneSpecsList()
media_encryption_mandatoryinteger0 or 10Linphone.Core.IsMediaEncryptionMandatory()
media_encryptionstringnone, srtp, zrtpnoneLinphone.Core.MediaEncryption()
push_incoming_call_timeoutintegerseconds15Linphone.Core.PushIncomingCallTimeout()
refresh_windowrangeRange of seconds90-90Linphone.Core.SetRefreshWindow()
register_only_when_network_is_upinteger0 or 11Linphone.Core.RegisterOnlyWhenNetworkIsUp()
root_castringa path""Linphone.Core.RootCa()
sdp_200_ackinteger0 or 10Linphone.Core.Sdp200AckEnabled()
session_expires_enabledinteger0 or 10Linphone.Core.SessionExpiresEnabled()
session_expires_min_valueintegerPositive number0Linphone.Core.SessionExpiresMinValue()
session_expires_refresher_valueintegerLinphone.SessionExpiresRefresherUnspecifiedLinphone.Core.SessionExpiresRefresherValue()
session_expires_valueinteger0 or not lower than session_expires_min_value0Linphone.Core.SessionExpiresValue()
sip_updateinteger0 or 11Linphone.Core.EnableSipUpdate()
srtp_crypto_suitesstringList"AEAD_AES_128_GCM, AES_CM_128_HMAC_SHA1_80, AEAD_AES_256_GCM, AES_256_CM_HMAC_SHA1_80"Linphone.Core.SrtpCryptoSuites()
stun_enabledinteger0 or 10Linphone.NatPolicy.StunEnabled()
stun_serverstringhostname or IP""Linphone.NatPolicy.StunServer()
support_capability_negotiationsinteger0 or 10Linphone.Core.CapabilityNegociationEnabled()
supportedstringTags"replaces, outbound, gruu, path"Linphone.Core.SupportedTag()
tcap_line_mergeinteger0 or 10Linphone.Core.TcapLinesMergingEnabled()
transport_timeoutintegerMilliseconds15000Linphone.Core.SipTransportTimeout()
use_infointeger0 or 10Linphone.Core.UseInfoForDtmf()
use_ipv6integer0 or 10Linphone.Core.Ipv6Enabled()
use_rfc2833integer0 or 11Linphone.Core.UseRfc2833ForDtmf()
user_agentstringA user-agentPACKAGE_NAME/LIBLINPHONE_VERSIONLinphone.Core.UserAgent()
verify_server_certsinteger0 or 11Linphone.Core.VerifyServerCertificates()
verify_server_cninteger0 or 11Linphone.Core.VerifyServerCn()
zero_rtp_port_for_stream_inactiveinteger0 or 10Linphone.Core.ZeroRtpPortForStreamInactiveEnabled()

SIP accounts - section [proxy_N]

The proxy_N sections represents SIP accounts.
Their name inherits from the legacy object name Linphone.ProxyConfig in liblinphone, that is now superseeded by by the Linphone.Account and Linphone.AccountParams object, but the linphonerc section name was left unchanged to preserve configuration file compatibility.

SIP account parameters
KeyValue typePossible valuesDefault valueDescription
reg_identitystringSIP address""The SIP address of the user, as to be sent in the From header of the REGISTER request
reg_proxystringSIP address""The address of the SIP server
reg_routestringSIP address""An optional SIP address to include as a route
reg_sendregisterboolean0 or 11Whether to send a REGISTER request
reg_expiresintegerany strictly positive integer3600The expiry of the REGISTER, in seconds
realmstringany string""The authentication realm of the SIP service, used to match with authentication information

Remote contact directories - section [remote_contact_directory_N]

Their role is not to present a permanent list of contacts to the user, but rather return, per a search request, a list of contacts that match the request.
The search request is transmitted through the protocol (LDAP or CardDav), and executed on the server. The server's response is analysed and search results are represented as a list of Linphone.Friend objects.
LDAP connection configuration has it is own password key, and it is not relying at all on the Linphone.AuthInfo objects, unlike all other liblinphone initiated connections.
Table remote contact directory parameters lists all remote contact directory parameters one may find under section [remote_contact_directory_N] of a Linphone RC file.

Remote Contact directory parameters
KeyValue typePossible valuesDefault valueDescription
enabledinteger0 or 11Whether the remote contact directory is enabled
typestringcarddav or ldap""The type (protocol) used by the remote contact directory
uristringa URI""The server URI, typically ldap://example.org or https://carddav.example.org
min_charactersintegerany positive integer or 03The minimum number of characters needed to submit the request
results_limitintegerany positive integer or 00Limit on the number of returned results. 0 means returns all results
timeoutintegerany positive integer or 05Request timeout in seconds
delayintegerany positive integer or 0500Delay in milliseconds before submitting the request
carddav_fields_for_user_inputstring""List of comma separated VCard fields to match with the user input
carddav_fields_for_domainstring""List of comma separated VCard fields to match for SIP domain
carddav_use_exact_match_policyinteger0 or 10Whether the match must be exact or approximate (ignoring accents, case, ...)
ldap_bind_dnstring""LDAP bind distinguished name
ldap_auth_methodinteger0: anonymous1LDAP authentication method
1: simple
ldap_base_objectstring""LDAP base object
ldap_name_attributestring"sn"LDAP attribute(s) to browse for contact names
ldap_sip_attributestring"mobile,telephonenumber,homephone,sn"LDAP attribute(s) to use to create SIP URIs associated with this remote contact directory
ldap_sip_domainstring""A SIP domain to filter results
ldap_filterstring"(sn=%s)"A LDAP search filter

Authentication - section [auth_info_N]

The auth_info sections provide authentication information to use for SIP as well as http services (typically remote provisioning, cardDav requests). They need to be supplied in the form of a Linphone.AuthInfo object, whose configuration storage representation is of [auth_info_N] sections, numbered continuously from 0.
Table authentication information parameters lists all remote contact directory parameters one may find under section [auth_info_N] of a Linphone RC file.

Authentication information parameters
KeyValue typePossible valuesDefault valueDescription
usernamestringanything""The username to use for authenticating
domainstringanything""A SIP domain to which the use of thie Linphone.AuthInfo is scoped to
passwdstringanything""The clear-text password
realmstringanything""The realm advertised by the server, it may be left empty if unknown
ha1stringanything""A digest HA1 of the password
algorithmstringMD5MD5The digest algorithm
SHA-256
authorization_serverstringany HTTP/HTTPS URI""An OAUTH/OpenID connect authorization server URI to use to autheticate
token_endpointstringany HTTP/HTTPS URI""URI of endpoint to refresh tokens
client_idstringanything""OAUTH client ID
client_secretstringanything""OAUTH client secret