linphone::Core Class Reference

Main object to instanciate and on which to keep a reference. More...

`#include <core.hh>`

Inheritance diagram for linphone::Core:

## Public Types

enum class | LogCollectionUploadState { InProgress = 0 , Delivered = 1 , NotDelivered = 2 }
| Used to notify if log collection upload have been succesfully delivered or not. More...

## Public Member Functions

LINPHONECXX_PUBLIC | Core (void *ptr, bool takeRef=true)
LINPHONECXX_PUBLIC _LinphoneCore * | cPtr ()
LINPHONECXX_PUBLIC void | addListener (const std::shared_ptr< CoreListener > &listener)
| Add an application listener to the Core instance.
LINPHONECXX_PUBLIC void | removeListener (const std::shared_ptr< CoreListener > &listener)
| Remove a previously added listener from the Core instance.
LINPHONECXX_PUBLIC linphone::AccountCreator::Backend | getAccountCreatorBackend () const
| Get the AccountCreator backend set for the Core.
LINPHONECXX_PUBLIC void | setAccountCreatorBackend (linphone::AccountCreator::Backend backend)
| Set the AccountCreator backend on the Core.
LINPHONECXX_PUBLIC std::string | getAccountCreatorUrl ()
| Get the AccountCreator url on the Core.
LINPHONECXX_PUBLIC void | setAccountCreatorUrl (const std::string &url)
| Set the AccountCreator url on the Core.
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::Account > > | getAccountList () const
| Returns an unmodifiable list of entered accounts.
LINPHONECXX_PUBLIC std::string | getAdaptiveRateAlgorithm () const
| Returns which adaptive rate algorithm is currently configured for future calls.
LINPHONECXX_PUBLIC void | setAdaptiveRateAlgorithm (const std::string &algorithm)
| Sets adaptive rate algorithm.
LINPHONECXX_PUBLIC bool | adaptiveRateControlEnabled () const
| Returns whether adaptive rate control is enabled.
LINPHONECXX_PUBLIC void | enableAdaptiveRateControl (bool enabled)
| Enable adaptive rate control.
LINPHONECXX_PUBLIC bool | agcEnabled () const
| Tells whether the experimental software Automatic Gain Control is activated.
LINPHONECXX_PUBLIC void | enableAgc (bool val)
| Enable the experimental software Automatic Gain Control.
LINPHONECXX_PUBLIC bool | alertsEnabled () const
| Returns whether alert reporting is enabled.
LINPHONECXX_PUBLIC void | enableAlerts (bool enable)
| Enable alerts.
LINPHONECXX_PUBLIC bool | audioAdaptiveJittcompEnabled ()
| Tells whether the audio adaptive jitter compensation is enabled.
LINPHONECXX_PUBLIC void | enableAudioAdaptiveJittcomp (bool enable)
| Enable or disable the audio adaptive jitter compensation.
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::AudioDevice > > | getAudioDevices () const
| Returns a list of audio devices, with only the first device for each type To have the list of all audio devices, use getExtendedAudioDevices()
LINPHONECXX_PUBLIC int | getAudioDscp () const
| Get the DSCP field for outgoing audio streams.
LINPHONECXX_PUBLIC void | setAudioDscp (int dscp)
| Set the DSCP field for outgoing audio streams.
LINPHONECXX_PUBLIC int | getAudioJittcomp ()
| Returns the nominal audio jitter buffer size in milliseconds.
LINPHONECXX_PUBLIC void | setAudioJittcomp (int milliseconds)
| Sets the nominal audio jitter buffer size in milliseconds.
LINPHONECXX_PUBLIC std::string | getAudioMulticastAddr () const
| Use to get multicast address to be used for audio stream.
LINPHONECXX_PUBLIC linphone::Status | setAudioMulticastAddr (const std::string &ip)
| Use to set multicast address to be used for audio stream.
LINPHONECXX_PUBLIC bool | audioMulticastEnabled () const
| Use to get multicast state of audio stream.
LINPHONECXX_PUBLIC void | enableAudioMulticast (bool yesno)
| Use to enable multicast rtp for audio stream.
LINPHONECXX_PUBLIC int | getAudioMulticastTtl () const
| Use to get multicast ttl to be used for audio stream.
LINPHONECXX_PUBLIC linphone::Status | setAudioMulticastTtl (int ttl)
| Use to set multicast ttl to be used for audio stream.
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::PayloadType > > | getAudioPayloadTypes ()
| Return the list of the available audio payload types.
LINPHONECXX_PUBLIC void | setAudioPayloadTypes (const std::list< std::shared_ptr< linphone::PayloadType > > &payloadTypes)
| Redefine the list of the available payload types.
LINPHONECXX_PUBLIC int | getAudioPort () const
| Gets the UDP port used for audio streaming.
LINPHONECXX_PUBLIC void | setAudioPort (int port)
| Sets the UDP port used for audio streaming.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Range > | getAudioPortsRange () const
| Get the audio port range from which is randomly chosen the UDP port used for audio streaming.
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::AuthInfo > > | getAuthInfoList () const
| Returns an unmodifiable list of currently entered AuthInfo.
LINPHONECXX_PUBLIC bool | autoDownloadIcalendarsEnabled ()
| Gets if the auto download for incoming icalendars is enabled or not.
LINPHONECXX_PUBLIC void | enableAutoDownloadIcalendars (bool autoDownloadIcalendars)
| Auto download files attach to a chat message if it's content type matches the one we use for icalendars.
LINPHONECXX_PUBLIC bool | autoDownloadVoiceRecordingsEnabled ()
| Gets if the auto download for incoming voice recordings is enabled or not.
LINPHONECXX_PUBLIC void | enableAutoDownloadVoiceRecordings (bool autoDownloadVoiceRecordings)
| Auto download files attach to a chat message if it's content type matches the one we use for voice recordings.
LINPHONECXX_PUBLIC int | getAutoIterateBackgroundSchedule () const
| Gets the timer used to schedule the call to core.iterate() method when in background (Android only).
LINPHONECXX_PUBLIC void | setAutoIterateBackgroundSchedule (int schedule)
| Sets the timer used to schedule the call to core.iterate() method when in background (Android only).
LINPHONECXX_PUBLIC bool | autoIterateEnabled () const
| Gets whether auto iterate is enabled or not (Android & iOS only).
LINPHONECXX_PUBLIC void | enableAutoIterate (bool enable)
| Enable or disable the automatic schedule of iterate() method on Android & iOS.
LINPHONECXX_PUBLIC int | getAutoIterateForegroundSchedule () const
| Gets the timer used to schedule the call to core.iterate() method when in foreground (Android only).
LINPHONECXX_PUBLIC void | setAutoIterateForegroundSchedule (int schedule)
| Sets the timer used to schedule the call to core.iterate() method when in foreground (Android only).
LINPHONECXX_PUBLIC bool | autoSendRingingEnabled ()
| Gets if the automatic sending of 180 Ringing is enabled or not.
LINPHONECXX_PUBLIC void | enableAutoSendRinging (bool enable)
| Enables the automatic sending of 180 Ringing when receiving a call.
LINPHONECXX_PUBLIC bool | automaticHttpProxyDetectionEnabled () const
| Returns whether automatic http proxy is enabled.
LINPHONECXX_PUBLIC void | enableAutomaticHttpProxyDetection (bool enable)
| Enables or disables automatic http proxy detection.
LINPHONECXX_PUBLIC linphone::AVPFMode | getAvpfMode () const
| Return AVPF enablement.
LINPHONECXX_PUBLIC void | setAvpfMode (linphone::AVPFMode mode)
| Enable RTCP feedback (also known as RTP/AVPF profile).
LINPHONECXX_PUBLIC int | getAvpfRrInterval () const
| Return the avpf report interval in seconds.
LINPHONECXX_PUBLIC void | setAvpfRrInterval (int interval)
| Set the avpf report interval in seconds.
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::CallLog > > | getCallLogs ()
| Get the list of call logs (past calls).
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::string | getCallLogsDatabasePath ()
| Gets the database filename where call logs will be stored.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED void | setCallLogsDatabasePath (const std::string &path)
| Sets the database filename where call logs will be stored.
LINPHONECXX_PUBLIC bool | callToneIndicationsEnabled () const
| Check whether tone indications of calls are enabled.
LINPHONECXX_PUBLIC void | enableCallToneIndications (bool yesno) const
| Enables or disables call tone indications.
LINPHONECXX_PUBLIC bool | callkitEnabled () const
| Special function to check if the callkit is enabled, False by default.
LINPHONECXX_PUBLIC void | enableCallkit (bool enabled)
| Special function to enable the callkit.
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::Call > > | getCalls ()
| Gets the current list of calls.
LINPHONECXX_PUBLIC int | getCallsNb () const
| Get the number of Call.
LINPHONECXX_PUBLIC int | getCameraSensorRotation ()
| Get the camera sensor rotation.
LINPHONECXX_PUBLIC bool | capabilityNegociationEnabled () const
| Check if the capability negotiation (RFC5939) is supported or not.
LINPHONECXX_PUBLIC void | enableCapabilityNegociation (bool enable)
| Define whether capability negotiation (RFC5939) is supported.
LINPHONECXX_PUBLIC bool | capabilityNegotiationReinviteEnabled () const
| Check if the capability negotiation (RFC5939) reINVITE is enabled or not.
LINPHONECXX_PUBLIC void | enableCapabilityNegotiationReinvite (bool enable)
| Define whether capability negotiation (RFC5939) reINVITE is enabled.
LINPHONECXX_PUBLIC std::string | getCaptureDevice ()
| Gets the name of the currently assigned sound device for capture.
LINPHONECXX_PUBLIC linphone::Status | setCaptureDevice (const std::string &devid)
| Sets the sound device used for capture.
LINPHONECXX_PUBLIC bool | cfgLinesMergingEnabled () const
| Check if cfg lines are going to the merged if the capability negotiation (RFC5939) is supported or not.
LINPHONECXX_PUBLIC void | enableCfgLinesMerging (bool merge)
| Define whether cfg lines are going to be merged if capability negotiation (RFC5939) is supported.
LINPHONECXX_PUBLIC bool | chatEnabled () const
| Returns whether chat is enabled.
LINPHONECXX_PUBLIC bool | getChatMessagesAggregationEnabled ()
| Returns whether chat messages grouping is enabled or not.
LINPHONECXX_PUBLIC void | setChatMessagesAggregationEnabled (bool enabled)
| Sets whether chat messages grouping is enabled or not.
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::ChatRoom > > | getChatRooms ()
| Returns a list of chat rooms.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::Conference > | getConference ()
| Get a pointer on the internal conference object.
LINPHONECXX_PUBLIC bool | conferenceIcsInMessageBodyEnabled () const
| Gets wether conference invitations will be sent in the chat message body or as a file attachment.
LINPHONECXX_PUBLIC void | enableConferenceIcsInMessageBody (bool enable)
| Enable sending conference invitations in the chat message body instead of as a file attachment.
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::ConferenceInfo > > | getConferenceInformationList ()
| Retrieve the list of conference information on DB.
LINPHONECXX_PUBLIC float | getConferenceLocalInputVolume ()
| Get the set input volume of the local participant.
LINPHONECXX_PUBLIC linphone::Conference::ParticipantListType | getConferenceParticipantListType () const
| Tells whether the default conference participant list is open or closed.
LINPHONECXX_PUBLIC void | setConferenceParticipantListType (linphone::Conference::ParticipantListType type)
| Select whether the default conference participant list is open or closed.
LINPHONECXX_PUBLIC bool | conferenceServerEnabled () const
| Tells whether the conference server feature is enabled.
LINPHONECXX_PUBLIC void | enableConferenceServer (bool enable)
| Enable the conference server feature.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED int | getConferenceSize ()
| Get the number of participants including me, if it in, in the running conference.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Config > | getConfig () const
| Returns the config object used to manage the storage (config) file.
LINPHONECXX_PUBLIC linphone::ConsolidatedPresence | getConsolidatedPresence () const
| Get my consolidated presence.
LINPHONECXX_PUBLIC void | setConsolidatedPresence (linphone::ConsolidatedPresence presence)
| Set my consolidated presence.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Call > | getCurrentCall () const
| Gets the current call.
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::Address > | getCurrentCallRemoteAddress ()
| Get the remote address of the current call.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::VideoDefinition > | getCurrentPreviewVideoDefinition () const
| Get the effective video definition provided by the camera for the captured video.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Account > | getDefaultAccount () const
| Returns the default account, that is the one used to determine the current identity.
LINPHONECXX_PUBLIC void | setDefaultAccount (const std::shared_ptr< linphone::Account > &account)
| Sets the default account.
LINPHONECXX_PUBLIC linphone::Conference::Layout | getDefaultConferenceLayout () const
| Gets the default conference layout.
LINPHONECXX_PUBLIC void | setDefaultConferenceLayout (linphone::Conference::Layout value)
| Set the default conference layout.
LINPHONECXX_PUBLIC long | getDefaultEphemeralLifetime () const
| Gets the default lifetime of ephemeral messages in seconds.
LINPHONECXX_PUBLIC void | setDefaultEphemeralLifetime (long value)
| Set the default ephemeral lifetime in seconds.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::FriendList > | getDefaultFriendList () const
| Retrieves the first list of Friend from the core.
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::AudioDevice > | getDefaultInputAudioDevice () const
| Gets the default input audio device.
LINPHONECXX_PUBLIC void | setDefaultInputAudioDevice (const std::shared_ptr< linphone::AudioDevice > &audioDevice)
| Sets the given AudioDevice as default input for next calls.
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::AudioDevice > | getDefaultOutputAudioDevice () const
| Gets the default output audio device.
LINPHONECXX_PUBLIC void | setDefaultOutputAudioDevice (const std::shared_ptr< linphone::AudioDevice > &audioDevice)
| Sets the given AudioDevice as default output for next calls.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::ProxyConfig > | getDefaultProxyConfig () const
| Returns the default proxy configuration, that is the one used to determine the current identity.
LINPHONECXX_PUBLIC void | setDefaultProxyConfig (const std::shared_ptr< linphone::ProxyConfig > &config)
| Sets the default proxy.
LINPHONECXX_PUBLIC std::string | getDefaultVideoDisplayFilter ()
| Get the name of the default mediastreamer2 filter used for rendering video on the current platform.
LINPHONECXX_PUBLIC int | getDelayedTimeout ()
| Gets the delayed timeout See setDelayedTimeout() for details.
LINPHONECXX_PUBLIC void | setDelayedTimeout (int seconds)
| Set the in delayed timeout in seconds.
LINPHONECXX_PUBLIC int | getDeviceRotation ()
| Gets the current device orientation.
LINPHONECXX_PUBLIC void | setDeviceRotation (int rotation)
| Tells the core the device current orientation.
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::DigestAuthenticationPolicy > | getDigestAuthenticationPolicy () const
| Get the current digest authentication policy applicable for SIP and HTTP.
LINPHONECXX_PUBLIC void | setDigestAuthenticationPolicy (const std::shared_ptr< linphone::DigestAuthenticationPolicy > &policy)
| Setup a new digest authentication policy applicable for SIP and HTTP.
LINPHONECXX_PUBLIC bool | getDisableRecordOnMute ()
| Get whether the microphone will be completely deactivated when muted.
LINPHONECXX_PUBLIC void | setDisableRecordOnMute (bool disable)
| Calling this method with disable=true will cause the microhone to be completely deactivated when muted, when given possible by the implementation on the platform on which liblinphone is running.
LINPHONECXX_PUBLIC bool | dnsSearchEnabled () const
| Tells whether DNS search (use of local domain if the fully qualified name did return results) is enabled.
LINPHONECXX_PUBLIC void | enableDnsSearch (bool enable)
| Enable or disable DNS search (use of local domain if the fully qualified name did return results).
LINPHONECXX_PUBLIC void | setDnsServers (const std::list< std::string > &servers)
| Forces liblinphone to use the supplied list of dns servers, instead of system's ones.
LINPHONECXX_PUBLIC void | setDnsServersApp (const std::list< std::string > &servers)
| Forces liblinphone to use the supplied list of dns servers, instead of system's ones and set dns_set_by_app at true or false according to value of servers list.
LINPHONECXX_PUBLIC bool | getDnsSetByApp ()
| Tells if the DNS was set by an application.
LINPHONECXX_PUBLIC bool | dnsSrvEnabled () const
| Tells whether DNS SRV resolution is enabled.
LINPHONECXX_PUBLIC void | enableDnsSrv (bool enable)
| Enable or disable DNS SRV resolution.
LINPHONECXX_PUBLIC int | getDownloadBandwidth () const
| Retrieve the maximum available download bandwidth.
LINPHONECXX_PUBLIC void | setDownloadBandwidth (int bandwidth)
| Sets maximum available download bandwidth This is IP bandwidth, in kbit/s.
LINPHONECXX_PUBLIC int | getDownloadPtime ()
| Get audio packetization time linphone expects to receive from peer.
LINPHONECXX_PUBLIC void | setDownloadPtime (int ptime)
| Set audio packetization time linphone expects to receive from peer.
LINPHONECXX_PUBLIC int | getEchoCancellationCalibration () const
| Gets the currently stored calibration delay for the software echo cancellation.
LINPHONECXX_PUBLIC bool | echoCancellationEnabled () const
| Returns true if echo cancellation is enabled.
LINPHONECXX_PUBLIC void | enableEchoCancellation (bool enable)
| Enables or disable echo cancellation.
LINPHONECXX_PUBLIC std::string | getEchoCancellerFilterName () const
| Get the name of the mediastreamer2 filter used for echo cancelling.
LINPHONECXX_PUBLIC void | setEchoCancellerFilterName (const std::string &filtername)
| Set the name of the mediastreamer2 filter to be used for echo cancelling.
LINPHONECXX_PUBLIC bool | echoLimiterEnabled () const
| Tells whether echo limiter is enabled.
LINPHONECXX_PUBLIC void | enableEchoLimiter (bool enable)
| Enables or disable echo limiter.
LINPHONECXX_PUBLIC void | setEnableSipUpdate (int value) const
| Enable or disable the UPDATE method support.
LINPHONECXX_PUBLIC void | setExpectedBandwidth (int bandwidth)
| Sets expected available upload bandwidth This is IP bandwidth, in kbit/s.
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::AudioDevice > > | getExtendedAudioDevices () const
| Returns the list of all audio devices.
LINPHONECXX_PUBLIC std::string | getFileTransferServer ()
| Get the globaly set http file transfer server to be used for content type application/vnd.gsma.rcs-ft-http+xml.
LINPHONECXX_PUBLIC void | setFileTransferServer (const std::string &serverUrl)
| Globaly set an http file transfer server to be used for content type application/vnd.gsma.rcs-ft-http+xml.
LINPHONECXX_PUBLIC bool | forcedIceRelayEnabled () const
| Indicates whether the ICE relay path is forcibly selected.
LINPHONECXX_PUBLIC void | enableForcedIceRelay (bool enable)
| Artificially cause the relay path to be selected when ICE is used.
LINPHONECXX_PUBLIC bool | friendListSubscriptionEnabled ()
| Returns whether or not friend lists subscription are enabled.
LINPHONECXX_PUBLIC void | enableFriendListSubscription (bool enable)
| Sets whether or not to start friend lists subscription when in foreground.
LINPHONECXX_PUBLIC std::string | getFriendsDatabasePath ()
| Gets the database filename where friends will be stored.
LINPHONECXX_PUBLIC void | setFriendsDatabasePath (const std::string &path)
| Sets the database filename where friends will be stored.
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::FriendList > > | getFriendsLists () const
| Retrieves the list of FriendList from the core.
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::ConferenceInfo > > | getFutureConferenceInformationList ()
| Retrieve the list of future conference information on DB.
LINPHONECXX_PUBLIC bool | genericComfortNoiseEnabled () const
| Returns enablement of RFC3389 generic comfort noise algorithm.
LINPHONECXX_PUBLIC void | enableGenericComfortNoise (bool enabled)
| Enable RFC3389 generic comfort noise algorithm (CN payload type).
LINPHONECXX_PUBLIC linphone::GlobalState | getGlobalState () const
| Returns the global state of core.
LINPHONECXX_PUBLIC bool | getGuessHostname ()
| Returns true if hostname part of primary contact is guessed automatically.
LINPHONECXX_PUBLIC void | setGuessHostname (bool enable)
| Tells Core to guess local hostname automatically in primary contact.
LINPHONECXX_PUBLIC std::string | getHttpProxyHost () const
| Get http proxy address to be used for signaling.
LINPHONECXX_PUBLIC void | setHttpProxyHost (const std::string &host)
| Set http proxy address to be used for signaling during next channel connection.
LINPHONECXX_PUBLIC int | getHttpProxyPort () const
| Get http proxy port to be used for signaling.
LINPHONECXX_PUBLIC void | setHttpProxyPort (int port)
| Set http proxy port to be used for signaling.
LINPHONECXX_PUBLIC std::string | getIdentity ()
| Gets the default identity SIP address.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::ImNotifPolicy > | getImNotifPolicy () const
| Get the ImNotifPolicy object controlling the instant messaging notifications.
LINPHONECXX_PUBLIC int | getInCallTimeout ()
| Gets the in call timeout See setInCallTimeout() for details.
LINPHONECXX_PUBLIC void | setInCallTimeout (int seconds)
| Set the in call timeout in seconds.
LINPHONECXX_PUBLIC int | getIncTimeout ()
| Returns the incoming call timeout See setIncTimeout() for details.
LINPHONECXX_PUBLIC void | setIncTimeout (int seconds)
| Set the incoming call timeout in seconds.
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::AudioDevice > | getInputAudioDevice () const
| Gets the input audio device for the current call.
LINPHONECXX_PUBLIC void | setInputAudioDevice (const std::shared_ptr< linphone::AudioDevice > &audioDevice)
| Sets the given AudioDevice as input for all active calls.
LINPHONECXX_PUBLIC bool | ipv6Enabled ()
| Tells whether IPv6 is enabled or not.
LINPHONECXX_PUBLIC void | enableIpv6 (bool enable)
| Turns IPv6 support on or off.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool | isAutoDownloadIcalendarsEnabled ()
| Gets if the auto download for incoming icalendars is enabled or not.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool | isAutoDownloadVoiceRecordingsEnabled ()
| Gets if the auto download for incoming voice recordings is enabled or not.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool | isAutoIterateEnabled () const
| Gets whether auto iterate is enabled or not (Android & iOS only).
LINPHONECXX_PUBLIC bool | isEchoCancellerCalibrationRequired ()
| Check whether the device is echo canceller calibration is required.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool | isFriendListSubscriptionEnabled ()
| Returns whether or not friend lists subscription are enabled.
LINPHONECXX_PUBLIC bool | isInBackground () const
| Gets whether the Core is considering itself in background or not.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool | isInConference () const
| Indicates whether the local participant is part of a conference.
LINPHONECXX_PUBLIC bool | isIncomingInvitePending ()
| Tells whether there is an incoming invite pending.
LINPHONECXX_PUBLIC bool | isMediaEncryptionMandatory ()
| Check if the configured media encryption is mandatory or not.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool | isNativeRingingEnabled () const
| Returns whether the native ringing is enabled or not.
LINPHONECXX_PUBLIC bool | isNetworkReachable ()
| return network state either as positioned by the application or by linphone itself.
LINPHONECXX_PUBLIC bool | isPushNotificationAvailable ()
| Gets whether push notifications are available or not (Android & iOS only).
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool | isPushNotificationEnabled ()
| Gets whether push notifications are enabled or not (Android & iOS only).
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool | isRecordAwareEnabled ()
| Gets if the record aware feature is enabled or not.
LINPHONECXX_PUBLIC bool | isSenderNameHiddenInForwardMessage ()
| Returns whether or not sender name is hidden in forward message.
LINPHONECXX_PUBLIC bool | isVerifyServerCertificates ()
| Get whether the tls server certificate must be verified when connecting to a SIP/TLS server.
LINPHONECXX_PUBLIC bool | isVerifyServerCn ()
| Get whether the tls server certificate common name must be verified when connecting to a SIP/TLS server.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool | isVibrationOnIncomingCallEnabled ()
| Gets whether the device will vibrate while an incoming call is ringing (Android only).
LINPHONECXX_PUBLIC bool | keepAliveEnabled ()
| Is signaling keep alive enabled.
LINPHONECXX_PUBLIC void | enableKeepAlive (bool enable)
| Enables signaling keep alive, small udp packet sent periodically to keep udp NAT association.
LINPHONECXX_PUBLIC std::string | getLabel () const
| Get the label assigned to the Core.
LINPHONECXX_PUBLIC void | setLabel (const std::string &label)
| Set a label - for logging/troubleshooting purpose - to the core object.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::CallLog > | getLastOutgoingCallLog ()
| Get the latest outgoing call log.
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::Ldap > > | getLdapList ()
| Returns a list of entered LDAPs.
LINPHONECXX_PUBLIC bool | limeX3DhEnabled () const
| Tells wether LIME X3DH is enabled or not.
LINPHONECXX_PUBLIC void | enableLimeX3Dh (bool enable)
| Tells to Core to use LIME X3DH.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::string | getLimeX3DhServerUrl ()
| Get the x3dh server url.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED void | setLimeX3DhServerUrl (const std::string &url)
| Set the x3dh server url.
LINPHONECXX_PUBLIC std::list< std::string > | getLinphoneSpecsList ()
| Get the list of linphone specs string values representing what functionalities the linphone client supports.
LINPHONECXX_PUBLIC void | setLinphoneSpecsList (const std::list< std::string > &specs)
| Set the linphone specs list value telling what functionalities the linphone client supports.
LINPHONECXX_PUBLIC std::list< std::string > | getLoadedPlugins ()
| Return the list of loaded plugins.
LINPHONECXX_PUBLIC bool | localPermissionEnabled () const
| Special function to check if the local network permission has been granted by the user (useful for iOS).
LINPHONECXX_PUBLIC std::string | getLogCollectionUploadServerUrl ()
| Gets the url of the server where to upload the collected log files.
LINPHONECXX_PUBLIC void | setLogCollectionUploadServerUrl (const std::string &serverUrl)
| Set the url of the server where to upload the collected log files.
LINPHONECXX_PUBLIC int | getMaxCalls ()
| Get the maximum number of simultaneous calls Linphone core can manage at a time.
LINPHONECXX_PUBLIC void | setMaxCalls (int max)
| Set the maximum number of simultaneous calls Linphone core can manage at a time.
LINPHONECXX_PUBLIC int | getMaxSizeForAutoDownloadIncomingFiles ()
| Gets the size under which incoming files in chat messages will be downloaded automatically.
LINPHONECXX_PUBLIC void | setMaxSizeForAutoDownloadIncomingFiles (int size)
| Sets the size under which incoming files in chat messages will be downloaded automatically.
LINPHONECXX_PUBLIC std::string | getMediaDevice ()
| Gets the name of the currently assigned sound device for media.
LINPHONECXX_PUBLIC linphone::Status | setMediaDevice (const std::string &devid)
| Sets the sound device used for media.
LINPHONECXX_PUBLIC linphone::MediaEncryption | getMediaEncryption () const
| Get the media encryption policy being used for RTP packets.
LINPHONECXX_PUBLIC linphone::Status | setMediaEncryption (linphone::MediaEncryption menc)
| Choose the media encryption policy to be used for RTP packets.
LINPHONECXX_PUBLIC void | setMediaEncryptionMandatory (bool mandatory)
| Define whether the configured media encryption is mandatory, if it is and the negotation cannot result in the desired media encryption then the call will fail.
LINPHONECXX_PUBLIC void | setMediaNetworkReachable (bool reachable)
| This method is called by the application to notify the linphone core library when the media (RTP) network is reachable.
LINPHONECXX_PUBLIC linphone::MediaResourceMode | getMediaResourceMode () const
| This function returns the media resource mode for this core.
LINPHONECXX_PUBLIC void | setMediaResourceMode (linphone::MediaResourceMode mode)
| Sets the media resources mode.
LINPHONECXX_PUBLIC bool | micEnabled ()
| Tells whether the microphone is enabled.
LINPHONECXX_PUBLIC void | enableMic (bool enable)
| Enable or disable the microphone.
LINPHONECXX_PUBLIC float | getMicGainDb ()
| Get microphone gain in db.
LINPHONECXX_PUBLIC void | setMicGainDb (float level)
| Allow to control microphone level: gain in db.
LINPHONECXX_PUBLIC int | getMissedCallsCount ()
| Get the number of missed calls.
LINPHONECXX_PUBLIC int | getMtu () const
| Returns the maximum transmission unit size in bytes.
LINPHONECXX_PUBLIC void | setMtu (int mtu)
| Sets the maximum transmission unit size in bytes.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::string | getNatAddress () const
| Deprecated.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED void | setNatAddress (const std::string &addr)
| Deprecated.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::NatPolicy > | getNatPolicy () const
| Get The policy that is used to pass through NATs/firewalls.
LINPHONECXX_PUBLIC void | setNatPolicy (const std::shared_ptr< linphone::NatPolicy > &policy)
| Set the policy to use to pass through NATs/firewalls.
LINPHONECXX_PUBLIC void * | getNativePreviewWindowId ()
| Get the native window handle of the video preview window.
LINPHONECXX_PUBLIC void | setNativePreviewWindowId (void *windowId)
| Set the native window id where the preview video (local camera) is to be displayed.
LINPHONECXX_PUBLIC bool | nativeRingingEnabled () const
| Returns whether the native ringing is enabled or not.
LINPHONECXX_PUBLIC void | enableNativeRinging (bool enable)
| Sets whether to use the native ringing (Android only).
LINPHONECXX_PUBLIC void * | getNativeVideoWindowId () const
| Get the native window handle of the video window.
LINPHONECXX_PUBLIC void | setNativeVideoWindowId (void *windowId)
| Set the native video window id where the video is to be displayed.
LINPHONECXX_PUBLIC void | setNetworkReachable (bool reachable)
| This method is called by the application to notify the linphone core library when network is reachable.
LINPHONECXX_PUBLIC int | getNortpOnholdTimeout () const
| Gets the value of the no-rtp timeout when the call is on hold.
LINPHONECXX_PUBLIC void | setNortpOnholdTimeout (int seconds)
| Sets the no-rtp timeout value in seconds when the call is on hold.
LINPHONECXX_PUBLIC int | getNortpTimeout () const
| Gets the value of the no-rtp timeout.
LINPHONECXX_PUBLIC void | setNortpTimeout (int seconds)
| Sets the no-rtp timeout value in seconds.
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::AudioDevice > | getOutputAudioDevice () const
| Gets the output audio device for the current call.
LINPHONECXX_PUBLIC void | setOutputAudioDevice (const std::shared_ptr< linphone::AudioDevice > &audioDevice)
| Sets the given AudioDevice as output for all active calls.
LINPHONECXX_PUBLIC std::string | getPlayFile () const
| Get the wav file that is played when putting somebody on hold, or when files are used instead of soundcards (see setUseFiles()).
LINPHONECXX_PUBLIC void | setPlayFile (const std::string &file)
| Sets a wav file to be played when putting somebody on hold, or when files are used instead of soundcards (see setUseFiles()).
LINPHONECXX_PUBLIC std::string | getPlaybackDevice ()
| Gets the name of the currently assigned sound device for playback.
LINPHONECXX_PUBLIC linphone::Status | setPlaybackDevice (const std::string &devid)
| Sets the sound device used for playback.
LINPHONECXX_PUBLIC float | getPlaybackGainDb ()
| Get playback gain in db before entering sound card.
LINPHONECXX_PUBLIC void | setPlaybackGainDb (float level)
| Allow to control play level before entering sound card: gain in db.
LINPHONECXX_PUBLIC float | getPreferredFramerate ()
| Returns the preferred video framerate, previously set by setPreferredFramerate().
LINPHONECXX_PUBLIC void | setPreferredFramerate (float fps)
| Set the preferred frame rate for video.
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::VideoDefinition > | getPreferredVideoDefinition () const
| Get the preferred video definition for the stream that is captured and sent to the remote party.
LINPHONECXX_PUBLIC void | setPreferredVideoDefinition (const std::shared_ptr< linphone::VideoDefinition > &videoDefinition)
| Set the preferred video definition for the stream that is captured and sent to the remote party.
LINPHONECXX_PUBLIC void | setPreferredVideoDefinitionByName (const std::string &name)
| Sets the preferred video definition by its name.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::PresenceModel > | getPresenceModel () const
| Get my presence model.
LINPHONECXX_PUBLIC void | setPresenceModel (const std::shared_ptr< linphone::PresenceModel > &presence)
| Set my presence model.
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::VideoDefinition > | getPreviewVideoDefinition () const
| Get the definition of the captured video.
LINPHONECXX_PUBLIC void | setPreviewVideoDefinition (const std::shared_ptr< linphone::VideoDefinition > &videoDefinition)
| Set the video definition for the captured (preview) video.
LINPHONECXX_PUBLIC void | setPreviewVideoDefinitionByName (const std::string &name)
LINPHONECXX_PUBLIC std::string | getPrimaryContact ()
| Returns the default identity when no proxy configuration is used.
LINPHONECXX_PUBLIC linphone::Status | setPrimaryContact (const std::string &contact)
| Sets the local "from" identity.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::Address > | getPrimaryContactParsed ()
| Same as getPrimaryContact() but the result is a Address object instead of const char *.
LINPHONECXX_PUBLIC std::string | getProvisioningUri () const
| Get provisioning URI.
LINPHONECXX_PUBLIC linphone::Status | setProvisioningUri (const std::string &uri)
| Set URI where to download xml configuration file at startup.
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::ProxyConfig > > | getProxyConfigList () const
| Returns an unmodifiable list of entered proxy configurations.
LINPHONECXX_PUBLIC int | getPushIncomingCallTimeout () const
| Returns the push incoming call timeout See setPushIncomingCallTimeout() for details.
LINPHONECXX_PUBLIC void | setPushIncomingCallTimeout (int seconds)
| Configure the minimum interval between a push notification and the corresponding incoming INVITE.
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::PushNotificationConfig > | getPushNotificationConfig () const
| Gets the push notification configuration object if it exists.
LINPHONECXX_PUBLIC bool | pushNotificationEnabled ()
| Gets whether push notifications are enabled or not (Android & iOS only).
LINPHONECXX_PUBLIC void | enablePushNotification (bool enable)
| Enable or disable push notifications on Android & iOS.
LINPHONECXX_PUBLIC bool | qrcodeVideoPreviewEnabled () const
| Tells whether QRCode is enabled in the preview.
LINPHONECXX_PUBLIC void | enableQrcodeVideoPreview (bool enable)
| Controls QRCode enablement.
LINPHONECXX_PUBLIC bool | realtimeTextEnabled ()
| Gets if realtime text is enabled or not.
LINPHONECXX_PUBLIC bool | recordAwareEnabled ()
| Gets if the record aware feature is enabled or not.
LINPHONECXX_PUBLIC void | enableRecordAware (bool enable)
| Enables the record aware feature that will warn other users when recording.
LINPHONECXX_PUBLIC std::string | getRecordFile () const
| Get the wav file where incoming stream is recorded, when files are used instead of soundcards (see setUseFiles()).
LINPHONECXX_PUBLIC void | setRecordFile (const std::string &file)
| Sets a wav file where incoming stream is to be recorded, when files are used instead of soundcards (see setUseFiles()).
LINPHONECXX_PUBLIC std::string | getRemoteRingbackTone () const
| Get the ring back tone played to far end during incoming calls.
LINPHONECXX_PUBLIC void | setRemoteRingbackTone (const std::string &ring)
| Specify a ring back tone to be played to far end during incoming calls.
LINPHONECXX_PUBLIC bool | retransmissionOnNackEnabled ()
| Tells whether NACK context is enabled or not.
LINPHONECXX_PUBLIC void | enableRetransmissionOnNack (bool enable)
| Turns NACK context on or off.
LINPHONECXX_PUBLIC std::string | getRing () const
| Returns the path to the wav file used for ringing.
LINPHONECXX_PUBLIC void | setRing (const std::string &path)
| Sets the path to a wav file used for ringing.
LINPHONECXX_PUBLIC bool | getRingDuringIncomingEarlyMedia () const
| Tells whether the ring play is enabled during an incoming early media call.
LINPHONECXX_PUBLIC void | setRingDuringIncomingEarlyMedia (bool enable)
| Enable or disable the ring play during an incoming early media call.
LINPHONECXX_PUBLIC std::string | getRingback () const
| Returns the path to the wav file used for ringing back.
LINPHONECXX_PUBLIC void | setRingback (const std::string &path)
| Sets the path to a wav file used for ringing back.
LINPHONECXX_PUBLIC std::string | getRingerDevice ()
| Gets the name of the currently assigned sound device for ringing.
LINPHONECXX_PUBLIC linphone::Status | setRingerDevice (const std::string &devid)
| Sets the sound device used for ringing.
LINPHONECXX_PUBLIC std::string | getRootCa ()
| Gets the path to a file or folder containing the trusted root CAs (PEM format)
LINPHONECXX_PUBLIC void | setRootCa (const std::string &path)
| Sets the path to a file or folder containing trusted root CAs (PEM format)
LINPHONECXX_PUBLIC void | setRootCaData (const std::string &data)
| Sets the trusted root CAs (PEM format)
LINPHONECXX_PUBLIC bool | rtpBundleEnabled () const
| Returns whether RTP bundle mode (also known as Media Multiplexing) is enabled.
LINPHONECXX_PUBLIC void | enableRtpBundle (bool value)
| Enables or disables RTP bundle mode (Media Multiplexing).
LINPHONECXX_PUBLIC bool | sdp200AckEnabled () const
| Media offer control param for SIP INVITE.
LINPHONECXX_PUBLIC void | enableSdp200Ack (bool enable)
| Control when media offer is sent in SIP INVITE.
LINPHONECXX_PUBLIC bool | selfViewEnabled () const
| Tells whether video self view during call is enabled or not.
LINPHONECXX_PUBLIC void | enableSelfView (bool enable)
| Enables or disable self view during calls.
LINPHONECXX_PUBLIC void | enableSenderNameHiddenInForwardMessage (bool enable)
| Enable whether or not to hide sender name in forward message.
LINPHONECXX_PUBLIC bool | sessionExpiresEnabled () const
| Check if the Session Timers feature is enabled.
LINPHONECXX_PUBLIC void | enableSessionExpires (bool enabled) const
| Enable the Session Timers support.
LINPHONECXX_PUBLIC int | getSessionExpiresMinValue () const
| Returns the session expires min value, 90 by default.
LINPHONECXX_PUBLIC void | setSessionExpiresMinValue (int min) const
| Sets the session expires minSE value, forced to a minimum of 90 by default.
LINPHONECXX_PUBLIC linphone::SessionExpiresRefresher | getSessionExpiresRefresherValue () const
| Returns the session expires refresher value.
LINPHONECXX_PUBLIC void | setSessionExpiresRefresherValue (linphone::SessionExpiresRefresher refresher) const
| Sets the session expires refresher value.
LINPHONECXX_PUBLIC int | getSessionExpiresValue () const
| Returns the session expires value.
LINPHONECXX_PUBLIC void | setSessionExpiresValue (int expires) const
| Sets the session expires value, 0 by default.
LINPHONECXX_PUBLIC int | getSipDscp () const
| Get the DSCP field for SIP signaling channel.
LINPHONECXX_PUBLIC void | setSipDscp (int dscp)
| Set the DSCP field for SIP signaling channel.
LINPHONECXX_PUBLIC void | setSipNetworkReachable (bool reachable)
| This method is called by the application to notify the linphone core library when the SIP network is reachable.
LINPHONECXX_PUBLIC int | getSipTransportTimeout ()
| Get the SIP transport timeout, which represents the maximum time permitted to establish a connection to a SIP server.
LINPHONECXX_PUBLIC void | setSipTransportTimeout (int timeoutMs)
| Set the SIP transport timeout, which represents the maximum time permitted to establish a connection to a SIP server.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::list< std::string > | getSoundDevicesList () const
| Gets the list of the available sound devices.
LINPHONECXX_PUBLIC std::string | getSrtpCryptoSuites ()
| Get the crypto suites available to the core.
LINPHONECXX_PUBLIC void | setSrtpCryptoSuites (const std::string &suites)
| Set the crypto suites available to the core.
LINPHONECXX_PUBLIC std::string | getStaticPicture ()
| Get the path to the image file streamed when "Static picture" is set as the video device.
LINPHONECXX_PUBLIC linphone::Status | setStaticPicture (const std::string &path)
| Set the path to the image file to stream when "Static picture" is set as the video device.
LINPHONECXX_PUBLIC float | getStaticPictureFps ()
| Get the frame rate for static picture.
LINPHONECXX_PUBLIC linphone::Status | setStaticPictureFps (float fps)
| Set the frame rate for static picture.
LINPHONECXX_PUBLIC std::string | getStunServer () const
| Get the STUN server address being used.
LINPHONECXX_PUBLIC void | setStunServer (const std::string &server)
| Set the STUN server address to use when the firewall policy is set to STUN.
LINPHONECXX_PUBLIC std::list< std::string > | getSupportedFileFormatsList () const
| Returns a null terminated table of strings containing the file format extension supported for call recording.
LINPHONECXX_PUBLIC void | setSupportedTag (const std::string &tags)
| Set the supported tags.
LINPHONECXX_PUBLIC linphone::SupportLevel | getTag100RelSupportLevel () const
| Get the support level of the 100rel attribute.
LINPHONECXX_PUBLIC void | setTag100RelSupportLevel (linphone::SupportLevel level)
| Define what level of support is provided to the 100rel attribute.
LINPHONECXX_PUBLIC void | enableTcapLineMerging (bool merge)
| Define whether tcap lines are going to be merged if capability negotiation (RFC5939) is supported.
LINPHONECXX_PUBLIC bool | tcapLinesMergingEnabled () const
| Check if tcap lines are going to the merged if the capability negotiation (RFC5939) is supported or not.
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::PayloadType > > | getTextPayloadTypes ()
| Return the list of the available text payload types.
LINPHONECXX_PUBLIC void | setTextPayloadTypes (const std::list< std::shared_ptr< linphone::PayloadType > > &payloadTypes)
| Redefine the list of the available payload types.
LINPHONECXX_PUBLIC int | getTextPort () const
| Gets the UDP port used for text streaming.
LINPHONECXX_PUBLIC void | setTextPort (int port)
| Sets the UDP port used for text streaming.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Range > | getTextPortsRange () const
| Get the text port range from which is randomly chosen the UDP port used for text streaming.
LINPHONECXX_PUBLIC std::string | getTlsCert () const
| Gets the TLS certificate.
LINPHONECXX_PUBLIC void | setTlsCert (const std::string &tlsCert)
| Sets a TLS certificate used for TLS authentication The certificate won't be stored, you have to set it after each Core startup.
LINPHONECXX_PUBLIC std::string | getTlsCertPath () const
| Gets the path to the TLS certificate file.
LINPHONECXX_PUBLIC void | setTlsCertPath (const std::string &tlsCertPath)
| Sets a TLS certificate path used for TLS authentication The path will be stored in the rc file and automatically restored on startup.
LINPHONECXX_PUBLIC std::string | getTlsKey () const
| Gets the TLS key.
LINPHONECXX_PUBLIC void | setTlsKey (const std::string &tlsKey)
| Sets a TLS key used for TLS authentication The key won't be stored, you have to set it after each Core startup.
LINPHONECXX_PUBLIC std::string | getTlsKeyPath () const
| Gets the path to the TLS key file.
LINPHONECXX_PUBLIC void | setTlsKeyPath (const std::string &tlsKeyPath)
| Sets a TLS key path used for TLS authentication The path will be stored in the rc file and automatically restored on startup.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Transports > | getTransports ()
| Retrieves the port configuration used for each transport (udp, tcp, tls).
LINPHONECXX_PUBLIC linphone::Status | setTransports (const std::shared_ptr< const linphone::Transports > &transports)
| Sets the ports to be used for each of transport (UDP or TCP) A zero value port for a given transport means the transport is not used.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Transports > | getTransportsUsed ()
| Retrieves the real port number assigned for each sip transport (udp, tcp, tls).
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Tunnel > | getTunnel () const
| get tunnel instance if available
LINPHONECXX_PUBLIC int | getUnreadChatMessageCount () const
| Return the global unread chat message count.
LINPHONECXX_PUBLIC int | getUnreadChatMessageCountFromActiveLocals () const
| Return the unread chat message count for all active local address.
LINPHONECXX_PUBLIC int | getUploadBandwidth () const
| Retrieve the maximum available upload bandwidth.
LINPHONECXX_PUBLIC void | setUploadBandwidth (int bandwidth)
| Sets maximum available upload bandwidth This is IP bandwidth, in kbit/s.
LINPHONECXX_PUBLIC int | getUploadPtime ()
| Set audio packetization time linphone will send (in absence of requirement from peer) A value of 0 stands for the current codec default packetization time.
LINPHONECXX_PUBLIC void | setUploadPtime (int ptime)
| Set audio packetization time linphone will send (in absence of requirement from peer) A value of 0 stands for the current codec default packetization time.
LINPHONECXX_PUBLIC std::string | getUpnpExternalIpaddress () const
| Return the external ip address of router.
LINPHONECXX_PUBLIC linphone::UpnpState | getUpnpState () const
| Return the internal state of uPnP.
LINPHONECXX_PUBLIC bool | getUseFiles ()
| Gets whether linphone is currently streaming audio from and to files, rather than using the soundcard.
LINPHONECXX_PUBLIC void | setUseFiles (bool yesno)
| Ask the core to stream audio from and to files, instead of using the soundcard.
LINPHONECXX_PUBLIC bool | getUseInfoForDtmf ()
| Indicates whether SIP INFO is used to send digits.
LINPHONECXX_PUBLIC void | setUseInfoForDtmf (bool useInfo)
| Sets whether SIP INFO is to be used to send digits.
LINPHONECXX_PUBLIC bool | getUseRfc2833ForDtmf ()
| Indicates whether RFC2833 is used to send digits.
LINPHONECXX_PUBLIC void | setUseRfc2833ForDtmf (bool useRfc2833)
| Sets whether RFC2833 is to be used to send digits.
LINPHONECXX_PUBLIC std::string | getUserAgent ()
| Gets the user-agent as a string.
LINPHONECXX_PUBLIC std::string | getUserCertificatesPath ()
| Get the path to the directory storing the user's certificates.
LINPHONECXX_PUBLIC void | setUserCertificatesPath (const std::string &path)
| Set the path to the directory storing the user's x509 certificates (used by dtls)
LINPHONECXX_PUBLIC bool | vibrationOnIncomingCallEnabled ()
| Gets whether the device will vibrate while an incoming call is ringing (Android only).
LINPHONECXX_PUBLIC void | enableVibrationOnIncomingCall (bool enable)
| Enable vibration will incoming call is ringing (Android only).
LINPHONECXX_PUBLIC std::shared_ptr< linphone::VideoActivationPolicy > | getVideoActivationPolicy () const
| Get the default policy for video.
LINPHONECXX_PUBLIC void | setVideoActivationPolicy (const std::shared_ptr< const linphone::VideoActivationPolicy > &policy)
| Sets the default policy for video.
LINPHONECXX_PUBLIC bool | videoAdaptiveJittcompEnabled ()
| Tells whether the video adaptive jitter compensation is enabled.
LINPHONECXX_PUBLIC void | enableVideoAdaptiveJittcomp (bool enable)
| Enable or disable the video adaptive jitter compensation.
LINPHONECXX_PUBLIC bool | videoCaptureEnabled ()
| Tells whether video capture is enabled.
LINPHONECXX_PUBLIC void | enableVideoCapture (bool enable)
| Enable or disable video capture.
LINPHONECXX_PUBLIC linphone::CodecPriorityPolicy | getVideoCodecPriorityPolicy () const
| Get the current priority policy for video codecs (payload types).
LINPHONECXX_PUBLIC void | setVideoCodecPriorityPolicy (linphone::CodecPriorityPolicy policy)
| Set the priority policy for video codecs (payload types).
LINPHONECXX_PUBLIC std::string | getVideoDevice () const
| Returns the name of the currently active video device.
LINPHONECXX_PUBLIC linphone::Status | setVideoDevice (const std::string &id)
| Sets the active video device.
LINPHONECXX_PUBLIC std::list< std::string > | getVideoDevicesList () const
| Gets the list of the available video capture devices.
LINPHONECXX_PUBLIC bool | videoDisplayEnabled ()
| Tells whether video display is enabled.
LINPHONECXX_PUBLIC void | enableVideoDisplay (bool enable)
| Enable or disable video display.
LINPHONECXX_PUBLIC std::string | getVideoDisplayFilter ()
| Get the name of the mediastreamer2 filter used for rendering video.
LINPHONECXX_PUBLIC void | setVideoDisplayFilter (const std::string &filterName)
| Set the name of the mediastreamer2 filter to be used for rendering video.
LINPHONECXX_PUBLIC int | getVideoDscp () const
| Get the DSCP field for outgoing video streams.
LINPHONECXX_PUBLIC void | setVideoDscp (int dscp)
| Set the DSCP field for outgoing video streams.
LINPHONECXX_PUBLIC bool | videoEnabled ()
| Returns true if either capture or display is enabled, false otherwise.
LINPHONECXX_PUBLIC int | getVideoJittcomp ()
| Returns the nominal video jitter buffer size in milliseconds.
LINPHONECXX_PUBLIC void | setVideoJittcomp (int milliseconds)
| Sets the nominal video jitter buffer size in milliseconds.
LINPHONECXX_PUBLIC std::string | getVideoMulticastAddr () const
| Use to get multicast address to be used for video stream.
LINPHONECXX_PUBLIC linphone::Status | setVideoMulticastAddr (const std::string &ip)
| Use to set multicast address to be used for video stream.
LINPHONECXX_PUBLIC bool | videoMulticastEnabled () const
| Use to get multicast state of video stream.
LINPHONECXX_PUBLIC void | enableVideoMulticast (bool yesno)
| Use to enable multicast rtp for video stream.
LINPHONECXX_PUBLIC int | getVideoMulticastTtl () const
| Use to get multicast ttl to be used for video stream.
LINPHONECXX_PUBLIC linphone::Status | setVideoMulticastTtl (int ttl)
| Use to set multicast ttl to be used for video stream.
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::PayloadType > > | getVideoPayloadTypes ()
| Return the list of the available video payload types.
LINPHONECXX_PUBLIC void | setVideoPayloadTypes (const std::list< std::shared_ptr< linphone::PayloadType > > &payloadTypes)
| Redefine the list of the available video payload types.
LINPHONECXX_PUBLIC int | getVideoPort () const
| Gets the UDP port used for video streaming.
LINPHONECXX_PUBLIC void | setVideoPort (int port)
| Sets the UDP port used for video streaming.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Range > | getVideoPortsRange () const
| Get the video port range from which is randomly chosen the UDP port used for video streaming.
LINPHONECXX_PUBLIC std::string | getVideoPreset () const
| Get the video preset used for video calls.
LINPHONECXX_PUBLIC void | setVideoPreset (const std::string &preset)
| Set the video preset to be used for video calls.
LINPHONECXX_PUBLIC bool | videoPreviewEnabled () const
| Tells whether video preview is enabled.
LINPHONECXX_PUBLIC void | enableVideoPreview (bool enable)
| Controls video preview enablement.
LINPHONECXX_PUBLIC void | enableVideoSourceReuse (bool enable)
| Enable or disable video source reuse when switching from preview to actual video call.
LINPHONECXX_PUBLIC bool | wifiOnlyEnabled ()
| Tells whether Wifi only mode is enabled or not.
LINPHONECXX_PUBLIC void | enableWifiOnly (bool enable)
| Turns Wifi only mode on or off.
LINPHONECXX_PUBLIC bool | zeroRtpPortForStreamInactiveEnabled () const
| Check if RTP port is set to 0 when a stream is inactive.
LINPHONECXX_PUBLIC void | enableZeroRtpPortForStreamInactive (bool enable)
| Define whether RTP port is set to 0 when a stream is inactive.
LINPHONECXX_PUBLIC std::list< linphone::ZrtpKeyAgreement > | getZrtpAvailableKeyAgreementList ()
| Return the list of the available ZRTP key agreement algorithns.
LINPHONECXX_PUBLIC void * | getZrtpCacheDb ()
| Get a pointer to the sqlite db holding zrtp/lime cache.
LINPHONECXX_PUBLIC bool | zrtpGoClearEnabled () const
| Check if the ZRTP go clear is enabled or not.
LINPHONECXX_PUBLIC void | enableZrtpGoClear (bool enabled)
| Define whether ZRTP go clear is enabled.
LINPHONECXX_PUBLIC std::list< linphone::ZrtpKeyAgreement > | getZrtpKeyAgreementList ()
| Return the ordonated list of the ZRTP key agreement algorithns currently configured.
LINPHONECXX_PUBLIC void | setZrtpKeyAgreementSuites (const std::list< linphone::ZrtpKeyAgreement > &keyAgreements)
| Redefine the list of prefered ZRTP key agreement algorithms.
LINPHONECXX_PUBLIC std::string | getZrtpSecretsFile ()
| Get the path to the file storing the zrtp secrets cache.
LINPHONECXX_PUBLIC void | setZrtpSecretsFile (const std::string &file)
| Set the path to the file storing the zrtp secrets cache.
LINPHONECXX_PUBLIC void | activateAudioSession (bool activated)
| Special function to indicate if the audio session is activated.
LINPHONECXX_PUBLIC linphone::Status | addAccount (const std::shared_ptr< linphone::Account > &account)
| Add an account.
LINPHONECXX_PUBLIC linphone::Status | addAllToConference ()
| Add all current calls into the conference.
LINPHONECXX_PUBLIC void | addAuthInfo (const std::shared_ptr< const linphone::AuthInfo > &info)
| Adds authentication information to the Core.
LINPHONECXX_PUBLIC void | addContentTypeSupport (const std::string &contentType)
| Add support for the specified content type.
LINPHONECXX_PUBLIC void | addFriendList (const std::shared_ptr< linphone::FriendList > &list)
| Add a friend list.
LINPHONECXX_PUBLIC void | addLdap (const std::shared_ptr< linphone::Ldap > &ldap)
| Add or update a LDAP server and save it to the configuration.
LINPHONECXX_PUBLIC void | addLinphoneSpec (const std::string &spec)
| Add the given linphone specs to the list of functionalities the linphone client supports.
LINPHONECXX_PUBLIC void | addProvisioningHeader (const std::string &headerName, const std::string &value)
| Add an extra header for retrieving the remote provisioning (check setProvisioningUri()).
LINPHONECXX_PUBLIC linphone::Status | addProxyConfig (const std::shared_ptr< linphone::ProxyConfig > &config)
| Add a proxy configuration.
LINPHONECXX_PUBLIC void | addSupportedTag (const std::string &tag)
| This function controls signaling features supported by the core.
LINPHONECXX_PUBLIC linphone::Status | addToConference (const std::shared_ptr< linphone::Call > &call)
| Add a participant to the conference.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED void | audioRouteChanged ()
| Special function to indicate if the audio route is changed.
LINPHONECXX_PUBLIC linphone::ChatRoom::EphemeralMode | chatRoomGetDefaultEphemeralMode () const
| Gets the default ephemeral message mode.
LINPHONECXX_PUBLIC void | chatRoomSetDefaultEphemeralMode (linphone::ChatRoom::EphemeralMode mode)
| Sets the default ephemeral message mode.
LINPHONECXX_PUBLIC void | checkForUpdate (const std::string &currentVersion)
| Checks if a new version of the application is available.
LINPHONECXX_PUBLIC void | clearAccounts ()
| Erase all account from config.
LINPHONECXX_PUBLIC void | clearAllAuthInfo ()
| Clear all authentication information.
LINPHONECXX_PUBLIC void | clearCallLogs ()
| Erase the call log.
LINPHONECXX_PUBLIC void | clearLdaps ()
| Erase all LDAP from the configuration.
LINPHONECXX_PUBLIC void | clearProvisioningHeaders ()
| Clear all headers that were added with addProvisioningHeader().
LINPHONECXX_PUBLIC void | clearProxyConfig ()
| Erase all proxies from config.
LINPHONECXX_PUBLIC linphone::Status | configSync ()
| Writes the config file to disk.
LINPHONECXX_PUBLIC void | configureAudioSession ()
| Special function to configure audio session with default settings.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Account > | createAccount (const std::shared_ptr< linphone::AccountParams > &params)
| Create an account using given parameters, see createAccountParams().
LINPHONECXX_PUBLIC std::shared_ptr< linphone::AccountCreator > | createAccountCreator (const std::string &xmlrpcUrl)
| Create a AccountCreator and set Linphone Request callbacks.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::AccountParams > | createAccountParams ()
| Create an account params using default values from Linphone core.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Address > | createAddress (const std::string &address)
| Create a Address object by parsing the user supplied address, given as a string.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::CallLog > | createCallLog (const std::shared_ptr< linphone::Address > &from, const std::shared_ptr< linphone::Address > &to, linphone::Call::Dir dir, int duration, time_t startTime, time_t connectedTime, linphone::Call::Status status, bool videoEnabled, float quality)
| Creates a fake CallLog.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::CallParams > | createCallParams (const std::shared_ptr< linphone::Call > &call)
| Create a CallParams suitable for inviteWithParams(), linphone_core_accept_call_with_params, linphone_core_accept_early_media_with_params or linphone_core_accept_call_update.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::ChatRoom > | createChatRoom (const std::shared_ptr< const linphone::ChatRoomParams > &params, const std::shared_ptr< const linphone::Address > &localAddr, const std::list< std::shared_ptr< linphone::Address > > &participants)
| Create a chat room.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > | createChatRoom (const std::shared_ptr< const linphone::ChatRoomParams > &params, const std::shared_ptr< const linphone::Address > &localAddr, const std::string &subject, const std::list< std::shared_ptr< linphone::Address > > &participants)
| Create a chat room.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > | createChatRoom (const std::shared_ptr< const linphone::ChatRoomParams > &params, const std::string &subject, const std::list< std::shared_ptr< linphone::Address > > &participants)
| Create a chat room.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > | createChatRoom (const std::string &subject, const std::list< std::shared_ptr< linphone::Address > > &participants)
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > | createChatRoom (const std::shared_ptr< const linphone::ChatRoomParams > &params, const std::shared_ptr< const linphone::Address > &localAddr, const std::shared_ptr< const linphone::Address > &participant)
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > | createChatRoom (const std::shared_ptr< const linphone::Address > &participant)
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > | createClientGroupChatRoom (const std::string &subject, bool fallback)
| Create a client-side group chat room.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > | createClientGroupChatRoom (const std::string &subject, bool fallback, bool encrypted)
| Create a client-side group chat room.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::ConferenceParams > | createConferenceParams (const std::shared_ptr< linphone::Conference > &conference)
| Create some default conference parameters for instanciating a conference with createConferenceWithParams().
LINPHONECXX_PUBLIC std::shared_ptr< linphone::ConferenceScheduler > | createConferenceScheduler ()
| Create a conference scheduler that can be used to create remote conferences for now or later and then send conference info as an ICS through chat.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Conference > | createConferenceWithParams (const std::shared_ptr< const linphone::ConferenceParams > &params)
| Create a conference.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Config > | createConfig (const std::string &filename)
| Create a Config object from a user config file.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Content > | createContent ()
| Create a content with default values from Linphone core.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::ChatRoomParams > | createDefaultChatRoomParams ()
| Creates and returns the default chat room parameters.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Friend > | createFriend ()
| Create a default Friend.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::FriendList > | createFriendList ()
| Create a new empty FriendList object.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Friend > | createFriendWithAddress (const std::string &address)
| Create a Friend from the given address.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::InfoMessage > | createInfoMessage ()
| Creates an empty info message.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Ldap > | createLdap ()
| Create an empty LDAP search.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::LdapParams > | createLdapParams ()
| Create a LDAP params using default values from Linphone core.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Ldap > | createLdapWithParams (const std::shared_ptr< linphone::LdapParams > &params)
| Create a LDAP search using given parameters and store them in the configuration file.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Player > | createLocalPlayer (const std::string &soundCardName, const std::string &videoDisplayName, void *windowId)
| Create an independent media file player.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::MagicSearch > | createMagicSearch ()
| Create a MagicSearch object.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::NatPolicy > | createNatPolicy ()
| Create a new NatPolicy object with every policies being disabled.
LINPHONECXX_PUBLIC void * | createNativePreviewWindowId ()
| Create a native window handle for the video preview window.
LINPHONECXX_PUBLIC void * | createNativeVideoWindowId () const
| Create a native window handle for the video window.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Event > | createNotify (const std::shared_ptr< linphone::Address > &resource, const std::string &event)
| Create an out-of-dialog notification, specifying the destination resource, the event name.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Event > | createOneShotPublish (const std::shared_ptr< linphone::Address > &resource, const std::string &event)
| Create a publish context for a one-shot publish.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::PresenceActivity > | createPresenceActivity (linphone::PresenceActivity::Type acttype, const std::string &description)
| Create a PresenceActivity with the given type and description.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::PresenceModel > | createPresenceModel ()
| Create a default PresenceModel.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::PresenceModel > | createPresenceModelWithActivity (linphone::PresenceActivity::Type acttype, const std::string &description)
| Create a PresenceModel with the given activity type and activity description.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::PresenceModel > | createPresenceModelWithActivityAndNote (linphone::PresenceActivity::Type acttype, const std::string &description, const std::string &note, const std::string &lang)
| Create a PresenceModel with the given activity type, activity description, note content and note language.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::PresenceNote > | createPresenceNote (const std::string &content, const std::string &lang)
| Create a PresenceNote with the given content and language.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::PresencePerson > | createPresencePerson (const std::string &id)
| Create a PresencePerson with the given id.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::PresenceService > | createPresenceService (const std::string &id, linphone::PresenceBasicStatus basicStatus, const std::string &contact)
| Create a PresenceService with the given id, basic status and contact.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Address > | createPrimaryContactParsed ()
| Same as getPrimaryContact() but the result is a Address object instead of const char *.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::ProxyConfig > | createProxyConfig ()
| Create a proxy config with default values from Linphone core.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Event > | createPublish (const std::shared_ptr< linphone::Address > &resource, const std::string &event, int expires)
| Create a publish context for an event state.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Recorder > | createRecorder (const std::shared_ptr< linphone::RecorderParams > &params)
| Create a media file recorder.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::RecorderParams > | createRecorderParams () const
| Create a recorder params that will hold parameters.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Event > | createSubscribe (const std::shared_ptr< linphone::Address > &resource, const std::string &event, int expires)
| Create an outgoing subscription, specifying the destination resource, the event name, and an optional content body.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Event > | createSubscribe (const std::shared_ptr< linphone::Address > &resource, const std::shared_ptr< linphone::ProxyConfig > &proxy, const std::string &event, int expires)
| Create an outgoing subscription, specifying the destination resource, the event name, and an optional content body.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::XmlRpcSession > | createXmlRpcSession (const std::string &url)
| Create a XmlRpcSession for a given url.
LINPHONECXX_PUBLIC void | deleteChatRoom (const std::shared_ptr< linphone::ChatRoom > &chatRoom)
| Removes a chatroom including all message history from the Core.
LINPHONECXX_PUBLIC void | deleteConferenceInformation (const std::shared_ptr< linphone::ConferenceInfo > &conferenceInfo)
| Deletes a conference information from DB.
LINPHONECXX_PUBLIC void | didRegisterForRemotePush (void *deviceToken)
| Sets device_token when application didRegisterForRemoteNotificationsWithDeviceToken (IOS only).
LINPHONECXX_PUBLIC void | didRegisterForRemotePushWithStringifiedToken (const std::string &deviceTokenStr)
| Sets device_token when application didRegisterForRemoteNotificationsWithDeviceToken (IOS only).
LINPHONECXX_PUBLIC void | disableChat (linphone::Reason denyReason)
| Inconditionnaly disable incoming chat messages.
LINPHONECXX_PUBLIC void | enableChat ()
| Enable reception of incoming chat messages.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED void | ensureRegistered ()
| Call this method when you receive a push notification (if you handle push notifications manually).
LINPHONECXX_PUBLIC void | enterBackground ()
| This method is called by the application to notify the linphone core library when it enters background mode.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED linphone::Status | enterConference ()
| Join the local participant to the running conference.
LINPHONECXX_PUBLIC void | enterForeground ()
| This method is called by the application to notify the linphone core library when it enters foreground mode.
LINPHONECXX_PUBLIC bool | fileFormatSupported (const std::string &fmt)
| Returns whether a specific file format is supported.
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::AuthInfo > | findAuthInfo (const std::string &realm, const std::string &username, const std::string &sipDomain)
| Find authentication info matching realm, username, domain criteria.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::Call > | findCallFromUri (const std::string &uri) const
| Search from the list of current calls if a remote address match uri.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::CallLog > | findCallLog (const std::string &callId, int limit)
| Get the call log matching the call id, or nullptr if can't be found.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::CallLog > | findCallLogFromCallId (const std::string &callId)
| Get the call log matching the call id, or nullptr if can't be found.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > | findChatRoom (const std::shared_ptr< const linphone::Address > &peerAddr, const std::shared_ptr< const linphone::Address > &localAddr) const
| Find a chat room.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::ConferenceInfo > | findConferenceInformationFromUri (const std::shared_ptr< linphone::Address > &uri)
| Retrieve the conference information linked to the provided URI if any.
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::Address > > | findContactsByChar (const std::string &filter, bool sipOnly)
| Retrieves a list of Address sort and filter.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Friend > | findFriend (const std::shared_ptr< const linphone::Address > &address) const
| Search a Friend by its address.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Friend > | findFriendByPhoneNumber (const std::string &phoneNumber) const
| Search a Friend by its phone number.
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::Friend > > | findFriends (const std::shared_ptr< const linphone::Address > &address) const
| Search all Friend matching an address.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > | findOneToOneChatRoom (const std::shared_ptr< const linphone::Address > &localAddr, const std::shared_ptr< const linphone::Address > &participantAddr, bool encrypted) const
| Find a one to one chat room.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Account > | getAccountByIdkey (const std::string &idkey)
| Search for a Account by it's idkey.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Call > | getCallByCallid (const std::string &callId) const
| Get the call by callid.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::Call > | getCallByRemoteAddress (const std::string &remoteAddress) const
| Get the call with the remote_address specified.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Call > | getCallByRemoteAddress2 (const std::shared_ptr< const linphone::Address > &remoteAddress) const
| Get the call with the specified Address.
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::CallLog > > | getCallHistory (const std::shared_ptr< const linphone::Address > &peerAddress, const std::shared_ptr< const linphone::Address > &localAddress)
| Get the list of call logs (past calls).
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > | getChatRoom (const std::shared_ptr< const linphone::Address > &addr)
| Get a chat room whose peer is the supplied address.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > | getChatRoom (const std::shared_ptr< const linphone::Address > &peerAddr, const std::shared_ptr< const linphone::Address > &localAddr)
| Get a chat room.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > | getChatRoomFromUri (const std::string &to)
| Get a chat room for messaging from a sip uri like sip:joe@s.nosp@m.ip.l.nosp@m.inpho.nosp@m.ne.o.nosp@m.rg.
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::ConferenceInfo > > | getConferenceInformationListAfterTime (time_t time)
| Retrieve the list of conference information on DB after a certain time.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Friend > | getFriendByRefKey (const std::string &key) const
| Search a Friend by its reference key.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::FriendList > | getFriendListByName (const std::string &name) const
| Retrieves the list of Friend from the core that has the given display name.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::PayloadType > | getPayloadType (const std::string &type, int rate, int channels)
| Get payload type from mime type and clock rate.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::ProxyConfig > | getProxyConfigByIdkey (const std::string &idkey)
| Search for a ProxyConfig by it's idkey.
LINPHONECXX_PUBLIC int | getUnreadChatMessageCountFromLocal (const std::shared_ptr< const linphone::Address > &address) const
| Return the unread chat message count for a given local address.
LINPHONECXX_PUBLIC linphone::ZrtpPeerStatus | getZrtpStatus (const std::string &addr)
| Get the zrtp sas validation status for a peer uri.
LINPHONECXX_PUBLIC bool | hasBuiltinEchoCanceller ()
| Check whether the device has a hardware echo canceller.
LINPHONECXX_PUBLIC bool | hasCrappyOpengl ()
| Check whether the device is flagged has crappy opengl.
LINPHONECXX_PUBLIC bool | inCall () const
| Tells whether there is a call running.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::Address > | interpretUrl (const std::string &url)
| Constructs a Address from the given string if possible.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Address > | interpretUrl (const std::string &url, bool applyInternationalPrefix)
| Constructs a Address from the given string if possible.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Call > | invite (const std::string &url)
| Initiates an outgoing call.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Call > | inviteAddress (const std::shared_ptr< const linphone::Address > &addr)
| Initiates an outgoing call given a destination Address The Address can be constructed directly using Factory::createAddress(), or created by interpretUrl().
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Call > | inviteAddressWithParams (const std::shared_ptr< const linphone::Address > &addr, const std::shared_ptr< const linphone::CallParams > &params)
| Initiates an outgoing call given a destination Address The Address can be constructed directly using Factory::createAddress(), or created by interpretUrl().
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Call > | inviteAddressWithParams (const std::shared_ptr< const linphone::Address > &addr, const std::shared_ptr< const linphone::CallParams > &params, const std::string &subject, const std::shared_ptr< const linphone::Content > &content)
| Initiates an outgoing call given a destination Address The Address can be constructed directly using Factory::createAddress(), or created by interpretUrl().
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Call > | inviteWithParams (const std::string &url, const std::shared_ptr< const linphone::CallParams > &params)
| Initiates an outgoing call according to supplied call parameters The application doesn't own a reference to the returned Call object.
LINPHONECXX_PUBLIC bool | isContentTypeSupported (const std::string &contentType) const
| Tells whether a content type is supported.
LINPHONECXX_PUBLIC bool | isMediaEncryptionSupported (linphone::MediaEncryption menc)
| Check if media encryption is supported.
LINPHONECXX_PUBLIC bool | isMediaFilterSupported (const std::string &filtername)
| Checks if the given media filter is loaded and usable.
LINPHONECXX_PUBLIC bool | isPluginLoaded (const std::string &name) const
| Tells whether a plugin is loaded or not.
LINPHONECXX_PUBLIC void | iterate ()
| Main loop function.
LINPHONECXX_PUBLIC bool | ldapAvailable ()
| Tells if LDAP is available.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED linphone::Status | leaveConference ()
| Make the local participant leave the running conference.
LINPHONECXX_PUBLIC bool | limeX3DhAvailable () const
| Tells if LIME X3DH is available.
LINPHONECXX_PUBLIC void | loadConfigFromXml (const std::string &xmlUri)
| Update current config with the content of a xml config file.
LINPHONECXX_PUBLIC bool | mediaEncryptionSupported (linphone::MediaEncryption menc)
| Check if a media encryption type is supported.
LINPHONECXX_PUBLIC void | migrateLogsFromRcToDb ()
| Migrates the call logs from the linphonerc to the database if not done yet.
LINPHONECXX_PUBLIC linphone::Status | migrateToMultiTransport ()
| Migrate configuration so that all SIP transports are enabled.
LINPHONECXX_PUBLIC void | notifyAllFriends (const std::shared_ptr< linphone::PresenceModel > &presence)
| Notify all friends that have subscribed.
LINPHONECXX_PUBLIC void | notifyNotifyPresenceReceived (const std::shared_ptr< linphone::Friend > &linphoneFriend)
| Notifies the upper layer that a presence status has been received by calling the appropriate callback if one has been set.
LINPHONECXX_PUBLIC void | notifyNotifyPresenceReceivedForUriOrTel (const std::shared_ptr< linphone::Friend > &linphoneFriend, const std::string &uriOrTel, const std::shared_ptr< const linphone::PresenceModel > &presenceModel)
| Notifies the upper layer that a presence model change has been received for the uri or telephone number given as a parameter, by calling the appropriate callback if one has been set.
LINPHONECXX_PUBLIC linphone::Status | pauseAllCalls ()
| Pause all currently running calls.
LINPHONECXX_PUBLIC void | playDtmf (char dtmf, int durationMs)
| Plays a dtmf sound to the local user.
LINPHONECXX_PUBLIC linphone::Status | playLocal (const std::string &audiofile)
| Plays an audio file to the local user.
LINPHONECXX_PUBLIC int | preemptSoundResources ()
| Empties sound resources to allow a new call to be accepted.
LINPHONECXX_PUBLIC void | previewOglRender () const
| Call generic OpenGL render for a given core.
LINPHONECXX_PUBLIC void | processPushNotification (const std::string &callId)
| Call this method when you receive a push notification (if you handle push notifications manually).
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Event > | publish (const std::shared_ptr< linphone::Address > &resource, const std::string &event, int expires, const std::shared_ptr< const linphone::Content > &body)
| Publish an event state.
LINPHONECXX_PUBLIC unsigned int | realtimeTextGetKeepaliveInterval () const
| Gets keep alive interval of real time text.
LINPHONECXX_PUBLIC void | realtimeTextSetKeepaliveInterval (unsigned int interval)
| Set keep alive interval for real time text.
LINPHONECXX_PUBLIC void | refreshRegisters ()
| force registration refresh to be initiated upon next iterate
LINPHONECXX_PUBLIC void | rejectSubscriber (const std::shared_ptr< linphone::Friend > &linphoneFriend)
| Black list a friend.
LINPHONECXX_PUBLIC void | reloadMsPlugins (const std::string &path)
| Reload mediastreamer2 plugins from specified directory.
LINPHONECXX_PUBLIC void | reloadSoundDevices ()
| Update detection of sound devices.
LINPHONECXX_PUBLIC void | reloadVideoDevices ()
| Update detection of camera devices.
LINPHONECXX_PUBLIC void | removeAccount (const std::shared_ptr< linphone::Account > &account)
| Removes an account.
LINPHONECXX_PUBLIC void | removeAuthInfo (const std::shared_ptr< const linphone::AuthInfo > &info)
| Removes an authentication information object.
LINPHONECXX_PUBLIC void | removeCallLog (const std::shared_ptr< linphone::CallLog > &callLog)
| Remove a specific call log from call history list.
LINPHONECXX_PUBLIC void | removeContentTypeSupport (const std::string &contentType)
| Remove support for the specified content type.
LINPHONECXX_PUBLIC void | removeFriendList (const std::shared_ptr< linphone::FriendList > &list)
| Removes a friend list.
LINPHONECXX_PUBLIC linphone::Status | removeFromConference (const std::shared_ptr< linphone::Call > &call)
| Remove a call from the conference.
LINPHONECXX_PUBLIC void | removeLdap (const std::shared_ptr< linphone::Ldap > &ldap)
| Remove a LDAP from the configuration.
LINPHONECXX_PUBLIC void | removeLinphoneSpec (const std::string &spec)
| Remove the given linphone specs from the list of functionalities the linphone client supports.
LINPHONECXX_PUBLIC void | removeProxyConfig (const std::shared_ptr< linphone::ProxyConfig > &config)
| Removes a proxy configuration.
LINPHONECXX_PUBLIC void | removeSupportedTag (const std::string &tag)
| Remove a supported tag.
LINPHONECXX_PUBLIC void | resetEchoCancellationCalibration ()
| Clears all state resulting from a previous echo canceller calibration procedure, which restores default policy and settings for echo cancellation.
LINPHONECXX_PUBLIC void | resetMissedCallsCount ()
| Reset the counter of missed calls.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::ChatRoom > | searchChatRoom (const std::shared_ptr< const linphone::ChatRoomParams > &params, const std::shared_ptr< const linphone::Address > &localAddr, const std::shared_ptr< const linphone::Address > &remoteAddr, const std::list< std::shared_ptr< linphone::Address > > &participants) const
| Find a chat room.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Conference > | searchConference (const std::shared_ptr< const linphone::ConferenceParams > &params, const std::shared_ptr< const linphone::Address > &localAddr, const std::shared_ptr< const linphone::Address > &remoteAddr, const std::list< std::shared_ptr< linphone::Address > > &participants) const
| Find a conference.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Conference > | searchConference (const std::shared_ptr< const linphone::Address > &conferenceAddr) const
| Find a conference.
LINPHONECXX_PUBLIC void | setAudioPortRange (int minPort, int maxPort)
| Sets the UDP port range from which to randomly select the port used for audio streaming.
LINPHONECXX_PUBLIC void | setQrcodeDecodeRect (const int x, const int y, const int w, const int h)
| Set the rectangle where the decoder will search a QRCode.
LINPHONECXX_PUBLIC void | setRefreshWindow (const int minValue, const int maxValue)
| Set the refresh window.
LINPHONECXX_PUBLIC void | setTextPortRange (int minPort, int maxPort)
| Sets the UDP port range from which to randomly select the port used for text streaming.
LINPHONECXX_PUBLIC void | setTone (linphone::ToneID toneId, const std::string &audiofile)
| Assign an audio file to be played as a specific tone id.
LINPHONECXX_PUBLIC void | setUserAgent (const std::string &name, const std::string &version)
| Set the user agent string used in SIP messages.
LINPHONECXX_PUBLIC void | setVideoPortRange (int minPort, int maxPort)
| Sets the UDP port range from which to randomly select the port used for video streaming.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool | soundDeviceCanCapture (const std::string &device)
| Tells whether a specified sound device can capture sound.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool | soundDeviceCanPlayback (const std::string &device)
| Tells whether a specified sound device can play sound.
LINPHONECXX_PUBLIC bool | soundResourcesLocked ()
| Check if a call will need the sound resources in near future (typically an outgoing call that is awaiting response).
LINPHONECXX_PUBLIC linphone::Status | start ()
| Start a Core object after it has been instantiated and not automatically started.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED linphone::Status | startConferenceRecording (const std::string &path)
| Start recording the running conference.
LINPHONECXX_PUBLIC linphone::Status | startEchoCancellerCalibration ()
| Starts an echo calibration of the sound devices, in order to find adequate settings for the echo canceler automatically.
LINPHONECXX_PUBLIC linphone::Status | startEchoTester (unsigned int rate)
| Start the simulation of call to test the latency with an external device.
LINPHONECXX_PUBLIC void | stop ()
| Stop a Core object after it has been instantiated and started.
LINPHONECXX_PUBLIC void | stopAsync ()
| Stop asynchronously a Core object after it has been instantiated and started.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED linphone::Status | stopConferenceRecording ()
| Stop recording the running conference.
LINPHONECXX_PUBLIC void | stopDtmf ()
| Stops playing a dtmf started by playDtmf().
LINPHONECXX_PUBLIC linphone::Status | stopEchoTester ()
| Stop the simulation of call.
LINPHONECXX_PUBLIC void | stopRinging ()
| Whenever the liblinphone is playing a ring to advertise an incoming call or ringback of an outgoing call, this function stops the ringing.
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Event > | subscribe (const std::shared_ptr< linphone::Address > &resource, const std::string &event, int expires, const std::shared_ptr< const linphone::Content > &body)
| Create an outgoing subscription, specifying the destination resource, the event name, and an optional content body.
LINPHONECXX_PUBLIC linphone::Status | takePreviewSnapshot (const std::string &file)
| Take a photo of currently from capture device and write it into a jpeg file.
LINPHONECXX_PUBLIC linphone::Status | terminateAllCalls ()
| Terminates all the calls.
LINPHONECXX_PUBLIC linphone::Status | terminateConference ()
| Terminate the running conference.
LINPHONECXX_PUBLIC void | uploadLogCollection ()
| Upload the log collection to the configured server url.
LINPHONECXX_PUBLIC void | usePreviewWindow (bool yesno)
| Tells the core to use a separate window for local camera preview video, instead of inserting local view within the remote video window.
LINPHONECXX_PUBLIC void | verifyServerCertificates (bool yesno)
| Specify whether the tls server certificate must be verified when connecting to a SIP/TLS server.
LINPHONECXX_PUBLIC void | verifyServerCn (bool yesno)
| Specify whether the tls server certificate common name must be verified when connecting to a SIP/TLS server.
LINPHONECXX_PUBLIC bool | videoSupported ()
| Test if video is supported.

