Liblinphone 5.6.0
 
Loading...
Searching...
No Matches
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_set_provisioning_uri().
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 signaling features.

SIP parameters
KeyValue typePossible valuesDefault valueAPI Description
sip_portinteger-2 - 65535-2=Don't Bindlinphone_core_set_transports() with linphone_transports_set_udp_port()

Sets the UDP port in the LinphoneTransports object.

sip_tcp_portinteger-2 - 65535-2=Don't Bindlinphone_core_set_transports() with linphone_transports_set_tcp_port()

Sets the TCP port in the LinphoneTransports object.

sip_tls_portinteger-2 - 65535-2=Don't Bindlinphone_core_set_transports() with linphone_transports_set_tls_port()

Sets the TLS port in the LinphoneTransports object.

default_proxyinteger-1 - INT_MAX-1linphone_core_set_default_account()

Sets the default account.

100rel_support_levelintegerLinphoneSupportLevelNoSupportlinphone_core_set_tag_100rel_support_level()

Defines what level of support is provided to the 100rel attribute.

auto_send_ringinginteger0 or 11linphone_core_auto_send_ringing_enabled()

Gets if the automatic sending of 180 Ringing is enabled or not.

automatic_http_proxy_detectioninteger0 or 10linphone_core_automatic_http_proxy_detection_enabled()

Returns whether automatic HTTP proxy detection is enabled.

capability_negotiations_reinviteinteger0 or 11linphone_core_capability_negotiation_reinvite_enabled()

Checks if the capability negotiation (RFC5939) reINVITE is enabled or not.

cfg_lines_mergeinteger0 or 11linphone_core_cfg_lines_merging_enabled()

Checks if cfg lines are going to the merged if the capability negotiation (RFC5939) is supported or not.

client_cert_chainstringA path""linphone_core_set_tls_cert_path()

Sets a TLS certificate path used for TLS authentication The path will be stored in the rc file and automatically restored on startup.

client_cert_keystringA key""linphone_core_set_tls_key_path()

Sets a TLS key path used for TLS authentication The path will be stored in the rc file and automatically restored on startup.

dscpintegerDSCP0linphone_core_set_sip_dscp()

Sets the DSCP field for SIP signaling channel.

http_proxy_hoststringa hostname""linphone_core_set_http_proxy_host()

Sets HTTP proxy address to be used for signaling during next channel connection.

http_proxy_portinteger0 - 655353128linphone_core_set_http_proxy_port()

Sets HTTP proxy port to be used for signaling.

in_call_timeoutinteger0–86400 (s)0linphone_core_set_in_call_timeout()

Sets the maximum duration of a call in seconds.

inc_timeoutinteger0–300 (s)Android and IOS: 45. Else: 30linphone_core_set_inc_timeout()

Sets the incoming call timeout in seconds.

keepalive_periodinteger0–60000 (ms)30000linphone_core_keep_alive_enabled()

Is signaling keep alive enabled.

linphone_specsstring"groupchat/1.1"""linphone_core_set_linphone_specs_list()

Sets the linphone specs list value telling what functionalities the linphone client supports.

media_encryption_mandatoryinteger0 or 10linphone_core_is_media_encryption_mandatory()

Checks if the configured media encryption is mandatory or not.

media_encryptionstringnone, srtp, zrtp, dtlsnonelinphone_core_set_media_encryption()

Chooses the media encryption type to be used for RTP packets.

push_incoming_call_timeoutintegerseconds15linphone_core_set_push_incoming_call_timeout()

Configures the minimum interval between a push notification and the corresponding incoming INVITE.

refresh_windowrangeRange of seconds90-90linphone_core_set_refresh_window()

Set the refresh window.

register_only_when_network_is_upinteger0 or 11linphone_core_set_register_only_when_network_is_up()

Sets if accounts will wait for network to be connected before trying to REGISTER.

root_castringa path""linphone_core_set_root_ca()

Sets the path to a file or folder containing trusted root CAs (PEM format)

sdp_200_ackinteger0 or 10linphone_core_sdp_200_ack_enabled()

Media offer control param for SIP INVITE.

session_expires_enabledinteger0 or 10linphone_core_session_expires_enabled()

Check if the Session Timers feature is enabled.

session_expires_min_valueintegerPositive number0linphone_core_set_session_expires_min_value()

Sets the session expires minSE value, forced to a minimum of 90 by default.