## Static Public Member Functions

static LINPHONECXX_PUBLIC std::string | compressLogCollection ()
| Compress the log collection in a single file.
static LINPHONECXX_PUBLIC void | enableLogCollection (linphone::LogCollectionState state)
| Enable the linphone core log collection to upload logs on a server.
static LINPHONECXX_PUBLIC size_t | getLogCollectionMaxFileSize ()
| Get the max file size in bytes of the files used for log collection.
static LINPHONECXX_PUBLIC std::string | getLogCollectionPath ()
| Get the path where the log files will be written for log collection.
static LINPHONECXX_PUBLIC std::string | getLogCollectionPrefix ()
| Get the prefix of the filenames that will be used for log collection.
static LINPHONECXX_PUBLIC bool | getPostQuantumAvailable ()
| Are PostQuantum algoritms available.
static LINPHONECXX_PUBLIC std::string | getVersion ()
| Returns liblinphone's version as a string.
static LINPHONECXX_PUBLIC linphone::LogCollectionState | logCollectionEnabled ()
| Tells whether the linphone core log collection is enabled.
static LINPHONECXX_PUBLIC void | resetLogCollection ()
| Reset the log collection by removing the log files.
static LINPHONECXX_PUBLIC void | serializeLogs ()
| Enable logs serialization (output logs from either the thread that creates the linphone core or the thread that calls iterate()).
static LINPHONECXX_PUBLIC void | setLogCollectionMaxFileSize (size_t size)
| Set the max file size in bytes of the files used for log collection.
static LINPHONECXX_PUBLIC void | setLogCollectionPath (const std::string &path)
| Set the path of a directory where the log files will be written for log collection.
static LINPHONECXX_PUBLIC void | setLogCollectionPrefix (const std::string &prefix)
| Set the prefix of the filenames that will be used for log collection.
static LINPHONECXX_PUBLIC bool | tunnelAvailable ()
| True if tunnel support was compiled.
static LINPHONECXX_PUBLIC bool | upnpAvailable ()
| Return the availability of uPnP.
static LINPHONECXX_PUBLIC bool | vcardSupported ()
| Tells whether VCARD support is builtin.