session_expires_refresher_valueintegerLinphoneSessionExpiresRefresherUnspecifiedlinphone_core_set_session_expires_refresher_value()

Sets the session expires refresher value.

session_expires_valueinteger0 or not lower than session_expires_min_value0linphone_core_set_session_expires_value()

Sets the session expires value, 0 by default.

sip_updateinteger0 or 11linphone_core_set_enable_sip_update()

Enable or disable the UPDATE method support.

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_set_srtp_crypto_suites()

Sets the crypto suites available to the core.

support_capability_negotiationsinteger0 or 10linphone_core_capability_negociation_enabled()

Checks if the capability negotiation (RFC5939) is supported or not.

supportedstringTags"replaces, outbound, gruu, path"linphone_core_set_supported_tag()

Set the SIP supported tags.

tcap_line_mergeinteger0 or 10linphone_core_tcap_lines_merging_enabled()

Checks if tcap lines are going to the merged if the capability negotiation (RFC5939) is supported or not.

transport_timeoutintegerMilliseconds15000linphone_core_set_sip_transport_timeout()

Sets the SIP transport timeout, which represents the maximum time permitted to establish a connection to a SIP server.

use_infointeger0 or 10linphone_core_set_use_info_for_dtmf()

Sets whether SIP INFO method can be used to send digits.

use_ipv6integer0 or 10linphone_core_ipv6_enabled()

Tells whether IPv6 is enabled or not.

use_rfc2833integer0 or 11linphone_core_set_use_rfc2833_for_dtmf()

Sets whether RFC2833 or RFC4633 can be to be used to send digits.

user_agentstringA user-agentPACKAGE_NAME/LIBLINPHONE_VERSIONlinphone_core_set_user_agent()

Set the user agent string used in SIP messages.

verify_server_certsinteger0 or 11linphone_core_verify_server_certificates()

Specify whether the tls server certificate must be verified when connecting to a SIP/TLS server.

verify_server_cninteger0 or 11linphone_core_verify_server_cn()

Specify whether the tls server certificate common name must be verified when connecting to a SIP/TLS server.

zero_rtp_port_for_stream_inactiveinteger0 or 10linphone_core_zero_rtp_port_for_stream_inactive_enabled()

Checks if RTP port is set to 0 when a stream is inactive.

Show private variables
Private SIP parameters
KeyValue typePossible valuesDefault valueDescription
mwi_expiresinteger0 - 999999986400The expiry time (in seconds) for message waiting indications (MWI) subscriptions
accounts_channel_isolationinteger0 or 10Always use one SIP connection per account.
account_strict_matchinginteger0 or 10Only for tests. linphone_core_account_strict_matching_enabled()
answer_with_own_numberinginteger0 or 10Set answer with own numbering policy
auto_answer_replacing_callsinteger0 or 10Automatically answer replacing calls. Used for tests
auto_net_state_moninteger0 or 11Enable automatic network state monitoring
bind_addressstringIP address0Set SIP listening address
bodyless_listsstringSIP URI separated by ','""Bodyless friend list
cnx_ip_to_0000_if_sendonly_enabledinteger0 or 10Use legacy method for send-only streams (use of 0.0.0.0 connection address)
disable_mediainteger0 or 10Disable media by ignoring SDP
force_name_addrinteger0 or 10Force all SIP headers enclosing addresses to use the name-addr ABNF serialization
handle_content_encodingstringnone, deflate, ...deflateTells whether the given transport type is supported by the library..linphone_core_content_encoding_supported()
notify_all_ringingsinteger0 or 10
only_one_codecinteger0 or 10Enforce one codec selection policy during SDP offer/answer
ping_pong_verificationinteger0 or 11Enable check with Ping-Pong (RFC5626)
pong_timeoutintegerseconds10Pong Timeout.
prefer_ipv6integer0 or 11Set IPV6 preference for SIP connections.
reconnect_to_primary_asapinteger0 or 10Enable the reconnection to the primary server when it is up again asap.
refresher_retry_afterintegerMilliseconds60000After a REGISTER connection failure, define the default retry-after period, if not given by server.
save_auth_infointeger0 or 11if true, auth infos will be write in the config file when they are added to the list
set_p_asserted_identity_in_responsesinteger0 or 10Include a P-Asserted-Identity (PAI) header in responses to incoming SIP calls.
sip_tls_well_known_portinteger0 - 655355061The well known TLS port
sip_well_known_portinteger0 - 655355060The well known TCP/UDP port
tcp_tls_keepaliveintegermilliseconds30000SIP keep-alive interval on TLS.
tls_certificate_subject_regexpstringregex""the purpose of this handling is to a peer certificate for which there is no single subject matching the regexp given in the "tls_certificate_subject_regexp" property
unreliable_connection_timeoutintegerseconds120Set the time interval in seconds after which a connection is considered to be unreliable because no data was received over it. belle_sip_stack_set_unreliable_connection_timeout().
use_no_initial_routeinteger0 or 10Use no initial route header
use_rportinteger0 or 11Use rport parameter in via
vfu_with_infointeger0 or 11Enable VFU request using SIP INFO

Audio - section [sound]

The sound section represents the audio configurations.

Audio parameters
KeyValue typePossible valuesDefault valueAPI Description
playback_gain_dbfloat-30 to +30 (dB)0linphone_core_set_playback_gain_db()

Allow to control play level before entering sound card: gain in db.

mic_gain_dbfloat-30 to +30 (dB)0linphone_core_set_mic_gain_db()

Allow to control microphone level: gain in db.

echocancellationinteger0 or 11linphone_core_enable_echo_cancellation()

Enables or disables echo cancellation.

use_filesinteger0 or 10linphone_core_set_use_files()

Ask the core to stream audio from and to files, instead of using the soundcard.

Video - section [video]

The video section represents the video configuration.

Video parameters
KeyValue typePossible valuesDefault valueAPI Description
captureinteger0 or 11linphone_core_enable_video_capture()

Enable or disable video capture.

displayinteger0 or 11linphone_core_enable_video_display()

Enable or disable video display.

sizestringqcif, cif, vga, 720pvgalinphone_core_set_preferred_video_definition_by_name()

Sets the preferred video definition by its name.

Network - section [net]

The net section represents the network configuration.

Network parameters
KeyValue typePossible valuesDefault valueAPI Description
adaptive_rate_controlinteger0 or 11linphone_core_enable_adaptive_rate_control()

Enable adaptive rate control.

adaptive_rate_algorithmstring"advanced", "basic""advanced"linphone_core_set_adaptive_rate_algorithm()

Sets adaptive rate algorithm.

download_bwintegerany positive integer or 00linphone_core_set_download_bandwidth()

Sets maximum available download bandwidth This is IP bandwidth, in kbit/s.

upload_bwintegerany positive integer or 00linphone_core_set_upload_bandwidth()

Sets maximum available upload bandwidth This is IP bandwidth, in kbit/s.

mtuinteger576–15001300linphone_core_set_mtu()

Sets the maximum transmission unit size in bytes.

dns_srv_enabledinteger0 or 11linphone_core_enable_dns_srv()

Enable or disable DNS SRV resolution.

dns_search_enabledinteger0 or 11linphone_core_enable_dns_search()

Enable or disable DNS search (use of local domain if the fully qualified name did return results).

push_notificationinteger0 or 10linphone_core_enable_push_notification()

Enables or disables push notifications on Android & iOS.

wifi_onlyinteger0 or 10linphone_core_enable_wifi_only()

Turns Wifi only mode on or off.

friendlist_subscription_enabledinteger0 or 11linphone_core_enable_friend_list_subscription()

Sets whether or not to start friend lists subscription when in foreground.

nat_policy_refstringa NAT policy section name""linphone_core_set_nat_policy()

Set the policy to use to pass through NATs/firewalls.

Show private variables
Private Network parameters
KeyValue typePossible valuesDefault valueDescription
download_ptimeintegerpositive integer-1Packetization time for download in milliseconds (deprecated in favor of [rtp] download_ptime)
enable_nat_helperinteger0 or 11Enable or disable the SIP provider NAT helper
nat_sdp_onlyinteger0 or 10Obsolete parameter to force NAT address only in SDP
activate_edge_workaroundsinteger0 or 10Enable 2G/EDGE workarounds when STUN ping exceeds threshold
edge_ping_timeintegerpositive integer500STUN ping time threshold in milliseconds to trigger EDGE workarounds
edge_bwintegerpositive integer20Bandwidth limit in kbit/s applied in EDGE low bandwidth mode
edge_ptimeintegerpositive integer100Packetization time in milliseconds applied in EDGE low bandwidth mode
recreate_sockets_when_network_is_upinteger0 or 10Recreate media sockets when network connectivity is recovered
dtmf_delay_msintegerpositive integer200Delay between DTMF tones in milliseconds for a DTMF sequence
android_ignore_network_background_restrictioninteger0 or 10Ignore Android background network restrictions
allow_late_iceinteger0 or 10Allow late ICE negotiation after call establishment
ice_session_enable_message_integrity_checkinteger0 or 11Enable message integrity checks on ICE STUN packets
dont_default_to_stun_candidatesinteger0 or 10Do not default to STUN reflexive candidates in ICE session