## Friends

class | Factory

## Detailed Description

Main object to instanciate and on which to keep a reference.

This object is the first object to instanciante, and will allow you to perform all kind of tasks. To create it, use either Factory::createCore() or Factory::createCoreWithConfig(), see Config for more information about factory and default config. On some platforms like Android or iOS you will need to give it the Context of your application. Once the Core is in state GlobalState::Ready, use start(). It will then go to state GlobalState::On and from that you can start using it for calls and chat messages. It is recommended to add a CoreListener listener using addListener() to monitor different events. To be able to receive events from the network, you must schedule a call iterate() often, like every 20ms. On Android & iOS isAutoIterateEnabled() is enabled by default so you don't have to worry about that unless you disable it using enableAutoIterate() or by setting in the [misc] section of your configuration auto_iterate=0.

Warning
  Our API isn't thread-safe but also isn't blocking, so it is strongly recommend to always call our methods from the main thread. Once you don't need it anymore, call stop() and release the reference on it so it can gracefully shutdown.

## Member Enumeration Documentation

## LogCollectionUploadState

enum class linphone::Core::LogCollectionUploadState

strong

Used to notify if log collection upload have been succesfully delivered or not.

Enumerator
InProgress | Delivery in progress.
Delivered | Log collection upload successfully delivered and acknowledged by remote end point.
NotDelivered | Log collection upload was not delivered.

## Member Function Documentation

## activateAudioSession()

LINPHONECXX_PUBLIC void linphone::Core::activateAudioSession | ( | bool | activated | ) |

Special function to indicate if the audio session is activated.

Must be called when ProviderDelegate of the callkit notifies that the audio session is activated or deactivated.

Parameters

  activated | true to activate the audio session, false to disable it.

## adaptiveRateControlEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::adaptiveRateControlEnabled | ( |  | ) | const

Returns whether adaptive rate control is enabled.

See also
  enableAdaptiveRateControl()

Returns
  true if adaptive rate control is enabled, false otherwise

## addAccount()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::addAccount | ( | const std::shared_ptr< linphone::Account > & | account | ) |

Add an account.

This will start registration on the proxy, if registration is enabled.

Parameters

  account | the Account to add

Returns
  0 if successful, -1 otherwise

## addAllToConference()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::addAllToConference | ( |  | ) |

Add all current calls into the conference.

If no conference is running a new internal conference context is created and all current calls are added to it.

Returns
  0 if succeeded. Negative number if failed

Warning
  This function guarantees that the local endpoint is added to the conference.

## addAuthInfo()

LINPHONECXX_PUBLIC void linphone::Core::addAuthInfo | ( | const std::shared_ptr< const linphone::AuthInfo > & | info | ) |

Adds authentication information to the Core.

That piece of information will be used during all SIP transactions that require authentication.

Parameters

  info | The AuthInfo to add.

## addContentTypeSupport()

LINPHONECXX_PUBLIC void linphone::Core::addContentTypeSupport | ( | const std::string & | contentType | ) |

Add support for the specified content type.

It is the application responsibility to handle it correctly afterwards.

Parameters

  contentType | The content type to add support for

## addFriendList()

LINPHONECXX_PUBLIC void linphone::Core::addFriendList | ( | const std::shared_ptr< linphone::FriendList > & | list | ) |

Add a friend list.

Parameters

  list | FriendList object

## addLdap()

LINPHONECXX_PUBLIC void linphone::Core::addLdap | ( | const std::shared_ptr< linphone::Ldap > & | ldap | ) |

Add or update a LDAP server and save it to the configuration.

Parameters

  ldap | The LDAP to add/update.

## addLinphoneSpec()

LINPHONECXX_PUBLIC void linphone::Core::addLinphoneSpec | ( | const std::string & | spec | ) |

Add the given linphone specs to the list of functionalities the linphone client supports.

Parameters

  spec | The spec to add

## addListener()

LINPHONECXX_PUBLIC void linphone::Core::addListener | ( | const std::shared_ptr< CoreListener > & | listener | ) |

Add an application listener to the Core instance.

Parameters

  listener | the application listener

## addProvisioningHeader()

LINPHONECXX_PUBLIC void linphone::Core::addProvisioningHeader | ( | const std::string & | headerName,
|  | const std::string & | value )

Add an extra header for retrieving the remote provisioning (check setProvisioningUri()).

This can also be set from configuration file or factory config file, from[misc] section, item "config-uri-headers_X" where X is the index of the header starting by 0.

Parameters

  headerName | the header to use when downloading the configuration.
  value | the value to use when downloading the configuration.

## addProxyConfig()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::addProxyConfig | ( | const std::shared_ptr< linphone::ProxyConfig > & | config | ) |

Add a proxy configuration.

This will start registration on the proxy, if registration is enabled.

Parameters

  config | the ProxyConfig to add

Returns
  0 if successful, -1 otherwise

## addSupportedTag()

LINPHONECXX_PUBLIC void linphone::Core::addSupportedTag | ( | const std::string & | tag | ) |

This function controls signaling features supported by the core.

They are typically included in a SIP Supported header.

Parameters

  tag | The feature tag name

## addToConference()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::addToConference | ( | const std::shared_ptr< linphone::Call > & | call | ) |

Add a participant to the conference.

If no conference is going on a new internal conference context is created and the participant is added to it.

Parameters

  call | The current call with the participant to add

Returns
  0 if succeeded. Negative number if failed

## agcEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::agcEnabled | ( |  | ) | const

Tells whether the experimental software Automatic Gain Control is activated.

This algorithm is very experimental, not usable in its current state.

Returns
  true if the AGC is enabled, false otherwise.

## alertsEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::alertsEnabled | ( |  | ) | const

Returns whether alert reporting is enabled.

See Alert for more details.

Returns
  whether alert reporting is enabled.

## audioAdaptiveJittcompEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::audioAdaptiveJittcompEnabled | ( |  | ) |

Tells whether the audio adaptive jitter compensation is enabled.

Returns
  true if the audio adaptive jitter compensation is enabled, false otherwise.

## audioMulticastEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::audioMulticastEnabled | ( |  | ) | const

Use to get multicast state of audio stream.

Returns
  true if subsequent calls will propose multicast ip set by setAudioMulticastAddr()

## audioRouteChanged()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED void linphone::Core::audioRouteChanged | ( |  | ) |

Special function to indicate if the audio route is changed.

Must be called in the callback of AVAudioSessionRouteChangeNotification.

Deprecated
  07/01/2020 now handled in the linphone SDK directly

## autoDownloadIcalendarsEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::autoDownloadIcalendarsEnabled | ( |  | ) |

Gets if the auto download for incoming icalendars is enabled or not.

Returns
  true if icalendars will be automatically downloaded, false otherwise.

## autoDownloadVoiceRecordingsEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::autoDownloadVoiceRecordingsEnabled | ( |  | ) |

Gets if the auto download for incoming voice recordings is enabled or not.

Returns
  true if voice recordings will be automatically downloaded, false otherwise.

## autoIterateEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::autoIterateEnabled | ( |  | ) | const

Gets whether auto iterate is enabled or not (Android & iOS only).

Returns
  true if iterate() is scheduled automatically, false otherwise

## automaticHttpProxyDetectionEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::automaticHttpProxyDetectionEnabled | ( |  | ) | const

Returns whether automatic http proxy is enabled.

Returns
  true if automatic http proxy is enabled or false.

## autoSendRingingEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::autoSendRingingEnabled | ( |  | ) |

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

Returns
  true if the automatic sending of 180 Ringing is enabled, false otherwise.

## callkitEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::callkitEnabled | ( |  | ) | const

Special function to check if the callkit is enabled, False by default.

Returns
  true if callkit is enabled, false otherwise.

## callToneIndicationsEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::callToneIndicationsEnabled | ( |  | ) | const

Check whether tone indications of calls are enabled.

Returns
  true if call tone indications are enabled

## capabilityNegociationEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::capabilityNegociationEnabled | ( |  | ) | const

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

Returns
  true if capability negotiation is supported; false otherwise.

## capabilityNegotiationReinviteEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::capabilityNegotiationReinviteEnabled | ( |  | ) | const

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

Returns
  true if capability negotiation reINVITE is enabled; false otherwise.

## cfgLinesMergingEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::cfgLinesMergingEnabled | ( |  | ) | const

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

Returns
  true if acfg and pcfg lines with consecutive indexes are going to be merged; false otherwise.

## chatEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::chatEnabled | ( |  | ) | const

Returns whether chat is enabled.

Returns
  true if chat is enabled, false otherwise

## chatRoomGetDefaultEphemeralMode()

LINPHONECXX_PUBLIC linphone::ChatRoom::EphemeralMode linphone::Core::chatRoomGetDefaultEphemeralMode | ( |  | ) | const

Gets the default ephemeral message mode.

Returns
  the default ephemeral message mode ChatRoom::EphemeralMode

## chatRoomSetDefaultEphemeralMode()

LINPHONECXX_PUBLIC void linphone::Core::chatRoomSetDefaultEphemeralMode | ( | linphone::ChatRoom::EphemeralMode | mode | ) |

Sets the default ephemeral message mode.

Parameters

  mode | default ephemeral message mode ChatRoom::EphemeralMode

## checkForUpdate()

LINPHONECXX_PUBLIC void linphone::Core::checkForUpdate | ( | const std::string & | currentVersion | ) |

Checks if a new version of the application is available.

Parameters

  currentVersion | The current version of the application

## compressLogCollection()

LINPHONECXX_PUBLIC std::string linphone::Core::compressLogCollection | ( |  | ) |

static

Compress the log collection in a single file.

Returns
  The path of the compressed log collection file (to be freed calling ms_free()).

## conferenceIcsInMessageBodyEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::conferenceIcsInMessageBodyEnabled | ( |  | ) | const

Gets wether conference invitations will be sent in the chat message body or as a file attachment.

Returns
  true if ICS will be sent in the message body (by default), false if it will be sent as a file attachment.

## conferenceServerEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::conferenceServerEnabled | ( |  | ) | const

Tells whether the conference server feature is enabled.

Returns
  A boolean value telling whether the conference server feature is enabled or not

## configSync()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::configSync | ( |  | ) |

Writes the config file to disk.

Returns
  0 if successful, -1 otherwise

## configureAudioSession()

LINPHONECXX_PUBLIC void linphone::Core::configureAudioSession | ( |  | ) |

Special function to configure audio session with default settings.

Must be called in ProviderDelegate's callbacks when answer an incoming call and start an outgoing call.

## createAccount()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Account > linphone::Core::createAccount | ( | const std::shared_ptr< linphone::AccountParams > & | params | ) |

Create an account using given parameters, see createAccountParams().

Parameters

  params | AccountParams object

Returns
  Account with default values set

## createAccountCreator()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::AccountCreator > linphone::Core::createAccountCreator | ( | const std::string & | xmlrpcUrl | ) |

Create a AccountCreator and set Linphone Request callbacks.

Parameters

  xmlrpcUrl | The URL to the XML-RPC server.

Returns
  The new AccountCreator object.

## createAccountParams()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::AccountParams > linphone::Core::createAccountParams | ( |  | ) |

Create an account params using default values from Linphone core.

Returns
  AccountParams with default values set

## createAddress()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Address > linphone::Core::createAddress | ( | const std::string & | address | ) |

Create a Address object by parsing the user supplied address, given as a string.

Parameters

  address | String containing the user supplied address

Returns
  The create Address object

## createCallLog()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::CallLog > linphone::Core::createCallLog | ( | const std::shared_ptr< linphone::Address > & | from,
|  | const std::shared_ptr< linphone::Address > & | to,
|  | linphone::Call::Dir | dir,
|  | int | duration,
|  | time_t | startTime,
|  | time_t | connectedTime,
|  | linphone::Call::Status | status,
|  | bool | videoEnabled,
|  | float | quality )

Creates a fake CallLog.

Parameters

  from | Address of caller
  to | Address of callee
  dir | Call::Dir of call
  duration | call length in seconds
  startTime | timestamp of call start time
  connectedTime | timestamp of call connection
  status | Call::Status of call
  videoEnabled | whether video was enabled or not for this call
  quality | call quality

Returns
  a CallLog object

## createCallParams()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::CallParams > linphone::Core::createCallParams | ( | const std::shared_ptr< linphone::Call > & | call | ) |

Create a CallParams suitable for inviteWithParams(), linphone_core_accept_call_with_params, linphone_core_accept_early_media_with_params or linphone_core_accept_call_update.

The parameters are initialized according to the current Core configuration and the last used local CallParams, the ones passed through Call::update(), Call::acceptWithParams() or linphone_call_accept_update_with_params().

Parameters

  call | Call for which the parameters are to be build, or nullptr in the case where the parameters are to be used for a new outgoing call.

Returns
  A new CallParams object.

## createChatRoom() [1/6]

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > linphone::Core::createChatRoom | ( | const std::shared_ptr< const linphone::Address > & | participant | ) |

Parameters

  participant | Address representing the initial participant to add to the chat room

Returns
  The newly created chat room.

Deprecated
  02/07/2020, use createChatRoom() instead

## createChatRoom() [2/6]

LINPHONECXX_PUBLIC std::shared_ptr< linphone::ChatRoom > linphone::Core::createChatRoom | ( | const std::shared_ptr< const linphone::ChatRoomParams > & | params,
|  | const std::shared_ptr< const linphone::Address > & | localAddr,
|  | const std::list< std::shared_ptr< linphone::Address > > & | participants )

Create a chat room.

Parameters

  params | The chat room creation parameters ChatRoomParams
  localAddr | Address representing the local proxy configuration to use for the chat room creation or nullptr
  participants | The initial list of participants of the chat room.

Returns
  The newly created chat room (can be an existing one if backend is Basic) or nullptr.

## createChatRoom() [3/6]

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > linphone::Core::createChatRoom | ( | const std::shared_ptr< const linphone::ChatRoomParams > & | params,
|  | const std::shared_ptr< const linphone::Address > & | localAddr,
|  | const std::shared_ptr< const linphone::Address > & | participant )

Parameters

  params | The chat room creation parameters ChatRoomParams
  localAddr | Address representing the local proxy configuration to use for the chat room creation
  participant | Address representing the initial participant to add to the chat room

Returns
  The newly created chat room.

Deprecated
  02/07/2020, use createChatRoom() instead

## createChatRoom() [4/6]

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > linphone::Core::createChatRoom | ( | const std::shared_ptr< const linphone::ChatRoomParams > & | params,
|  | const std::shared_ptr< const linphone::Address > & | localAddr,
|  | const std::string & | subject,
|  | const std::list< std::shared_ptr< linphone::Address > > & | participants )

Create a chat room.

Parameters

  params | The chat room creation parameters ChatRoomParams
  localAddr | Address representing the local proxy configuration to use for the chat room creation
  subject | The subject of the group chat room
  participants | The initial list of participants of the chat room

Returns
  The newly created chat room.

Deprecated
  02/07/2020, use createChatRoom() instead

## createChatRoom() [5/6]

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > linphone::Core::createChatRoom | ( | const std::shared_ptr< const linphone::ChatRoomParams > & | params,
|  | const std::string & | subject,
|  | const std::list< std::shared_ptr< linphone::Address > > & | participants )

Create a chat room.

Parameters

  params | The chat room creation parameters ChatRoomParams
  subject | The subject of the group chat room
  participants | The initial list of participants of the chat room.

Returns
  The newly created chat room.

Deprecated
  02/07/2020, use createChatRoom() instead

## createChatRoom() [6/6]

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > linphone::Core::createChatRoom | ( | const std::string & | subject,
|  | const std::list< std::shared_ptr< linphone::Address > > & | participants )

Parameters

  subject | The subject of the group chat room
  participants | The initial list of participants of the chat room.

Returns
  The newly created chat room.

Deprecated
  02/07/2020, use createChatRoom() instead

## createClientGroupChatRoom() [1/2]

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > linphone::Core::createClientGroupChatRoom | ( | const std::string & | subject,
|  | bool | fallback )

Create a client-side group chat room.

When calling this function the chat room is only created at the client-side and is empty. You need to call ChatRoom::addParticipants() to create at the server side and add participants to it. Also, the created chat room will not be a one-to-one chat room even if ChatRoom::addParticipants() is called with only one participant.

Parameters

  subject | The subject of the group chat room
  fallback | Boolean value telling whether we should plan on being able to fallback to a basic chat room if the client-side group chat room creation fails

Returns
  The newly created client-side group chat room.

Deprecated
  02/07/2020, use createChatRoom() instead