RTP - section [rtp]

The rtp section represents the RTP configuration.

RTP parameters
KeyValue typePossible valuesDefault valueAPI Description
audio_rtp_portinteger1024–65535-1 (random)linphone_core_set_audio_port_range()

Sets the UDP port range from which to randomly select the port used for audio streaming.

video_rtp_portinteger1024–65535-1 (random)linphone_core_set_video_port_range()

Sets the UDP port range from which to randomly select the port used for video streaming.

nortp_timeoutinteger0–300 (s)30linphone_core_set_nortp_timeout()

Sets the no-rtp timeout value in seconds.

rtp_no_xmit_on_audio_muteinteger0 or 10linphone_core_set_rtp_no_xmit_on_audio_mute()

Enables or disables RTP transmission when audio is muted.

rtcp_muxinteger0 or 10linphone_core_enable_rtcp_mux()

Enables or disables rtcp-mux.

accept_rtcp_muxinteger0 or 11linphone_core_enable_accept_rtcp_mux()

Enables or disables the acceptance of rtcp-mux when proposed in an incoming offer.

Show private variables
Private RTP parameters
KeyValue typePossible valuesDefault valueDescription
rtp_symmetricinteger0 or 10Enable symmetric RTP assumption
rtcp_enabledinteger0 or 11Enable RTCP
csrc_usage_allowedinteger0 or 10Allow CSRC usage in RTP streams generated by mixers, typically in conferences.

Chat - section [chat]

The chat section represents the global chat configuration settings of a LinphoneCore. Table chat parameters lists all parameters one may find under section [chat] of a Linphone RC file.

Chat parameters
KeyValue typePossible valuesDefault valueAPI Description
delete_contentsinteger0 or 10linphone_core_enable_chat_message_files_deletion()

Enable automatic deletion of files attached to LinphoneChatMessage .

ephemeral_message_policyintegerLinphoneEphemeralChatMessagePolicyLinphoneEphemeralChatMessagePolicyDisabledlinphone_core_set_ephemeral_chat_message_policy()

Sets the policy for ephemeral chat messages.

message_automatic_resending_sintegerany positive integer or 010linphone_core_set_message_automatic_resending_delay()

It sets the duration of the timer to resend a message when the channel is broken (i.e.

delay_message_send_sintegerany positive integer or 010linphone_core_set_message_sending_delay()

Sets the maximum duration, in seconds, that a chatroom will wait for the NOTIFY carrying the full state of an encrypted chatroom before sending the chat message anyway.

delay_message_send_app_ext_sintegerany positive integer or 03linphone_core_set_message_sending_delay_app_ext()

It sets the duration of the timer to delay the sending of chat messages in flexisip based chatrooms after sending the SUBSCRIBE out.

sender_name_hidden_in_forward_messageinteger0 or 10linphone_core_enable_sender_name_hidden_in_forward_message()

Enables whether or not to hide sender name in forwarded message.

imdn_to_everybody_thresholdintegerany positive integer5linphone_core_set_imdn_to_everybody_threshold()

Sets the threshold for sending IMDN to all participants in a group LinphoneChatRoom.

max_participants_per_chatroomintegerany integer-1linphone_core_set_max_participants_per_chatroom()

It sets the maximum number of participants a LinphoneChatRoom object on a server can support.

chat_room_handling_setintegerenumeration LinphoneChatRoomHandlingSetLinphoneChatRoomHandlingSetAlllinphone_core_set_chat_rooms_handling_set()

Set the category of chatrooms are handled by the core.

Show private variables
Private chat parameters
KeyValue typePossible valuesDefault valueDescription
max_delay_to_edit_retract_already_sent_messageinteger0 - INT_MAX84600Maximum delay in seconds to edit or retract a sent message.

Miscellaneous - section [misc]

The misc section represents unspecific options.

Miscellaneous parameters
KeyValue typePossible valuesDefault valueAPI Description
max_callsinteger0 - INT_MAX10linphone_core_set_max_calls()

Sets the maximum number of simultaneous calls Linphone core can manage at a time.

user_agentstringRFC3261 compatible user-agent value""linphone_core_set_user_agent()

Set the user agent string used in SIP messages.

empty_chat_room_deletioninteger0 or 10linphone_core_enable_empty_chatrooms_deletion()

Enable the deletion of empty chatrooms (i.e.

SIP accounts - section [proxy_N]

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

SIP account parameters
KeyValue typePossible valuesDefault valueAPI Description
reg_identitystringSIP address""linphone_account_params_set_identity_address()

Sets the user identity as a SIP address.

reg_proxystringSIP address""linphone_account_params_set_server_address()

Sets the SIP proxy or registrar address.

reg_routestringSIP address""linphone_account_params_set_routes_addresses()

Sets a list of SIP route.

reg_sendregisterboolean0 or 11linphone_account_params_enable_register()

Indicates either or not, REGISTRATION must be issued for this LinphoneAccountParams.

reg_expiresintegerany strictly positive integer3600linphone_account_params_set_expires()

Sets the registration expiration time in seconds.

realmstringany string""linphone_account_params_set_realm()

Set the realm of the given account params.

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 LinphoneFriend objects.
LDAP connection configuration has it is own password key, and it is not relying at all on the LinphoneAuthInfo 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 valueAPI Description
enabledinteger0 or 11linphone_remote_contact_directory_enable()

Enable this remote contact directory, ie make it usable for searches with the LinphoneMagicSearch object.

typestringcarddav or ldap""linphone_remote_contact_directory_get_type()

Gets the type of remote contact directory (LDAP, CardDAV).

uristringa URI""linphone_remote_contact_directory_set_server_url()

Sets the server URL to use to reach the remote contact directory server.

min_charactersintegerany positive integer or 03linphone_remote_contact_directory_set_min_characters()

Sets the minimum number of characters to have before sending the query to the server.

results_limitintegerany positive integer or 00linphone_remote_contact_directory_set_limit()

Sets the maximum number of results to fetch, 0 means no limit.

timeoutintegerany positive integer or 05linphone_remote_contact_directory_set_timeout()

Sets the timeout (in seconds) after which the query is abandonned.

delayintegerany positive integer or 0500linphone_remote_contact_directory_set_delay()

Sets the delay between each search in milliseconds.

Show private variables
Private Remote Contact directory parameters
KeyValue typePossible valuesDefault valueDescription
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 LinphoneAuthInfo object, whose configuration storage representation is of [auth_info_N] sections, numbered continuously from 0.
Table authentication information parameters lists all parameters one may find under section [auth_info_N] of a Linphone RC file.

Authentication information parameters
KeyValue typePossible valuesDefault valueAPI Description
usernamestringanything""linphone_auth_info_set_username()

Sets the username.

domainstringanything""linphone_auth_info_set_domain()

Sets the domain for which this authentication is valid.

passwdstringanything""linphone_auth_info_set_password()

Sets the password.

realmstringanything""linphone_auth_info_set_realm()

Sets the realm.

ha1stringanything""linphone_auth_info_set_ha1()

Sets the ha1.

algorithmstringMD5MD5linphone_auth_info_set_algorithm()

Sets the algorithm to use.

authorization_serverstringany HTTP/HTTPS URI""linphone_auth_info_set_authorization_server()

Sets the authorization server URI.

token_endpointstringany HTTP/HTTPS URI""linphone_auth_info_set_token_endpoint_uri()

Sets the token endpoint HTTPS URI (OAUTH2).

client_idstringanything""linphone_auth_info_set_client_id()

Sets the OAUTH2 client_id.

client_secretstringanything""linphone_auth_info_set_client_secret()

Sets the OAUTH2 client_secret.

Storage - section [storage]

The storage section represents the global storage configuration settings of a LinphoneCore. Table storage parameters lists all parameters one may find under section [storage] of a Linphone RC file.

Storage parameters
KeyValue typePossible valuesDefault valueAPI Description
update_db_at_initialisationboolean0 or 11linphone_core_enable_update_db_at_startup()

Enable or disable database initialization at start up If it is disabled, the database scheme will not be created during the SDK boot phase and the end user is responsible to ensure that it has been created beforehand.