## createClientGroupChatRoom() [2/2]

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > linphone::Core::createClientGroupChatRoom | ( | const std::string & | subject,
|  | bool | fallback,
|  | bool | encrypted )

Create a client-side group chat room.

When calling this function the chat room is only created at the client-side and is empty. You need to call ChatRoom::addParticipants() to create at the server side and add participants to it. Also, the created chat room will not be a one-to-one chat room even if ChatRoom::addParticipants() is called with only one participant.

Parameters

  subject | The subject of the group chat room
  fallback | Boolean value telling whether we should plan on being able to fallback to a basic chat room if the client-side group chat room creation fails
  encrypted | Boolean value telling whether we should apply encryption or not on chat messages sent and received on this room.

Returns
  The newly created client-side group chat room.

Deprecated
  02/07/2020, use createChatRoom() instead

## createConferenceParams()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::ConferenceParams > linphone::Core::createConferenceParams | ( | const std::shared_ptr< linphone::Conference > & | conference | ) |

Create some default conference parameters for instanciating a conference with createConferenceWithParams().

Parameters

  conference | Conference for which the parameters are to be build, or nullptr in the case where the parameters are to be used for a new conference.

Returns
  a ConferenceParams object.

## createConferenceScheduler()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::ConferenceScheduler > linphone::Core::createConferenceScheduler | ( |  | ) |

Create a conference scheduler that can be used to create remote conferences for now or later and then send conference info as an ICS through chat.

Returns
  A pointer on the freshly created ConferenceScheduler.

## createConferenceWithParams()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Conference > linphone::Core::createConferenceWithParams | ( | const std::shared_ptr< const linphone::ConferenceParams > & | params | ) |

Create a conference.

Local or remote conference is determinated from the 'conference_type' variable in the 'misc' section of the configuration, or by the factory address parameter. See ConferenceParams::setConferenceFactoryAddress() for more details.

Parameters

  params | Parameters of the conference. See ConferenceParams.

Returns
  A pointer on the freshly created conference Conference. That object will be automatically freed by the core after calling terminateConference().

## createConfig()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Config > linphone::Core::createConfig | ( | const std::string & | filename | ) |

Create a Config object from a user config file.

Parameters

  filename | The filename of the config file to read to fill the instantiated Config

Returns
  a Config object.

## createContent()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Content > linphone::Core::createContent | ( |  | ) |

Create a content with default values from Linphone core.

Returns
  Content object with default values set

## createDefaultChatRoomParams()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::ChatRoomParams > linphone::Core::createDefaultChatRoomParams | ( |  | ) |

Creates and returns the default chat room parameters.

Returns
  A ChatRoomParams object

## createFriend()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Friend > linphone::Core::createFriend | ( |  | ) |

Create a default Friend.

Returns
  The created Friend object

## createFriendList()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::FriendList > linphone::Core::createFriendList | ( |  | ) |

Create a new empty FriendList object.

Returns
  A new FriendList object.

## createFriendWithAddress()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Friend > linphone::Core::createFriendWithAddress | ( | const std::string & | address | ) |

Create a Friend from the given address.

Parameters

  address | A string containing the address to create the Friend from

Returns
  The created Friend object.

## createInfoMessage()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::InfoMessage > linphone::Core::createInfoMessage | ( |  | ) |

Creates an empty info message.

Returns
  a new InfoMessage.
  The info message can later be filled with information using InfoMessage::addHeader() or InfoMessage::setContent(), and finally sent with linphone_core_send_info_message().

## createLdap()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Ldap > linphone::Core::createLdap | ( |  | ) |

Create an empty LDAP search.

Ldap::setParams() must be call to save the parameters in the configuration file.

Returns
  Ldap with default values set

## createLdapParams()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::LdapParams > linphone::Core::createLdapParams | ( |  | ) |

Create a LDAP params using default values from Linphone core.

Check #linphone_ldap_params to update values. In order to add a new LDAP configuration to Magic search, these parameters must be passed to linphone_core_create_ldap_with_params. Or, use Ldap::setParams(). The newly created LDAP from createLdap().

Returns
  LdapParams with default values set.

## createLdapWithParams()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Ldap > linphone::Core::createLdapWithParams | ( | const std::shared_ptr< linphone::LdapParams > & | params | ) |

Create a LDAP search using given parameters and store them in the configuration file.

Parameters

  params | LdapParams object

Returns
  Ldap with default values set

## createLocalPlayer()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Player > linphone::Core::createLocalPlayer | ( | const std::string & | soundCardName,
|  | const std::string & | videoDisplayName,
|  | void * | windowId )

Create an independent media file player.

This player support WAVE and MATROSKA formats.

Parameters

  soundCardName | Playback sound card. If nullptr, the ringer sound card set in Core will be used
  videoDisplayName | Video display. If nullptr, the video display set in Core will be used
  windowId | Id of the drawing window. Depend of video out

Returns
  A pointer on the new instance. nullptr if failed.

## createMagicSearch()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::MagicSearch > linphone::Core::createMagicSearch | ( |  | ) |

Create a MagicSearch object.

Returns
  The created MagicSearch object

## createNativePreviewWindowId()

LINPHONECXX_PUBLIC void * linphone::Core::createNativePreviewWindowId | ( |  | ) |

Create a native window handle for the video preview window.

see setNativeVideoWindowId() for details about window_id MSQOgl can be used for the creation. createNativePreviewWindowId() returns a #QQuickFramebufferObject::Renderer. This object must be returned by your QQuickFramebufferObject::createRenderer() overload for Qt. setNativePreviewWindowId() must be called with this object after the creation. Note : Qt blocks GUI thread when calling createRenderer(), so it is safe to call linphone functions there if needed.

Returns
  The native window handle of the video preview window.

## createNativeVideoWindowId()

LINPHONECXX_PUBLIC void * linphone::Core::createNativeVideoWindowId | ( |  | ) | const

Create a native window handle for the video window.

see setNativeVideoWindowId() for details about window_id MSQOgl can be used for the creation. createNativeVideoWindowId() returns a #QQuickFramebufferObject::Renderer. This object must be returned by your QQuickFramebufferObject::createRenderer() overload for Qt. setNativeVideoWindowId() must be called with this object after the creation. Note : Qt blocks GUI thread when calling createRenderer(), so it is safe to call linphone functions there if needed.

Returns
  The native window handle of the video window.

## createNatPolicy()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::NatPolicy > linphone::Core::createNatPolicy | ( |  | ) |

Create a new NatPolicy object with every policies being disabled.

Returns
  A new NatPolicy object.

## createNotify()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Event > linphone::Core::createNotify | ( | const std::shared_ptr< linphone::Address > & | resource,
|  | const std::string & | event )

Create an out-of-dialog notification, specifying the destination resource, the event name.

The notification can be send with Event::notify().

Parameters

  resource | the destination resource
  event | the event name

Returns
  a Event holding the context of the notification.

## createOneShotPublish()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Event > linphone::Core::createOneShotPublish | ( | const std::shared_ptr< linphone::Address > & | resource,
|  | const std::string & | event )

Create a publish context for a one-shot publish.

After being created, the publish must be sent using Event::sendPublish(). The Event is automatically terminated when the publish transaction is finished, either with success or failure. The application must not call Event::terminate() for such one-shot publish.

Parameters

  resource | the resource uri for the event
  event | the event name

Returns
  the Event holding the context of the publish.

## createPresenceActivity()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::PresenceActivity > linphone::Core::createPresenceActivity | ( | linphone::PresenceActivity::Type | acttype,
|  | const std::string & | description )

Create a PresenceActivity with the given type and description.

Parameters

  acttype | The PresenceActivity::Type to set for the activity.
  description | An additional description of the activity to set for the activity. Can be nullptr if no additional description is to be added.

Returns
  The created PresenceActivity object.

## createPresenceModel()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::PresenceModel > linphone::Core::createPresenceModel | ( |  | ) |

Create a default PresenceModel.

Returns
  The created PresenceModel object.

## createPresenceModelWithActivity()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::PresenceModel > linphone::Core::createPresenceModelWithActivity | ( | linphone::PresenceActivity::Type | acttype,
|  | const std::string & | description )

Create a PresenceModel with the given activity type and activity description.

Parameters

  acttype | The PresenceActivity::Type to set for the activity of the created model.
  description | An additional description of the activity to set for the activity. Can be nullptr if no additional description is to be added.

Returns
  The created PresenceModel object.

## createPresenceModelWithActivityAndNote()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::PresenceModel > linphone::Core::createPresenceModelWithActivityAndNote | ( | linphone::PresenceActivity::Type | acttype,
|  | const std::string & | description,
|  | const std::string & | note,
|  | const std::string & | lang )

Create a PresenceModel with the given activity type, activity description, note content and note language.

Parameters

  acttype | The PresenceActivity::Type to set for the activity of the created model.
  description | An additional description of the activity to set for the activity. Can be nullptr if no additional description is to be added.
  note | The content of the note to be added to the created model.
  lang | The language of the note to be added to the created model.

Returns
  The created PresenceModel object.

## createPresenceNote()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::PresenceNote > linphone::Core::createPresenceNote | ( | const std::string & | content,
|  | const std::string & | lang )

Create a PresenceNote with the given content and language.

Parameters

  content | The content of the note to be created.
  lang | The language of the note to be created.

Returns
  The created PresenceNote object.

## createPresencePerson()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::PresencePerson > linphone::Core::createPresencePerson | ( | const std::string & | id | ) |

Create a PresencePerson with the given id.

Parameters

  id | The id of the person to be created.

Returns
  The created PresencePerson object.

## createPresenceService()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::PresenceService > linphone::Core::createPresenceService | ( | const std::string & | id,
|  | linphone::PresenceBasicStatus | basicStatus,
|  | const std::string & | contact )

Create a PresenceService with the given id, basic status and contact.

Parameters

  id | The id of the service to be created.
  basicStatus | The basic status of the service to be created.
  contact | A string containing a contact information corresponding to the service to be created.

Returns
  The created PresenceService object.

## createPrimaryContactParsed()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Address > linphone::Core::createPrimaryContactParsed | ( |  | ) |

Same as getPrimaryContact() but the result is a Address object instead of const char *.

Returns
  a Address object.

## createProxyConfig()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::ProxyConfig > linphone::Core::createProxyConfig | ( |  | ) |

Create a proxy config with default values from Linphone core.

Returns
  ProxyConfig with default values set

## createPublish()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Event > linphone::Core::createPublish | ( | const std::shared_ptr< linphone::Address > & | resource,
|  | const std::string & | event,
|  | int | expires )

Create a publish context for an event state.

After being created, the publish must be sent using Event::sendPublish(). After expiry, the publication is refreshed unless it is terminated before.

Parameters

  resource | the resource uri for the event
  event | the event name
  expires | the lifetime of event being published, -1 if no associated duration, in which case it will not be refreshed.

Returns
  the Event holding the context of the publish.

## createRecorder()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Recorder > linphone::Core::createRecorder | ( | const std::shared_ptr< linphone::RecorderParams > & | params | ) |

Create a media file recorder.

This recorder support WAVE and MATROSKA formats.

Parameters

  params | The RecorderParams that will contains all recorder parameters.

Returns
  A pointer on the new instance. nullptr if failed.

## createRecorderParams()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::RecorderParams > linphone::Core::createRecorderParams | ( |  | ) | const

Create a recorder params that will hold parameters.

This recorder support WAVE and MATROSKA formats.

Returns
  A pointer on the newly created instance.

## createSubscribe() [1/2]

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Event > linphone::Core::createSubscribe | ( | const std::shared_ptr< linphone::Address > & | resource,
|  | const std::shared_ptr< linphone::ProxyConfig > & | proxy,
|  | const std::string & | event,
|  | int | expires )

Create an outgoing subscription, specifying the destination resource, the event name, and an optional content body.

If accepted, the subscription runs for a finite period, but is automatically renewed if not terminated before. Unlike subscribe() the subscription isn't sent immediately. It will be send when calling Event::sendSubscribe().

Parameters

  resource | the destination resource
  proxy | the proxy configuration to use
  event | the event name
  expires | the whished duration of the subscription

Returns
  a Event holding the context of the created subcription.

## createSubscribe() [2/2]

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Event > linphone::Core::createSubscribe | ( | const std::shared_ptr< linphone::Address > & | resource,
|  | const std::string & | event,
|  | int | expires )

Create an outgoing subscription, specifying the destination resource, the event name, and an optional content body.

If accepted, the subscription runs for a finite period, but is automatically renewed if not terminated before. Unlike subscribe() the subscription isn't sent immediately. It will be send when calling Event::sendSubscribe().

Parameters

  resource | the destination resource
  event | the event name
  expires | the whished duration of the subscription

Returns
  a Event holding the context of the created subcription.

## createXmlRpcSession()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::XmlRpcSession > linphone::Core::createXmlRpcSession | ( | const std::string & | url | ) |

Create a XmlRpcSession for a given url.

Parameters

  url | The URL to the XML-RPC server. Must be NON nullptr.

Returns
  The new XmlRpcSession object.

## deleteChatRoom()

LINPHONECXX_PUBLIC void linphone::Core::deleteChatRoom | ( | const std::shared_ptr< linphone::ChatRoom > & | chatRoom | ) |

Removes a chatroom including all message history from the Core.

Parameters

  chatRoom | A ChatRoom object

## deleteConferenceInformation()

LINPHONECXX_PUBLIC void linphone::Core::deleteConferenceInformation | ( | const std::shared_ptr< linphone::ConferenceInfo > & | conferenceInfo | ) |

Deletes a conference information from DB.

Parameters

  conferenceInfo | the ConferenceInfo to delete.

## didRegisterForRemotePush()

LINPHONECXX_PUBLIC void linphone::Core::didRegisterForRemotePush | ( | void * | deviceToken | ) |

Sets device_token when application didRegisterForRemoteNotificationsWithDeviceToken (IOS only).

Parameters

  deviceToken | format (NSData *).

## didRegisterForRemotePushWithStringifiedToken()

LINPHONECXX_PUBLIC void linphone::Core::didRegisterForRemotePushWithStringifiedToken | ( | const std::string & | deviceTokenStr | ) |

Sets device_token when application didRegisterForRemoteNotificationsWithDeviceToken (IOS only).

Parameters

  deviceTokenStr | string extracted from the Data objectf received in didRegisterForRemoteNotificationsWithDeviceToken ios function. Append ":remote" after data formating..

## disableChat()

LINPHONECXX_PUBLIC void linphone::Core::disableChat | ( | linphone::Reason | denyReason | ) |

Inconditionnaly disable incoming chat messages.

Parameters

  denyReason | the deny reason (Reason::None has no effect).

## dnsSearchEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::dnsSearchEnabled | ( |  | ) | const

Tells whether DNS search (use of local domain if the fully qualified name did return results) is enabled.

Returns
  true if DNS search is enabled, false if disabled.

## dnsSrvEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::dnsSrvEnabled | ( |  | ) | const

Tells whether DNS SRV resolution is enabled.

Returns
  true if DNS SRV resolution is enabled, false if disabled.

## echoCancellationEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::echoCancellationEnabled | ( |  | ) | const

Returns true if echo cancellation is enabled.

Returns
  A boolean value telling whether echo cancellation is enabled or disabled

## echoLimiterEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::echoLimiterEnabled | ( |  | ) | const

Tells whether echo limiter is enabled.

Enables or disable echo limiter. "Echo limiter" refers to an algorithm that creates half-duplex conversation in order to suppress echo. It is experimental and shall be used only in rare cases where echo cancellation cannot perform because of non-linear speaker/mic coupling. You shall not expected good audio quality with the echo limiter.

Returns
  true if the echo limiter is enabled, false otherwise.

## enableAdaptiveRateControl()

LINPHONECXX_PUBLIC void linphone::Core::enableAdaptiveRateControl | ( | bool | enabled | ) |

Enable adaptive rate control.

Adaptive rate control consists in using RTCP feedback provided information to dynamically control the output bitrate of the audio and video encoders, so that we can adapt to the network conditions and available bandwidth. Control of the audio encoder is done in case of audio-only call, and control of the video encoder is done for audio & video calls. Adaptive rate control feature is enabled by default.

Parameters

  enabled | true to enable adaptive rate control, false otherwise

## enableAgc()

LINPHONECXX_PUBLIC void linphone::Core::enableAgc | ( | bool | val | ) |

Enable the experimental software Automatic Gain Control.

This algorithm is very experimental, not usable in its current state. Automatic Gain Control is usally provided by sound devices, typically on iOS and Android.

Parameters

  val | a boolean value

## enableAlerts()

LINPHONECXX_PUBLIC void linphone::Core::enableAlerts | ( | bool | enable | ) |

Enable alerts.

See Alert for more details.

Parameters

  enable | whether alert reporting is enabled or not.

## enableAudioAdaptiveJittcomp()

LINPHONECXX_PUBLIC void linphone::Core::enableAudioAdaptiveJittcomp | ( | bool | enable | ) |

Enable or disable the audio adaptive jitter compensation.

Parameters

  enable | true to enable the audio adaptive jitter compensation, false to disable it.

## enableAudioMulticast()

LINPHONECXX_PUBLIC void linphone::Core::enableAudioMulticast | ( | bool | yesno | ) |

Use to enable multicast rtp for audio stream.

If enabled, outgoing calls put a multicast address from getVideoMulticastAddr() into audio cline. In case of outgoing call audio stream is sent to this multicast address. For incoming calls behavior is unchanged.

Parameters

  yesno | if yes, subsequent calls will propose multicast ip set by setAudioMulticastAddr()

## enableAutoDownloadIcalendars()

LINPHONECXX_PUBLIC void linphone::Core::enableAutoDownloadIcalendars | ( | bool | autoDownloadIcalendars | ) |

Auto download files attach to a chat message if it's content type matches the one we use for icalendars.

Parameters

  autoDownloadIcalendars | true to automatically download incoming icalendars, false to disable it.

## enableAutoDownloadVoiceRecordings()

LINPHONECXX_PUBLIC void linphone::Core::enableAutoDownloadVoiceRecordings | ( | bool | autoDownloadVoiceRecordings | ) |

Auto download files attach to a chat message if it's content type matches the one we use for voice recordings.

Parameters

  autoDownloadVoiceRecordings | true to automatically download incoming voice recordings, false to disable it.

## enableAutoIterate()

LINPHONECXX_PUBLIC void linphone::Core::enableAutoIterate | ( | bool | enable | ) |

Enable or disable the automatic schedule of iterate() method on Android & iOS.

If enabled, iterate() will be called on the main thread every 20ms automatically. If disabled, it is the application that must do this job.

Parameters

  enable | true to enable auto iterate, false to disable

## enableAutomaticHttpProxyDetection()

LINPHONECXX_PUBLIC void linphone::Core::enableAutomaticHttpProxyDetection | ( | bool | enable | ) |

Enables or disables automatic http proxy detection.

Parameters

  enable | true if automatic http proxy is enabled or false.

## enableAutoSendRinging()

LINPHONECXX_PUBLIC void linphone::Core::enableAutoSendRinging | ( | bool | enable | ) |

Enables the automatic sending of 180 Ringing when receiving a call.

Parameters

  enable | true to activate the automatic 180 Ringing, false to disable it.

## enableCallkit()

LINPHONECXX_PUBLIC void linphone::Core::enableCallkit | ( | bool | enabled | ) |

Special function to enable the callkit.

Parameters

  enabled | true to enable callkit, false to disable it.

## enableCallToneIndications()

LINPHONECXX_PUBLIC void linphone::Core::enableCallToneIndications | ( | bool | yesno | ) | const

Enables or disables call tone indications.

This value is taken into account from next tine call parameters are created. This feature can also be enabled per-call using CallParams.

Parameters

  yesno | a boolean to indicate whether the feature is to be enabled.

## enableCapabilityNegociation()

LINPHONECXX_PUBLIC void linphone::Core::enableCapabilityNegociation | ( | bool | enable | ) |

Define whether capability negotiation (RFC5939) is supported.

Parameters

  enable | true to support RFC5939; false otherwise.

## enableCapabilityNegotiationReinvite()

LINPHONECXX_PUBLIC void linphone::Core::enableCapabilityNegotiationReinvite | ( | bool | enable | ) |

Define whether capability negotiation (RFC5939) reINVITE is enabled.

Parameters

  enable | true to enable capability negotiation reINVITE; false otherwise.

## enableCfgLinesMerging()

LINPHONECXX_PUBLIC void linphone::Core::enableCfgLinesMerging | ( | bool | merge | ) |

Define whether cfg lines are going to be merged if capability negotiation (RFC5939) is supported.

Parameters

  merge | true to merge acfg and pcfg lines with consecutive indexes; false otherwise.

## enableChat()

LINPHONECXX_PUBLIC void linphone::Core::enableChat | ( |  | ) |

Enable reception of incoming chat messages.

By default it is enabled but it can be disabled with disableChat().

## enableConferenceIcsInMessageBody()

LINPHONECXX_PUBLIC void linphone::Core::enableConferenceIcsInMessageBody | ( | bool | enable | ) |

Enable sending conference invitations in the chat message body instead of as a file attachment.

Parameters

  enable | true to send ICS as message body, false to send it as file transfer

## enableConferenceServer()

LINPHONECXX_PUBLIC void linphone::Core::enableConferenceServer | ( | bool | enable | ) |

Enable the conference server feature.

This has the effect to listen of the conference factory uri to create new conferences when receiving INVITE messages there.

Parameters

  enable | A boolean value telling whether to enable or disable the conference server feature

## enableDnsSearch()

LINPHONECXX_PUBLIC void linphone::Core::enableDnsSearch | ( | bool | enable | ) |

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

Parameters

  enable | true to enable DNS search, false to disable it.

## enableDnsSrv()

LINPHONECXX_PUBLIC void linphone::Core::enableDnsSrv | ( | bool | enable | ) |

Enable or disable DNS SRV resolution.

Parameters

  enable | true to enable DNS SRV resolution, false to disable it.

## enableEchoCancellation()

LINPHONECXX_PUBLIC void linphone::Core::enableEchoCancellation | ( | bool | enable | ) |

Enables or disable echo cancellation.

Value is saved and used for subsequent calls. This actually controls software echo cancellation only. When 'enable' is set to false, software echo cancellation is disabled, but hardware one, if available, remains activated. When set to true, software echo cancellation is activated in either of these two conditions:

## enableEchoLimiter()

LINPHONECXX_PUBLIC void linphone::Core::enableEchoLimiter | ( | bool | enable | ) |

Enables or disable echo limiter.

"Echo limiter" refers to an algorithm that creates half-duplex conversation in order to suppress echo. It is experimental and shall be used only in rare cases where echo cancellation cannot perform because of non-linear speaker/mic coupling. You shall not expected good audio quality with the echo limiter.

Parameters

  enable | true to enable echo limiter, false to disable it.

## enableForcedIceRelay()

LINPHONECXX_PUBLIC void linphone::Core::enableForcedIceRelay | ( | bool | enable | ) |

Artificially cause the relay path to be selected when ICE is used.

This is mainly a function for test, for example to validate that the relay service (ever TURN or media-aware SIP proxy) is working as expected. Indeed, in many cases a path through host or server reflexive candidate will be found by ICE, which makes difficult to make sure that the relay service is working as expected.

Parameters

  enable | boolean value

## enableFriendListSubscription()

LINPHONECXX_PUBLIC void linphone::Core::enableFriendListSubscription | ( | bool | enable | ) |

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

Parameters

  enable | whether or not to enable the feature

## enableGenericComfortNoise()

LINPHONECXX_PUBLIC void linphone::Core::enableGenericComfortNoise | ( | bool | enabled | ) |

Enable RFC3389 generic comfort noise algorithm (CN payload type).

It is disabled by default, because this algorithm is only relevant for legacy codecs (PCMU, PCMA, G722). Enablement requires a SDK built with full G729 support: -DENABLE_G729=ON -DENABLE_G729B_CNG=ON .

Warning
  : the G729 support is not included in Liblinphone default licence - the purchase of a license extension is required.

Parameters

  enabled | true if enabled, false otherwise.

## enableIpv6()

LINPHONECXX_PUBLIC void linphone::Core::enableIpv6 | ( | bool | enable | ) |

Turns IPv6 support on or off.

Parameters

  enable | A boolean value telling whether to enable IPv6 support

## enableKeepAlive()

LINPHONECXX_PUBLIC void linphone::Core::enableKeepAlive | ( | bool | enable | ) |

Enables signaling keep alive, small udp packet sent periodically to keep udp NAT association.

Parameters

  enable | A boolean value telling whether signaling keep alive is to be enabled

## enableLimeX3Dh()

LINPHONECXX_PUBLIC void linphone::Core::enableLimeX3Dh | ( | bool | enable | ) |

Tells to Core to use LIME X3DH.

Parameters

  enable | A boolean value telling whether to enable or disable LIME X3DH

## enableLogCollection()

LINPHONECXX_PUBLIC void linphone::Core::enableLogCollection | ( | linphone::LogCollectionState | state | ) |

static

Enable the linphone core log collection to upload logs on a server.

Parameters

  state | LogCollectionState value telling whether to enable log collection or not.

## enableMic()

LINPHONECXX_PUBLIC void linphone::Core::enableMic | ( | bool | enable | ) |

Enable or disable the microphone.

This effectively enable or disable microphone (mute) for currently the running call or conference if any, as well as it applies to future currently running calls or conferences.

Parameters

  enable | true to enable the microphone, false to disable it.

## enableNativeRinging()

LINPHONECXX_PUBLIC void linphone::Core::enableNativeRinging | ( | bool | enable | ) |

Sets whether to use the native ringing (Android only).

Parameters

  enable | True to enable native ringing, false otherwise

## enablePushNotification()

LINPHONECXX_PUBLIC void linphone::Core::enablePushNotification | ( | bool | enable | ) |

Enable or disable push notifications on Android & iOS.

If enabled, it will try to get the push token add configure each account with push_notification_allowed set to true with push parameters. IOS: will also instanciate a PushRegistry, so make sure that your app does not instanciate one too or there will be a conflict.

Parameters

  enable | true to enable push notifications, false to disable

## enableQrcodeVideoPreview()

LINPHONECXX_PUBLIC void linphone::Core::enableQrcodeVideoPreview | ( | bool | enable | ) |

Controls QRCode enablement.

When enabled, several QRCodes can be decoded.

Parameters

  enable | A boolean value telling whether to enable QRCode in the preview.

## enableRecordAware()

LINPHONECXX_PUBLIC void linphone::Core::enableRecordAware | ( | bool | enable | ) |

Enables the record aware feature that will warn other users when recording.

Parameters

  enable | true to activate the record aware feature, false to disable it.

## enableRetransmissionOnNack()

LINPHONECXX_PUBLIC void linphone::Core::enableRetransmissionOnNack | ( | bool | enable | ) |

Turns NACK context on or off.

Parameters

  enable | A boolean value telling whether to enable NACK context

## enableRtpBundle()

LINPHONECXX_PUBLIC void linphone::Core::enableRtpBundle | ( | bool | value | ) |

Enables or disables RTP bundle mode (Media Multiplexing).

See https://datatracker.ietf.org/doc/html/rfc8843 for more information about the feature. When enabled, liblinphone will try to negociate the use of a single port for all streams when doing an outgoing call. It automatically enables rtcp-mux. This feature can also be enabled per-call using CallParams.

Parameters

  value | a boolean to indicate whether the feature is to be enabled.

## enableSdp200Ack()

LINPHONECXX_PUBLIC void linphone::Core::enableSdp200Ack | ( | bool | enable | ) |

Control when media offer is sent in SIP INVITE.

Parameters

  enable | true if INVITE has to be sent whitout SDP.

## enableSelfView()

LINPHONECXX_PUBLIC void linphone::Core::enableSelfView | ( | bool | enable | ) |

Enables or disable self view during calls.

Parameters

  enable | A boolean value telling whether to enable self view Self-view refers to having local webcam image inserted in corner of the video window during calls. This function works at any time, including during calls.

## enableSenderNameHiddenInForwardMessage()

LINPHONECXX_PUBLIC void linphone::Core::enableSenderNameHiddenInForwardMessage | ( | bool | enable | ) |

Enable whether or not to hide sender name in forward message.

Parameters

  enable | whether or not to enable the feature

## enableSessionExpires()

LINPHONECXX_PUBLIC void linphone::Core::enableSessionExpires | ( | bool | enabled | ) | const

Enable the Session Timers support.

Parameters

  enabled | Enable or disable it

## enableTcapLineMerging()

LINPHONECXX_PUBLIC void linphone::Core::enableTcapLineMerging | ( | bool | merge | ) |

Define whether tcap lines are going to be merged if capability negotiation (RFC5939) is supported.

Parameters

  merge | true to merge tcap lines with consecutive indexes; false otherwise.

## enableVibrationOnIncomingCall()

LINPHONECXX_PUBLIC void linphone::Core::enableVibrationOnIncomingCall | ( | bool | enable | ) |

Enable vibration will incoming call is ringing (Android only).

Parameters

  enable | true to enable the vibration on incoming call, false otherwise

## enableVideoAdaptiveJittcomp()

LINPHONECXX_PUBLIC void linphone::Core::enableVideoAdaptiveJittcomp | ( | bool | enable | ) |

Enable or disable the video adaptive jitter compensation.

Parameters

  enable | true to enable the video adaptive jitter compensation, false to disable it.

## enableVideoCapture()

LINPHONECXX_PUBLIC void linphone::Core::enableVideoCapture | ( | bool | enable | ) |

Enable or disable video capture.

This function does not have any effect during calls. It just indicates the Core to initiate future calls with video capture or not.

Parameters

  enable | true to enable video capture, false to disable it.

## enableVideoDisplay()

LINPHONECXX_PUBLIC void linphone::Core::enableVideoDisplay | ( | bool | enable | ) |

Enable or disable video display.

This function does not have any effect during calls. It just indicates the Core to initiate future calls with video display or not.

Parameters

  enable | true to enable video display, false to disable it.

## enableVideoMulticast()

LINPHONECXX_PUBLIC void linphone::Core::enableVideoMulticast | ( | bool | yesno | ) |

Use to enable multicast rtp for video stream.

If enabled, outgoing calls put a multicast address from getVideoMulticastAddr() into video cline. In case of outgoing call video stream is sent to this multicast address. For incoming calls behavior is unchanged.

Parameters

  yesno | if yes, subsequent outgoing calls will propose multicast ip set by setVideoMulticastAddr()

## enableVideoPreview()

LINPHONECXX_PUBLIC void linphone::Core::enableVideoPreview | ( | bool | enable | ) |

Controls video preview enablement.

Parameters

  enable | A boolean value telling whether the video preview is to be shown Video preview refers to the action of displaying the local webcam image to the user while not in call.

## enableVideoSourceReuse()

LINPHONECXX_PUBLIC void linphone::Core::enableVideoSourceReuse | ( | bool | enable | ) |

Enable or disable video source reuse when switching from preview to actual video call.

This source reuse is useful when you always display the preview, even before calls are initiated. By keeping the video source for the transition to a real video call, you will smooth out the source close/reopen cycle. This function does not have any effect durfing calls. It just indicates the Core to initiate future calls with video source reuse or not. Also, at the end of a video call, the source will be closed whatsoever for now.

Parameters

  enable | true to enable video source reuse. false to disable it for subsequent calls.

## enableWifiOnly()

LINPHONECXX_PUBLIC void linphone::Core::enableWifiOnly | ( | bool | enable | ) |

Turns Wifi only mode on or off.

If enabled, app won't register when active network isn't WiFi or Ethernet.

Warning
  Only works for Android platform.

Parameters

  enable | A boolean value telling whether to enable IPv6 support

## enableZeroRtpPortForStreamInactive()

LINPHONECXX_PUBLIC void linphone::Core::enableZeroRtpPortForStreamInactive | ( | bool | enable | ) |

Define whether RTP port is set to 0 when a stream is inactive.

Parameters

  enable | true to set the RTP port to 0 if the stream direction is inactive; false otherwise.

## enableZrtpGoClear()

LINPHONECXX_PUBLIC void linphone::Core::enableZrtpGoClear | ( | bool | enabled | ) |

Define whether ZRTP go clear is enabled.

Parameters

  enabled | true to enable ZRTP go clear; false otherwise.

## ensureRegistered()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED void linphone::Core::ensureRegistered | ( |  | ) |

Call this method when you receive a push notification (if you handle push notifications manually).

It will ensure the proxy configs are correctly registered to the proxy server, so the call or the message will be correctly delivered.

Deprecated
  09/03/2022 See processPushNotification() instead.

## enterConference()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED linphone::Status linphone::Core::enterConference | ( |  | ) |

Join the local participant to the running conference.

Returns
  0 if succeeded. Negative number if failed

Deprecated
  09/03/2021 Use Conference::enter() instead.

## fileFormatSupported()

LINPHONECXX_PUBLIC bool linphone::Core::fileFormatSupported | ( | const std::string & | fmt | ) |

Returns whether a specific file format is supported.

See also
  linphone_core_get_supported_file_formats

Parameters

  fmt | The format extension (wav, mkv).

Returns
  true if the file format is supported, false otherwise

## findAuthInfo()

LINPHONECXX_PUBLIC std::shared_ptr< const linphone::AuthInfo > linphone::Core::findAuthInfo | ( | const std::string & | realm,
|  | const std::string & | username,
|  | const std::string & | sipDomain )

Find authentication info matching realm, username, domain criteria.

First of all, (realm,username) pair are searched. If multiple results (which should not happen because realm are supposed to be unique), then domain is added to the search.

Parameters

  realm | the authentication 'realm' (optional)
  username | the SIP username to be authenticated (mandatory)
  sipDomain | the SIP domain name (optional)

Returns
  a AuthInfo if found.

## findCallFromUri()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::Call > linphone::Core::findCallFromUri | ( | const std::string & | uri | ) | const

Search from the list of current calls if a remote address match uri.

Parameters

  uri | which should match call remote uri

Returns
  Call or nullptr if no match is found.

Deprecated
  27/10/2020. Use getCallByRemoteAddress2() instead.

## findCallLog()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::CallLog > linphone::Core::findCallLog | ( | const std::string & | callId,
|  | int | limit )

Get the call log matching the call id, or nullptr if can't be found.

Parameters

  callId | Call id of the call log to find
  limit | Search limit of the most recent call logs to find

Returns
  A call log matching the call id if any.

## findCallLogFromCallId()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::CallLog > linphone::Core::findCallLogFromCallId | ( | const std::string & | callId | ) |

Get the call log matching the call id, or nullptr if can't be found.

Parameters

  callId | Call id of the call log to find

Returns
  A call log matching the call id if any.

## findChatRoom()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > linphone::Core::findChatRoom | ( | const std::shared_ptr< const linphone::Address > & | peerAddr,
|  | const std::shared_ptr< const linphone::Address > & | localAddr ) const

Find a chat room.

No reference is transfered to the application. The Core keeps a reference on the chat room.

Parameters

  peerAddr | a linphone address.
  localAddr | a linphone address.

Returns
  ChatRoom where messaging can take place.

Deprecated
  02/07/2020, use searchChatRoom() instead

## findConferenceInformationFromUri()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::ConferenceInfo > linphone::Core::findConferenceInformationFromUri | ( | const std::shared_ptr< linphone::Address > & | uri | ) |

Retrieve the conference information linked to the provided URI if any.

Parameters

  uri | Address of the uri.

Returns
  The ConferenceInfo found if any, nullptr otherwise.

## findContactsByChar()

LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::Address > > linphone::Core::findContactsByChar | ( | const std::string & | filter,
|  | bool | sipOnly )

Retrieves a list of Address sort and filter.

Parameters

  filter | Chars used for the filter*
  sipOnly | Only sip address or not

Returns
  A list of filtered Address + the Address created with the filter.

## findFriend()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Friend > linphone::Core::findFriend | ( | const std::shared_ptr< const linphone::Address > & | address | ) | const

Search a Friend by its address.

Parameters

  address | The Address to use to search the friend.

Returns
  The Friend object corresponding to the given address or nullptr if not found.

## findFriendByPhoneNumber()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Friend > linphone::Core::findFriendByPhoneNumber | ( | const std::string & | phoneNumber | ) | const

Search a Friend by its phone number.

Parameters

  phoneNumber | The phone number to use to search the friend.

Returns
  The Friend object corresponding to the given phone number or nullptr if not found.

## findFriends()

LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::Friend > > linphone::Core::findFriends | ( | const std::shared_ptr< const linphone::Address > & | address | ) | const

Search all Friend matching an address.

Parameters

  address | The address to use to search the friends.

Returns
  A list of Friend corresponding to the given address.

## findOneToOneChatRoom()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > linphone::Core::findOneToOneChatRoom | ( | const std::shared_ptr< const linphone::Address > & | localAddr,
|  | const std::shared_ptr< const linphone::Address > & | participantAddr,
|  | bool | encrypted ) const

Find a one to one chat room.

No reference is transfered to the application. The Core keeps a reference on the chat room.

Parameters

  localAddr | a linphone address.
  participantAddr | a linphone address.
  encrypted | whether to look for an encrypted chat room or not

Returns
  ChatRoom where messaging can take place.

Deprecated
  02/07/2020, use searchChatRoom() instead

## forcedIceRelayEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::forcedIceRelayEnabled | ( |  | ) | const

Indicates whether the ICE relay path is forcibly selected.

Returns
  a boolean value indicating whether forced relay is enabled.

See also
  enableForcedIceRelay().

## friendListSubscriptionEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::friendListSubscriptionEnabled | ( |  | ) |

Returns whether or not friend lists subscription are enabled.

Returns
  whether or not the feature is enabled

## genericComfortNoiseEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::genericComfortNoiseEnabled | ( |  | ) | const

Returns enablement of RFC3389 generic comfort noise algorithm.

Returns
  true if generic comfort noise is enabled, false otherwise.

## getAccountByIdkey()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Account > linphone::Core::getAccountByIdkey | ( | const std::string & | idkey | ) |

Search for a Account by it's idkey.

Parameters

  idkey | An arbitrary idkey string associated to an account.

Returns
  the Account object for the given idkey value, or nullptr if none found

## getAccountCreatorBackend()

LINPHONECXX_PUBLIC linphone::AccountCreator::Backend linphone::Core::getAccountCreatorBackend | ( |  | ) | const

Get the AccountCreator backend set for the Core.

Returns
  The AccountCreator::Backend

## getAccountCreatorUrl()

LINPHONECXX_PUBLIC std::string linphone::Core::getAccountCreatorUrl | ( |  | ) |

Get the AccountCreator url on the Core.

Returns
  url The URL to reach.

## getAccountList()

LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::Account > > linphone::Core::getAccountList | ( |  | ) | const

Returns an unmodifiable list of entered accounts.

Returns

## getAdaptiveRateAlgorithm()

LINPHONECXX_PUBLIC std::string linphone::Core::getAdaptiveRateAlgorithm | ( |  | ) | const

Returns which adaptive rate algorithm is currently configured for future calls.

See also
  setAdaptiveRateAlgorithm()

Returns
  the adaptive rate algorithm. Currently two values are supported: 'advanced', which is the default value, or 'basic'.

## getAudioDevices()

LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::AudioDevice > > linphone::Core::getAudioDevices | ( |  | ) | const

Returns a list of audio devices, with only the first device for each type To have the list of all audio devices, use getExtendedAudioDevices()

Returns
  A list with the first AudioDevice of each type

## getAudioDscp()

LINPHONECXX_PUBLIC int linphone::Core::getAudioDscp | ( |  | ) | const

Get the DSCP field for outgoing audio streams.

The DSCP defines the quality of service in IP packets.

Returns
  The current DSCP value

## getAudioJittcomp()

LINPHONECXX_PUBLIC int linphone::Core::getAudioJittcomp | ( |  | ) |

Returns the nominal audio jitter buffer size in milliseconds.

Returns
  The nominal audio jitter buffer size in milliseconds

## getAudioMulticastAddr()

LINPHONECXX_PUBLIC std::string linphone::Core::getAudioMulticastAddr | ( |  | ) | const

Use to get multicast address to be used for audio stream.

Returns
  an ipv4/6 multicast address or default value.

## getAudioMulticastTtl()

LINPHONECXX_PUBLIC int linphone::Core::getAudioMulticastTtl | ( |  | ) | const

Use to get multicast ttl to be used for audio stream.

Returns
  a time to leave value

## getAudioPayloadTypes()

LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::PayloadType > > linphone::Core::getAudioPayloadTypes | ( |  | ) |

Return the list of the available audio payload types.

Returns
  A freshly allocated list of the available payload types.

## getAudioPort()

LINPHONECXX_PUBLIC int linphone::Core::getAudioPort | ( |  | ) | const

Gets the UDP port used for audio streaming.

Returns
  The UDP port used for audio streaming

## getAudioPortsRange()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Range > linphone::Core::getAudioPortsRange | ( |  | ) | const

Get the audio port range from which is randomly chosen the UDP port used for audio streaming.

Returns
  a Range object

## getAuthInfoList()

LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::AuthInfo > > linphone::Core::getAuthInfoList | ( |  | ) | const

Returns an unmodifiable list of currently entered AuthInfo.

Returns
  A list of AuthInfo.

## getAutoIterateBackgroundSchedule()

LINPHONECXX_PUBLIC int linphone::Core::getAutoIterateBackgroundSchedule | ( |  | ) | const

Gets the timer used to schedule the call to core.iterate() method when in background (Android only).

This is only used when autoIterateEnabled() returns true.

Returns
  The timing in milliseconds used to schedule the call while in background (default is 500ms).

## getAutoIterateForegroundSchedule()

LINPHONECXX_PUBLIC int linphone::Core::getAutoIterateForegroundSchedule | ( |  | ) | const

Gets the timer used to schedule the call to core.iterate() method when in foreground (Android only).

This is only used when autoIterateEnabled() returns true.

Returns
  The timing in milliseconds used to schedule the call while in foreground (default is 20ms).

## getAvpfMode()

LINPHONECXX_PUBLIC linphone::AVPFMode linphone::Core::getAvpfMode | ( |  | ) | const

Return AVPF enablement.

See setAvpfMode() .

Returns
  The current AVPFMode mode

## getAvpfRrInterval()

LINPHONECXX_PUBLIC int linphone::Core::getAvpfRrInterval | ( |  | ) | const

Return the avpf report interval in seconds.

Returns
  The current AVPF report interval in seconds

## getCallByCallid()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Call > linphone::Core::getCallByCallid | ( | const std::string & | callId | ) | const

Get the call by callid.

Parameters

  callId | of call

Returns
  call Call, return null if there is no call find.

## getCallByRemoteAddress()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::Call > linphone::Core::getCallByRemoteAddress | ( | const std::string & | remoteAddress | ) | const

Get the call with the remote_address specified.

Parameters

  remoteAddress | The remote address of the call that we want to get

Returns
  The call if it has been found, nullptr otherwise.

Deprecated
  08/07/2020 use getCallByRemoteAddress2() instead

## getCallByRemoteAddress2()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Call > linphone::Core::getCallByRemoteAddress2 | ( | const std::shared_ptr< const linphone::Address > & | remoteAddress | ) | const

Get the call with the specified Address.

Parameters

  remoteAddress | the Address for which the call remote address must match

Returns
  the Call of the call if found.

## getCallHistory()

LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::CallLog > > linphone::Core::getCallHistory | ( | const std::shared_ptr< const linphone::Address > & | peerAddress,
|  | const std::shared_ptr< const linphone::Address > & | localAddress )

Get the list of call logs (past calls).

At the contrary of linphone_core_get_call_logs, it is your responsibility to unref the logs and free this list once you are done using it. Requires ENABLE_DB_STORAGE to work.

Parameters

  peerAddress | The remote Address object.
  localAddress | The local Address object

Returns
  A list of CallLog.

## getCallLogs()

LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::CallLog > > linphone::Core::getCallLogs | ( |  | ) |

Get the list of call logs (past calls).

Returns
  A list of CallLog.

## getCallLogsDatabasePath()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::string linphone::Core::getCallLogsDatabasePath | ( |  | ) |

Gets the database filename where call logs will be stored.

Returns
  filesystem path.

Deprecated
  07/12/2021: Use only for migration purposes

## getCalls()

LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::Call > > linphone::Core::getCalls | ( |  | ) |

Gets the current list of calls.

Note that this list is read-only and might be changed by the core after a function call to iterate(). Similarly the Call objects inside it might be destroyed without prior notice. To hold references to Call object into your program, you must use linphone_call_ref.

Returns
  A list of Call

## getCallsNb()

LINPHONECXX_PUBLIC int linphone::Core::getCallsNb | ( |  | ) | const

Get the number of Call.

Returns
  The current number of calls

## getCameraSensorRotation()

LINPHONECXX_PUBLIC int linphone::Core::getCameraSensorRotation | ( |  | ) |

Get the camera sensor rotation.

This is needed on some mobile platforms to get the number of degrees the camera sensor is rotated relative to the screen.

Returns
  The camera sensor rotation in degrees (0 to 360) or -1 if it could not be retrieved

## getCaptureDevice()

LINPHONECXX_PUBLIC std::string linphone::Core::getCaptureDevice | ( |  | ) |

Gets the name of the currently assigned sound device for capture.

Returns
  The name of the currently assigned sound device for capture.

## getChatMessagesAggregationEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::getChatMessagesAggregationEnabled | ( |  | ) |

Returns whether chat messages grouping is enabled or not.

Returns
  true if received chat messages will be notified as a bundle, false otherwise.

## getChatRoom() [1/2]

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > linphone::Core::getChatRoom | ( | const std::shared_ptr< const linphone::Address > & | addr | ) |

Get a chat room whose peer is the supplied address.

If it does not exist yet, it will be created as a basic chat room. No reference is transfered to the application. The Core keeps a reference on the chat room.

Warning
  This method is prone to errors, use searchChatRoom() instead

Parameters

  addr | a linphone address.

Returns
  ChatRoom where messaging can take place.

Deprecated
  02/07/2020, use searchChatRoom() instead

## getChatRoom() [2/2]

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > linphone::Core::getChatRoom | ( | const std::shared_ptr< const linphone::Address > & | peerAddr,
|  | const std::shared_ptr< const linphone::Address > & | localAddr )

Get a chat room.

If it does not exist yet, it will be created as a basic chat room. No reference is transfered to the application. The Core keeps a reference on the chat room.

Warning
  This method is prone to errors, use searchChatRoom() instead

Parameters

  peerAddr | a linphone address.
  localAddr | a linphone address.

Returns
  ChatRoom where messaging can take place.

Deprecated
  02/07/2020, use searchChatRoom() instead

## getChatRoomFromUri()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatRoom > linphone::Core::getChatRoomFromUri | ( | const std::string & | to | ) |

Get a chat room for messaging from a sip uri like sip:joe@s.nosp@m.ip.l.nosp@m.inpho.nosp@m.ne.o.nosp@m.rg.

If it does not exist yet, it will be created as a basic chat room. No reference is transfered to the application. The Core keeps a reference on the chat room.

Warning
  This method is prone to errors, use searchChatRoom() instead

Parameters

  to | The destination address for messages.

Returns
  ChatRoom where messaging can take place.

Deprecated
  02/07/2020, use searchChatRoom() instead

## getChatRooms()

LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::ChatRoom > > linphone::Core::getChatRooms | ( |  | ) |

Returns a list of chat rooms.

Returns
  List of chat rooms.

## getConference()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::Conference > linphone::Core::getConference | ( |  | ) |

Get a pointer on the internal conference object.

Returns
  A pointer on Conference or nullptr if no conference are going on.

Deprecated
  10/08/2023 Use searchConference() instead.

## getConferenceInformationList()

LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::ConferenceInfo > > linphone::Core::getConferenceInformationList | ( |  | ) |

Retrieve the list of conference information on DB.

Returns
  The list of conference infos .

## getConferenceInformationListAfterTime()

LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::ConferenceInfo > > linphone::Core::getConferenceInformationListAfterTime | ( | time_t | time | ) |

Retrieve the list of conference information on DB after a certain time.

Parameters

  time | Time to retrieve conference info.

Returns
  The list of conference infos .

## getConferenceLocalInputVolume()

LINPHONECXX_PUBLIC float linphone::Core::getConferenceLocalInputVolume | ( |  | ) |

Get the set input volume of the local participant.

Returns
  A value inside [0.0 ; 1.0]

## getConferenceParticipantListType()

LINPHONECXX_PUBLIC linphone::Conference::ParticipantListType linphone::Core::getConferenceParticipantListType | ( |  | ) | const

Tells whether the default conference participant list is open or closed.

Returns
  A Conference::ParticipantListType participant list type

## getConferenceSize()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED int linphone::Core::getConferenceSize | ( |  | ) |

Get the number of participants including me, if it in, in the running conference.

The local participant is included in the count only if it is in the conference.

Returns
  The number of participants including me, if it in.

Deprecated
  16/04/2021 Use Conference::getParticipantCount() instead.

## getConfig()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Config > linphone::Core::getConfig | ( |  | ) | const

Returns the config object used to manage the storage (config) file.

Returns
  a Config object.

## getConsolidatedPresence()

LINPHONECXX_PUBLIC linphone::ConsolidatedPresence linphone::Core::getConsolidatedPresence | ( |  | ) | const

Get my consolidated presence.

Returns
  My ConsolidatedPresence presence

## getCurrentCall()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Call > linphone::Core::getCurrentCall | ( |  | ) | const

Gets the current call.

Returns
  The current call or nullptr if no call is running.

## getCurrentCallRemoteAddress()

LINPHONECXX_PUBLIC std::shared_ptr< const linphone::Address > linphone::Core::getCurrentCallRemoteAddress | ( |  | ) |

Get the remote address of the current call.

Returns
  The remote address of the current call or nullptr if there is no current call.

## getCurrentPreviewVideoDefinition()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::VideoDefinition > linphone::Core::getCurrentPreviewVideoDefinition | ( |  | ) | const

Get the effective video definition provided by the camera for the captured video.

When preview is disabled or not yet started this function returns a 0x0 video definition.

Returns
  The captured VideoDefinition.

See also
  setPreviewVideoDefinition()

## getDefaultAccount()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Account > linphone::Core::getDefaultAccount | ( |  | ) | const

Returns the default account, that is the one used to determine the current identity.

Returns
  The default account.

## getDefaultConferenceLayout()

LINPHONECXX_PUBLIC linphone::Conference::Layout linphone::Core::getDefaultConferenceLayout | ( |  | ) | const

Gets the default conference layout.

Returns
  conference layout

## getDefaultEphemeralLifetime()

LINPHONECXX_PUBLIC long linphone::Core::getDefaultEphemeralLifetime | ( |  | ) | const

Gets the default lifetime of ephemeral messages in seconds.

Returns
  lifetime of ephemeral messages in seconds

## getDefaultFriendList()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::FriendList > linphone::Core::getDefaultFriendList | ( |  | ) | const

Retrieves the first list of Friend from the core.

Returns
  the first FriendList object or nullptr.

## getDefaultInputAudioDevice()

LINPHONECXX_PUBLIC std::shared_ptr< const linphone::AudioDevice > linphone::Core::getDefaultInputAudioDevice | ( |  | ) | const

Gets the default input audio device.

Returns
  The default input audio device

## getDefaultOutputAudioDevice()

LINPHONECXX_PUBLIC std::shared_ptr< const linphone::AudioDevice > linphone::Core::getDefaultOutputAudioDevice | ( |  | ) | const

Gets the default output audio device.

Returns
  The default output audio device

## getDefaultProxyConfig()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::ProxyConfig > linphone::Core::getDefaultProxyConfig | ( |  | ) | const

Returns the default proxy configuration, that is the one used to determine the current identity.

Returns
  The default proxy configuration.

## getDefaultVideoDisplayFilter()

LINPHONECXX_PUBLIC std::string linphone::Core::getDefaultVideoDisplayFilter | ( |  | ) |

Get the name of the default mediastreamer2 filter used for rendering video on the current platform.

This is for advanced users of the library, mainly to expose mediastreamer video filter name and status.

Returns
  The default video display filter.

## getDelayedTimeout()

LINPHONECXX_PUBLIC int linphone::Core::getDelayedTimeout | ( |  | ) |

Gets the delayed timeout See setDelayedTimeout() for details.

Returns
  The current delayed timeout in seconds

## getDeviceRotation()

LINPHONECXX_PUBLIC int linphone::Core::getDeviceRotation | ( |  | ) |

Gets the current device orientation.

Returns
  The current device orientation

See also
  setDeviceRotation()

## getDigestAuthenticationPolicy()

LINPHONECXX_PUBLIC std::shared_ptr< const linphone::DigestAuthenticationPolicy > linphone::Core::getDigestAuthenticationPolicy | ( |  | ) | const

Get the current digest authentication policy applicable for SIP and HTTP.

Get the current digest authentication policy applicable for SIP and HTTP.

Returns
  The current digest authentication policy.

## getDisableRecordOnMute()

LINPHONECXX_PUBLIC bool linphone::Core::getDisableRecordOnMute | ( |  | ) |

Get whether the microphone will be completely deactivated when muted.

Please refer to setDisableRecordOnMute().

Returns
  True if you wish to entirely stop the audio recording when muting the microphone.

## getDnsSetByApp()

LINPHONECXX_PUBLIC bool linphone::Core::getDnsSetByApp | ( |  | ) |

Tells if the DNS was set by an application.

Returns
  true if DNS was set by app, false otherwise.

## getDownloadBandwidth()

LINPHONECXX_PUBLIC int linphone::Core::getDownloadBandwidth | ( |  | ) | const

Retrieve the maximum available download bandwidth.

This value was set by setDownloadBandwidth().

Returns
  the download bandiwdth in kbits/s, 0 for infinite

## getDownloadPtime()

LINPHONECXX_PUBLIC int linphone::Core::getDownloadPtime | ( |  | ) |

Get audio packetization time linphone expects to receive from peer.

A value of zero means that ptime is not specified.

Returns
  the download packetization time set

## getEchoCancellationCalibration()

LINPHONECXX_PUBLIC int linphone::Core::getEchoCancellationCalibration | ( |  | ) | const

Gets the currently stored calibration delay for the software echo cancellation.

Returns
  the current calibration value, -1 if it failed, 0 if not done or not needed, a positive value if a software echo canceller is required after running startEchoCancellerCalibration().

## getEchoCancellerFilterName()

LINPHONECXX_PUBLIC std::string linphone::Core::getEchoCancellerFilterName | ( |  | ) | const

Get the name of the mediastreamer2 filter used for echo cancelling.

Returns
  The name of the mediastreamer2 filter used for echo cancelling.

## getExtendedAudioDevices()

LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::AudioDevice > > linphone::Core::getExtendedAudioDevices | ( |  | ) | const

Returns the list of all audio devices.

Returns
  A list of all AudioDevice

## getFileTransferServer()

LINPHONECXX_PUBLIC std::string linphone::Core::getFileTransferServer | ( |  | ) |

Get the globaly set http file transfer server to be used for content type application/vnd.gsma.rcs-ft-http+xml.

Url may be like: "https://file.linphone.org/upload.php".

Returns
  URL of the file server.

## getFriendByRefKey()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Friend > linphone::Core::getFriendByRefKey | ( | const std::string & | key | ) | const

Search a Friend by its reference key.

Parameters

  key | The reference key to use to search the friend.

Returns
  The Friend object corresponding to the given reference key.

## getFriendListByName()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::FriendList > linphone::Core::getFriendListByName | ( | const std::string & | name | ) | const

Retrieves the list of Friend from the core that has the given display name.

Parameters

  name | the name of the list

Returns
  the first FriendList object or nullptr.

## getFriendsDatabasePath()

LINPHONECXX_PUBLIC std::string linphone::Core::getFriendsDatabasePath | ( |  | ) |

Gets the database filename where friends will be stored.

Returns
  filesystem path.

## getFriendsLists()

LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::FriendList > > linphone::Core::getFriendsLists | ( |  | ) | const

Retrieves the list of FriendList from the core.

Returns
  A list of FriendList.

## getFutureConferenceInformationList()

LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::ConferenceInfo > > linphone::Core::getFutureConferenceInformationList | ( |  | ) |

Retrieve the list of future conference information on DB.

Returns
  The list of future conference infos .

## getGlobalState()

LINPHONECXX_PUBLIC linphone::GlobalState linphone::Core::getGlobalState | ( |  | ) | const

Returns the global state of core.

Returns
  a GlobalState enum.

## getGuessHostname()

LINPHONECXX_PUBLIC bool linphone::Core::getGuessHostname | ( |  | ) |

Returns true if hostname part of primary contact is guessed automatically.

Returns
  true if guess hostname enabled, false otherwise.

## getHttpProxyHost()

LINPHONECXX_PUBLIC std::string linphone::Core::getHttpProxyHost | ( |  | ) | const

Get http proxy address to be used for signaling.

Returns
  hostname of IP adress of the http proxy (can be nullptr to disable).

## getHttpProxyPort()

LINPHONECXX_PUBLIC int linphone::Core::getHttpProxyPort | ( |  | ) | const

Get http proxy port to be used for signaling.

Returns
  port of the http proxy.

## getIdentity()

LINPHONECXX_PUBLIC std::string linphone::Core::getIdentity | ( |  | ) |

Gets the default identity SIP address.

This is an helper function. If no default proxy is set, this will return the primary contact ( see getPrimaryContact() ). If a default proxy is set it returns the registered identity on the proxy.

Returns
  The default identity SIP address.

## getImNotifPolicy()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::ImNotifPolicy > linphone::Core::getImNotifPolicy | ( |  | ) | const

Get the ImNotifPolicy object controlling the instant messaging notifications.

Returns
  A ImNotifPolicy object.

## getInCallTimeout()

LINPHONECXX_PUBLIC int linphone::Core::getInCallTimeout | ( |  | ) |

Gets the in call timeout See setInCallTimeout() for details.

Returns
  The current in call timeout in seconds

## getIncTimeout()

LINPHONECXX_PUBLIC int linphone::Core::getIncTimeout | ( |  | ) |

Returns the incoming call timeout See setIncTimeout() for details.

Returns
  The current incoming call timeout in seconds

## getInputAudioDevice()

LINPHONECXX_PUBLIC std::shared_ptr< const linphone::AudioDevice > linphone::Core::getInputAudioDevice | ( |  | ) | const

Gets the input audio device for the current call.

Returns
  The input audio device for the current or first call, nullptr if there is no call.

## getLabel()

LINPHONECXX_PUBLIC std::string linphone::Core::getLabel | ( |  | ) | const

Get the label assigned to the Core.

The default value is nullptr (no label).

Returns
  the assigned label.

## getLastOutgoingCallLog()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::CallLog > linphone::Core::getLastOutgoingCallLog | ( |  | ) |

Get the latest outgoing call log.

Conference calls are not returned by this function! Requires ENABLE_DB_STORAGE to work.

Returns
  The last outgoing call log if any.

## getLdapList()

LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::Ldap > > linphone::Core::getLdapList | ( |  | ) |

Returns a list of entered LDAPs.

Items must be freed with linphone_ldap_unref

Returns

## getLimeX3DhServerUrl()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::string linphone::Core::getLimeX3DhServerUrl | ( |  | ) |

Get the x3dh server url.

Returns
  The x3dh server url.

Deprecated
  26/08/2022 Use AccountParams::getLimeServerUrl() instead.

## getLinphoneSpecsList()

LINPHONECXX_PUBLIC std::list< std::string > linphone::Core::getLinphoneSpecsList | ( |  | ) |

Get the list of linphone specs string values representing what functionalities the linphone client supports.

Returns
  A list of supported specs. The list must be freed with bctbx_list_free() after usage.

## getLoadedPlugins()

LINPHONECXX_PUBLIC std::list< std::string > linphone::Core::getLoadedPlugins | ( |  | ) |

Return the list of loaded plugins.

Returns
  the list of loaded plugins

## getLogCollectionMaxFileSize()

LINPHONECXX_PUBLIC size_t linphone::Core::getLogCollectionMaxFileSize | ( |  | ) |

static

Get the max file size in bytes of the files used for log collection.

Returns
  The max file size in bytes of the files used for log collection.

## getLogCollectionPath()

LINPHONECXX_PUBLIC std::string linphone::Core::getLogCollectionPath | ( |  | ) |

static

Get the path where the log files will be written for log collection.

Returns
  The path where the log files will be written.

## getLogCollectionPrefix()

LINPHONECXX_PUBLIC std::string linphone::Core::getLogCollectionPrefix | ( |  | ) |

static

Get the prefix of the filenames that will be used for log collection.

Returns
  The prefix of the filenames used for log collection.

## getLogCollectionUploadServerUrl()

LINPHONECXX_PUBLIC std::string linphone::Core::getLogCollectionUploadServerUrl | ( |  | ) |

Gets the url of the server where to upload the collected log files.

Returns
  The url of the server where to upload the collected log files.

## getMaxCalls()

LINPHONECXX_PUBLIC int linphone::Core::getMaxCalls | ( |  | ) |

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

All new call above this limit are declined with a busy answer

Returns
  max number of simultaneous calls

## getMaxSizeForAutoDownloadIncomingFiles()

LINPHONECXX_PUBLIC int linphone::Core::getMaxSizeForAutoDownloadIncomingFiles | ( |  | ) |

Gets the size under which incoming files in chat messages will be downloaded automatically.

Returns
  The size in bytes, -1 if autodownload feature is disabled, 0 to download them all no matter the size

## getMediaDevice()

LINPHONECXX_PUBLIC std::string linphone::Core::getMediaDevice | ( |  | ) |

Gets the name of the currently assigned sound device for media.

Returns
  The name of the currently assigned sound device for capture.

## getMediaEncryption()

LINPHONECXX_PUBLIC linphone::MediaEncryption linphone::Core::getMediaEncryption | ( |  | ) | const

Get the media encryption policy being used for RTP packets.

Returns
  The MediaEncryption policy being used.

## getMediaResourceMode()

LINPHONECXX_PUBLIC linphone::MediaResourceMode linphone::Core::getMediaResourceMode | ( |  | ) | const

This function returns the media resource mode for this core.

Returns
  The media resource mode

## getMicGainDb()

LINPHONECXX_PUBLIC float linphone::Core::getMicGainDb | ( |  | ) |

Get microphone gain in db.

Returns
  The current microphone gain

## getMissedCallsCount()

LINPHONECXX_PUBLIC int linphone::Core::getMissedCallsCount | ( |  | ) |

Get the number of missed calls.

Once checked, this counter can be reset with resetMissedCallsCount().

Returns
  The number of missed calls.

## getNatAddress()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::string linphone::Core::getNatAddress | ( |  | ) | const

Deprecated.

Get the public IP address of NAT being used.

Returns
  The public IP address of NAT being used.

Deprecated
  12/10/2022

## getNativePreviewWindowId()

LINPHONECXX_PUBLIC void * linphone::Core::getNativePreviewWindowId | ( |  | ) |

Get the native window handle of the video preview window.

see setNativeVideoWindowId() for details about window_id There is a special case for Qt : getNativePreviewWindowId() returns a #QQuickFramebufferObject::Renderer. Note : Qt blocks GUI thread when calling createRenderer(), so it is safe to call linphone functions there if needed.

Returns
  The native window handle of the video preview window.

## getNativeVideoWindowId()

LINPHONECXX_PUBLIC void * linphone::Core::getNativeVideoWindowId | ( |  | ) | const

Get the native window handle of the video window.

see linphone_core_set_native_video_window_id for details about window_id There is a special case for Qt : getNativeVideoWindowId() returns a #QQuickFramebufferObject::Renderer. Note : Qt blocks GUI thread when calling createRenderer(), so it is safe to call linphone functions there if needed.

Returns
  The native window handle of the video window.

## getNatPolicy()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::NatPolicy > linphone::Core::getNatPolicy | ( |  | ) | const

Get The policy that is used to pass through NATs/firewalls.

It may be overridden by a NAT policy for a specific proxy config.

Returns
  NatPolicy object in use.

See also
  AccountParams::getNatPolicy()

## getNortpOnholdTimeout()

LINPHONECXX_PUBLIC int linphone::Core::getNortpOnholdTimeout | ( |  | ) | const

Gets the value of the no-rtp timeout when the call is on hold.

When no RTP or RTCP packets have been received for a while when the call is on hold Core will consider the call is broken (remote end crashed or disconnected from the network), and thus will terminate the call. The no-rtp timeout is the duration above which the call is considered broken.

Returns
  The value of the no-rtp timeout in seconds when the call is on hold

## getNortpTimeout()

LINPHONECXX_PUBLIC int linphone::Core::getNortpTimeout | ( |  | ) | const

Gets the value of the no-rtp timeout.

When no RTP or RTCP packets have been received for a while Core will consider the call is broken (remote end crashed or disconnected from the network), and thus will terminate the call. The no-rtp timeout is the duration above which the call is considered broken.

Returns
  The value of the no-rtp timeout in seconds

## getOutputAudioDevice()

LINPHONECXX_PUBLIC std::shared_ptr< const linphone::AudioDevice > linphone::Core::getOutputAudioDevice | ( |  | ) | const

Gets the output audio device for the current call.

Returns
  The output audio device for the current or first call, nullptr if there is no call.

## getPayloadType()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::PayloadType > linphone::Core::getPayloadType | ( | const std::string & | type,
|  | int | rate,
|  | int | channels )

Get payload type from mime type and clock rate.

This function searches in audio and video codecs for the given payload type name and clockrate.

Parameters

  type | payload mime type (I.E SPEEX, PCMU, VP8)
  rate | can be LINPHONE_FIND_PAYLOAD_IGNORE_RATE
  channels | number of channels, can be LINPHONE_FIND_PAYLOAD_IGNORE_CHANNELS

Returns
  Returns nullptr if not found. If a PayloadType is returned, it must be released with linphone_payload_type_unref after using it.

## getPlaybackDevice()

LINPHONECXX_PUBLIC std::string linphone::Core::getPlaybackDevice | ( |  | ) |

Gets the name of the currently assigned sound device for playback.

Returns
  The name of the currently assigned sound device for playback.

## getPlaybackGainDb()

LINPHONECXX_PUBLIC float linphone::Core::getPlaybackGainDb | ( |  | ) |

Get playback gain in db before entering sound card.

Returns
  The current playback gain

## getPlayFile()

LINPHONECXX_PUBLIC std::string linphone::Core::getPlayFile | ( |  | ) | const

Get the wav file that is played when putting somebody on hold, or when files are used instead of soundcards (see setUseFiles()).

The file is a 16 bit linear wav file.

Returns
  The path to the file that is played when putting somebody on hold.

## getPostQuantumAvailable()

LINPHONECXX_PUBLIC bool linphone::Core::getPostQuantumAvailable | ( |  | ) |

static

Are PostQuantum algoritms available.

Returns
  true if Post Quantum algorithms are available false otherwise

## getPreferredFramerate()

LINPHONECXX_PUBLIC float linphone::Core::getPreferredFramerate | ( |  | ) |

Returns the preferred video framerate, previously set by setPreferredFramerate().

Returns
  frame rate in number of frames per seconds.

## getPreferredVideoDefinition()

LINPHONECXX_PUBLIC std::shared_ptr< const linphone::VideoDefinition > linphone::Core::getPreferredVideoDefinition | ( |  | ) | const

Get the preferred video definition for the stream that is captured and sent to the remote party.

Returns
  The preferred VideoDefinition

## getPresenceModel()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::PresenceModel > linphone::Core::getPresenceModel | ( |  | ) | const

Get my presence model.

Returns
  A PresenceModel object, or nullptr if no presence model has been set.

## getPreviewVideoDefinition()

LINPHONECXX_PUBLIC std::shared_ptr< const linphone::VideoDefinition > linphone::Core::getPreviewVideoDefinition | ( |  | ) | const

Get the definition of the captured video.

Returns
  The captured VideoDefinition if it was previously set by setPreviewVideoDefinition(), otherwise a 0x0 VideoDefinition.

See also
  setPreviewVideoDefinition()

## getPrimaryContact()

LINPHONECXX_PUBLIC std::string linphone::Core::getPrimaryContact | ( |  | ) |

Returns the default identity when no proxy configuration is used.

Returns
  the primary contact identity

## getPrimaryContactParsed()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::Address > linphone::Core::getPrimaryContactParsed | ( |  | ) |

Same as getPrimaryContact() but the result is a Address object instead of const char *.

Returns
  a Address object.

Deprecated
  22/10/2018 Use createPrimaryContactParsed() instead.

## getProvisioningUri()

LINPHONECXX_PUBLIC std::string linphone::Core::getProvisioningUri | ( |  | ) | const

Get provisioning URI.

Returns
  the provisioning URI.

## getProxyConfigByIdkey()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::ProxyConfig > linphone::Core::getProxyConfigByIdkey | ( | const std::string & | idkey | ) |

Search for a ProxyConfig by it's idkey.

Parameters

  idkey | An arbitrary idkey string associated to a proxy configuration

Returns
  the ProxyConfig object for the given idkey value, or nullptr if none found

## getProxyConfigList()

LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::ProxyConfig > > linphone::Core::getProxyConfigList | ( |  | ) | const

Returns an unmodifiable list of entered proxy configurations.

Returns
  A list of ProxyConfig.

## getPushIncomingCallTimeout()

LINPHONECXX_PUBLIC int linphone::Core::getPushIncomingCallTimeout | ( |  | ) | const

Returns the push incoming call timeout See setPushIncomingCallTimeout() for details.

Returns
  The current push incoming call timeout in seconds

## getPushNotificationConfig()

LINPHONECXX_PUBLIC std::shared_ptr< const linphone::PushNotificationConfig > linphone::Core::getPushNotificationConfig | ( |  | ) | const

Gets the push notification configuration object if it exists.

Returns
  the PushNotificationConfig if it exists, nullptr otherwise.

## getRecordFile()

LINPHONECXX_PUBLIC std::string linphone::Core::getRecordFile | ( |  | ) | const

Get the wav file where incoming stream is recorded, when files are used instead of soundcards (see setUseFiles()).

This feature is different from call recording (CallParams::setRecordFile()) The file is a 16 bit linear wav file.

Returns
  The path to the file where incoming stream is recorded.

## getRemoteRingbackTone()

LINPHONECXX_PUBLIC std::string linphone::Core::getRemoteRingbackTone | ( |  | ) | const

Get the ring back tone played to far end during incoming calls.

Returns
  the path to the remote ring back tone to be played.

## getRing()

LINPHONECXX_PUBLIC std::string linphone::Core::getRing | ( |  | ) | const

Returns the path to the wav file used for ringing.

Returns
  The path to the wav file used for ringing.

## getRingback()

LINPHONECXX_PUBLIC std::string linphone::Core::getRingback | ( |  | ) | const

Returns the path to the wav file used for ringing back.

Returns
  The path to the wav file used for ringing back.

## getRingerDevice()

LINPHONECXX_PUBLIC std::string linphone::Core::getRingerDevice | ( |  | ) |

Gets the name of the currently assigned sound device for ringing.

Returns
  The name of the currently assigned sound device for ringing.

## getRootCa()

LINPHONECXX_PUBLIC std::string linphone::Core::getRootCa | ( |  | ) |

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

Returns
  The path to a file or folder containing the trusted root CAs.

## getSessionExpiresMinValue()

LINPHONECXX_PUBLIC int linphone::Core::getSessionExpiresMinValue | ( |  | ) | const

Returns the session expires min value, 90 by default.

Returns
  The minSE value

## getSessionExpiresRefresherValue()

LINPHONECXX_PUBLIC linphone::SessionExpiresRefresher linphone::Core::getSessionExpiresRefresherValue | ( |  | ) | const

Returns the session expires refresher value.

Returns
  The SessionExpiresRefresher configuration refresher value

## getSessionExpiresValue()

LINPHONECXX_PUBLIC int linphone::Core::getSessionExpiresValue | ( |  | ) | const

Returns the session expires value.

Returns
  The session timer expire value

## getSipDscp()

LINPHONECXX_PUBLIC int linphone::Core::getSipDscp | ( |  | ) | const

Get the DSCP field for SIP signaling channel.

The DSCP defines the quality of service in IP packets.

Returns
  The current DSCP value

## getSipTransportTimeout()

LINPHONECXX_PUBLIC int linphone::Core::getSipTransportTimeout | ( |  | ) |

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

Returns
  The SIP transport timeout in milliseconds.

## getSoundDevicesList()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::list< std::string > linphone::Core::getSoundDevicesList | ( |  | ) | const

Gets the list of the available sound devices.

Returns
  An unmodifiable array of strings contanining the names of the available sound devices that is nullptr terminated.

Deprecated
  10/04/2021 Use getAudioDevices() instead.

## getSrtpCryptoSuites()

LINPHONECXX_PUBLIC std::string linphone::Core::getSrtpCryptoSuites | ( |  | ) |

Get the crypto suites available to the core.

Returns
  a comma separated list of supported suites

## getStaticPicture()

LINPHONECXX_PUBLIC std::string linphone::Core::getStaticPicture | ( |  | ) |

Get the path to the image file streamed when "Static picture" is set as the video device.

Returns
  The path to the image file streamed when "Static picture" is set as the video device.

## getStaticPictureFps()

LINPHONECXX_PUBLIC float linphone::Core::getStaticPictureFps | ( |  | ) |

Get the frame rate for static picture.

Returns
  The frame rate used for static picture.

## getStunServer()

LINPHONECXX_PUBLIC std::string linphone::Core::getStunServer | ( |  | ) | const

Get the STUN server address being used.

Returns
  The STUN server address being used.

## getSupportedFileFormatsList()

LINPHONECXX_PUBLIC std::list< std::string > linphone::Core::getSupportedFileFormatsList | ( |  | ) | const

Returns a null terminated table of strings containing the file format extension supported for call recording.

Returns
  The supported formats, typically 'wav' and 'mkv'.

## getTag100RelSupportLevel()

LINPHONECXX_PUBLIC linphone::SupportLevel linphone::Core::getTag100RelSupportLevel | ( |  | ) | const

Get the support level of the 100rel attribute.

Returns
  The 100 rel support level

## getTextPayloadTypes()

LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::PayloadType > > linphone::Core::getTextPayloadTypes | ( |  | ) |

Return the list of the available text payload types.

Returns
  A freshly allocated list of the available payload types. The list must be destroyed with bctbx_list_free() after usage. The elements of the list haven't to be unref.

## getTextPort()

LINPHONECXX_PUBLIC int linphone::Core::getTextPort | ( |  | ) | const

Gets the UDP port used for text streaming.

Returns
  The UDP port used for text streaming

## getTextPortsRange()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Range > linphone::Core::getTextPortsRange | ( |  | ) | const

Get the text port range from which is randomly chosen the UDP port used for text streaming.

Returns
  a Range object

## getTlsCert()

LINPHONECXX_PUBLIC std::string linphone::Core::getTlsCert | ( |  | ) | const

Gets the TLS certificate.

Returns
  the TLS certificate or nullptr if not set yet.

## getTlsCertPath()

LINPHONECXX_PUBLIC std::string linphone::Core::getTlsCertPath | ( |  | ) | const

Gets the path to the TLS certificate file.

Returns
  the TLS certificate path or nullptr if not set yet.

## getTlsKey()

LINPHONECXX_PUBLIC std::string linphone::Core::getTlsKey | ( |  | ) | const

Gets the TLS key.

Returns
  the TLS key or nullptr if not set yet.

## getTlsKeyPath()

LINPHONECXX_PUBLIC std::string linphone::Core::getTlsKeyPath | ( |  | ) | const

Gets the path to the TLS key file.

Returns
  the TLS key path or nullptr if not set yet.

## getTransports()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Transports > linphone::Core::getTransports | ( |  | ) |

Retrieves the port configuration used for each transport (udp, tcp, tls).

A zero value port for a given transport means the transport is not used. A value of LC_SIP_TRANSPORT_RANDOM (-1) means the port is to be chosen randomly by the system. A value of LC_SIP_TRANSPORT_DONTBIND (-2) means that the socket will not be bound explicitely, in other words liblinphone won't listen for incoming connections at all. This mode is suitable for a pure client application (ex: a mobile application).

Returns
  A Transports structure with the configured ports

## getTransportsUsed()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Transports > linphone::Core::getTransportsUsed | ( |  | ) |

Retrieves the real port number assigned for each sip transport (udp, tcp, tls).

A zero value means that the transport is not activated. If LC_SIP_TRANSPORT_RANDOM was passed to linphone_core_set_sip_transports, the random port choosed by the system is returned.

Returns
  A Transports structure with the ports being used

## getTunnel()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Tunnel > linphone::Core::getTunnel | ( |  | ) | const

get tunnel instance if available

Returns
  Tunnel or nullptr if not available.

## getUnreadChatMessageCount()

LINPHONECXX_PUBLIC int linphone::Core::getUnreadChatMessageCount | ( |  | ) | const

Return the global unread chat message count.

Returns
  The global unread chat message count.

## getUnreadChatMessageCountFromActiveLocals()

LINPHONECXX_PUBLIC int linphone::Core::getUnreadChatMessageCountFromActiveLocals | ( |  | ) | const

Return the unread chat message count for all active local address.

(Primary contact + proxy configs.)

Returns
  The unread chat message count.

## getUnreadChatMessageCountFromLocal()

LINPHONECXX_PUBLIC int linphone::Core::getUnreadChatMessageCountFromLocal | ( | const std::shared_ptr< const linphone::Address > & | address | ) | const

Return the unread chat message count for a given local address.

Parameters

  address | Address object.

Returns
  The unread chat message count.

## getUploadBandwidth()

LINPHONECXX_PUBLIC int linphone::Core::getUploadBandwidth | ( |  | ) | const

Retrieve the maximum available upload bandwidth.

This value was set by setUploadBandwidth().

Returns
  the upload bandiwdth in kbits/s, 0 for infinite

## getUploadPtime()

LINPHONECXX_PUBLIC int linphone::Core::getUploadPtime | ( |  | ) |

Set audio packetization time linphone will send (in absence of requirement from peer) A value of 0 stands for the current codec default packetization time.

Returns
  the upload packetization time set

## getUpnpExternalIpaddress()

LINPHONECXX_PUBLIC std::string linphone::Core::getUpnpExternalIpaddress | ( |  | ) | const

Return the external ip address of router.

In some cases the uPnP can have an external ip address but not a usable uPnP (state different of Ok).

Returns
  a null terminated string containing the external ip address. If the the external ip address is not available return null.

## getUpnpState()

LINPHONECXX_PUBLIC linphone::UpnpState linphone::Core::getUpnpState | ( |  | ) | const

Return the internal state of uPnP.

Returns
  an UpnpState.

## getUseFiles()

LINPHONECXX_PUBLIC bool linphone::Core::getUseFiles | ( |  | ) |

Gets whether linphone is currently streaming audio from and to files, rather than using the soundcard.

Returns
  A boolean value representing whether linphone is streaming audio from and to files or not.

## getUseInfoForDtmf()

LINPHONECXX_PUBLIC bool linphone::Core::getUseInfoForDtmf | ( |  | ) |

Indicates whether SIP INFO is used to send digits.

Returns
  A boolean value telling whether SIP INFO is used to send digits

## getUserAgent()

LINPHONECXX_PUBLIC std::string linphone::Core::getUserAgent | ( |  | ) |

Gets the user-agent as a string.

Returns
  liblinphone's user agent as a string.

## getUserCertificatesPath()

LINPHONECXX_PUBLIC std::string linphone::Core::getUserCertificatesPath | ( |  | ) |

Get the path to the directory storing the user's certificates.

Returns
  The path to the directory storing the user's certificates.

## getUseRfc2833ForDtmf()

LINPHONECXX_PUBLIC bool linphone::Core::getUseRfc2833ForDtmf | ( |  | ) |

Indicates whether RFC2833 is used to send digits.

Returns
  A boolean value telling whether RFC2833 is used to send digits

## getVersion()

LINPHONECXX_PUBLIC std::string linphone::Core::getVersion | ( |  | ) |

static

Returns liblinphone's version as a string.

Returns
  the current version of the Core

## getVideoActivationPolicy()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::VideoActivationPolicy > linphone::Core::getVideoActivationPolicy | ( |  | ) | const

Get the default policy for video.

See setVideoActivationPolicy() for more details.

Returns
  The video policy being used

## getVideoCodecPriorityPolicy()

LINPHONECXX_PUBLIC linphone::CodecPriorityPolicy linphone::Core::getVideoCodecPriorityPolicy | ( |  | ) | const

Get the current priority policy for video codecs (payload types).

See CodecPriorityPolicy for more details.

Returns
  the current CodecPriorityPolicy

## getVideoDevice()

LINPHONECXX_PUBLIC std::string linphone::Core::getVideoDevice | ( |  | ) | const

Returns the name of the currently active video device.

Returns
  The name of the currently active video device.

## getVideoDevicesList()

LINPHONECXX_PUBLIC std::list< std::string > linphone::Core::getVideoDevicesList | ( |  | ) | const

Gets the list of the available video capture devices.

Returns
  An unmodifiable array of strings contanining the names of the available video capture devices that is nullptr terminated.

## getVideoDisplayFilter()

LINPHONECXX_PUBLIC std::string linphone::Core::getVideoDisplayFilter | ( |  | ) |

Get the name of the mediastreamer2 filter used for rendering video.

Returns
  The currently selected video display filter.

## getVideoDscp()

LINPHONECXX_PUBLIC int linphone::Core::getVideoDscp | ( |  | ) | const

Get the DSCP field for outgoing video streams.

The DSCP defines the quality of service in IP packets.

Returns
  The current DSCP value

## getVideoJittcomp()

LINPHONECXX_PUBLIC int linphone::Core::getVideoJittcomp | ( |  | ) |

Returns the nominal video jitter buffer size in milliseconds.

Returns
  The nominal video jitter buffer size in milliseconds

## getVideoMulticastAddr()

LINPHONECXX_PUBLIC std::string linphone::Core::getVideoMulticastAddr | ( |  | ) | const

Use to get multicast address to be used for video stream.

Returns
  an ipv4/6 multicast address, or default value.

## getVideoMulticastTtl()

LINPHONECXX_PUBLIC int linphone::Core::getVideoMulticastTtl | ( |  | ) | const

Use to get multicast ttl to be used for video stream.

Returns
  a time to leave value

## getVideoPayloadTypes()

LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::PayloadType > > linphone::Core::getVideoPayloadTypes | ( |  | ) |

Return the list of the available video payload types.

Returns
  A freshly allocated list of the available payload types.

## getVideoPort()

LINPHONECXX_PUBLIC int linphone::Core::getVideoPort | ( |  | ) | const

Gets the UDP port used for video streaming.

Returns
  The UDP port used for video streaming

## getVideoPortsRange()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Range > linphone::Core::getVideoPortsRange | ( |  | ) | const

Get the video port range from which is randomly chosen the UDP port used for video streaming.

Returns
  a Range object

## getVideoPreset()

LINPHONECXX_PUBLIC std::string linphone::Core::getVideoPreset | ( |  | ) | const

Get the video preset used for video calls.

Returns
  The name of the video preset used for video calls (can be nullptr if the default video preset is used).

## getZrtpAvailableKeyAgreementList()

LINPHONECXX_PUBLIC std::list< linphone::ZrtpKeyAgreement > linphone::Core::getZrtpAvailableKeyAgreementList | ( |  | ) |

Return the list of the available ZRTP key agreement algorithns.

Returns
  A freshly allocated list of the available algorithms. The list must be destroyed with bctbx_list_free() after usage. The elements of the list haven't to be unref.

## getZrtpCacheDb()

LINPHONECXX_PUBLIC void * linphone::Core::getZrtpCacheDb | ( |  | ) |

Get a pointer to the sqlite db holding zrtp/lime cache.

Returns
  An sqlite3 pointer cast to a void one or nullptr if cache is not available(not enabled at compile or access failed)

## getZrtpKeyAgreementList()

LINPHONECXX_PUBLIC std::list< linphone::ZrtpKeyAgreement > linphone::Core::getZrtpKeyAgreementList | ( |  | ) |

Return the ordonated list of the ZRTP key agreement algorithns currently configured.

Returns
  A freshly allocated list of the available algorithms. The list must be destroyed with bctbx_list_free() after usage. The elements of the list haven't to be unref.

## getZrtpSecretsFile()

LINPHONECXX_PUBLIC std::string linphone::Core::getZrtpSecretsFile | ( |  | ) |

Get the path to the file storing the zrtp secrets cache.

Returns
  The path to the file storing the zrtp secrets cache.

## getZrtpStatus()

LINPHONECXX_PUBLIC linphone::ZrtpPeerStatus linphone::Core::getZrtpStatus | ( | const std::string & | addr | ) |

Get the zrtp sas validation status for a peer uri.

Once the SAS has been validated or rejected, the status will never return to Unknown (unless you delete your cache)

Parameters

  addr | the peer uri

Returns
  - LinphoneZrtpPeerStatusUnknown: this uri is not present in cache OR during calls with the active device, SAS never was validated or rejected

## hasBuiltinEchoCanceller()

LINPHONECXX_PUBLIC bool linphone::Core::hasBuiltinEchoCanceller | ( |  | ) |

Check whether the device has a hardware echo canceller.

Returns
  true if it does, false otherwise

## hasCrappyOpengl()

LINPHONECXX_PUBLIC bool linphone::Core::hasCrappyOpengl | ( |  | ) |

Check whether the device is flagged has crappy opengl.

Returns
  true if crappy opengl flag is set, false otherwise

## inCall()

LINPHONECXX_PUBLIC bool linphone::Core::inCall | ( |  | ) | const

Tells whether there is a call running.

Returns
  A boolean value telling whether a call is currently running or not

## interpretUrl() [1/2]

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::Address > linphone::Core::interpretUrl | ( | const std::string & | url | ) |

Constructs a Address from the given string if possible.

In case of just a username, characters will be unescaped. If a phone number is detected, it will be flattened. sip: or sips: prefix will be added if not present. Finally, @domain will be added if not present using default proxy config.

See also
  ProxyConfig::normalizeSipUri() for documentation.

Parameters

  url | the url to parse

Returns
  the Address matching the url or nullptr in case of failure.

Deprecated
  on 18/07/2022, use interpretUrl() instead.

## interpretUrl() [2/2]

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Address > linphone::Core::interpretUrl | ( | const std::string & | url,
|  | bool | applyInternationalPrefix )

Constructs a Address from the given string if possible.

In case of just a username, characters will be unescaped. If a phone number is detected, it will be flattened. sip: or sips: prefix will be added if not present. Finally, @domain will be added if not present using default proxy config.

See also
  ProxyConfig::normalizeSipUri() for documentation.

Parameters

  url | the url to parse
  applyInternationalPrefix | whether or not to try to format url as phone number using default account prefix if it set (and if url is a number).

Returns
  the Address matching the url or nullptr in case of failure.

## invite()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Call > linphone::Core::invite | ( | const std::string & | url | ) |

Initiates an outgoing call.

The application doesn't own a reference to the returned Call object. Use linphone_call_ref to safely keep the Call pointer valid within your application.

Parameters

  url | The destination of the call (sip address, or phone number).

Returns
  A Call object or nullptr in case of failure.

## inviteAddress()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Call > linphone::Core::inviteAddress | ( | const std::shared_ptr< const linphone::Address > & | addr | ) |

Initiates an outgoing call given a destination Address The Address can be constructed directly using Factory::createAddress(), or created by interpretUrl().

The application doesn't own a reference to the returned Call object. Use linphone_call_ref to safely keep the Call pointer valid within your application.

Parameters

  addr | The destination of the call (sip address).

Returns
  A Call object or nullptr in case of failure.

## inviteAddressWithParams() [1/2]

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Call > linphone::Core::inviteAddressWithParams | ( | const std::shared_ptr< const linphone::Address > & | addr,
|  | const std::shared_ptr< const linphone::CallParams > & | params )

Initiates an outgoing call given a destination Address The Address can be constructed directly using Factory::createAddress(), or created by interpretUrl().

The application doesn't own a reference to the returned Call object. Use linphone_call_ref to safely keep the Call pointer valid within your application. If the proxy is not specified in parameters, the caller proxy will be automatically selected by finding what is the best to reach the destination of the call.

Parameters

  addr | The destination of the call (sip address).
  params | Call parameters

Returns
  A Call object or nullptr in case of failure.

## inviteAddressWithParams() [2/2]

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Call > linphone::Core::inviteAddressWithParams | ( | const std::shared_ptr< const linphone::Address > & | addr,
|  | const std::shared_ptr< const linphone::CallParams > & | params,
|  | const std::string & | subject,
|  | const std::shared_ptr< const linphone::Content > & | content )

Initiates an outgoing call given a destination Address The Address can be constructed directly using Factory::createAddress(), or created by interpretUrl().

The application doesn't own a reference to the returned Call object. Use linphone_call_ref to safely keep the Call pointer valid within your application. If the proxy is not specified in parameters, the caller proxy will be automatically selected by finding what is the best to reach the destination of the call.

Parameters

  addr | The destination of the call (sip address).
  params | Call parameters
  subject | Subject of the call
  content | Body of the SIP INVITE

Returns
  A Call object or nullptr in case of failure.

## inviteWithParams()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Call > linphone::Core::inviteWithParams | ( | const std::string & | url,
|  | const std::shared_ptr< const linphone::CallParams > & | params )

Initiates an outgoing call according to supplied call parameters The application doesn't own a reference to the returned Call object.

Use linphone_call_ref to safely keep the Call pointer valid within your application.

Parameters

  url | The destination of the call (sip address, or phone number).
  params | the CallParams call parameters

Returns
  A Call object or nullptr in case of failure.

## ipv6Enabled()

LINPHONECXX_PUBLIC bool linphone::Core::ipv6Enabled | ( |  | ) |

Tells whether IPv6 is enabled or not.

Returns
  A boolean value telling whether IPv6 is enabled or not

See also
  enableIpv6() for more details on how IPv6 is supported in liblinphone.

## isAutoDownloadIcalendarsEnabled()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool linphone::Core::isAutoDownloadIcalendarsEnabled | ( |  | ) |

Gets if the auto download for incoming icalendars is enabled or not.

Returns
  true if icalendars will be automatically downloaded, false otherwise.

Deprecated
  16/12/2021 Use autoDownloadIcalendarsEnabled() instead.

## isAutoDownloadVoiceRecordingsEnabled()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool linphone::Core::isAutoDownloadVoiceRecordingsEnabled | ( |  | ) |

Gets if the auto download for incoming voice recordings is enabled or not.

Returns
  true if voice recordings will be automatically downloaded, false otherwise.

Deprecated
  16/12/2021 Use autoDownloadVoiceRecordingsEnabled() instead.

## isAutoIterateEnabled()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool linphone::Core::isAutoIterateEnabled | ( |  | ) | const

Gets whether auto iterate is enabled or not (Android & iOS only).

Returns
  true if iterate() is scheduled automatically, false otherwise

Deprecated
  16/12/2021 Use autoIterateEnabled() instead.

## isContentTypeSupported()

LINPHONECXX_PUBLIC bool linphone::Core::isContentTypeSupported | ( | const std::string & | contentType | ) | const

Tells whether a content type is supported.

Parameters

  contentType | The content type to check

Returns
  A boolean value telling whether the specified content type is supported or not.

## isEchoCancellerCalibrationRequired()

LINPHONECXX_PUBLIC bool linphone::Core::isEchoCancellerCalibrationRequired | ( |  | ) |

Check whether the device is echo canceller calibration is required.

Returns
  true if it is required, false otherwise

## isFriendListSubscriptionEnabled()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool linphone::Core::isFriendListSubscriptionEnabled | ( |  | ) |

Returns whether or not friend lists subscription are enabled.

Returns
  whether or not the feature is enabled

Deprecated
  16/12/2021 Use friendListSubscriptionEnabled() instead.

## isInBackground()

LINPHONECXX_PUBLIC bool linphone::Core::isInBackground | ( |  | ) | const

Gets whether the Core is considering itself in background or not.

The Core foreground/background state depends on the last call made to enterBackground() or enterForeground().

Returns
  true if the Core is in background, false otherwise.

## isIncomingInvitePending()

LINPHONECXX_PUBLIC bool linphone::Core::isIncomingInvitePending | ( |  | ) |

Tells whether there is an incoming invite pending.

Returns
  A boolean telling whether an incoming invite is pending or not.

## isInConference()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool linphone::Core::isInConference | ( |  | ) | const

Indicates whether the local participant is part of a conference.

Warning
  That function automatically fails in the case of conferences using a conferencet server (focus). If you use such a conference, you should use Conference::removeParticipant() instead.

Returns
  true if the local participant is in a conference, false otherwise.

Deprecated
  09/03/2021 Use Conference::isIn() instead.

## isMediaEncryptionMandatory()

LINPHONECXX_PUBLIC bool linphone::Core::isMediaEncryptionMandatory | ( |  | ) |

Check if the configured media encryption is mandatory or not.

Returns
  true if media encryption is mandatory; false otherwise.

## isMediaEncryptionSupported()

LINPHONECXX_PUBLIC bool linphone::Core::isMediaEncryptionSupported | ( | linphone::MediaEncryption | menc | ) |

Check if media encryption is supported.

Parameters

  menc | The media encryption policy to be used.

Returns
  true if the media encryption is supported, false otherwise

## isMediaFilterSupported()

LINPHONECXX_PUBLIC bool linphone::Core::isMediaFilterSupported | ( | const std::string & | filtername | ) |

Checks if the given media filter is loaded and usable.

This is for advanced users of the library, mainly to expose mediastreamer video filter status.

Parameters

  filtername | the filter name

Returns
  true if the filter is loaded and usable, false otherwise

## isNativeRingingEnabled()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool linphone::Core::isNativeRingingEnabled | ( |  | ) | const

Returns whether the native ringing is enabled or not.

Returns
  True if we use the native ringing, false otherwise

Deprecated
  16/12/2021 Use nativeRingingEnabled() instead.

## isNetworkReachable()

LINPHONECXX_PUBLIC bool linphone::Core::isNetworkReachable | ( |  | ) |

return network state either as positioned by the application or by linphone itself.

Returns
  true if network is reachable, false otherwise

## isPluginLoaded()

LINPHONECXX_PUBLIC bool linphone::Core::isPluginLoaded | ( | const std::string & | name | ) | const

Tells whether a plugin is loaded or not.

Parameters

  name | name of the plugin

Returns
  A boolean value telling whether the plugin has been loaded

## isPushNotificationAvailable()

LINPHONECXX_PUBLIC bool linphone::Core::isPushNotificationAvailable | ( |  | ) |

Gets whether push notifications are available or not (Android & iOS only).

Returns
  true if push notifications are available, false otherwise

## isPushNotificationEnabled()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool linphone::Core::isPushNotificationEnabled | ( |  | ) |

Gets whether push notifications are enabled or not (Android & iOS only).

If not, the app will have to handle all the push-related settings for each accounts

Returns
  true if push notifications are enabled, false otherwise

Deprecated
  16/12/2021 Use pushNotificationEnabled() instead.

## isRecordAwareEnabled()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool linphone::Core::isRecordAwareEnabled | ( |  | ) |

Gets if the record aware feature is enabled or not.

Returns
  true if the record aware feature is enabled, false otherwise.

Deprecated
  16/12/2021 Use recordAwareEnabled() instead.

## isSenderNameHiddenInForwardMessage()

LINPHONECXX_PUBLIC bool linphone::Core::isSenderNameHiddenInForwardMessage | ( |  | ) |

Returns whether or not sender name is hidden in forward message.

Returns
  whether or not the feature

## isVerifyServerCertificates()

LINPHONECXX_PUBLIC bool linphone::Core::isVerifyServerCertificates | ( |  | ) |

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

Returns
  True if the tls server certificate must be verified

## isVerifyServerCn()

LINPHONECXX_PUBLIC bool linphone::Core::isVerifyServerCn | ( |  | ) |

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

Returns
  True if the tls server certificate common name must be verified

## isVibrationOnIncomingCallEnabled()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool linphone::Core::isVibrationOnIncomingCallEnabled | ( |  | ) |

Gets whether the device will vibrate while an incoming call is ringing (Android only).

Returns
  true if the device will vibrate (if possible), false otherwise

Deprecated
  16/12/2021 Use vibrationOnIncomingCallEnabled() instead.

## iterate()

LINPHONECXX_PUBLIC void linphone::Core::iterate | ( |  | ) |

Main loop function.

It is crucial that your application call it periodically. iterate() performs various backgrounds tasks:

## keepAliveEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::keepAliveEnabled | ( |  | ) |

Is signaling keep alive enabled.

Returns
  A boolean value telling whether signaling keep alive is enabled

## ldapAvailable()

LINPHONECXX_PUBLIC bool linphone::Core::ldapAvailable | ( |  | ) |

Tells if LDAP is available.

Returns
  true if LDAP is available, false otherwise

## leaveConference()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED linphone::Status linphone::Core::leaveConference | ( |  | ) |

Make the local participant leave the running conference.

Returns
  0 if succeeded. Negative number if failed

Deprecated
  09/03/2021 Use Conference::leave() instead.

## limeX3DhEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::limeX3DhEnabled | ( |  | ) | const

Tells wether LIME X3DH is enabled or not.

Returns
  The current lime state

## loadConfigFromXml()

LINPHONECXX_PUBLIC void linphone::Core::loadConfigFromXml | ( | const std::string & | xmlUri | ) |

Update current config with the content of a xml config file.

Parameters

  xmlUri | the path to the xml file

## localPermissionEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::localPermissionEnabled | ( |  | ) | const

Special function to check if the local network permission has been granted by the user (useful for iOS).

The test performed by this function may popup the local network permission dialog, for that reason it could be a good idea to check it twice to conclude that the user has deny the permission.

Returns
  true if local permission request is granted, false otherwise.

## logCollectionEnabled()

LINPHONECXX_PUBLIC linphone::LogCollectionState linphone::Core::logCollectionEnabled | ( |  | ) |

static

Tells whether the linphone core log collection is enabled.

Returns
  The LogCollectionState of the Core log collection.

## mediaEncryptionSupported()

LINPHONECXX_PUBLIC bool linphone::Core::mediaEncryptionSupported | ( | linphone::MediaEncryption | menc | ) |

Check if a media encryption type is supported.

Parameters

  menc | MediaEncryption

Returns
  whether a media encryption scheme is supported by the Core engine

## micEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::micEnabled | ( |  | ) |

Tells whether the microphone is enabled.

Returns
  true if the microphone is enabled, false if disabled.

## migrateToMultiTransport()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::migrateToMultiTransport | ( |  | ) |

Migrate configuration so that all SIP transports are enabled.

Versions of linphone < 3.7 did not support using multiple SIP transport simultaneously. This function helps application to migrate the configuration so that all transports are enabled. Existing proxy configuration are added a transport parameter so that they continue using the unique transport that was set previously. This function must be used just after creating the core, before any call to iterate()

Returns
  1 if migration was done, 0 if not done because unnecessary or already done, -1 in case of error.

## nativeRingingEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::nativeRingingEnabled | ( |  | ) | const

Returns whether the native ringing is enabled or not.

Returns
  True if we use the native ringing, false otherwise

## notifyAllFriends()

LINPHONECXX_PUBLIC void linphone::Core::notifyAllFriends | ( | const std::shared_ptr< linphone::PresenceModel > & | presence | ) |

Notify all friends that have subscribed.

Parameters

  presence | PresenceModel to notify

## notifyNotifyPresenceReceived()

LINPHONECXX_PUBLIC void linphone::Core::notifyNotifyPresenceReceived | ( | const std::shared_ptr< linphone::Friend > & | linphoneFriend | ) |

Notifies the upper layer that a presence status has been received by calling the appropriate callback if one has been set.

This method is for advanced usage, where customization of the liblinphone's internal behavior is required.

Parameters

  linphoneFriend | the Friend whose presence information has been received.

## notifyNotifyPresenceReceivedForUriOrTel()

LINPHONECXX_PUBLIC void linphone::Core::notifyNotifyPresenceReceivedForUriOrTel | ( | const std::shared_ptr< linphone::Friend > & | linphoneFriend,
|  | const std::string & | uriOrTel,
|  | const std::shared_ptr< const linphone::PresenceModel > & | presenceModel )

Notifies the upper layer that a presence model change has been received for the uri or telephone number given as a parameter, by calling the appropriate callback if one has been set.

This method is for advanced usage, where customization of the liblinphone's internal behavior is required.

Parameters

  linphoneFriend | the Friend whose presence information has been received.
  uriOrTel | telephone number or sip uri
  presenceModel | the PresenceModel that has been modified

## pauseAllCalls()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::pauseAllCalls | ( |  | ) |

Pause all currently running calls.

Returns
  0

## playDtmf()

LINPHONECXX_PUBLIC void linphone::Core::playDtmf | ( | char | dtmf,
|  | int | durationMs )

Plays a dtmf sound to the local user.

Parameters

  dtmf | DTMF to play ['0'..'16'] | '#' | '#'
  durationMs | Duration in ms, -1 means play until next further call to stopDtmf()

## playLocal()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::playLocal | ( | const std::string & | audiofile | ) |

Plays an audio file to the local user.

This function works at any time, during calls, or when no calls are running. It doesn't request the underlying audio system to support multiple playback streams.

Parameters

  audiofile | The path to an audio file in wav PCM 16 bit format

Returns
  0 on success, -1 on error

## preemptSoundResources()

LINPHONECXX_PUBLIC int linphone::Core::preemptSoundResources | ( |  | ) |

Empties sound resources to allow a new call to be accepted.

This function is autyomatically called by the core if the media resource mode is set to unique.

Returns
  An integer returning the exit value. If it is 0, sound resources have been emptied. Otherwise, sound resources are busy and cannot be freed immediately.

## processPushNotification()

LINPHONECXX_PUBLIC void linphone::Core::processPushNotification | ( | const std::string & | callId | ) |

Call this method when you receive a push notification (if you handle push notifications manually).

It will ensure the proxy configs are correctly registered to the proxy server, so the call or the message will be correctly delivered.

Parameters

  callId | the Call-ID of the MESSAGE or INVITE for which the push was received and to wait for.

## publish()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Event > linphone::Core::publish | ( | const std::shared_ptr< linphone::Address > & | resource,
|  | const std::string & | event,
|  | int | expires,
|  | const std::shared_ptr< const linphone::Content > & | body )

Publish an event state.

This first create a Event with createPublish() and calls Event::sendPublish() to actually send it. After expiry, the publication is refreshed unless it is terminated before.

Parameters

  resource | the resource uri for the event
  event | the event name
  expires | the lifetime of event being published, -1 if no associated duration, in which case it will not be refreshed.
  body | the actual published data

Returns
  the Event holding the context of the publish.

## pushNotificationEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::pushNotificationEnabled | ( |  | ) |

Gets whether push notifications are enabled or not (Android & iOS only).

If not, the app will have to handle all the push-related settings for each accounts

Returns
  true if push notifications are enabled, false otherwise

## qrcodeVideoPreviewEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::qrcodeVideoPreviewEnabled | ( |  | ) | const

Tells whether QRCode is enabled in the preview.

Returns
  A boolean value telling whether QRCode is enabled in the preview.

## realtimeTextEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::realtimeTextEnabled | ( |  | ) |

Gets if realtime text is enabled or not.

Returns
  true if realtime text is enabled, false otherwise

## realtimeTextGetKeepaliveInterval()

LINPHONECXX_PUBLIC unsigned int linphone::Core::realtimeTextGetKeepaliveInterval | ( |  | ) | const

Gets keep alive interval of real time text.

Returns
  keep alive interval of real time text.

## realtimeTextSetKeepaliveInterval()

LINPHONECXX_PUBLIC void linphone::Core::realtimeTextSetKeepaliveInterval | ( | unsigned int | interval | ) |

Set keep alive interval for real time text.

Parameters

  interval | The keep alive interval of real time text, 25000 by default.

## recordAwareEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::recordAwareEnabled | ( |  | ) |

Gets if the record aware feature is enabled or not.

Returns
  true if the record aware feature is enabled, false otherwise.

## rejectSubscriber()

LINPHONECXX_PUBLIC void linphone::Core::rejectSubscriber | ( | const std::shared_ptr< linphone::Friend > & | linphoneFriend | ) |

Black list a friend.

same as Friend::setIncSubscribePolicy() with SubscribePolicy::SPDeny policy;

Parameters

  linphoneFriend | Friend to reject

## reloadMsPlugins()

LINPHONECXX_PUBLIC void linphone::Core::reloadMsPlugins | ( | const std::string & | path | ) |

Reload mediastreamer2 plugins from specified directory.

Parameters

  path | the path from where plugins are to be loaded, pass nullptr to use default (compile-time determined) plugin directory.

## reloadSoundDevices()

LINPHONECXX_PUBLIC void linphone::Core::reloadSoundDevices | ( |  | ) |

Update detection of sound devices.

Use this function when the application is notified of USB plug events, so that list of available hardwares for sound playback and capture is updated.

## reloadVideoDevices()

LINPHONECXX_PUBLIC void linphone::Core::reloadVideoDevices | ( |  | ) |

Update detection of camera devices.

Use this function when the application is notified of USB plug events, so that list of available hardwares for video capture is updated.

## removeAccount()

LINPHONECXX_PUBLIC void linphone::Core::removeAccount | ( | const std::shared_ptr< linphone::Account > & | account | ) |

Removes an account.

Core will then automatically unregister and place the account on a deleted list. For that reason, a removed account does NOT need to be freed.

Parameters

  account | the Account to remove

## removeAuthInfo()

LINPHONECXX_PUBLIC void linphone::Core::removeAuthInfo | ( | const std::shared_ptr< const linphone::AuthInfo > & | info | ) |

Removes an authentication information object.

Parameters

  info | The AuthInfo to remove.

## removeCallLog()

LINPHONECXX_PUBLIC void linphone::Core::removeCallLog | ( | const std::shared_ptr< linphone::CallLog > & | callLog | ) |

Remove a specific call log from call history list.

This function destroys the call log object. It must not be accessed anymore by the application after calling this function.

Parameters

  callLog | CallLog object to remove.

## removeContentTypeSupport()

LINPHONECXX_PUBLIC void linphone::Core::removeContentTypeSupport | ( | const std::string & | contentType | ) |

Remove support for the specified content type.

It is the application responsibility to handle it correctly afterwards.

Parameters

  contentType | The content type to remove support for

## removeFriendList()

LINPHONECXX_PUBLIC void linphone::Core::removeFriendList | ( | const std::shared_ptr< linphone::FriendList > & | list | ) |

Removes a friend list.

Parameters

  list | FriendList object

## removeFromConference()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::removeFromConference | ( | const std::shared_ptr< linphone::Call > & | call | ) |

Remove a call from the conference.

Parameters

  call

  a call that has been previously merged into the conference.
  After removing the remote participant belonging to the supplied call, the call becomes a normal call in paused state. If one single remote participant is left alone together with the local user in the conference after the removal, then the conference is automatically transformed into a simple call in StreamsRunning state. The conference's resources are then automatically destroyed. In other words, unless leaveConference() is explicitly called, the last remote participant of a conference is automatically put in a simple call in running state.

Returns
  0 if successful, -1 otherwise.

## removeLdap()

LINPHONECXX_PUBLIC void linphone::Core::removeLdap | ( | const std::shared_ptr< linphone::Ldap > & | ldap | ) |

Remove a LDAP from the configuration.

Parameters

  ldap | The LDAP to remove.

## removeLinphoneSpec()

LINPHONECXX_PUBLIC void linphone::Core::removeLinphoneSpec | ( | const std::string & | spec | ) |

Remove the given linphone specs from the list of functionalities the linphone client supports.

Parameters

  spec | The spec to remove

## removeListener()

LINPHONECXX_PUBLIC void linphone::Core::removeListener | ( | const std::shared_ptr< CoreListener > & | listener | ) |

Remove a previously added listener from the Core instance.

Parameters

  listener | the application listener

## removeProxyConfig()

LINPHONECXX_PUBLIC void linphone::Core::removeProxyConfig | ( | const std::shared_ptr< linphone::ProxyConfig > & | config | ) |

Removes a proxy configuration.

Core will then automatically unregister and place the proxy configuration on a deleted list. For that reason, a removed proxy does NOT need to be freed.

Parameters

  config | the ProxyConfig to remove

## removeSupportedTag()

LINPHONECXX_PUBLIC void linphone::Core::removeSupportedTag | ( | const std::string & | tag | ) |

Remove a supported tag.

Parameters

  tag | The tag to remove

See also
  addSupportedTag()

## resetEchoCancellationCalibration()

LINPHONECXX_PUBLIC void linphone::Core::resetEchoCancellationCalibration | ( |  | ) |

Clears all state resulting from a previous echo canceller calibration procedure, which restores default policy and settings for echo cancellation.

See also
  enableEchoCancellation() and startEchoCancellerCalibration()

## retransmissionOnNackEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::retransmissionOnNackEnabled | ( |  | ) |

Tells whether NACK context is enabled or not.

Returns
  A boolean value telling whether NACK context is enabled or not

## rtpBundleEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::rtpBundleEnabled | ( |  | ) | const

Returns whether RTP bundle mode (also known as Media Multiplexing) is enabled.

See https://datatracker.ietf.org/doc/html/rfc8843 for more information.

Returns
  a boolean indicating the enablement of rtp bundle mode.

## sdp200AckEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::sdp200AckEnabled | ( |  | ) | const

Media offer control param for SIP INVITE.

Returns
  true if INVITE has to be sent whitout SDP.

## searchChatRoom()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::ChatRoom > linphone::Core::searchChatRoom | ( | const std::shared_ptr< const linphone::ChatRoomParams > & | params,
|  | const std::shared_ptr< const linphone::Address > & | localAddr,
|  | const std::shared_ptr< const linphone::Address > & | remoteAddr,
|  | const std::list< std::shared_ptr< linphone::Address > > & | participants ) const

Find a chat room.

Parameters

  params | The chat room parameters to match ChatRoomParams or nullptr
  localAddr | Address representing the local proxy configuration or nullptr
  remoteAddr | Address to search for or nullptr
  participants | The participants that must be present in the chat room to find.

Returns
  A matching chat room or nullptr if none matches.

## searchConference() [1/2]

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Conference > linphone::Core::searchConference | ( | const std::shared_ptr< const linphone::Address > & | conferenceAddr | ) | const

Find a conference.

Parameters

  conferenceAddr | Address representing the conference address

Returns
  A pointer on Conference whose conference address is the one provided as argument or nullptr if none matches

## searchConference() [2/2]

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Conference > linphone::Core::searchConference | ( | const std::shared_ptr< const linphone::ConferenceParams > & | params,
|  | const std::shared_ptr< const linphone::Address > & | localAddr,
|  | const std::shared_ptr< const linphone::Address > & | remoteAddr,
|  | const std::list< std::shared_ptr< linphone::Address > > & | participants ) const

Find a conference.

Parameters

  params | The conference parameters to match ConferenceParams or nullptr
  localAddr | Address representing the local proxy configuration or nullptr
  remoteAddr | Address to search for or nullptr
  participants | The participants that must be present in the chat room to find

Returns
  A pointer on Conference satisfying the non-nullptr function arguments or nullptr if none matches

## selfViewEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::selfViewEnabled | ( |  | ) | const

Tells whether video self view during call is enabled or not.

Returns
  A boolean value telling whether self view is enabled

See also
  enableSelfView() for details.

## serializeLogs()

LINPHONECXX_PUBLIC void linphone::Core::serializeLogs | ( |  | ) |

static

Enable logs serialization (output logs from either the thread that creates the linphone core or the thread that calls iterate()).

Must be called before creating the linphone core.

## sessionExpiresEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::sessionExpiresEnabled | ( |  | ) | const

Check if the Session Timers feature is enabled.

Returns
  true if session timers are enabled, false otherwise

## setAccountCreatorBackend()

LINPHONECXX_PUBLIC void linphone::Core::setAccountCreatorBackend | ( | linphone::AccountCreator::Backend | backend | ) |

Set the AccountCreator backend on the Core.

Parameters

  backend | The AccountCreator::Backend

## setAccountCreatorUrl()

LINPHONECXX_PUBLIC void linphone::Core::setAccountCreatorUrl | ( | const std::string & | url | ) |

Set the AccountCreator url on the Core.

Parameters

  url | The URL to reach

## setAdaptiveRateAlgorithm()

LINPHONECXX_PUBLIC void linphone::Core::setAdaptiveRateAlgorithm | ( | const std::string & | algorithm | ) |

Sets adaptive rate algorithm.

It will be used for each new calls starting from now. Calls already started will not be updated.

Parameters

  algorithm | the adaptive rate control algorithm. Currently two values are supported: 'advanced', which is the default value, or 'basic'.

## setAudioDscp()

LINPHONECXX_PUBLIC void linphone::Core::setAudioDscp | ( | int | dscp | ) |

Set the DSCP field for outgoing audio streams.

The DSCP defines the quality of service in IP packets.

Parameters

  dscp | The DSCP value to set

## setAudioJittcomp()

LINPHONECXX_PUBLIC void linphone::Core::setAudioJittcomp | ( | int | milliseconds | ) |

Sets the nominal audio jitter buffer size in milliseconds.

The value takes effect immediately for all running and pending calls, if any. A value of 0 disables the jitter buffer.

Parameters

  milliseconds | the audio jitter buffer size to set in milliseconds

## setAudioMulticastAddr()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::setAudioMulticastAddr | ( | const std::string & | ip | ) |

Use to set multicast address to be used for audio stream.

Parameters

  ip | an ipv4/6 multicast address.

Returns
  0 in case of success

## setAudioMulticastTtl()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::setAudioMulticastTtl | ( | int | ttl | ) |

Use to set multicast ttl to be used for audio stream.

Parameters

  ttl | value or -1 if not used. [0..255] default value is 1

Returns
  0 in case of success

## setAudioPayloadTypes()

LINPHONECXX_PUBLIC void linphone::Core::setAudioPayloadTypes | ( | const std::list< std::shared_ptr< linphone::PayloadType > > & | payloadTypes | ) |

Redefine the list of the available payload types.

Parameters

  payloadTypes | The new list of payload types. The core does not take ownership on it.

## setAudioPort()

LINPHONECXX_PUBLIC void linphone::Core::setAudioPort | ( | int | port | ) |

Sets the UDP port used for audio streaming.

A value of -1 will request the system to allocate the local port randomly. This is recommended in order to avoid firewall warnings.

Parameters

  port | The UDP port to use for audio streaming

## setAudioPortRange()

LINPHONECXX_PUBLIC void linphone::Core::setAudioPortRange | ( | int | minPort,
|  | int | maxPort )

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

Parameters

  minPort | The lower bound of the audio port range to use
  maxPort | The upper bound of the audio port range to use

## setAutoIterateBackgroundSchedule()

LINPHONECXX_PUBLIC void linphone::Core::setAutoIterateBackgroundSchedule | ( | int | schedule | ) |

Sets the timer used to schedule the call to core.iterate() method when in background (Android only).

Parameters

  schedule | The timing in milliseconds used to schedule the call while in background.

## setAutoIterateForegroundSchedule()

LINPHONECXX_PUBLIC void linphone::Core::setAutoIterateForegroundSchedule | ( | int | schedule | ) |

Sets the timer used to schedule the call to core.iterate() method when in foreground (Android only).

Parameters

  schedule | The timing in milliseconds used to schedule the call while in foreground.

## setAvpfMode()

LINPHONECXX_PUBLIC void linphone::Core::setAvpfMode | ( | linphone::AVPFMode | mode | ) |

Enable RTCP feedback (also known as RTP/AVPF profile).

Setting AVPFMode::Default is equivalent to LinphoneAVPFDisabled. This setting can be overriden per ProxyConfig with ProxyConfig::setAvpfMode(). The value set here is used for calls placed or received out of any proxy configured, or if the proxy config is configured with LinphoneAVPFDefault.

Parameters

  mode | The AVPF mode to use.

## setAvpfRrInterval()

LINPHONECXX_PUBLIC void linphone::Core::setAvpfRrInterval | ( | int | interval | ) |

Set the avpf report interval in seconds.

This value can be overriden by the proxy config using ProxyConfig::setAvpfRrInterval().

Parameters

  interval | The report interval in seconds

## setCallLogsDatabasePath()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED void linphone::Core::setCallLogsDatabasePath | ( | const std::string & | path | ) |

Sets the database filename where call logs will be stored.

If the file does not exist, it will be created.

Parameters

  path | filesystem path

Deprecated
  07/12/2021: Use only for migration purposes

## setCaptureDevice()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::setCaptureDevice | ( | const std::string & | devid | ) |

Sets the sound device used for capture.

Parameters

  devid | The device name as returned by linphone_core_get_sound_devices

Returns
  0

## setChatMessagesAggregationEnabled()

LINPHONECXX_PUBLIC void linphone::Core::setChatMessagesAggregationEnabled | ( | bool | enabled | ) |

Sets whether chat messages grouping is enabled or not.

Set [sip] chat_messages_aggregation in your configuration file for the timer, default is 500ms.

Parameters

  enabled | true to wait for chat messages and notify them as at once, false to keep legacy behavior.

## setConferenceParticipantListType()

LINPHONECXX_PUBLIC void linphone::Core::setConferenceParticipantListType | ( | linphone::Conference::ParticipantListType | type | ) |

Select whether the default conference participant list is open or closed.

Parameters

  type | A Conference::ParticipantListType participant list type

## setConsolidatedPresence()

LINPHONECXX_PUBLIC void linphone::Core::setConsolidatedPresence | ( | linphone::ConsolidatedPresence | presence | ) |

Set my consolidated presence.

Parameters

  presence | ConsolidatedPresence value

## setDefaultAccount()

LINPHONECXX_PUBLIC void linphone::Core::setDefaultAccount | ( | const std::shared_ptr< linphone::Account > & | account | ) |

Sets the default account.

This default account must be part of the list of already entered Account. Toggling it as default will make Core use the identity associated with the account in all incoming and outgoing calls.

Parameters

  account | The account to use as the default one.

## setDefaultConferenceLayout()

LINPHONECXX_PUBLIC void linphone::Core::setDefaultConferenceLayout | ( | linphone::Conference::Layout | value | ) |

Set the default conference layout.

Parameters

  value | layout

## setDefaultEphemeralLifetime()

LINPHONECXX_PUBLIC void linphone::Core::setDefaultEphemeralLifetime | ( | long | value | ) |

Set the default ephemeral lifetime in seconds.

Parameters

  value | lifetime of ephemeral messages in seconds

## setDefaultInputAudioDevice()

LINPHONECXX_PUBLIC void linphone::Core::setDefaultInputAudioDevice | ( | const std::shared_ptr< linphone::AudioDevice > & | audioDevice | ) |

Sets the given AudioDevice as default input for next calls.

Parameters

  audioDevice | The AudioDevice

## setDefaultOutputAudioDevice()

LINPHONECXX_PUBLIC void linphone::Core::setDefaultOutputAudioDevice | ( | const std::shared_ptr< linphone::AudioDevice > & | audioDevice | ) |

Sets the given AudioDevice as default output for next calls.

Parameters

  audioDevice | The AudioDevice

## setDefaultProxyConfig()

LINPHONECXX_PUBLIC void linphone::Core::setDefaultProxyConfig | ( | const std::shared_ptr< linphone::ProxyConfig > & | config | ) |

Sets the default proxy.

This default proxy must be part of the list of already entered ProxyConfig. Toggling it as default will make Core use the identity associated with the proxy configuration in all incoming and outgoing calls.

Parameters

  config | The proxy configuration to use as the default one.

## setDelayedTimeout()

LINPHONECXX_PUBLIC void linphone::Core::setDelayedTimeout | ( | int | seconds | ) |

Set the in delayed timeout in seconds.

After this timeout period, a delayed call (internal call initialisation or resolution) is resumed.

Parameters

  seconds | The new delayed timeout

## setDeviceRotation()

LINPHONECXX_PUBLIC void linphone::Core::setDeviceRotation | ( | int | rotation | ) |

Tells the core the device current orientation.

This can be used by capture filters on mobile devices to select between portrait/landscape mode and to produce properly oriented images. The exact meaning of the value in rotation if left to each device specific implementations. IOS supported values are 0 for UIInterfaceOrientationPortrait and 270 for UIInterfaceOrientationLandscapeRight.

Parameters

  rotation | The orientation to use

## setDigestAuthenticationPolicy()

LINPHONECXX_PUBLIC void linphone::Core::setDigestAuthenticationPolicy | ( | const std::shared_ptr< linphone::DigestAuthenticationPolicy > & | policy | ) |

Setup a new digest authentication policy applicable for SIP and HTTP.

Setup a new digest authentication policy applicable for SIP and HTTP.

Parameters

  policy | a DigestAuthenticationPolicy

## setDisableRecordOnMute()

LINPHONECXX_PUBLIC void linphone::Core::setDisableRecordOnMute | ( | bool | disable | ) |

Calling this method with disable=true will cause the microhone to be completely deactivated when muted, when given possible by the implementation on the platform on which liblinphone is running.

Otherwise, sound recording remains active but silence is sent instead of recorded audio. Playback sound will be briefly interrupted while the audio is reconfigured. Currently only implemented for IOS, it will also disable Apple's microphone recording indicator when microphone is muted.

Parameters

  disable | True if you wish to entirely stop the audio recording when muting the microphone.

## setDnsServers()

LINPHONECXX_PUBLIC void linphone::Core::setDnsServers | ( | const std::list< std::string > & | servers | ) |

Forces liblinphone to use the supplied list of dns servers, instead of system's ones.

Parameters

  servers | A list of strings containing the IP addresses of DNS servers to be used. Setting to nullptr restores default behaviour, which is to use the DNS server list provided by the system. The list is copied internally.

## setDnsServersApp()

LINPHONECXX_PUBLIC void linphone::Core::setDnsServersApp | ( | const std::list< std::string > & | servers | ) |

Forces liblinphone to use the supplied list of dns servers, instead of system's ones and set dns_set_by_app at true or false according to value of servers list.

Parameters

  servers | A list of strings containing the IP addresses of DNS servers to be used. Setting to nullptr restores default behaviour, which is to use the DNS server list provided by the system. The list is copied internally.

## setDownloadBandwidth()

LINPHONECXX_PUBLIC void linphone::Core::setDownloadBandwidth | ( | int | bandwidth | ) |

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

This information is used signaled to other parties during calls (within SDP messages) so that the remote end can have sufficient knowledge to properly configure its audio & video codec output bitrate to not overflow available bandwidth.

Parameters

  bandwidth | the bandwidth in kbits/s, 0 for infinite

## setDownloadPtime()

LINPHONECXX_PUBLIC void linphone::Core::setDownloadPtime | ( | int | ptime | ) |

Set audio packetization time linphone expects to receive from peer.

A value of zero means that ptime is not specified.

Parameters

  ptime | the download packetization time to set

## setEchoCancellerFilterName()

LINPHONECXX_PUBLIC void linphone::Core::setEchoCancellerFilterName | ( | const std::string & | filtername | ) |

Set the name of the mediastreamer2 filter to be used for echo cancelling.

This is for advanced users of the library.

Parameters

  filtername | The name of the mediastreamer2 filter to be used for echo cancelling.

## setEnableSipUpdate()

LINPHONECXX_PUBLIC void linphone::Core::setEnableSipUpdate | ( | int | value | ) | const

Enable or disable the UPDATE method support.

Parameters

  value | Enable or disable it

## setExpectedBandwidth()

LINPHONECXX_PUBLIC void linphone::Core::setExpectedBandwidth | ( | int | bandwidth | ) |

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

This information is used by liblinphone together with remote side available bandwidth signaled in SDP messages to properly configure audio & video codec's output bitrate.

Parameters

  bandwidth | the bandwidth in kbits/s, 0 for infinite

## setFileTransferServer()

LINPHONECXX_PUBLIC void linphone::Core::setFileTransferServer | ( | const std::string & | serverUrl | ) |

Globaly set an http file transfer server to be used for content type application/vnd.gsma.rcs-ft-http+xml.

Url may be like: "https://file.linphone.org/upload.php". This value can also be set for a dedicated account using linphone_proxy_config_set_file_transfer_server.

Parameters

  serverUrl | URL of the file server.

## setFriendsDatabasePath()

LINPHONECXX_PUBLIC void linphone::Core::setFriendsDatabasePath | ( | const std::string & | path | ) |

Sets the database filename where friends will be stored.

If the file does not exist, it will be created.

Parameters

  path | filesystem path.

## setGuessHostname()

LINPHONECXX_PUBLIC void linphone::Core::setGuessHostname | ( | bool | enable | ) |

Tells Core to guess local hostname automatically in primary contact.

Parameters

  enable | whether to enable the guess hostname feature or not

## setHttpProxyHost()

LINPHONECXX_PUBLIC void linphone::Core::setHttpProxyHost | ( | const std::string & | host | ) |

Set http proxy address to be used for signaling during next channel connection.

Use setNetworkReachable() FASLE/true to force channel restart.

Parameters

  host | Hostname of IP adress of the http proxy (can be nullptr to disable).

## setHttpProxyPort()

LINPHONECXX_PUBLIC void linphone::Core::setHttpProxyPort | ( | int | port | ) |

Set http proxy port to be used for signaling.

Parameters

  port | of the http proxy.

## setInCallTimeout()

LINPHONECXX_PUBLIC void linphone::Core::setInCallTimeout | ( | int | seconds | ) |

Set the in call timeout in seconds.

After this timeout period, the call is automatically hangup. A value of 0 disables this feature.

Parameters

  seconds | The new timeout in seconds

## setIncTimeout()

LINPHONECXX_PUBLIC void linphone::Core::setIncTimeout | ( | int | seconds | ) |

Set the incoming call timeout in seconds.

If an incoming call isn't answered for this timeout period, it is automatically declined.

Parameters

  seconds | The new timeout in seconds

## setInputAudioDevice()

LINPHONECXX_PUBLIC void linphone::Core::setInputAudioDevice | ( | const std::shared_ptr< linphone::AudioDevice > & | audioDevice | ) |

Sets the given AudioDevice as input for all active calls.

Parameters

  audioDevice | The AudioDevice. nullptr does nothing.

## setLabel()

LINPHONECXX_PUBLIC void linphone::Core::setLabel | ( | const std::string & | label | ) |

Set a label - for logging/troubleshooting purpose - to the core object.

This label is used by the logger to give context. When running an application with several Core objects, (such as a test), it is useful to enhance the log's readability'.

Parameters

  label | a developper-friendly label.

## setLimeX3DhServerUrl()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED void linphone::Core::setLimeX3DhServerUrl | ( | const std::string & | url | ) |

Set the x3dh server url.

If empty, this function will disable LIME X3DH from core. Otherwise, or if different from the existing value, this will (re-)initialize the LIME X3DH engine.

Parameters

  url | The x3dh server url.

Deprecated
  26/08/2022 Use AccountParams::setLimeServerUrl() instead.

## setLinphoneSpecsList()

LINPHONECXX_PUBLIC void linphone::Core::setLinphoneSpecsList | ( | const std::list< std::string > & | specs | ) |

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

Parameters

  specs | The list of string specs to set.

## setLogCollectionMaxFileSize()

LINPHONECXX_PUBLIC void linphone::Core::setLogCollectionMaxFileSize | ( | size_t | size | ) |

static

Set the max file size in bytes of the files used for log collection.

Warning: this function should only not be used to change size dynamically but instead only before calling enableLogCollection(). If you increase max size on runtime, logs chronological order COULD be broken.

Parameters

  size | The max file size in bytes of the files used for log collection.

## setLogCollectionPath()

LINPHONECXX_PUBLIC void linphone::Core::setLogCollectionPath | ( | const std::string & | path | ) |

static

Set the path of a directory where the log files will be written for log collection.

When log collection is enabled, the function will close the file with the current prefix in the old path and it will open the new file with current prefix in the new path. If you need to change the path and the file at the same time, then you should deactivate log collection with enableLogCollection() before doing modifications.

Parameters

  path | The path where the log files will be written.

## setLogCollectionPrefix()

LINPHONECXX_PUBLIC void linphone::Core::setLogCollectionPrefix | ( | const std::string & | prefix | ) |

static

Set the prefix of the filenames that will be used for log collection.

When log collection is enabled, the function will close the old file and it will open the new one in the current path. If you need to change the path and the file at the same time, then you should deactivate log collection with enableLogCollection() before doing modifications.

Parameters

  prefix | The prefix to use for the filenames for log collection.

## setLogCollectionUploadServerUrl()

LINPHONECXX_PUBLIC void linphone::Core::setLogCollectionUploadServerUrl | ( | const std::string & | serverUrl | ) |

Set the url of the server where to upload the collected log files.

Parameters

  serverUrl | The url of the server where to upload the collected log files.

## setMaxCalls()

LINPHONECXX_PUBLIC void linphone::Core::setMaxCalls | ( | int | max | ) |

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

All new call above this limit are declined with a busy answer

Parameters

  max | number of simultaneous calls

## setMaxSizeForAutoDownloadIncomingFiles()

LINPHONECXX_PUBLIC void linphone::Core::setMaxSizeForAutoDownloadIncomingFiles | ( | int | size | ) |

Sets the size under which incoming files in chat messages will be downloaded automatically.

Parameters

  size | The size in bytes, -1 to disable the autodownload feature, 0 to download them all no matter the size

## setMediaDevice()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::setMediaDevice | ( | const std::string & | devid | ) |

Sets the sound device used for media.

Parameters

  devid | The device name as returned by linphone_core_get_sound_devices

Returns
  0

## setMediaEncryption()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::setMediaEncryption | ( | linphone::MediaEncryption | menc | ) |

Choose the media encryption policy to be used for RTP packets.

Parameters

  menc | The media encryption policy to be used.

Returns
  0 if successful, any other value otherwise.

## setMediaEncryptionMandatory()

LINPHONECXX_PUBLIC void linphone::Core::setMediaEncryptionMandatory | ( | bool | mandatory | ) |

Define whether the configured media encryption is mandatory, if it is and the negotation cannot result in the desired media encryption then the call will fail.

If not an INVITE will be resent with encryption disabled.

Parameters

  mandatory | true to set it mandatory; false otherwise.

## setMediaNetworkReachable()

LINPHONECXX_PUBLIC void linphone::Core::setMediaNetworkReachable | ( | bool | reachable | ) |

This method is called by the application to notify the linphone core library when the media (RTP) network is reachable.

This is for advanced usage, when SIP and RTP layers are required to use different interfaces. Most applications just need setNetworkReachable().

Parameters

  reachable | true if network is reachable, false otherwise

## setMediaResourceMode()

LINPHONECXX_PUBLIC void linphone::Core::setMediaResourceMode | ( | linphone::MediaResourceMode | mode | ) |

Sets the media resources mode.

Value values are: unique and shared. When the mode is set to unique, then only one call in the state StreamsRunning is allowed. While acepting a call, the core will try to free media resource used by the current call. If it is unsuccessful, then the call is not accepted. If mode is set to shared, then the media resources of the current call (if any) are not emptied when taking a new call. If the user whishes to free them, he/she is responsible to call linphone_core_preempt_sound_resources himself/herself

Parameters

  mode | the chosen mode

## setMicGainDb()

LINPHONECXX_PUBLIC void linphone::Core::setMicGainDb | ( | float | level | ) |

Allow to control microphone level: gain in db.

Parameters

  level | The new microphone level

## setMtu()

LINPHONECXX_PUBLIC void linphone::Core::setMtu | ( | int | mtu | ) |

Sets the maximum transmission unit size in bytes.

This information is useful for sending RTP packets. Default value is 1500.

Parameters

  mtu | The MTU in bytes

## setNatAddress()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED void linphone::Core::setNatAddress | ( | const std::string & | addr | ) |

Deprecated.

This function was used to force a given IP address to appear in SDP. Unfortunately, this cannot work as explained by https://www.rfc-editor.org/rfc/rfc5389#section-2 .

Parameters

  addr | The public IP address of NAT to use.

Deprecated
  12/10/2022

## setNativePreviewWindowId()

LINPHONECXX_PUBLIC void linphone::Core::setNativePreviewWindowId | ( | void * | windowId | ) |

Set the native window id where the preview video (local camera) is to be displayed.

This has to be used in conjonction with usePreviewWindow(). see setNativeVideoWindowId() for general details about window_id On Android : #org.linphone.mediastream.video.capture.CaptureTextureView is used for setNativePreviewWindowId(). It is inherited from #TextureView and takes care of rotating the captured image from the camera and scale it to keep it's ratio.

Parameters

  windowId | The native window id where the preview video is to be displayed.

## setNativeVideoWindowId()

LINPHONECXX_PUBLIC void linphone::Core::setNativeVideoWindowId | ( | void * | windowId | ) |

Set the native video window id where the video is to be displayed.

On Desktop platforms(MacOS, Linux, Windows), the display filter is "MSOGL" by default. That means : If window_id is not set or set to LINPHONE_VIDEO_DISPLAY_NONE, then the core will not create its own window, unless the special id LINPHONE_VIDEO_DISPLAY_AUTO is given. This is currently only supported for Linux X11 (#Window type), Windows UWP (#SwapChainPanel type) and Windows (#HWND type). The CSharp Wrapper on Windows for UWP takes directly a #SwapChainPanel without Marshalling. On other platforms, window_id is a #MSOglContextInfo defined in msogl.h of mediastreamer2 There is a special case for Qt : The "MSQOGL" filter must be selected by using linphone_core_set_video_display_filter. Setting window id is only used to stop rendering by passing LINPHONE_VIDEO_DISPLAY_NONE. getNativeVideoWindowId() returns a #QQuickFramebufferObject::Renderer and createNativeVideoWindowId() creates one. After a creation, setNativeVideoWindowId() must be called with the new object. On mobile operating systems, LINPHONE_VIDEO_DISPLAY_AUTO is not supported and window_id depends of the platform : iOS : It is a #UIView. Android : It is a #TextureView.

Parameters

  windowId | The native window id where the remote video is to be displayed.

## setNatPolicy()

LINPHONECXX_PUBLIC void linphone::Core::setNatPolicy | ( | const std::shared_ptr< linphone::NatPolicy > & | policy | ) |

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

It may be overridden by a NAT policy for a specific proxy config.

Parameters

  policy | NatPolicy object

See also
  AccountParams::setNatPolicy()

## setNetworkReachable()

LINPHONECXX_PUBLIC void linphone::Core::setNetworkReachable | ( | bool | reachable | ) |

This method is called by the application to notify the linphone core library when network is reachable.

Calling this method with true trigger linphone to initiate a registration process for all proxies. Calling this method disables the automatic network detection mode. It means you must call this method after each network state changes.

Parameters

  reachable | true if network is reachable, false otherwise

## setNortpOnholdTimeout()

LINPHONECXX_PUBLIC void linphone::Core::setNortpOnholdTimeout | ( | int | seconds | ) |

Sets the no-rtp timeout value in seconds when the call is on hold.

Parameters

  seconds | The no-rtp timeout value to use in seconds when the call is on hold

See also
  linphone_core_get_nortp_on_hold_timeout() for details.

## setNortpTimeout()

LINPHONECXX_PUBLIC void linphone::Core::setNortpTimeout | ( | int | seconds | ) |

Sets the no-rtp timeout value in seconds.

Parameters

  seconds | The no-rtp timeout value to use in seconds

See also
  getNortpTimeout() for details.

## setOutputAudioDevice()

LINPHONECXX_PUBLIC void linphone::Core::setOutputAudioDevice | ( | const std::shared_ptr< linphone::AudioDevice > & | audioDevice | ) |

Sets the given AudioDevice as output for all active calls.

Parameters

  audioDevice | The AudioDevice. nullptr does nothing.

## setPlaybackDevice()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::setPlaybackDevice | ( | const std::string & | devid | ) |

Sets the sound device used for playback.

Parameters

  devid | The device name as returned by linphone_core_get_sound_devices

Returns
  0

## setPlaybackGainDb()

LINPHONECXX_PUBLIC void linphone::Core::setPlaybackGainDb | ( | float | level | ) |

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

Parameters

  level | The new play level

## setPlayFile()

LINPHONECXX_PUBLIC void linphone::Core::setPlayFile | ( | const std::string & | file | ) |

Sets a wav file to be played when putting somebody on hold, or when files are used instead of soundcards (see setUseFiles()).

The file must be a 16 bit linear wav file.

Parameters

  file | The path to the file to be played when putting somebody on hold.

## setPreferredFramerate()

LINPHONECXX_PUBLIC void linphone::Core::setPreferredFramerate | ( | float | fps | ) |

Set the preferred frame rate for video.

Based on the available bandwidth constraints and network conditions, the video encoder remains free to lower the framerate. There is no warranty that the preferred frame rate be the actual framerate. used during a call. Default value is 0, which means "use encoder's default fps value".

Parameters

  fps | the target frame rate in number of frames per seconds.

## setPreferredVideoDefinition()

LINPHONECXX_PUBLIC void linphone::Core::setPreferredVideoDefinition | ( | const std::shared_ptr< linphone::VideoDefinition > & | videoDefinition | ) |

Set the preferred video definition for the stream that is captured and sent to the remote party.

All standard video definitions are accepted on the receive path.

Parameters

  videoDefinition | VideoDefinition object

## setPreferredVideoDefinitionByName()

LINPHONECXX_PUBLIC void linphone::Core::setPreferredVideoDefinitionByName | ( | const std::string & | name | ) |

Sets the preferred video definition by its name.

Call Factory::getSupportedVideoDefinitions() to have a list of supported video definitions.

Parameters

  name | The name of the definition to set

## setPresenceModel()

LINPHONECXX_PUBLIC void linphone::Core::setPresenceModel | ( | const std::shared_ptr< linphone::PresenceModel > & | presence | ) |

Set my presence model.

Parameters

  presence | PresenceModel

## setPreviewVideoDefinition()

LINPHONECXX_PUBLIC void linphone::Core::setPreviewVideoDefinition | ( | const std::shared_ptr< linphone::VideoDefinition > & | videoDefinition | ) |

Set the video definition for the captured (preview) video.

This method is for advanced usage where a video capture must be set independently of the definition of the stream actually sent through the call. This allows for example to have the preview window in High Definition even if due to bandwidth constraint the sent video definition is small. Using this feature increases the CPU consumption, since a rescaling will be done internally.

Parameters

  videoDefinition | VideoDefinition object

## setPreviewVideoDefinitionByName()

LINPHONECXX_PUBLIC void linphone::Core::setPreviewVideoDefinitionByName | ( | const std::string & | name | ) |

Parameters

  name | The name of the definition to set

## setPrimaryContact()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::setPrimaryContact | ( | const std::string & | contact | ) |

Sets the local "from" identity.

This data is used in absence of any proxy configuration or when no default proxy configuration is set. See ProxyConfig

Parameters

  contact | the contact to set

Returns
  0 if successful, -1 otherwise

## setProvisioningUri()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::setProvisioningUri | ( | const std::string & | uri | ) |

Set URI where to download xml configuration file at startup.

This can also be set from configuration file or factory config file, from [misc] section, item "config-uri". Calling this function does not load the configuration. It will write the value into configuration so that configuration from remote URI will take place at next Core start.

Parameters

  uri | the http or https uri to use in order to download the configuration. Passing nullptr will disable remote provisioning.

Returns
  -1 if uri could not be parsed, 0 otherwise. Note that this does not check validity of URI endpoint nor scheme and download may still fail.

## setPushIncomingCallTimeout()

LINPHONECXX_PUBLIC void linphone::Core::setPushIncomingCallTimeout | ( | int | seconds | ) |

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

If exceeded, Linphone Call is transitioned to CallError and further incoming invite associated to this push is declined if any.

Parameters

  seconds | The new timeout in seconds

## setQrcodeDecodeRect()

LINPHONECXX_PUBLIC void linphone::Core::setQrcodeDecodeRect | ( | const int | x,
|  | const int | y,
|  | const int | w,
|  | const int | h )

Set the rectangle where the decoder will search a QRCode.

Parameters

  x | axis
  y | axis
  w | width
  h | height

## setRecordFile()

LINPHONECXX_PUBLIC void linphone::Core::setRecordFile | ( | const std::string & | file | ) |

Sets a wav file where incoming stream is to be recorded, when files are used instead of soundcards (see setUseFiles()).

This feature is different from call recording (CallParams::setRecordFile()) The file will be a 16 bit linear wav file.

Parameters

  file | The path to the file where incoming stream is to be recorded.

## setRefreshWindow()

LINPHONECXX_PUBLIC void linphone::Core::setRefreshWindow | ( | const int | minValue,
|  | const int | maxValue )

Set the refresh window.

During this window, belle-sip schedules the refreshes of the sip messages

Parameters

  minValue | lower bound of the refresh window
  maxValue | upper bound of the refresh window

Warning
  The refresh window must be set before starting the core

## setRemoteRingbackTone()

LINPHONECXX_PUBLIC void linphone::Core::setRemoteRingbackTone | ( | const std::string & | ring | ) |

Specify a ring back tone to be played to far end during incoming calls.

Parameters

  ring | The path to the remote ring back tone to be played.

## setRing()

LINPHONECXX_PUBLIC void linphone::Core::setRing | ( | const std::string & | path | ) |

Sets the path to a wav file used for ringing.

The file must be a wav 16bit linear. If null, ringing is disable unless #linphone_core_get_use_native_ringing() is enabled, in which case we use the device ringtone.

Parameters

  path | The path to a wav file to be used for ringing, null to disable or use device ringing depending on #linphone_core_get_use_native_ringing().

## setRingback()

LINPHONECXX_PUBLIC void linphone::Core::setRingback | ( | const std::string & | path | ) |

Sets the path to a wav file used for ringing back.

Ringback means the ring that is heard when it's ringing at the remote party. The file must be a wav 16bit linear.

Parameters

  path | The path to a wav file to be used for ringing back.

## setRingDuringIncomingEarlyMedia()

LINPHONECXX_PUBLIC void linphone::Core::setRingDuringIncomingEarlyMedia | ( | bool | enable | ) |

Enable or disable the ring play during an incoming early media call.

Parameters

  enable | A boolean value telling whether to enable ringing during an incoming early media call.

## setRingerDevice()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::setRingerDevice | ( | const std::string & | devid | ) |

Sets the sound device used for ringing.

Parameters

  devid | The device name as returned by linphone_core_get_sound_devices

Returns
  0

## setRootCa()

LINPHONECXX_PUBLIC void linphone::Core::setRootCa | ( | const std::string & | path | ) |

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

Parameters

  path | The path to a file or folder containing trusted root CAs.

## setRootCaData()

LINPHONECXX_PUBLIC void linphone::Core::setRootCaData | ( | const std::string & | data | ) |

Sets the trusted root CAs (PEM format)

Parameters

  data | The trusted root CAs as a string

## setSessionExpiresMinValue()

LINPHONECXX_PUBLIC void linphone::Core::setSessionExpiresMinValue | ( | int | min | ) | const

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

Parameters

  min | The minSE value

## setSessionExpiresRefresherValue()

LINPHONECXX_PUBLIC void linphone::Core::setSessionExpiresRefresherValue | ( | linphone::SessionExpiresRefresher | refresher | ) | const

Sets the session expires refresher value.

Parameters

  refresher | The SessionExpiresRefresher configuration value

## setSessionExpiresValue()

LINPHONECXX_PUBLIC void linphone::Core::setSessionExpiresValue | ( | int | expires | ) | const

Sets the session expires value, 0 by default.

Parameters

  expires | The session expires value

## setSipDscp()

LINPHONECXX_PUBLIC void linphone::Core::setSipDscp | ( | int | dscp | ) |

Set the DSCP field for SIP signaling channel.

The DSCP defines the quality of service in IP packets.

Parameters

  dscp | The DSCP value to set

## setSipNetworkReachable()

LINPHONECXX_PUBLIC void linphone::Core::setSipNetworkReachable | ( | bool | reachable | ) |

This method is called by the application to notify the linphone core library when the SIP network is reachable.

This is for advanced usage, when SIP and RTP layers are required to use different interfaces. Most applications just need setNetworkReachable().

Parameters

  reachable | true if network is reachable, false otherwise

## setSipTransportTimeout()

LINPHONECXX_PUBLIC void linphone::Core::setSipTransportTimeout | ( | int | timeoutMs | ) |

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

Parameters

  timeoutMs | The SIP transport timeout in milliseconds.

## setSrtpCryptoSuites()

LINPHONECXX_PUBLIC void linphone::Core::setSrtpCryptoSuites | ( | const std::string & | suites | ) |

Set the crypto suites available to the core.

Parameters

  suites | comma separated list of supported suites

## setStaticPicture()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::setStaticPicture | ( | const std::string & | path | ) |

Set the path to the image file to stream when "Static picture" is set as the video device.

Parameters

  path | The path to the image file to use.

## setStaticPictureFps()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::setStaticPictureFps | ( | float | fps | ) |

Set the frame rate for static picture.

Parameters

  fps | The new frame rate to use for static picture.

## setStunServer()

LINPHONECXX_PUBLIC void linphone::Core::setStunServer | ( | const std::string & | server | ) |

Set the STUN server address to use when the firewall policy is set to STUN.

Parameters

  server | The STUN server address to use.

## setSupportedTag()

LINPHONECXX_PUBLIC void linphone::Core::setSupportedTag | ( | const std::string & | tags | ) |

Set the supported tags.

Parameters

  tags | The feature tags to set

## setTag100RelSupportLevel()

LINPHONECXX_PUBLIC void linphone::Core::setTag100RelSupportLevel | ( | linphone::SupportLevel | level | ) |

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

Parameters

  level | support level of 100rel

## setTextPayloadTypes()

LINPHONECXX_PUBLIC void linphone::Core::setTextPayloadTypes | ( | const std::list< std::shared_ptr< linphone::PayloadType > > & | payloadTypes | ) |

Redefine the list of the available payload types.

Parameters

  payloadTypes | The new list of payload types. The core does not take ownership on it.

## setTextPort()

LINPHONECXX_PUBLIC void linphone::Core::setTextPort | ( | int | port | ) |

Sets the UDP port used for text streaming.

A value if -1 will request the system to allocate the local port randomly. This is recommended in order to avoid firewall warnings.

Parameters

  port | The UDP port to use for text streaming

## setTextPortRange()

LINPHONECXX_PUBLIC void linphone::Core::setTextPortRange | ( | int | minPort,
|  | int | maxPort )

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

Parameters

  minPort | The lower bound of the text port range to use
  maxPort | The upper bound of the text port range to use

## setTlsCert()

LINPHONECXX_PUBLIC void linphone::Core::setTlsCert | ( | const std::string & | tlsCert | ) |

Sets a TLS certificate used for TLS authentication The certificate won't be stored, you have to set it after each Core startup.

Parameters

  tlsCert | the TLS certificate.

## setTlsCertPath()

LINPHONECXX_PUBLIC void linphone::Core::setTlsCertPath | ( | const std::string & | tlsCertPath | ) |

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

Parameters

  tlsCertPath | path to the TLS certificate.

## setTlsKey()

LINPHONECXX_PUBLIC void linphone::Core::setTlsKey | ( | const std::string & | tlsKey | ) |

Sets a TLS key used for TLS authentication The key won't be stored, you have to set it after each Core startup.

Parameters

  tlsKey | the TLS key.

## setTlsKeyPath()

LINPHONECXX_PUBLIC void linphone::Core::setTlsKeyPath | ( | const std::string & | tlsKeyPath | ) |

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

Parameters

  tlsKeyPath | path to the TLS key.

## setTone()

LINPHONECXX_PUBLIC void linphone::Core::setTone | ( | linphone::ToneID | toneId,
|  | const std::string & | audiofile )

Assign an audio file to be played as a specific tone id.

This function typically allows to customize telephony tones per country.

Parameters

  toneId | the #LinphoneToneId
  audiofile | a wav file to be played or nullptr to disable it.

## setTransports()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::setTransports | ( | const std::shared_ptr< const linphone::Transports > & | transports | ) |

Sets the ports to be used for each of transport (UDP or TCP) A zero value port for a given transport means the transport is not used.

A value of LC_SIP_TRANSPORT_RANDOM (-1) means the port is to be choosen randomly by the system. A value of LC_SIP_TRANSPORT_DONTBIND (-2) means that the socket will not be bound explicitely, in other words liblinphone won't listen for incoming connections at all. This mode is suitable for a pure client application (ex: a mobile application).

Parameters

  transports | A #LinphoneSipTransports structure giving the ports to use

Returns
  0

## setUploadBandwidth()

LINPHONECXX_PUBLIC void linphone::Core::setUploadBandwidth | ( | int | bandwidth | ) |

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

This information is used by liblinphone together with remote side available bandwidth signaled in SDP messages to properly configure audio & video codec's output bitrate.

Parameters

  bandwidth | the bandwidth in kbits/s, 0 for infinite

## setUploadPtime()

LINPHONECXX_PUBLIC void linphone::Core::setUploadPtime | ( | int | ptime | ) |

Set audio packetization time linphone will send (in absence of requirement from peer) A value of 0 stands for the current codec default packetization time.

Parameters

  ptime | the upload packetization time to set

## setUseFiles()

LINPHONECXX_PUBLIC void linphone::Core::setUseFiles | ( | bool | yesno | ) |

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

Parameters

  yesno | A boolean value asking to stream audio from and to files or not.

## setUseInfoForDtmf()

LINPHONECXX_PUBLIC void linphone::Core::setUseInfoForDtmf | ( | bool | useInfo | ) |

Sets whether SIP INFO is to be used to send digits.

Parameters

  useInfo | A boolean value telling whether to use SIP INFO to send digits

## setUserAgent()

LINPHONECXX_PUBLIC void linphone::Core::setUserAgent | ( | const std::string & | name,
|  | const std::string & | version )

Set the user agent string used in SIP messages.

Set the user agent string used in SIP messages as "[ua_name]/[version]". No slash character will be printed if nullptr is given to "version". If nullptr is given to "ua_name" and "version" both, the User-agent header will be empty. This function should be called just after linphone_factory_create_core ideally.

Parameters

  name | Name of the user agent.
  version | Version of the user agent.

## setUserCertificatesPath()

LINPHONECXX_PUBLIC void linphone::Core::setUserCertificatesPath | ( | const std::string & | path | ) |

Set the path to the directory storing the user's x509 certificates (used by dtls)

Parameters

  path | The path to the directory to use to store the user's certificates.

## setUseRfc2833ForDtmf()

LINPHONECXX_PUBLIC void linphone::Core::setUseRfc2833ForDtmf | ( | bool | useRfc2833 | ) |

Sets whether RFC2833 is to be used to send digits.

Parameters

  useRfc2833 | A boolean value telling whether to use RFC2833 to send digits

## setVideoActivationPolicy()

LINPHONECXX_PUBLIC void linphone::Core::setVideoActivationPolicy | ( | const std::shared_ptr< const linphone::VideoActivationPolicy > & | policy | ) |

Sets the default policy for video.

This policy defines whether:

Parameters

  policy | The VideoActivationPolicy to use

## setVideoCodecPriorityPolicy()

LINPHONECXX_PUBLIC void linphone::Core::setVideoCodecPriorityPolicy | ( | linphone::CodecPriorityPolicy | policy | ) |

Set the priority policy for video codecs (payload types).

Since version 5.3, the default value is CodecPriorityPolicy::Auto unless the core's configuration file describes a list of video payload type to use. This is to preserve backward compatibility for upgrading applications. See CodecPriorityPolicy for more details.

Parameters

  policy | the CodecPriorityPolicy to apply

## setVideoDevice()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::setVideoDevice | ( | const std::string & | id | ) |

Sets the active video device.

Parameters

  id | The name of the video device to use as returned by linphone_core_get_video_devices

## setVideoDisplayFilter()

LINPHONECXX_PUBLIC void linphone::Core::setVideoDisplayFilter | ( | const std::string & | filterName | ) |

Set the name of the mediastreamer2 filter to be used for rendering video.

This is for advanced users of the library, mainly to workaround hardware/driver bugs.

Parameters

  filterName | the filter name to use or nullptr to use default.

## setVideoDscp()

LINPHONECXX_PUBLIC void linphone::Core::setVideoDscp | ( | int | dscp | ) |

Set the DSCP field for outgoing video streams.

The DSCP defines the quality of service in IP packets.

Parameters

  dscp | The DSCP value to set

## setVideoJittcomp()

LINPHONECXX_PUBLIC void linphone::Core::setVideoJittcomp | ( | int | milliseconds | ) |

Sets the nominal video jitter buffer size in milliseconds.

The value takes effect immediately for all running and pending calls, if any. A value of 0 disables the jitter buffer.

Parameters

  milliseconds | the jitter buffer size in milliseconds

## setVideoMulticastAddr()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::setVideoMulticastAddr | ( | const std::string & | ip | ) |

Use to set multicast address to be used for video stream.

Parameters

  ip | an ipv4/6 multicast address.

Returns
  0 in case of success

## setVideoMulticastTtl()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::setVideoMulticastTtl | ( | int | ttl | ) |

Use to set multicast ttl to be used for video stream.

Parameters

  ttl | value or -1 if not used. [0..255] default value is 1

Returns
  0 in case of success

## setVideoPayloadTypes()

LINPHONECXX_PUBLIC void linphone::Core::setVideoPayloadTypes | ( | const std::list< std::shared_ptr< linphone::PayloadType > > & | payloadTypes | ) |

Redefine the list of the available video payload types.

Calling this function if the video codec priority policy is LinphoneCodecPriorityPolicyAuto turns video codec priority policy to basic scheme, since application is not supposed to control the order of video codecs when LinphoneCodecPriorityPolicyAuto is selected, by definition. (see setVideoCodecPriorityPolicy() )

Parameters

  payloadTypes | The new list of codecs. The core does not take ownership on it.

## setVideoPort()

LINPHONECXX_PUBLIC void linphone::Core::setVideoPort | ( | int | port | ) |

Sets the UDP port used for video streaming.

A value of -1 will request the system to allocate the local port randomly. This is recommended in order to avoid firewall warnings.

Parameters

  port | The UDP port to use for video streaming

## setVideoPortRange()

LINPHONECXX_PUBLIC void linphone::Core::setVideoPortRange | ( | int | minPort,
|  | int | maxPort )

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

Parameters

  minPort | The lower bound of the video port range to use
  maxPort | The upper bound of the video port range to use

## setVideoPreset()

LINPHONECXX_PUBLIC void linphone::Core::setVideoPreset | ( | const std::string & | preset | ) |

Set the video preset to be used for video calls.

Parameters

  preset | The name of the video preset to be used (can be nullptr to use the default video preset).

## setZrtpKeyAgreementSuites()

LINPHONECXX_PUBLIC void linphone::Core::setZrtpKeyAgreementSuites | ( | const std::list< linphone::ZrtpKeyAgreement > & | keyAgreements | ) |

Redefine the list of prefered ZRTP key agreement algorithms.

Parameters

  keyAgreements | The new list of key agreements algorithms, in order of preference. The core does not take ownership on it. The setting accepts a maximum of 7 algorithms, if the list is longer, only the first 7 available algorithms are selected

## setZrtpSecretsFile()

LINPHONECXX_PUBLIC void linphone::Core::setZrtpSecretsFile | ( | const std::string & | file | ) |

Set the path to the file storing the zrtp secrets cache.

Parameters

  file | The path to the file to use to store the zrtp secrets cache.

## soundDeviceCanCapture()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool linphone::Core::soundDeviceCanCapture | ( | const std::string & | device | ) |

Tells whether a specified sound device can capture sound.

Parameters

  device | the device name as returned by linphone_core_get_sound_devices

Returns
  A boolean value telling whether the specified sound device can capture sound

Deprecated
  08/07/2020 use AudioDevice API instead()

## soundDeviceCanPlayback()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool linphone::Core::soundDeviceCanPlayback | ( | const std::string & | device | ) |

Tells whether a specified sound device can play sound.

Parameters

  device | the device name as returned by linphone_core_get_sound_devices

Returns
  A boolean value telling whether the specified sound device can play sound

Deprecated
  08/07/2020 use AudioDevice API instead()

## soundResourcesLocked()

LINPHONECXX_PUBLIC bool linphone::Core::soundResourcesLocked | ( |  | ) |

Check if a call will need the sound resources in near future (typically an outgoing call that is awaiting response).

In liblinphone, it is not possible to have two independant calls using sound device or camera at the same time. In order to prevent this situation, an application can use soundResourcesLocked() to know whether it is possible at a given time to start a new outgoing call. When the function returns true, an application should not allow the user to start an outgoing call.

Returns
  A boolean value telling whether a call will need the sound resources in near future

## start()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::start | ( |  | ) |

Start a Core object after it has been instantiated and not automatically started.

Also re-initialize a Core object that has been stopped using stop(). Must be called only if GlobalState is either Ready of Off. State will changed to Startup, Configuring and then On.

Returns
  0: success, -1: global failure, -2: could not connect database

## startConferenceRecording()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED linphone::Status linphone::Core::startConferenceRecording | ( | const std::string & | path | ) |

Start recording the running conference.

Parameters

  path | Path to the file where the recording will be written

Returns
  0 if succeeded. Negative number if failed

Deprecated
  14/09/2021 Use Conference::startRecording() instead.

## startEchoCancellerCalibration()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::startEchoCancellerCalibration | ( |  | ) |

Starts an echo calibration of the sound devices, in order to find adequate settings for the echo canceler automatically.

Returns
  LinphoneStatus whether calibration has started or not.

## startEchoTester()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::startEchoTester | ( | unsigned int | rate | ) |

Start the simulation of call to test the latency with an external device.

Parameters

  rate | Sound sample rate.

Returns
  -1 in case of failure, 1 otherwise.

## stop()

LINPHONECXX_PUBLIC void linphone::Core::stop | ( |  | ) |

Stop a Core object after it has been instantiated and started.

If stopped, it can be started again using start(). Must be called only if GlobalState is either On. State will changed to Shutdown and then Off.

## stopAsync()

LINPHONECXX_PUBLIC void linphone::Core::stopAsync | ( |  | ) |

Stop asynchronously a Core object after it has been instantiated and started.

State changes to Shutdown then iterate() must be called to allow the Core to end asynchronous tasks (terminate call, etc.). When all tasks are finished, State will change to Off. Must be called only if GlobalState is On. When GlobalState is Off Core can be started again using start().

## stopConferenceRecording()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED linphone::Status linphone::Core::stopConferenceRecording | ( |  | ) |

Stop recording the running conference.

Returns
  0 if succeeded. Negative number if failed

Deprecated
  14/09/2021 Use Conference::stopRecording() instead.

## stopRinging()

LINPHONECXX_PUBLIC void linphone::Core::stopRinging | ( |  | ) |

Whenever the liblinphone is playing a ring to advertise an incoming call or ringback of an outgoing call, this function stops the ringing.

Typical use is to stop ringing when the user requests to ignore the call.

## subscribe()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Event > linphone::Core::subscribe | ( | const std::shared_ptr< linphone::Address > & | resource,
|  | const std::string & | event,
|  | int | expires,
|  | const std::shared_ptr< const linphone::Content > & | body )

Create an outgoing subscription, specifying the destination resource, the event name, and an optional content body.

If accepted, the subscription runs for a finite period, but is automatically renewed if not terminated before.

Parameters

  resource | the destination resource
  event | the event name
  expires | the whished duration of the subscription
  body | an optional body, may be nullptr.

Returns
  a Event holding the context of the created subcription.

## takePreviewSnapshot()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::takePreviewSnapshot | ( | const std::string & | file | ) |

Take a photo of currently from capture device and write it into a jpeg file.

Note that the snapshot is asynchronous, an application shall not assume that the file is created when the function returns.

Parameters

  file | a path where to write the jpeg content.

Returns
  0 if successful, -1 otherwise (typically if jpeg format is not supported).

## tcapLinesMergingEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::tcapLinesMergingEnabled | ( |  | ) | const

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

Returns
  true if tcap lines with consecutive indexes are going to be merged; false otherwise.

## terminateAllCalls()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::terminateAllCalls | ( |  | ) |

Terminates all the calls.

Returns
  0

## terminateConference()

LINPHONECXX_PUBLIC linphone::Status linphone::Core::terminateConference | ( |  | ) |

Terminate the running conference.

If it is a local conference, all calls inside it will become back separate calls and will be put in #LinphoneCallPaused state. If it is a conference involving a focus server, all calls inside the conference will be terminated.

Returns
  0 if succeeded. Negative number if failed

## tunnelAvailable()

LINPHONECXX_PUBLIC bool linphone::Core::tunnelAvailable | ( |  | ) |

static

True if tunnel support was compiled.

Returns
  true if library was built with tunnel, false otherwise

## upnpAvailable()

LINPHONECXX_PUBLIC bool linphone::Core::upnpAvailable | ( |  | ) |

static

Return the availability of uPnP.

Returns
  true if uPnP is available otherwise return false.

## usePreviewWindow()

LINPHONECXX_PUBLIC void linphone::Core::usePreviewWindow | ( | bool | yesno | ) |

Tells the core to use a separate window for local camera preview video, instead of inserting local view within the remote video window.

Parameters

  yesno | true to use a separate window, false to insert the preview in the remote video window.

## vcardSupported()

LINPHONECXX_PUBLIC bool linphone::Core::vcardSupported | ( |  | ) |

static

Tells whether VCARD support is builtin.

Returns
  true if VCARD is supported, false otherwise.

## verifyServerCertificates()

LINPHONECXX_PUBLIC void linphone::Core::verifyServerCertificates | ( | bool | yesno | ) |

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

Parameters

  yesno | A boolean value telling whether the tls server certificate must be verified

## verifyServerCn()

LINPHONECXX_PUBLIC void linphone::Core::verifyServerCn | ( | bool | yesno | ) |

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

Parameters

  yesno | A boolean value telling whether the tls server certificate common name must be verified

## vibrationOnIncomingCallEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::vibrationOnIncomingCallEnabled | ( |  | ) |

Gets whether the device will vibrate while an incoming call is ringing (Android only).

Returns
  true if the device will vibrate (if possible), false otherwise

## videoAdaptiveJittcompEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::videoAdaptiveJittcompEnabled | ( |  | ) |

Tells whether the video adaptive jitter compensation is enabled.

Returns
  true if the video adaptive jitter compensation is enabled, false otherwise.

## videoCaptureEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::videoCaptureEnabled | ( |  | ) |

Tells whether video capture is enabled.

Returns
  true if video capture is enabled, false if disabled.

## videoDisplayEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::videoDisplayEnabled | ( |  | ) |

Tells whether video display is enabled.

Returns
  true if video display is enabled, false if disabled.

## videoEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::videoEnabled | ( |  | ) |

Returns true if either capture or display is enabled, false otherwise.

same as ( videoCaptureEnabled() | videoDisplayEnabled() )

Returns
  true if either capture or display is enabled, false otherwise.

## videoMulticastEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::videoMulticastEnabled | ( |  | ) | const

Use to get multicast state of video stream.

Returns
  true if subsequent calls will propose multicast ip set by setVideoMulticastAddr()

## videoPreviewEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::videoPreviewEnabled | ( |  | ) | const

Tells whether video preview is enabled.

Returns
  A boolean value telling whether video preview is enabled

## videoSupported()

LINPHONECXX_PUBLIC bool linphone::Core::videoSupported | ( |  | ) |

Test if video is supported.

Returns
  true if the library was built with video support, false otherwise

## wifiOnlyEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::wifiOnlyEnabled | ( |  | ) |

Tells whether Wifi only mode is enabled or not.

Warning
  Only works for Android platform.

Returns
  A boolean value telling whether Wifi only mode is enabled or not

## zeroRtpPortForStreamInactiveEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::zeroRtpPortForStreamInactiveEnabled | ( |  | ) | const

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

Returns
  true if the RTP port is set to 0 if the stream direction is inactive; false otherwise.

## zrtpGoClearEnabled()

LINPHONECXX_PUBLIC bool linphone::Core::zrtpGoClearEnabled | ( |  | ) | const

Check if the ZRTP go clear is enabled or not.

Returns
  true if ZTRP go clear is enabled; false otherwise.

The documentation for this class was generated from the following file:

- core.hh