Package org.linphone.core

# Interface Core

public interface Core
Main object to instantiate and on which to keep a reference.
This object is the first object to instantiate, and will allow you to perform
all kind of tasks. To create it, use either `Factory.createCore(java.lang.String, java.lang.String, java.lang.Object)` or
`Factory.createCoreWithConfig(org.linphone.core.Config, java.lang.Object)`, 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(org.linphone.core.CoreListener)` 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 and iOS
linphone_core_is_auto_iterate_enabled is enabled by default so you don't have
to worry about that unless you disable it using
invalid reference

    #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.

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static enum`
`Core.LogCollectionUploadState`

## Method Summary

Modifier and Type
Method
Description
`void`
`abortAuthentication(AuthInfo info)`
This method is used to abort a user authentication request initiated by `Core`
from the authentication_requested callback of `CoreListener`.
`void`
`activateAudioSession(boolean activated)`
Special function to indicate if the audio session is activated.
`int`
`addAccount(Account account)`
Adds an account.
`int`
`addAllToConference()`
Deprecated.
`void`
`addAuthInfo(AuthInfo info)`
Adds authentication information to the `Core`.
`void`
`addContentTypeSupport(String contentType)`
Add support for the specified content type.
`void`
`addFriendList(FriendList list)`
Add a friend list.
`void`
`addLdap(Ldap ldap)`
Deprecated.
`void`
`addLinphoneSpec(String spec)`
Add the given linphone specs to the list of functionalities the linphone client
supports.
`void`
`addListener(CoreListener listener)`
`void`
`addProvisioningHeader(String headerName, String value)`
Add an extra header for retrieving the remote provisioning (check `setProvisioningUri(java.lang.String)`
).
`int`
`addProxyConfig(ProxyConfig config)`
Deprecated.
`void`
`addRemoteContactDirectory(RemoteContactDirectory remoteContactDirectory)`
Adds a `RemoteContactDirectory` object previously created to the Core, to
be used later by `MagicSearch` to query contacts using either LDAP or
CardDAV.
`void`
`addSupportedTag(String tag)`
This function controls signaling features supported by the core.
`int`
`addToConference(Call call)`
Deprecated.
`void`
`audioRouteChanged()`
Deprecated.
`boolean`
`callRingingDisabled()`
Check whether ringing of calls is disabled.
`ChatRoom.EphemeralMode`
`chatRoomGetDefaultEphemeralMode()`
Deprecated.
`void`
`chatRoomSetDefaultEphemeralMode(ChatRoom.EphemeralMode mode)`
Deprecated.
`void`
`checkForUpdate(String currentVersion)`
Asynchronously checks if a new version of the application is available from a
well-known http server URI given by `Core` 's configuration.
`void`
`clearAccounts()`
Erases all accounts from config.
`void`
`clearAllAuthInfo()`
Clears all authentication information.
`void`
`clearCallLogs()`
Erases the call log list.
`void`
`clearLdaps()`
Deprecated.
`void`
`clearProvisioningHeaders()`
Clear all headers that were added with `addProvisioningHeader(java.lang.String, java.lang.String)`.
`void`
`clearProxyConfig()`
Deprecated.
`String`
`compressLogCollection()`
Compresses the log collection in a single file.
`int`
`configSync()`
Forces a flush of the config to disk.
`void`
`configureAudioSession()`
Special function to configure audio session with default settings.
`Account`
`createAccount(AccountParams params)`
Creates an account using given parameters, see `createAccountParams()`.
`AccountCreator`
`createAccountCreator(String xmlrpcUrl)`
Deprecated.
`AccountManagerServices`
`createAccountManagerServices()`
Creates a `AccountManagerServices`.
`AccountParams`
`createAccountParams()`
Create an account params using default values from Linphone core.
`Address`
`createAddress(String address)`
Deprecated.
`CallLog`
`createCallLog(Address from, Address to, Call.Dir dir, int duration, long startTime, long connectedTime, Call.Status status, boolean videoEnabled, float quality)`
Creates a fake `CallLog`.
`CallParams`
`createCallParams(Call call)`
Creates a `CallParams` suitable for `inviteWithParams(java.lang.String, org.linphone.core.CallParams)`, `Call.acceptWithParams(org.linphone.core.CallParams)`
, `Call.acceptEarlyMediaWithParams(org.linphone.core.CallParams)`, `Call.update(org.linphone.core.CallParams)` or
linphone_call_accept_update_with_params().
`CardDavParams`
`createCardDavParams()`
Creates a new CardDAV server params object that may be used later by `MagicSearch`
to query contacts.
`RemoteContactDirectory`
`createCardDavRemoteContactDirectory(CardDavParams params)`
Creates a new CardDAV server params object that may be used later by `MagicSearch`
to query contacts.
`ConferenceScheduler`
`createCcmpConferenceScheduler(Account account)`
Create a SIP conference scheduler that can be used to create client conferences
for now or later and then send conference info as an ICS through chat.
`ChatRoom`
`createChatRoom(String subject, Address[] participants)`
Deprecated.
`ChatRoom`
`createChatRoom(Address participant)`
Deprecated.
`ChatRoom`
`createChatRoom(ChatRoomParams params, String subject, Address[] participants)`
Deprecated.
`ChatRoom`
`createChatRoom(ChatRoomParams params, Address localAddr, String subject, Address[] participants)`
Deprecated.
`ChatRoom`
`createChatRoom(ChatRoomParams params, Address localAddr, Address participant)`
Deprecated.
`ChatRoom`
`createChatRoom(ChatRoomParams params, Address localAddr, Address[] participants)`
Deprecated.
`ChatRoom`
`createChatRoom(ConferenceParams params, Address[] participants)`
Create a chat room.
`ChatRoom`
`createClientGroupChatRoom(String subject, boolean fallback)`
Deprecated.
`ChatRoom`
`createClientGroupChatRoom(String subject, boolean fallback, boolean encrypted)`
Deprecated.
`ConferenceParams`
`createConferenceParams(Conference conference)`
Creates some default conference parameters for instanciating a conference with
`createConferenceWithParams(org.linphone.core.ConferenceParams)`.
`ConferenceScheduler`
`createConferenceScheduler()`
Create a conference scheduler that can be used to schedule conferences on a
client conference service and then send conference information invitation as an
ICS object through chat.
`ConferenceScheduler`
`createConferenceScheduler(Account account)`
Create a conference scheduler that can be used to create client conferences for
now or later and then send conference info as an ICS through chat.
`ConferenceScheduler`
`createConferenceSchedulerWithType(Account account, ConferenceScheduler.Type schedulingType)`
Create a conference scheduler that can be used to create client conferences for
now or later and then send conference info as an ICS through chat by specifying
its type.
`Conference`
`createConferenceWithParams(ConferenceParams params)`
Create a conference.
`Config`
`createConfig(String filename)`
Create a `Config` object from a user config file.
`Content`
`createContent()`
Creates a content with default values from Linphone core.
`ConferenceScheduler`
`createDbConferenceScheduler(Account account)`
Create a database conference scheduler that can be used to create client
conferences for now or later and then send conference info as an ICS through
chat.
`ChatRoomParams`
`createDefaultChatRoomParams()`
Creates and returns the default chat room parameters.
`EktInfo`
`createEktInfoFromXml(String xmlBody)`
Gets a `EktInfo` from an XML body.
`Friend`
`createFriend()`
Creates an empty LinphoneFriend.
`Friend`
`createFriendFromVcard(Vcard vcard)`
Creates a `Friend` from ai `Vcard`.
`FriendList`
`createFriendList()`
Creates a new empty `FriendList` object.
`Friend`
`createFriendWithAddress(String address)`
Creates a `Friend` from the given address.
`InfoMessage`
`createInfoMessage()`
Creates an empty info message.
`Ldap`
`createLdap()`
Deprecated.
`LdapParams`
`createLdapParams()`
Create a LDAP params using default values from Linphone core.
`RemoteContactDirectory`
`createLdapRemoteContactDirectory(LdapParams params)`
Creates a new CardDAV server params object that may be used later by `MagicSearch`
to query contacts.
`Ldap`
`createLdapWithParams(LdapParams params)`
Deprecated.
`Player`
`createLocalPlayer(String soundCardName, String videoDisplayName, Object windowId)`
Creates a media file player, that can be used to play audio and video to the
user, outside of any call or conference.
`MagicSearch`
`createMagicSearch()`
Creates a `MagicSearch` object.
`Object`
`createNativePreviewWindowId()`
Create a native window handle for the video preview window.
`Object`
`createNativePreviewWindowId(Object context)`
Create a Window ID for the video preview window.
`Object`
`createNativeVideoWindowId()`
Create a native window handle for the video window from the current call.
`Object`
`createNativeVideoWindowId(Object context)`
Create a Window ID from the current call.
`NatPolicy`
`createNatPolicy()`
Create a new `NatPolicy` object with every policies being disabled.
`Event`
`createNotify(Address resource, String event)`
Creates an out-of-dialog notification, specifying the destination resource, the
event name.
`Event`
`createOneShotPublish(Address resource, String event)`
Creates a publish context for a one-shot publish.
`PresenceActivity`
`createPresenceActivity(PresenceActivity.Type acttype, String description)`
Creates a `PresenceActivity` with the given type and description.
`PresenceModel`
`createPresenceModel()`
Creates a default LinphonePresenceModel.
`PresenceModel`
`createPresenceModelWithActivity(PresenceActivity.Type acttype, String description)`
Creates a `PresenceModel` with the given activity type and activity
description.
`PresenceModel`
`createPresenceModelWithActivityAndNote(PresenceActivity.Type acttype, String description, String note, String lang)`
Creates a `PresenceModel` with the given activity type, activity
description, note content and note language.
`PresenceNote`
`createPresenceNote(String content, String lang)`
Creates a `PresenceNote` with the given content and language.
`PresencePerson`
`createPresencePerson(String id)`
Creates a `PresencePerson` with the given id.
`PresenceService`
`createPresenceService(String id, PresenceBasicStatus basicStatus, String contact)`
Creates a `PresenceService` with the given id, basic status and contact.
`Address`
`createPrimaryContactParsed()`
Deprecated.
`ProxyConfig`
`createProxyConfig()`
Deprecated.
`Event`
`createPublish(Address resource, String event, int expires)`
Creates a publish context for an event state.
`Recorder`
`createRecorder(RecorderParams params)`
Creates an independant media file recorder, that can be used to record user's
voice or video outside of any call or conference.
`RecorderParams`
`createRecorderParams()`
Creates an object that holds recording parameters.
`ConferenceScheduler`
`createSipConferenceScheduler(Account account)`
Create a SIP conference scheduler that can be used to create client conferences
for now or later and then send conference info as an ICS through chat.
`Event`
`createSubscribe(Address resource, String event, int expires)`
Creates an outgoing subscription, specifying the destination resource, the
event name, and an optional content body.
`Event`
`createSubscribe(Address resource, ProxyConfig proxy, String event, int expires)`
Creates an outgoing subscription, specifying the destination resource, the
event name, and an optional content body.
`Vcard`
`createVcardFromText(String input)`
Creates a vCard from a text, if possible.
`String`
`createXmlFromEktInfo(EktInfo ektInfo)`
Deprecated.
`String`
`createXmlFromEktInfo(EktInfo ektInfo, Account account)`
Gets an XML body using a specific account.
`XmlRpcSession`
`createXmlRpcSession(String url)`
Create a `XmlRpcSession` for a given url.
`void`
`deleteChatRoom(ChatRoom chatRoom)`
Removes a chatroom including all message history from the LinphoneCore.
`void`
`deleteConferenceInformation(ConferenceInfo conferenceInfo)`
Deletes a conference information from DB.
`void`
`didRegisterForRemotePush(Object deviceToken)`
Sets device_token when application
didRegisterForRemoteNotificationsWithDeviceToken (IOS only).
`void`
`didRegisterForRemotePushWithStringifiedToken(String deviceTokenStr)`
Sets device_token when application
didRegisterForRemoteNotificationsWithDeviceToken (IOS only).
`void`
`disableCallRinging(boolean yesno)`
Enables or disables call ringing.
`void`
`disableChat(Reason denyReason)`
Inconditionnaly disables incoming chat messages.
`void`
`enableChat()`
Enables reception of incoming chat messages.
`void`
`enableLogCollection(LogCollectionState state)`
Enables the linphone core log collection to upload logs on a server.
`void`
`ensureRegistered()`
Deprecated.
`void`
`enterBackground()`
This method is called by the application to notify the linphone core library
when it enters background mode.
`int`
`enterConference()`
Deprecated.
`void`
`enterForeground()`
This method is called by the application to notify the linphone core library
when it enters foreground mode.
`boolean`
`fileFormatSupported(String fmt)`
Returns whether a specific file format is supported.
`AuthInfo`
`findAuthInfo(String realm, String username, String sipDomain)`
Finds authentication info matching realm, username, domain criteria.
`Call`
`findCallFromUri(String uri)`
Deprecated.
`CallLog`
`findCallLog(String callId, int limit)`
Gets the call log matching the call id, or null if can't be found.
`CallLog`
`findCallLogFromCallId(String callId)`
Gets the call log matching the call id, or null if can't be found.
`ChatRoom`
`findChatRoom(Address peerAddr, Address localAddr)`
Deprecated.
`ConferenceInfo`
`findConferenceInformationFromCcmpUri(String uri)`
Retrieve the conference information linked to the provided URI if any.
`ConferenceInfo`
`findConferenceInformationFromUri(Address uri)`
Retrieve the conference information linked to the provided URI if any.
`Address[]`
`findContactsByChar(String filter, boolean sipOnly)`
Retrieves a list of `Address` sort and filter.
`Friend`
`findFriend(Address address)`
Searches a `Friend` by its address.
`Friend`
`findFriendByPhoneNumber(String phoneNumber)`
Searches a `Friend` by its phone number.
`Friend[]`
`findFriends(Address address)`
Searches all `Friend` matching an address.
`ChatRoom`
`findOneToOneChatRoom(Address localAddr, Address participantAddr, boolean encrypted)`
Deprecated.
`Account`
`getAccountByIdkey(String idkey)`
Search for a `Account` by it's idkey.
`AccountCreator.Backend`
`getAccountCreatorBackend()`
Gets the `AccountCreator` backend set for the `Core`.
`String`
`getAccountCreatorUrl()`
Gets the `AccountCreator` url on the `Core`.
`Account[]`
`getAccountList()`
Returns an unmodifiable list of entered accounts.
`String`
`getAdaptiveRateAlgorithm()`
Returns which adaptive rate algorithm is currently configured for future calls.
`AudioDevice[]`
`getAudioDevices()`
Returns a list of audio devices, with only the first device for each type To
have the list of all audio devices, use `getExtendedAudioDevices()`
`int`
`getAudioDscp()`
Gets the DSCP field for outgoing audio streams.
`int`
`getAudioJittcomp()`
Returns the nominal audio jitter buffer size in milliseconds.
`String`
`getAudioMulticastAddr()`
Use to get multicast address to be used for audio stream.
`int`
`getAudioMulticastTtl()`
Use to get multicast ttl to be used for audio stream.
`PayloadType[]`
`getAudioPayloadTypes()`
Returns the list of the available audio payload types.
`int`
`getAudioPort()`
Gets the UDP port used for audio streaming.
`Range`
`getAudioPortsRange()`
Get the audio port range from which is randomly chosen the UDP port used for
audio streaming.
`AuthInfo[]`
`getAuthInfoList()`
Returns an unmodifiable list of currently entered `AuthInfo`.
`int`
`getAutoIterateBackgroundSchedule()`
Gets the timer used to schedule the call to core.iterate() method when in
background (Android only).
`int`
`getAutoIterateForegroundSchedule()`
Gets the timer used to schedule the call to core.iterate() method when in
foreground (Android only).
`AVPFMode`
`getAvpfMode()`
Returns AVPF enablement.
`int`
`getAvpfRrInterval()`
Returns the avpf report interval in seconds.
`Call`
`getCallByCallid(String callId)`
Gets the call by its SIP callid.
`Call`
`getCallByRemoteAddress(String remoteAddress)`
Deprecated.
`Call`
`getCallByRemoteAddress2(Address remoteAddress)`
Get the call with the specified `Address`.
`CallLog[]`
`getCallHistory(Address peerAddress, Address localAddress)`
Gets the list of call logs (past calls).
`CallLog[]`
`getCallLogs()`
Get the list of call logs (past calls).
`String`
`getCallLogsDatabasePath()`
Deprecated.
`String`
`getCallOnHoldMusicFile()`
Get the wav file played when putting a call on hold with `Call.pause()`
The file is a 16 bit linear file.
`Call[]`
`getCalls()`
Gets the current list of calls.
`int`
`getCallsNb()`
Gets the number of Call.
`int`
`getCameraSensorRotation()`
Get the camera sensor rotation.
`int`
`getCameraWhitebalance()`
Gets the whitebalance of the camera (currently only supported by Android).
`String`
`getCaptureDevice()`
Deprecated.
`boolean`
`getChatMessagesAggregationEnabled()`
End of group ldap.
`ChatRoom`
`getChatRoom(Address addr)`
Deprecated.
`ChatRoom`
`getChatRoom(Address peerAddr, Address localAddr)`
Deprecated.
`ChatRoom`
`getChatRoomFromUri(String to)`
Deprecated.
`ChatRoom[]`
`getChatRooms()`
Returns a list of chat rooms.
`long`
`getConferenceAvailabilityBeforeStart()`
Gets the conference availability before start.
`long`
`getConferenceCleanupPeriod()`
Gets the conference cleanup timer period.
`long`
`getConferenceExpirePeriod()`
Gets the conference expire period.
`ConferenceInfo[]`
`getConferenceInformationList()`
Retrieve the list of conference information on DB.
`ConferenceInfo[]`
`getConferenceInformationListAfterTime(long time)`
Retrieve the list of conference information on DB after a certain time.
`ConferenceInfo[]`
`getConferenceInformationsWithParticipant(Address uri)`
Retrieve the list of conference information on DB where the address passed as
argument is either the organizer or a participant.
`float`
`getConferenceLocalInputVolume()`
Deprecated.
`int`
`getConferenceMaxThumbnails()`
Gets the maximum number of thumbnails requested in the SDP during a conference
call `Account.getCallLogs()`.
`Conference.ParticipantListType`
`getConferenceParticipantListType()`
Tells whether the default conference participant list is open or closed.
`Config`
`getConfig()`
Returns the config object used to manage the storage (config) file.
`ConsolidatedPresence`
`getConsolidatedPresence()`
Gets my consolidated presence.
`Call`
`getCurrentCall()`
Gets the current call.
`Address`
`getCurrentCallRemoteAddress()`
Gets the remote address of the current call.
`VideoDefinition`
`getCurrentPreviewVideoDefinition()`
Get the effective video definition provided by the camera for the captured
video.
`Account`
`getDefaultAccount()`
Returns the default account, that is the one used to determine the current
identity.
`Conference.Layout`
`getDefaultConferenceLayout()`
Gets the default conference layout.
`long`
`getDefaultEphemeralLifetime()`
Gets the default lifetime of ephemeral messages in seconds once they are read.
`ChatRoom.EphemeralMode`
`getDefaultEphemeralMode()`
Gets the default ephemeral message mode.
`long`
`getDefaultEphemeralNotReadLifetime()`
Gets the default lifetime of ephemeral messages in seconds when they are not
read.
`FriendList`
`getDefaultFriendList()`
Retrieves the first list of `Friend` from the core.
`AudioDevice`
`getDefaultInputAudioDevice()`
Gets the default input audio device.
`AudioDevice`
`getDefaultOutputAudioDevice()`
Gets the default output audio device.
`ProxyConfig`
`getDefaultProxyConfig()`
Deprecated.
`String`
`getDefaultVideoDisplayFilter()`
Gets the name of the default mediastreamer2 filter used for rendering video on
the current platform.
`int`
`getDelayedTimeout()`
Deprecated.
`int`
`getDeviceRotation()`
Gets the current device orientation.
`DigestAuthenticationPolicy`
`getDigestAuthenticationPolicy()`
Get the current digest authentication policy applicable for SIP and HTTP.
`boolean`
`getDisableRecordOnMute()`
Get whether the microphone will be completely deactivated when muted.
`boolean`
`getDnsSetByApp()`
Tells if the DNS was set by an application.
`int`
`getDownloadBandwidth()`
Retrieve the maximum available download bandwidth.
`int`
`getDownloadPtime()`
Get audio packetization time linphone expects to receive from peer.
`int`
`getEchoCancellationCalibration()`
Gets the currently stored calibration delay for the software echo cancellation.
`String`
`getEchoCancellerFilterName()`
Gets the name of the mediastreamer2 filter used for echo cancelling.
`EphemeralChatMessagePolicy`
`getEphemeralChatMessagePolicy()`
Gets the current policy for ephemeral chat messages.
`AudioDevice[]`
`getExtendedAudioDevices()`
Returns the list of all audio devices.
`String`
`getFileTransferServer()`
Gets the globaly set http file transfer server to be used for content type
application/vnd.gsma.rcs-ft-http+xml.
`Friend`
`getFriendByRefKey(String key)`
Searches a `Friend` by its reference key.
`FriendList`
`getFriendListByName(String name)`
Retrieves the list of `Friend` from the core that has the given display
name.
`String`
`getFriendsDatabasePath()`
Deprecated.
`FriendList[]`
`getFriendsLists()`
Retrieves the list of `FriendList` from the core.
`ConferenceInfo[]`
`getFutureConferenceInformationList()`
Retrieve the list of future conference information on DB.
`GlobalState`
`getGlobalState()`
Returns the global state of core.
`boolean`
`getGuessHostname()`
Returns true if hostname part of primary contact is guessed automatically.
`String`
`getHttpProxyHost()`
Gets http proxy address to be used for signaling.
`int`
`getHttpProxyPort()`
Gets http proxy port to be used for signaling.
`String`
`getIdentity()`
Gets the default identity SIP address.
`long`
`getImdnResendPeriod()`
Gets the IMDN resend period.
`int`
`getImdnToEverybodyThreshold()`
Returns the threshold for sending IMDN to all participants to a `ChatRoom`
.
`ImNotifPolicy`
`getImNotifPolicy()`
Gets the `ImNotifPolicy` object controlling the instant messaging
delivery and displayed service notifications.
`int`
`getInCallTimeout()`
Gets the maximum duration of a call.
`int`
`getIncTimeout()`
Returns the incoming call timeout See `setIncTimeout(int)` for details.
`AudioDevice`
`getInputAudioDevice()`
Gets the input audio device for the current call.
`String`
`getLabel()`
Get the label assigned to the LinphoneCore.
`CallLog`
`getLastOutgoingCallLog()`
Gets the latest outgoing call log.
`Ldap[]`
`getLdapList()`
Deprecated.
`String`
`getLimeX3DhServerUrl()`
Deprecated.
`String[]`
`getLinphoneSpecsList()`
Get the list of linphone specs string values representing what functionalities
the linphone client supports.
`String[]`
`getLoadedPlugins()`
Return the list of loaded plugins.
`int`
`getLogCollectionMaxFileSize()`
Gets the max file size in bytes of the files used for log collection.
`String`
`getLogCollectionPath()`
Gets the path where the log files will be written for log collection.
`String`
`getLogCollectionPrefix()`
Gets the prefix of the filenames that will be used for log collection.
`String`
`getLogCollectionUploadServerUrl()`
Gets the url of the server where to upload the collected log files.
`int`
`getMaxCallLogs()`
Gets the maximum number of call logs retrieved when using `getCallLogs()`
or `Account.getCallLogs()`.
`int`
`getMaxCalls()`
Gets the maximum number of simultaneous calls Linphone core can manage at a
time.
`int`
`getMaxParticipantsPerChatroom()`
Returns the maximum number of participants a conference server can support in a
single chatroom.
`int`
`getMaxSizeForAutoDownloadIncomingFiles()`
Gets the size under which incoming files in chat messages will be downloaded
automatically.
`String`
`getMediaDevice()`
Gets the name of the currently assigned sound device for media.
`MediaEncryption`
`getMediaEncryption()`
Gets the media encryption type being used for RTP packets.
`MediaResourceMode`
`getMediaResourceMode()`
This function returns the media resource mode for this core.
`Factory`
`getMediastreamerFactory()`
Gets the mediastreamer's factory
`int`
`getMessageAutomaticResendingDelay()`
Returns the duration of the timer that delays the automatic resending of chat
messages.
`int`
`getMessageSendingDelay()`
Returns the duration of the timer that delays the sending of chat messages.
`float`
`getMicGainDb()`
Get microphone gain in db.
`int`
`getMissedCallsCount()`
Gets the number of missed calls.
`int`
`getMtu()`
Returns the maximum transmission unit size in bytes.
`String`
`getNatAddress()`
Deprecated.
`long`
`getNativePointer()`
Gets the native pointer used by this class to make native method calls.
`Object`
`getNativePreviewWindowId()`
Get the native window handle of the video preview window.
`Object`
`getNativeVideoWindowId()`
Get the native window handle of the video window.
`NatPolicy`
`getNatPolicy()`
Get The policy that is used to pass through NATs/firewalls.
`int`
`getNortpOnholdTimeout()`
Gets the value of the no-rtp timeout when the call is on hold.
`int`
`getNortpTimeout()`
Gets the value of the no-rtp timeout.
`AudioDevice`
`getOutputAudioDevice()`
Gets the output audio device for the current call.
`PayloadType`
`getPayloadType(String type, int rate, int channels)`
Get payload type from mime type and clock rate.
`String`
`getPlaybackDevice()`
Deprecated.
`float`
`getPlaybackGainDb()`
Gets playback gain in db (before entering sound card).
`String`
`getPlayFile()`
Get the wav file that is played when files are used instead of soundcards (see
`setUseFiles(boolean)`).
`boolean`
`getPostQuantumAvailable()`
Are PostQuantum algoritms available.
`float`
`getPreferredFramerate()`
Returns the preferred video framerate, previously set by `setPreferredFramerate(float)`
.
`VideoDefinition`
`getPreferredVideoDefinition()`
Get the preferred video definition for the stream that is captured and sent to
the remote party.
`PresenceModel`
`getPresenceModel()`
Gets my presence model.
`VideoDefinition`
`getPreviewVideoDefinition()`
Get the definition of the captured video.
`String`
`getPrimaryContact()`
Returns the default identity when no account is used.
`Address`
`getPrimaryContactAddress()`
Same as `getPrimaryContact()` but the result is a `Address` object
instead of a string.
`Address`
`getPrimaryContactParsed()`
Deprecated.
`String`
`getProvisioningUri()`
Get provisioning URI.
`ProxyConfig`
`getProxyConfigByIdkey(String idkey)`
Deprecated.
`ProxyConfig[]`
`getProxyConfigList()`
Deprecated.
`int`
`getPushIncomingCallTimeout()`
Returns the push incoming call timeout See `setPushIncomingCallTimeout(int)`
for details.
`PushNotificationConfig`
`getPushNotificationConfig()`
Gets the push notification configuration object if it exists.
`long`
`getQueuedMessageResendPeriod()`
Gets the queued message resend period.
`int`
`getRealtimeTextKeepaliveInterval()`
Gets keep alive interval of real time text (RFC4103).
`String`
`getRecordFile()`
Get the wav file where incoming stream is recorded, when files are used instead
of soundcards (see `setUseFiles(boolean)`).
`boolean`
`getRegisterOnlyWhenNetworkIsUp()`
Gets if accounts will wait for network to be connected before trying to
REGISTER or not.
`int`
`getRemainingDownloadFileCount()`
Returns how many attachments are yet to be downloaded.
`int`
`getRemainingUploadFileCount()`
Returns how many attachments are yet to be uploaded.
`RemoteContactDirectory[]`
`getRemoteContactDirectories()`
Gets the list of currently configured LDAP or CardDAV remote servers used by
`MagicSearch`.
`String`
`getRemoteRingbackTone()`
Get the ring back tone played to far end during incoming calls.
`String`
`getRing()`
Returns the path to the wav file used for ringing.
`String`
`getRingback()`
Returns the path to the wav file used for ringing back.
`boolean`
`getRingDuringIncomingEarlyMedia()`
Tells whether the ring play is enabled during an incoming early media call.
`String`
`getRingerDevice()`
Deprecated.
`String`
`getRootCa()`
Gets the path to a file or folder containing the trusted root CAs (PEM format)
`int`
`getSessionExpiresMinValue()`
Returns the session expires min value, 90 by default.
`SessionExpiresRefresher`
`getSessionExpiresRefresherValue()`
Returns the session expires refresher value.
`int`
`getSessionExpiresValue()`
Returns the session expires value.
`int`
`getSipDscp()`
Gets the DSCP field for SIP signaling channel.
`int`
`getSipTransportTimeout()`
Gets the SIP transport timeout, which represents the maximum time permitted to
establish a connection to a SIP server.
`String[]`
`getSoundDevicesList()`
Deprecated.
`String`
`getSrtpCryptoSuites()`
Gets the crypto suites available to the core.
`String`
`getStaticPicture()`
Get the path to the image file streamed when "Static picture" is set as the
video device.
`float`
`getStaticPictureFps()`
Get the frame rate for static picture.
`String`
`getStunServer()`
Deprecated.
`String[]`
`getSupportedFileFormatsList()`
Returns a list of strings containing the file format types supported for call
recording.
`SupportLevel`
`getTag100RelSupportLevel()`
Gets the support level of the 100rel attribute.
`PayloadType[]`
`getTextPayloadTypes()`
Returns the list of the available real-time text payload types.
`int`
`getTextPort()`
Gets the UDP port used for text streaming.
`Range`
`getTextPortsRange()`
Get the text port range from which is randomly chosen the UDP port used for
text streaming.
`String`
`getTlsCert()`
Gets the TLS certificate.
`String`
`getTlsCertPath()`
Gets the path to the TLS certificate file.
`String`
`getTlsKey()`
Gets the TLS key.
`String`
`getTlsKeyPath()`
Gets the path to the TLS key file.
`Transports`
`getTransports()`
Retrieves the port configuration used for each transport (udp, tcp, tls).
`Transports`
`getTransportsUsed()`
Retrieves the real port number assigned for each sip transport (udp, tcp, tls).
`Tunnel`
`getTunnel()`
Gets tunnel instance if available.
`int`
`getUnreadChatMessageCount()`
Returns the global unread chat message count.
`int`
`getUnreadChatMessageCountFromActiveLocals()`
Returns the unread chat message count for all active local address.
`int`
`getUploadBandwidth()`
Retrieve the maximum available upload bandwidth.
`int`
`getUploadPtime()`
Gets audio packetization time linphone will send (in absence of requirement
from peer) A value of 0 stands for the current codec default packetization
time.
`String`
`getUpnpExternalIpaddress()`
Return the external ip address of router.
`UpnpState`
`getUpnpState()`
Return the internal state of uPnP.
`boolean`
`getUseFiles()`
Gets whether linphone is currently streaming audio from and to files, rather
than using the soundcard.
`boolean`
`getUseInfoForDtmf()`
Indicates whether SIP INFO can be used to send digits.
`String`
`getUserAgent()`
Gets the user-agent as a string.
`String`
`getUserCertificatesPath()`
Get the path to the directory storing the user's certificates.
`Object`
`getUserData()`
Gets the object stored in this object user's data
`boolean`
`getUseRfc2833ForDtmf()`
Indicates whether RFC2833/RFC4633 can be used to send digits.
`String`
`getVersion()`
Returns liblinphone's version as a string.
`VideoActivationPolicy`
`getVideoActivationPolicy()`
Get the default policy for video.
`CodecPriorityPolicy`
`getVideoCodecPriorityPolicy()`
Gets the current priority policy for video codecs (payload types).
`String`
`getVideoDevice()`
Returns the name of the currently active video device.
`String[]`
`getVideoDevicesList()`
Gets the list of the available video capture devices.
`String`
`getVideoDisplayFilter()`
Gets the name of the mediastreamer2 engine (filter) used for rendering video.
`int`
`getVideoDscp()`
Gets the DSCP field for outgoing video streams.
`int`
`getVideoJittcomp()`
Returns the nominal video jitter buffer size in milliseconds.
`String`
`getVideoMulticastAddr()`
Use to get multicast address to be used for video stream.
`int`
`getVideoMulticastTtl()`
Use to get multicast ttl to be used for video stream.
`PayloadType[]`
`getVideoPayloadTypes()`
Returns the list of the available video payload types (codecs), in their order
of preference.
`int`
`getVideoPort()`
Gets the UDP port used for video streaming.
`Range`
`getVideoPortsRange()`
Get the video port range from which is randomly chosen the UDP port used for
video streaming.
`String`
`getVideoPreset()`
Get the video preset used for video calls.
`ZrtpKeyAgreement[]`
`getZrtpAvailableKeyAgreementList()`
Return the list of the available ZRTP key agreement algorithns.
`ZrtpKeyAgreement[]`
`getZrtpKeyAgreementList()`
Return the ordonated list of the ZRTP key agreement algorithns currently
configured.
`String`
`getZrtpSecretsFile()`
Gets the path to the file storing the zrtp secrets cache.
`ZrtpPeerStatus`
`getZrtpStatus(String addr)`
Get the zrtp sas validation status for a peer uri.
`boolean`
`hasBuiltinEchoCanceller()`
Check whether the device has a hardware echo canceller.
`boolean`
`hasCrappyOpengl()`
Check whether the device is flagged has crappy opengl.
`boolean`
`inCall()`
Tells whether there is a call running.
`Address`
`interpretUrl(String url)`
Deprecated.
`Address`
`interpretUrl(String url, boolean applyInternationalPrefix)`
Constructs a `Address` from the given string if possible.
`Call`
`invite(String url)`
Initiates an outgoing call.
`Call`
`inviteAddress(Address addr)`
Initiates an outgoing call given a destination `Address` The `Address`
can be constructed directly using `Factory.createAddress(java.lang.String)`, or created by
`interpretUrl(java.lang.String)`.
`Call`
`inviteAddressWithParams(Address addr, CallParams params)`
Initiates an outgoing call given a destination `Address` The `Address`
can be constructed directly using `Factory.createAddress(java.lang.String)`, or created by
`interpretUrl(java.lang.String)`.
`Call`
`inviteAddressWithParams(Address addr, CallParams params, String subject, Content content)`
Initiates an outgoing call given a destination `Address` The `Address`
can be constructed directly using `Factory.createAddress(java.lang.String)`, or created by
`interpretUrl(java.lang.String)`.
`Call`
`inviteWithParams(String url, CallParams params)`
Initiates an outgoing call according to supplied call parameters In C, the
application doesn't own a reference to the returned `Call` object.
`boolean`
`isAdaptiveRateControlEnabled()`
Returns whether adaptive rate control is enabled.
`boolean`
`isAgcEnabled()`
Tells whether the experimental software Automatic Gain Control is activated.
`boolean`
`isAlertsEnabled()`
Returns whether alert reporting is enabled.
`boolean`
`isAudioAdaptiveJittcompEnabled()`
Tells whether the audio adaptive jitter compensation is enabled.
`boolean`
`isAudioMulticastEnabled()`
Use to get multicast state of audio stream.
`boolean`
`isAutoDownloadIcalendarsEnabled()`
Gets if the automatic download of incoming icalendars is enabled or not.
`boolean`
`isAutoDownloadVoiceRecordingsEnabled()`
Gets if the auto download for incoming voice recordings is enabled or not.
`boolean`
`isAutoIterateEnabled()`
Gets whether auto iterate is enabled or not (Android invalid input: '&' iOS only).
`boolean`
`isAutomaticHttpProxyDetectionEnabled()`
Returns whether automatic http proxy is enabled.
`boolean`
`isAutoSendRingingEnabled()`
Gets if the automatic sending of 180 Ringing is enabled or not.
`boolean`
`isBaudotEnabled()`
Returns enablement of text sending via Baudot tones in the audio stream.
`boolean`
`isCallkitEnabled()`
Special function to check if the callkit is enabled, False by default.
`boolean`
`isCallToneIndicationsEnabled()`
Check whether tone indications of calls are enabled.
`boolean`
`isCapabilityNegociationEnabled()`
Checks if the capability negotiation (RFC5939) is supported or not.
`boolean`
`isCapabilityNegotiationReinviteEnabled()`
Checks if the capability negotiation (RFC5939) reINVITE is enabled or not.
`boolean`
`isCfgLinesMergingEnabled()`
Checks if cfg lines are going to the merged if the capability negotiation
(RFC5939) is supported or not.
`boolean`
`isChatEnabled()`
Returns whether chat is enabled.
`boolean`
`isConferenceIcsInMessageBodyEnabled()`
Gets wether conference invitations will be sent in the chat message body or as
a file attachment.
`boolean`
`isConferenceServerEnabled()`
Tells whether the conference server feature is enabled.
`boolean`
`isContentTypeSupported(String contentType)`
Tells whether a content type is supported.
`boolean`
`isDatabaseEnabled()`
Returns whether the database is enabled.
`boolean`
`isDnsSearchEnabled()`
Tells whether DNS search (use of local domain if the fully qualified name did
return results) is enabled.
`boolean`
`isDnsSrvEnabled()`
Tells whether DNS SRV resolution is enabled.
`boolean`
`isEchoCancellationEnabled()`
Returns true if echo cancellation is enabled.
`boolean`
`isEchoCancellerCalibrationRequired()`
Check whether the device is echo canceller calibration is required.
`boolean`
`isEchoLimiterEnabled()`
Tells whether echo limiter is enabled.
`boolean`
`isEktPluginLoaded()`
Gets if the EKT plugin is currently loaded in the Linphone core instance.
`boolean`
`isEmptyChatroomsDeletionEnabled()`
Tells whether empty chat rooms are deleted or not.
`boolean`
`isFecEnabled()`
Tells whether the flexible FEC feature (RFC8627) is enabled for this `Core`
object.
`boolean`
`isForcedIceRelayEnabled()`
Indicates whether the ICE relay path is forcibly selected.
`boolean`
`isFriendListSubscriptionEnabled()`
Returns whether or not friend lists subscription are enabled.
`boolean`
`isGenericComfortNoiseEnabled()`
Returns enablement of RFC3389 generic comfort noise algorithm.
`boolean`
`isGruuInConferenceAddressEnabled()`
Returns whether the gr parameter is kept in the conference address.
`boolean`
`isInBackground()`
Gets whether the Core is considering itself in background or not.
`boolean`
`isIncomingInvitePending()`
Tells whether there is an incoming invite pending.
`boolean`
`isInConference()`
Deprecated.
`boolean`
`isIpv6Enabled()`
Tells whether IPv6 is enabled or not.
`boolean`
`isKeepAliveEnabled()`
Is signaling keep alive enabled.
`boolean`
`isLimeX3DhEnabled()`
Tells wether LIME X3DH is enabled or not.
`boolean`
`isLocalPermissionEnabled()`
Special function to check if the local network permission has been granted by
the user (useful for iOS).
`boolean`
`isMediaEncryptionMandatory()`
Checks if the configured media encryption is mandatory or not.
`boolean`
`isMediaEncryptionSupported(MediaEncryption menc)`
Checks if given media encryption is supported.
`boolean`
`isMediaFilterSupported(String filtername)`
Checks if the given media filter is loaded and usable.
`boolean`
`isMicEnabled()`
Tells whether the microphone is enabled.
`boolean`
`isNativeRingingEnabled()`
Returns whether the native ringing is enabled or not.
`boolean`
`isNetworkReachable()`
return network state either as positioned by the application or by linphone
itself.
`boolean`
`isNoiseSuppressionEnabled()`
Indicates whether software noise suppression is enabled.
`boolean`
`isPluginLoaded(String name)`
Tells whether a plugin is loaded or not.
`boolean`
`isPushNotificationAvailable()`
Gets whether push notifications are available or not (Android invalid input: '&' iOS only).
`boolean`
`isPushNotificationEnabled()`
Gets whether push notifications are enabled or not (Android invalid input: '&' iOS only).
`boolean`
`isQrcodeVideoPreviewEnabled()`
Tells whether QRCode is enabled in the preview.
`boolean`
`isRealtimeTextEnabled()`
Gets if realtime text is enabled or not (RFC4103).
`boolean`
`isRecordAwareEnabled()`
Gets if the record aware feature is enabled or not.
`boolean`
`isRetransmissionOnNackEnabled()`
Gets whether the use RTCP NACK for reliability of video transmission is enabled
or not.
`boolean`
`isRtpBundleEnabled()`
Returns whether RTP bundle mode (also known as Media Multiplexing) is enabled.
`boolean`
`isSdp200AckEnabled()`
Media offer control param for SIP INVITE.
`boolean`
`isSelfViewEnabled()`
Tells whether video self view during call is enabled or not.
`boolean`
`isSenderNameHiddenInForwardMessage()`
Returns whether or not sender name is hidden in a forwarded message.
`boolean`
`isSendMessageAfterNotifyEnabled()`
Returns enablement of sending chat messages on group chats after receiving the
NOTIFY full state.
`boolean`
`isSessionExpiresEnabled()`
Check if the Session Timers feature is enabled.
`boolean`
`isTcapLinesMergingEnabled()`
Checks if tcap lines are going to the merged if the capability negotiation
(RFC5939) is supported or not.
`boolean`
`isVerifyServerCertificates()`
Get whether the tls server certificate must be verified when connecting to a
SIP/TLS server.
`boolean`
`isVerifyServerCn()`
Get whether the tls server certificate common name must be verified when
connecting to a SIP/TLS server.
`boolean`
`isVibrationOnIncomingCallEnabled()`
Gets whether the device will vibrate while an incoming call is ringing (Android
only).
`boolean`
`isVideoAdaptiveJittcompEnabled()`
Tells whether the video adaptive jitter compensation is enabled.
`boolean`
`isVideoCaptureEnabled()`
Tells whether video capture is enabled.
`boolean`
`isVideoDisplayEnabled()`
Tells whether video display is enabled.
`boolean`
`isVideoEnabled()`
Returns true if either capture or display is enabled, false otherwise.
`boolean`
`isVideoMulticastEnabled()`
Use to get multicast state of video stream.
`boolean`
`isVideoPreviewEnabled()`
Tells whether video preview is enabled.
`boolean`
`isWifiOnlyEnabled()`
Tells whether Wifi only mode is enabled or not.
`boolean`
`isZeroRtpPortForStreamInactiveEnabled()`
Checks if RTP port is set to 0 when a stream is inactive.
`boolean`
`isZrtpGoClearEnabled()`
Checks if the ZRTP go clear is enabled or not.
`void`
`iterate()`
Main loop integration.
`boolean`
`ldapAvailable()`
End of group contacts.
`int`
`leaveConference()`
Deprecated.
`boolean`
`limeX3DhAvailable()`
Tells if LIME X3DH is available.
`void`
`loadConfigFromXml(String xmlUri)`
Update current config with the content of a xml config file.
`LogCollectionState`
`logCollectionEnabled()`
Tells whether the linphone core log collection is enabled.
`boolean`
`mediaEncryptionSupported(MediaEncryption menc)`
Checks if a media encryption type is supported.
`void`
`migrateLogsFromRcToDb()`
Migrates the call logs from the linphonerc to the database if not done yet.
`void`
`notifyAllFriends(PresenceModel presence)`
Notifies all friends that have subscribed.
`void`
`notifyNotifyPresenceReceived(Friend linphoneFriend)`
Notifies the upper layer that a presence status has been received by calling
the appropriate callback if one has been set.
`void`
`notifyNotifyPresenceReceivedForUriOrTel(Friend linphoneFriend, String uriOrTel, 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.
`int`
`pauseAllCalls()`
Pauses all currently running calls.
`void`
`playDtmf(char dtmf, int durationMs)`
Plays a dtmf sound to the local user.
`int`
`playLocal(String audiofile)`
Plays an audio file to the local user.
`int`
`preemptSoundResources()`
Empties sound resources to allow a new call to be accepted.
`void`
`previewOglRender()`
Call generic OpenGL render for a given core.
`void`
`processPushNotification(String callId)`
Call this method when you receive a push notification (if you handle push
notifications manually).
`Event`
`publish(Address resource, String event, int expires, Content body)`
Publishes an event state.
`void`
`refreshRegisters()`
Forces registration refresh to be initiated upon next iterate.
`void`
`rejectSubscriber(Friend linphoneFriend)`
Black list a friend.
`void`
`reloadMsPlugins(String path)`
Reload mediastreamer2 plugins from specified directory.
`void`
`reloadSoundDevices()`
Update detection of sound devices.
`void`
`reloadVideoDevices()`
Update detection of camera devices.
`void`
`removeAccount(Account account)`
Removes an account.
`void`
`removeAccountWithData(Account account)`
Removes an account and any associated data.
`void`
`removeAuthInfo(AuthInfo info)`
Removes an authentication information object.
`void`
`removeCallLog(CallLog callLog)`
Removes a specific call log from call history list.
`void`
`removeContentTypeSupport(String contentType)`
Remove support for the specified content type.
`void`
`removeFriendList(FriendList list)`
Removes a friend list.
`int`
`removeFromConference(Call call)`
Deprecated.
`void`
`removeLdap(Ldap ldap)`
Deprecated.
`void`
`removeLinphoneSpec(String spec)`
Remove the given linphone specs from the list of functionalities the linphone
client supports.
`void`
`removeListener(CoreListener listener)`
`void`
`removeProxyConfig(ProxyConfig config)`
Deprecated.
`void`
`removeRemoteContactDirectory(RemoteContactDirectory remoteContactDirectory)`
Removes a `RemoteContactDirectory` object previously added to the Core.
`void`
`removeSupportedTag(String tag)`
Remove a supported tag.
`void`
`resetEchoCancellationCalibration()`
Clears all state resulting from a previous echo canceller calibration
procedure, which restores default policy and settings for echo cancellation.
`void`
`resetLogCollection()`
Resets the log collection by removing the log files.
`void`
`resetMissedCallsCount()`
Resets the counter of missed calls.
`ChatRoom`
`searchChatRoom(ChatRoomParams params, Address localAddr, Address remoteAddr, Address[] participants)`
Deprecated.
`ChatRoom`
`searchChatRoom(ConferenceParams params, Address localAddr, Address remoteAddr, Address[] participants)`
Find a chat room.
`ChatRoom`
`searchChatRoomByIdentifier(String identifier)`
Find a chat room by its identifier.
`Conference`
`searchConference(Address conferenceAddr)`
Finds a conference.
`Conference`
`searchConference(ConferenceParams params, Address localAddr, Address remoteAddr, Address[] participants)`
Find a conference.
`Conference`
`searchConferenceByIdentifier(String identifier)`
Find a conference by its identifier.
`void`
`serializeLogs()`
Enables logs serialization (output logs from either the thread that creates the
linphone core or the thread that calls `iterate()`).
`void`
`setAccountCreatorBackend(AccountCreator.Backend backend)`
Sets the `AccountCreator` backend on the `Core`.
`void`
`setAccountCreatorUrl(String url)`
Sets the `AccountCreator` url on the `Core`.
`void`
`setAdaptiveRateAlgorithm(String algorithm)`
Sets adaptive rate algorithm.
`void`
`setAdaptiveRateControlEnabled(boolean enabled)`
Enable adaptive rate control.
`void`
`setAgcEnabled(boolean val)`
Enables the experimental software Automatic Gain Control.
`void`
`setAlertsEnabled(boolean enable)`
Enables alerts.
`void`
`setAudioAdaptiveJittcompEnabled(boolean enable)`
Enables or disables the audio adaptive jitter compensation.
`void`
`setAudioDscp(int dscp)`
Sets the DSCP field for outgoing audio streams.
`void`
`setAudioJittcomp(int milliseconds)`
Sets the nominal audio jitter buffer size in milliseconds.
`int`
`setAudioMulticastAddr(String ip)`
Use to set multicast address to be used for audio stream.
`void`
`setAudioMulticastEnabled(boolean yesno)`
Use to enable multicast rtp for audio stream.
`int`
`setAudioMulticastTtl(int ttl)`
Use to set multicast ttl to be used for audio stream.
`void`
`setAudioPayloadTypes(PayloadType[] payloadTypes)`
Redefines the list of the available payload types (codecs), in their order of
preference.
`void`
`setAudioPort(int port)`
Sets the UDP port used for audio streaming.
`void`
`setAudioPortRange(int minPort, int maxPort)`
Sets the UDP port range from which to randomly select the port used for audio
streaming.
`void`
`setAutoDownloadIcalendarsEnabled(boolean autoDownloadIcalendars)`
Automatically downloads files attached to a chat message if it's content type
matches the one we use for icalendars.
`void`
`setAutoDownloadVoiceRecordingsEnabled(boolean autoDownloadVoiceRecordings)`
Enables automatic download of files attached to a chat message if it's content
type matches the one we use for voice recordings.
`void`
`setAutoIterateBackgroundSchedule(int schedule)`
Sets the timer used to schedule the call to core.iterate() method when in
background (Android only).
`void`
`setAutoIterateEnabled(boolean enable)`
Enable or disable the automatic schedule of `iterate()` method on Android
invalid input: '&' iOS.
`void`
`setAutoIterateForegroundSchedule(int schedule)`
Sets the timer used to schedule the call to core.iterate() method when in
foreground (Android only).
`void`
`setAutomaticHttpProxyDetectionEnabled(boolean enable)`
Enables or disables automatic http proxy detection.
`void`
`setAutoSendRingingEnabled(boolean enable)`
Enables the automatic sending of 180 Ringing when receiving a call.
`void`
`setAvpfMode(AVPFMode mode)`
Enables RTCP feedback (also known as RTP/AVPF profile).
`void`
`setAvpfRrInterval(int interval)`
Sets the avpf report interval in seconds.
`void`
`setBaudotEnabled(boolean enabled)`
Enable text sending via Baudot tones in the audio stream.
`void`
`setCallkitEnabled(boolean enabled)`
Special function to enable the callkit.
`void`
`setCallLogsDatabasePath(String path)`
Deprecated.
`void`
`setCallOnHoldMusicFile(String file)`
Sets a wav file to be played when putting somebody on hold (see `setUseFiles(boolean)`
).
`void`
`setCallToneIndicationsEnabled(boolean yesno)`
Enables or disables call tone indications.
`int`
`setCameraWhitebalance(int whitebalance)`
Sets the whitebalance of the camera (currently only supported by Android).
`void`
`setCapabilityNegociationEnabled(boolean enable)`
Defines whether capability negotiation (RFC5939) is supported.
`void`
`setCapabilityNegotiationReinviteEnabled(boolean enable)`
Defines whether capability negotiation (RFC5939) reINVITE is enabled.
`int`
`setCaptureDevice(String devid)`
Deprecated.
`void`
`setCfgLinesMergingEnabled(boolean merge)`
Defines whether cfg lines are going to be merged if capability negotiation
(RFC5939) is supported.
`void`
`setChatMessagesAggregationEnabled(boolean enabled)`
Sets whether chat messages grouping is enabled or not.
`void`
`setConferenceAvailabilityBeforeStart(long seconds)`
Set the conference availability before start.
`void`
`setConferenceCleanupPeriod(long seconds)`
Set the conference cleanup timer period.
`void`
`setConferenceExpirePeriod(long seconds)`
Set the conference expire period.
`void`
`setConferenceIcsInMessageBodyEnabled(boolean enable)`
Enable sending conference invitations in the chat message body instead of as a
file attachment.
`void`
`setConferenceMaxThumbnails(int max)`
Sets the maximum number of thumbnails requested in the SDP during a conference
call.
`void`
`setConferenceParticipantListType(Conference.ParticipantListType type)`
Selects whether the default conference participant list is open or closed.
`void`
`setConferenceServerEnabled(boolean enable)`
Enables the conference server mode.
`void`
`setConsolidatedPresence(ConsolidatedPresence presence)`
Sets my consolidated presence.
`void`
`setDatabaseEnabled(boolean value)`
Enables or disables database usage.
`void`
`setDefaultAccount(Account account)`
Sets the default account.
`void`
`setDefaultConferenceLayout(Conference.Layout value)`
Set the default conference layout.
`void`
`setDefaultEphemeralLifetime(long value)`
Set the default ephemeral lifetime in seconds once read.
`void`
`setDefaultEphemeralMode(ChatRoom.EphemeralMode mode)`
Sets the default ephemeral message mode.
`void`
`setDefaultEphemeralNotReadLifetime(long value)`
Set the default ephemeral lifetime in seconds when not read.
`void`
`setDefaultInputAudioDevice(AudioDevice audioDevice)`
Sets the given `AudioDevice` as default input for next calls.
`void`
`setDefaultOutputAudioDevice(AudioDevice audioDevice)`
Sets the given `AudioDevice` as default output for next calls.
`void`
`setDefaultProxyConfig(ProxyConfig config)`
Deprecated.
`void`
`setDelayedTimeout(int seconds)`
Deprecated.
`void`
`setDeviceRotation(int rotation)`
Tells the core the device current orientation.
`void`
`setDigestAuthenticationPolicy(DigestAuthenticationPolicy policy)`
Setup a new digest authentication policy applicable for SIP and HTTP.
`void`
`setDisableRecordOnMute(boolean 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.
`void`
`setDnsSearchEnabled(boolean enable)`
Enable or disable DNS search (use of local domain if the fully qualified name
did return results).
`void`
`setDnsServers(String[] servers)`
Forces liblinphone to use the supplied list of dns servers, instead of system's
ones.
`void`
`setDnsServersApp(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.
`void`
`setDnsSrvEnabled(boolean enable)`
Enable or disable DNS SRV resolution.
`void`
`setDownloadBandwidth(int bandwidth)`
Sets maximum available download bandwidth This is IP bandwidth, in kbit/s.
`void`
`setDownloadPtime(int ptime)`
Set audio packetization time linphone expects to receive from peer.
`void`
`setEchoCancellationEnabled(boolean enable)`
Enables or disables echo cancellation.
`void`
`setEchoCancellerFilterName(String filtername)`
Sets the name of the mediastreamer2 filter to be used for echo cancelling.
`void`
`setEchoLimiterEnabled(boolean enable)`
Enables or disable echo limiter.
`void`
`setEktPluginLoaded(boolean ektPluginLoaded)`
sets the state of the EKT plugin in the Linphone core instance.
`void`
`setEmptyChatroomsDeletionEnabled(boolean enable)`
Enable the deletion of empty chatrooms (i.e.
`void`
`setEnableSipUpdate(int value)`
Enable or disable the UPDATE method support.
`void`
`setEphemeralChatMessagePolicy(EphemeralChatMessagePolicy policy)`
Sets the policy for ephemeral chat messages.
`void`
`setExpectedBandwidth(int bandwidth)`
Deprecated.
`void`
`setFecEnabled(boolean enable)`
Enables the flexible FEC feature (RFC8627) for video calls to recover RTP
packet loss.
`void`
`setFileTransferServer(String serverUrl)`
Globally sets an http file transfer server to be used for content type
application/vnd.gsma.rcs-ft-http+xml.
`void`
`setForcedIceRelayEnabled(boolean enable)`
Artificially cause the relay path to be selected when ICE is used.
`void`
`setFriendListSubscriptionEnabled(boolean enable)`
Sets whether or not to start friend lists subscription when in foreground.
`void`
`setFriendsDatabasePath(String path)`
Deprecated.
`void`
`setGenericComfortNoiseEnabled(boolean enabled)`
Enable RFC3389 generic comfort noise algorithm (CN payload type).
`void`
`setGruuInConferenceAddressEnabled(boolean enabled)`
Sets whether to keep GRUU parameter in the conference addresses.
`void`
`setGuessHostname(boolean enable)`
Tells `Core` to guess local hostname automatically in primary contact.
`void`
`setHttpProxyHost(String host)`
Sets http proxy address to be used for signaling during next channel
connection.
`void`
`setHttpProxyPort(int port)`
Sets http proxy port to be used for signaling.
`void`
`setImdnResendPeriod(long seconds)`
Set the IMDN resend period.
`void`
`setImdnToEverybodyThreshold(int threshold)`
Sets the threshold for sending IMDN to all participants to a `ChatRoom`.
`void`
`setInCallTimeout(int seconds)`
Sets the maximum duration of a call in seconds.
`void`
`setIncTimeout(int seconds)`
Sets the incoming call timeout in seconds.
`void`
`setInputAudioDevice(AudioDevice audioDevice)`
Sets the given `AudioDevice` as input for all active calls.
`void`
`setIpv6Enabled(boolean enable)`
Turns IPv6 support on or off.
`void`
`setKeepAliveEnabled(boolean enable)`
Enables signaling keep alive, small udp packet sent periodically to keep udp
NAT association.
`void`
`setLabel(String label)`
Set a label - for logging/troubleshooting purpose - to the core object.
`void`
`setLimeX3DhEnabled(boolean enable)`
Tells to LinphoneCore to use LIME X3DH.
`void`
`setLimeX3DhServerUrl(String url)`
Deprecated.
`void`
`setLinphoneSpecsList(String[] specs)`
Sets the linphone specs list value telling what functionalities the linphone
client supports.
`void`
`setLogCollectionMaxFileSize(int size)`
Sets the max file size in bytes of the files used for log collection.
`void`
`setLogCollectionPath(String path)`
Sets the path of a directory where the log files will be written for log
collection.
`void`
`setLogCollectionPrefix(String prefix)`
Sets the prefix of the filenames that will be used for log collection.
`void`
`setLogCollectionUploadServerUrl(String serverUrl)`
Sets the url of the server where to upload the collected log files.
`void`
`setMaxCallLogs(int max)`
Sets the maximum number of call logs to retrieve when using `getCallLogs()`
or `Account.getCallLogs()`.
`void`
`setMaxCalls(int max)`
Sets the maximum number of simultaneous calls Linphone core can manage at a
time.
`void`
`setMaxParticipantsPerChatroom(int maxParticipants)`
It sets the maximum number of participants a chatroom on a server can support.
`void`
`setMaxSizeForAutoDownloadIncomingFiles(int size)`
Sets the size under which incoming files in chat messages will be downloaded
automatically.
`int`
`setMediaDevice(String devid)`
Sets the sound device used for media.
`int`
`setMediaEncryption(MediaEncryption menc)`
Chooses the media encryption type to be used for RTP packets.
`void`
`setMediaEncryptionMandatory(boolean mandatory)`
Defines 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.
`void`
`setMediaNetworkReachable(boolean reachable)`
This method is called by the application to notify the linphone core library
when the media (RTP) network is reachable.
`void`
`setMediaResourceMode(MediaResourceMode mode)`
Sets the media resources mode.
`void`
`setMessageAutomaticResendingDelay(int duration)`
It sets the duration of the timer to resend a message when the channel is
broken (i.e.
`void`
`setMessageSendingDelay(int duration)`
It sets the duration of the timer that starts just after the SUBSCRIBE is sent
to delay the sending of chat messages in group chats.
`void`
`setMicEnabled(boolean enable)`
Enables or disables the microphone.
`void`
`setMicGainDb(float level)`
Allow to control microphone level: gain in db.
`void`
`setMtu(int mtu)`
Sets the maximum transmission unit size in bytes.
`void`
`setNatAddress(String addr)`
Deprecated.
`void`
`setNativePreviewWindowId(Object windowId)`
Set the native window id where the preview video (local camera) is to be
displayed.
`void`
`setNativeRingingEnabled(boolean enable)`
Sets whether to use the platform-dependent ringing.
`void`
`setNativeVideoWindowId(Object windowId)`
Set the native video window id where the video is to be displayed.
`void`
`setNatPolicy(NatPolicy policy)`
Set the policy to use to pass through NATs/firewalls.
`void`
`setNetworkReachable(boolean reachable)`
This method is called by the application to notify the linphone core library
when network is reachable.
`void`
`setNoiseSuppressionEnabled(boolean enable)`
Enables or disables the noise suppression, if a noise suppression filter can be
used.
`void`
`setNortpOnholdTimeout(int seconds)`
Sets the no-rtp timeout value in seconds when the call is on hold.
`void`
`setNortpTimeout(int seconds)`
Sets the no-rtp timeout value in seconds.
`void`
`setOutputAudioDevice(AudioDevice audioDevice)`
Sets the given `AudioDevice` as output for all active calls.
`int`
`setPlaybackDevice(String devid)`
Deprecated.
`void`
`setPlaybackGainDb(float level)`
Allow to control play level before entering sound card: gain in db.
`void`
`setPlayFile(String file)`
Sets a wav file to be played when files are used instead of soundcards (see
`setUseFiles(boolean)`).
`void`
`setPreferredFramerate(float fps)`
Set the preferred frame rate for video.
`void`
`setPreferredVideoDefinition(VideoDefinition videoDefinition)`
Set the preferred video definition for the stream that is captured and sent to
the remote party.
`void`
`setPreferredVideoDefinitionByName(String name)`
Sets the preferred video definition by its name.
`void`
`setPresenceModel(PresenceModel presence)`
Sets my presence model.
`void`
`setPreviewVideoDefinition(VideoDefinition videoDefinition)`
Set the video definition for the captured (preview) video.
`void`
`setPreviewVideoDefinitionByName(String name)`
-Set the video definition for the captured (preview) video by its name.
`int`
`setPrimaryContact(String contact)`
Sets the local "from" SIP identity used for calls made out of any configured
`Account`.
`int`
`setProvisioningUri(String uri)`
Sets the URI where to download xml configuration file at startup.
`void`
`setPushIncomingCallTimeout(int seconds)`
Configures the minimum interval between a push notification and the
corresponding incoming INVITE.
`void`
`setPushNotificationEnabled(boolean enable)`
Enables or disables push notifications on Android invalid input: '&' iOS.
`void`
`setQrcodeDecodeRect(int x, int y, int w, int h)`
Set the rectangle where the decoder will search a QRCode.
`void`
`setQrcodeVideoPreviewEnabled(boolean enable)`
Controls QRCode scanning enablement.
`void`
`setQueuedMessageResendPeriod(long seconds)`
Set the queued message resend period.
`void`
`setRealtimeTextKeepaliveInterval(int interval)`
Set keep alive interval for real time text (RFC4103).
`void`
`setRecordAwareEnabled(boolean enable)`
Enables the record-aware feature that will warn other users when doing
recording during a call.
`void`
`setRecordFile(String file)`
Sets a wav file where incoming stream is to be recorded, when files are used
instead of soundcards (see `setUseFiles(boolean)`).
`void`
`setRefreshWindow(int minValue, int maxValue)`
Set the refresh window.
`void`
`setRegisterOnlyWhenNetworkIsUp(boolean registerOnlyWhenNetworkIsUp)`
Sets if accounts will wait for network to be connected before trying to
REGISTER.
`void`
`setRemoteRingbackTone(String ring)`
Specify a ring back tone to be played to far end during incoming calls.
`void`
`setRetransmissionOnNackEnabled(boolean enable)`
Sets whether the use RTCP NACK for reliability of video transmission is enabled
or not.
`void`
`setRing(String path)`
Sets the path to a wav file used for ringing.
`void`
`setRingback(String path)`
Sets the path to a wav file used for ringing back.
`void`
`setRingDuringIncomingEarlyMedia(boolean enable)`
Enable or disable the ring play during an incoming early media call.
`int`
`setRingerDevice(String devid)`
Deprecated.
`void`
`setRootCa(String path)`
Sets the path to a file or folder containing trusted root CAs (PEM format)
`void`
`setRootCaData(String data)`
Sets the trusted root CAs (PEM format)
`void`
`setRtpBundleEnabled(boolean value)`
Enables or disables RTP bundle mode (Media Multiplexing).
`void`
`setSdp200AckEnabled(boolean enable)`
Control when media offer is sent in SIP INVITE.
`void`
`setSelfViewEnabled(boolean enable)`
Deprecated.
`void`
`setSenderNameHiddenInForwardMessageEnabled(boolean enable)`
Enables whether or not to hide sender name in forwarded message.
`void`
`setSendMessageAfterNotifyEnabled(boolean enabled)`
Enable sending of chat message on group chats only after receiving the NOTIFY
full state If it is disabled, as it is the default value, message will be sent
after the delay set by linphone_core_get_message_sending_delay
Enable sending of chat message on group chats only after receiving the NOTIFY
full state If it is disabled, as it is the default value, message will be sent
after the delay set by linphone_core_get_message_sending_delay
`void`
`setSessionExpiresEnabled(boolean enabled)`
Enable the Session Timers support.
`void`
`setSessionExpiresMinValue(int min)`
Sets the session expires minSE value, forced to a minimum of 90 by default.
`void`
`setSessionExpiresRefresherValue(SessionExpiresRefresher refresher)`
Sets the session expires refresher value.
`void`
`setSessionExpiresValue(int expires)`
Sets the session expires value, 0 by default.
`void`
`setSipDscp(int dscp)`
Sets the DSCP field for SIP signaling channel.
`void`
`setSipNetworkReachable(boolean reachable)`
This method is called by the application to notify the linphone core library
when the SIP network is reachable.
`void`
`setSipTransportTimeout(int timeoutMs)`
Sets the SIP transport timeout, which represents the maximum time permitted to
establish a connection to a SIP server.
`void`
`setSrtpCryptoSuites(String suites)`
Sets the crypto suites available to the core.
`int`
`setStaticPicture(String path)`
Set the path to the image file to stream when "Static picture" is set as the
video device.
`int`
`setStaticPictureFps(float fps)`
Set the frame rate for static picture.
`void`
`setStunServer(String server)`
Deprecated.
`void`
`setSupportedTag(String tags)`
Set the SIP supported tags.
`void`
`setTag100RelSupportLevel(SupportLevel level)`
Defines what level of support is provided to the 100rel attribute.
`void`
`setTcapLineMergingEnabled(boolean merge)`
Defines whether tcap lines are going to be merged if capability negotiation
(RFC5939) is supported.
`void`
`setTextPayloadTypes(PayloadType[] payloadTypes)`
Redefines the list of the available payload types for real-time text.
`void`
`setTextPort(int port)`
Sets the UDP port used for text streaming.
`void`
`setTextPortRange(int minPort, int maxPort)`
Sets the UDP port range from which to randomly select the port used for text
streaming.
`void`
`setTlsCert(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.
`void`
`setTlsCertPath(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.
`void`
`setTlsKey(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.
`void`
`setTlsKeyPath(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.
`void`
`setTone(ToneID toneId, String audiofile)`
Assign an audio file to be played as a specific tone id.
`int`
`setTransports(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.
`void`
`setUploadBandwidth(int bandwidth)`
Sets maximum available upload bandwidth This is IP bandwidth, in kbit/s.
`void`
`setUploadPtime(int ptime)`
Sets audio packetization time linphone will send (in absence of requirement
from peer) A value of 0 stands for the current codec default packetization
time.
`void`
`setUseFiles(boolean yesno)`
Ask the core to stream audio from and to files, instead of using the soundcard.
`void`
`setUseInfoForDtmf(boolean useInfo)`
Sets whether SIP INFO method can be used to send digits.
`void`
`setUserAgent(String name, String version)`
Set the user agent string used in SIP messages.
`void`
`setUserCertificatesPath(String path)`
Set the path to the directory storing the user's x509 certificates (used by
dtls)
`void`
`setUserData(Object data)`
Sets the object to store in this object user's data
`void`
`setUseRfc2833ForDtmf(boolean useRfc2833)`
Sets whether RFC2833 or RFC4633 can be to be used to send digits.
`void`
`setVibrationOnIncomingCallEnabled(boolean enable)`
Enable vibration will incoming call is ringing (Android only).
`void`
`setVideoActivationPolicy(VideoActivationPolicy policy)`
Sets the default policy for video.
`void`
`setVideoAdaptiveJittcompEnabled(boolean enable)`
Enables or disables the video adaptive jitter compensation.
`void`
`setVideoCaptureEnabled(boolean enable)`
Enable or disable video capture.
`void`
`setVideoCodecPriorityPolicy(CodecPriorityPolicy policy)`
Sets the priority policy for video codecs (payload types).
`int`
`setVideoDevice(String id)`
Sets the active video device.
`void`
`setVideoDisplayEnabled(boolean enable)`
Enable or disable video display.
`void`
`setVideoDisplayFilter(String filterName)`
Sets the name of the mediastreamer2 engine (filter) to be used for rendering
video.
`void`
`setVideoDscp(int dscp)`
Sets the DSCP field for outgoing video streams.
`void`
`setVideoJittcomp(int milliseconds)`
Sets the nominal video jitter buffer size in milliseconds.
`int`
`setVideoMulticastAddr(String ip)`
Use to set multicast address to be used for video stream.
`void`
`setVideoMulticastEnabled(boolean yesno)`
Use to enable multicast rtp for video stream.
`int`
`setVideoMulticastTtl(int ttl)`
Use to set multicast ttl to be used for video stream.
`void`
`setVideoPayloadTypes(PayloadType[] payloadTypes)`
Redefines the list of the available video payload types (codecs).
`void`
`setVideoPort(int port)`
Sets the UDP port used for video streaming.
`void`
`setVideoPortRange(int minPort, int maxPort)`
Sets the UDP port range from which to randomly select the port used for video
streaming.
`void`
`setVideoPreset(String preset)`
Set the video preset to be used for video calls.
`void`
`setVideoPreviewEnabled(boolean enable)`
Controls video preview enablement.
`void`
`setVideoSourceReuseEnabled(boolean enable)`
Enable or disable video source reuse when switching from preview to actual
video call.
`void`
`setWifiOnlyEnabled(boolean enable)`
Turns Wifi only mode on or off.
`void`
`setZeroRtpPortForStreamInactiveEnabled(boolean enable)`
Defines whether RTP port is set to 0 when a stream is inactive.
`void`
`setZrtpGoClearEnabled(boolean enabled)`
Defines whether ZRTP go clear is enabled.
`void`
`setZrtpKeyAgreementSuites(ZrtpKeyAgreement[] keyAgreements)`
Redefine the list of prefered ZRTP key agreement algorithms.
`void`
`setZrtpSecretsFile(String file)`
Sets the path to the file storing the zrtp secrets cache.
`boolean`
`soundDeviceCanCapture(String device)`
Deprecated.
`boolean`
`soundDeviceCanPlayback(String device)`
Deprecated.
`boolean`
`soundResourcesLocked()`
Checks if a call will need the sound resources in near future (typically an
outgoing call that is awaiting response).
`int`
`start()`
Starts a `Core` object after it has been instantiated and not
automatically started.
`int`
`startEchoCancellerCalibration()`
Starts an echo calibration of the sound devices, in order to find adequate
settings for the echo canceler automatically.
`int`
`startEchoTester(int rate)`
Start the simulation of call to test the latency with an external device.
`void`
`startHidDevicesDetection()`
Start the HID devices detection.
`void`
`stop()`
Stops a `Core` object after it has been instantiated and started.
`void`
`stopAsync()`
Asynchronously stops a `Core` object after it has been instantiated and
started.
`void`
`stopDtmf()`
Stops playing a dtmf started by `playDtmf(char, int)`.
`int`
`stopEchoTester()`
Stop the simulation of call.
`void`
`stopHidDevicesDetection()`
Stop the HID devices detection.
`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.
`Event`
`subscribe(Address resource, String event, int expires, Content body)`
Creates and send an outgoing subscription, specifying the destination resource,
the event name, and an optional content body.
`int`
`takePreviewSnapshot(String file)`
Takes a photo of currently from capture device and write it into a jpeg file.
`int`
`terminateAllCalls()`
Terminates all the calls.
`int`
`terminateConference()`
Deprecated.
`String`
`toString()`
`boolean`
`tunnelAvailable()`
True if tunnel extension was compiled.
`void`
`upgradeDatabase()`
Upgrade the database manually to the latest schema.
`void`
`uploadLogCollection()`
Uploads the log collection to the configured server url.
`boolean`
`upnpAvailable()`
Return the availability of uPnP.
`void`
`usePreviewWindow(boolean yesno)`
Tells the core to use a separate window for local camera preview video, instead
of inserting local view within the remote video window.
`boolean`
`vcardSupported()`
Tells whether VCARD support is builtin.
`void`
`verifyServerCertificates(boolean yesno)`
Specify whether the tls server certificate must be verified when connecting to
a SIP/TLS server.
`void`
`verifyServerCn(boolean yesno)`
Specify whether the tls server certificate common name must be verified when
connecting to a SIP/TLS server.
`boolean`
`videoSupported()`
Test if video is supported.

## Method Details

### getMediastreamerFactory

Factory getMediastreamerFactory()
Gets the mediastreamer's factory

### getAccountCreatorBackend

AccountCreator.Backend getAccountCreatorBackend()
Gets the `AccountCreator` backend set for the `Core`.

Returns:
  The
  invalid reference

      AccountCreator#Backend

### setAccountCreatorBackend

void setAccountCreatorBackend(AccountCreator.Backend backend)
Sets the `AccountCreator` backend on the `Core`.

Parameters:
  `backend` - The
  invalid reference

      AccountCreator#Backend

### getAccountCreatorUrl

String getAccountCreatorUrl()
Gets the `AccountCreator` url on the `Core`.

Returns:
  url The URL to reach.

### setAccountCreatorUrl

void setAccountCreatorUrl(String url)
Sets the `AccountCreator` url on the `Core`.

Parameters:
  `url` - The URL to reach

### getAccountList

Account[] getAccountList()
Returns an unmodifiable list of entered accounts.

Returns:
  A list of `Account` objects.

### getAdaptiveRateAlgorithm

String getAdaptiveRateAlgorithm()
Returns which adaptive rate algorithm is currently configured for future calls.
see: `setAdaptiveRateAlgorithm(java.lang.String)`

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

### setAdaptiveRateAlgorithm

void setAdaptiveRateAlgorithm(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'.

### isAdaptiveRateControlEnabled

boolean isAdaptiveRateControlEnabled()
Returns whether adaptive rate control is enabled.
see:
invalid reference

    #enableAdaptiveRateControl

Returns:
  true if adaptive rate control is enabled, false otherwise

### setAdaptiveRateControlEnabled

void setAdaptiveRateControlEnabled(boolean 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 invalid input: '&' video calls. Adaptive rate control feature is
enabled by default.

Parameters:
  `enabled` - true to enable adaptive rate control, false otherwise

### isAgcEnabled

boolean isAgcEnabled()
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.

### setAgcEnabled

void setAgcEnabled(boolean val)
Enables 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

### isAlertsEnabled

boolean isAlertsEnabled()
Returns whether alert reporting is enabled.
See `Alert` for more details.

Returns:
  whether alert reporting is enabled.

### setAlertsEnabled

void setAlertsEnabled(boolean enable)
Enables alerts.
See `Alert` for more details.

Parameters:
  `enable` - whether alert reporting is enabled or not.

### isAudioAdaptiveJittcompEnabled

boolean isAudioAdaptiveJittcompEnabled()
Tells whether the audio adaptive jitter compensation is enabled.

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

### setAudioAdaptiveJittcompEnabled

void setAudioAdaptiveJittcompEnabled(boolean enable)
Enables or disables the audio adaptive jitter compensation.
It is enabled by default and should be disabled only to verify how
communication over IP is a disaster without jitter compensation.

Parameters:
  `enable` - true to enable the audio adaptive jitter compensation, false to
  disable it.

### getAudioDevices

AudioDevice[] getAudioDevices()
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 of `AudioDevice` objects. A list with the first `AudioDevice`
  of each type

### getAudioDscp

int getAudioDscp()
Gets the DSCP field for outgoing audio streams.
The DSCP defines the quality of service in IP packets.

Returns:
  The current DSCP value

### setAudioDscp

void setAudioDscp(int dscp)
Sets the DSCP field for outgoing audio streams.
The DSCP defines the quality of service in IP packets. note: It is usually
useless or a bad idea to try to play with DSCP bits unless having full control
on the network.
warning: Setting the DSCP bits is more or less well supported by operating
systems and sometimes requires to disable IPv6.

Parameters:
  `dscp` - The DSCP value to set

### getAudioJittcomp

int getAudioJittcomp()
Returns the nominal audio jitter buffer size in milliseconds.

Returns:
  The nominal audio jitter buffer size in milliseconds

### setAudioJittcomp

void 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

### getAudioMulticastAddr

String getAudioMulticastAddr()
Use to get multicast address to be used for audio stream.

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

### setAudioMulticastAddr

int setAudioMulticastAddr(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

### isAudioMulticastEnabled

boolean isAudioMulticastEnabled()
Use to get multicast state of audio stream.

Returns:
  true if subsequent calls will propose multicast ip set by `setAudioMulticastAddr(java.lang.String)`

### setAudioMulticastEnabled

void setAudioMulticastEnabled(boolean 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(java.lang.String)`

### getAudioMulticastTtl

int getAudioMulticastTtl()
Use to get multicast ttl to be used for audio stream.

Returns:
  a time to leave value

### setAudioMulticastTtl

int 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

### getAudioPayloadTypes

PayloadType[] getAudioPayloadTypes()
Returns the list of the available audio payload types.

Returns:
  A freshly allocated list of the available payload types. A list of
  `PayloadType` objects.

### setAudioPayloadTypes

void setAudioPayloadTypes(PayloadType[] payloadTypes)
Redefines the list of the available payload types (codecs), in their order of
preference.
The payload type are listed from higher priority to lowest priority. It is
worth to note that the set of `PayloadType` objects assigned here need to
be the same as the one returned by `getAudioPayloadTypes()`. The purpose
of the setter is to let application modify their order of preference. In
particular, including in the provided list a payload type not supported has no
effect. Removing specific payload types from the original list has no effect
too: missing payload types will be automatically added. In order to disable a
specific codec, applications shall use `PayloadType.enable(boolean)` instead.

Parameters:
  `payloadTypes` - The new list of payload types. A list of `PayloadType`
  objects.

### getAudioPort

int getAudioPort()
Gets the UDP port used for audio streaming.

Returns:
  The UDP port used for audio streaming

### setAudioPort

void 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

### getAudioPortsRange

Range getAudioPortsRange()
Get the audio port range from which is randomly chosen the UDP port used for
audio streaming.

Returns:
  a `Range` object

### getAuthInfoList

AuthInfo[] getAuthInfoList()
Returns an unmodifiable list of currently entered `AuthInfo`.

Returns:
  A list of `AuthInfo`. A list of `AuthInfo` objects.

### isAutoDownloadIcalendarsEnabled

boolean isAutoDownloadIcalendarsEnabled()
Gets if the automatic download of incoming icalendars is enabled or not.

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

### setAutoDownloadIcalendarsEnabled

void setAutoDownloadIcalendarsEnabled(boolean autoDownloadIcalendars)
Automatically downloads files attached 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.

### isAutoDownloadVoiceRecordingsEnabled

boolean 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.

### setAutoDownloadVoiceRecordingsEnabled

void setAutoDownloadVoiceRecordingsEnabled(boolean autoDownloadVoiceRecordings)
Enables automatic download of files attached 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.

### getAutoIterateBackgroundSchedule

int getAutoIterateBackgroundSchedule()
Gets the timer used to schedule the call to core.iterate() method when in
background (Android only).
This is only used when
invalid reference

    #autoIterateEnabled

returns true.

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

### setAutoIterateBackgroundSchedule

void 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.

### isAutoIterateEnabled

boolean isAutoIterateEnabled()
Gets whether auto iterate is enabled or not (Android invalid input: '&' iOS only).

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

### setAutoIterateEnabled

void setAutoIterateEnabled(boolean enable)
Enable or disable the automatic schedule of `iterate()` method on Android
invalid input: '&' 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

### getAutoIterateForegroundSchedule

int getAutoIterateForegroundSchedule()
Gets the timer used to schedule the call to core.iterate() method when in
foreground (Android only).
This is only used when
invalid reference

    #autoIterateEnabled

returns true.

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

### setAutoIterateForegroundSchedule

void 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.

### isAutoSendRingingEnabled

boolean isAutoSendRingingEnabled()
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.

### setAutoSendRingingEnabled

void setAutoSendRingingEnabled(boolean 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.

### isAutomaticHttpProxyDetectionEnabled

boolean isAutomaticHttpProxyDetectionEnabled()
Returns whether automatic http proxy is enabled.

Returns:
  true if automatic http proxy is enabled or false.

### setAutomaticHttpProxyDetectionEnabled

void setAutomaticHttpProxyDetectionEnabled(boolean enable)
Enables or disables automatic http proxy detection.

Parameters:
  `enable` - true if automatic http proxy is enabled or false.

### getAvpfMode

AVPFMode getAvpfMode()
Returns AVPF enablement.
See `setAvpfMode(org.linphone.core.AVPFMode)` .

Returns:
  The current `AVPFMode` mode

### setAvpfMode

void setAvpfMode(AVPFMode mode)
Enables RTCP feedback (also known as RTP/AVPF profile).
Setting `AVPFMode.Default` is equivalent to LinphoneAVPFDisabled. This
setting can be overriden per `Account` with `AccountParams.setAvpfMode(org.linphone.core.AVPFMode)`
. The value set here is used for calls placed or received out of any account
configured, or if the account is configured with LinphoneAVPFDefault.

Parameters:
  `mode` - The AVPF mode to use.

### getAvpfRrInterval

int getAvpfRrInterval()
Returns the avpf report interval in seconds.

Returns:
  The current AVPF report interval in seconds

### setAvpfRrInterval

void setAvpfRrInterval(int interval)
Sets the avpf report interval in seconds.
This value can be overriden at Account level using
linphone_account_params__set_avpf_rr_interval().

Parameters:
  `interval` - The report interval in seconds

### isBaudotEnabled

boolean isBaudotEnabled()
Returns enablement of text sending via Baudot tones in the audio stream.

Returns:
  true if text sending via Baudot tones in the audio stream is enabled,
  false otherwise.

### setBaudotEnabled

void setBaudotEnabled(boolean enabled)
Enable text sending via Baudot tones in the audio stream.
It is disabled by default. Enablement requires a SDK built with full Baudot
support: -DENABLE_BAUDOT=ON .

Parameters:
  `enabled` - true if enabled, false otherwise.

### getCallLogs

CallLog[] getCallLogs()
Get the list of call logs (past calls).

Returns:
  A list of `CallLog`. A list of `CallLog` objects.

### getCallLogsDatabasePath

@Deprecated String getCallLogsDatabasePath()
Deprecated.
Gets the database filename where call logs will be stored.

Returns:
  filesystem path.
  deprecated: 07/12/2021: Use only for migration purposes

### setCallLogsDatabasePath

@Deprecated void setCallLogsDatabasePath(String path)
Deprecated.
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

### getCallOnHoldMusicFile

String getCallOnHoldMusicFile()
Get the wav file played when putting a call on hold with `Call.pause()`
The file is a 16 bit linear file.

Returns:
  The path to the file that is played when putting a call on hold.

### setCallOnHoldMusicFile

void setCallOnHoldMusicFile(String file)
Sets a wav file to be played when putting somebody on hold (see `setUseFiles(boolean)`
).
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.

### isCallToneIndicationsEnabled

boolean isCallToneIndicationsEnabled()
Check whether tone indications of calls are enabled.

Returns:
  true if call tone indications are enabled

### setCallToneIndicationsEnabled

void setCallToneIndicationsEnabled(boolean yesno)
Enables or disables call tone indications.
This value is taken into account from next time 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.

### isCallkitEnabled

boolean isCallkitEnabled()
Special function to check if the callkit is enabled, False by default.

Returns:
  true if callkit is enabled, false otherwise.

### setCallkitEnabled

void setCallkitEnabled(boolean enabled)
Special function to enable the callkit.

Parameters:
  `enabled` - true to enable callkit, false to disable it.

### getCalls

Call[] 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` A list of `Call` objects.

### getCallsNb

int getCallsNb()
Gets the number of Call.

Returns:
  The current number of calls

### getCameraSensorRotation

int 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

### getCameraWhitebalance

int getCameraWhitebalance()
Gets the whitebalance of the camera (currently only supported by Android).

Returns:
  The whitebalance of the camera, default is -1 (disabled).

### setCameraWhitebalance

int setCameraWhitebalance(int whitebalance)
Sets the whitebalance of the camera (currently only supported by Android).

Parameters:
  `whitebalance` - The whitebalance of the camera.

### isCapabilityNegociationEnabled

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

Returns:
  true if capability negotiation is supported; false otherwise.

### setCapabilityNegociationEnabled

void setCapabilityNegociationEnabled(boolean enable)
Defines whether capability negotiation (RFC5939) is supported.

Parameters:
  `enable` - true to support RFC5939; false otherwise.

### isCapabilityNegotiationReinviteEnabled

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

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

### setCapabilityNegotiationReinviteEnabled

void setCapabilityNegotiationReinviteEnabled(boolean enable)
Defines whether capability negotiation (RFC5939) reINVITE is enabled.

Parameters:
  `enable` - true to enable capability negotiation reINVITE; false otherwise.

### getCaptureDevice

@Deprecated String getCaptureDevice()
Deprecated.
Gets the name of the currently assigned sound device for capture.

Returns:
  The name of the currently assigned sound device for capture.
  deprecated: 11/09/2024 use `getInputAudioDevice()` or `getDefaultInputAudioDevice()`
  instead.

### setCaptureDevice

@Deprecated int setCaptureDevice(String devid)
Deprecated.
Sets the sound device used for capture.

Parameters:
  `devid` - The device name as returned by linphone_core_get_sound_devices
Returns:
  0
  deprecated: 11/09/2024 use `setInputAudioDevice(org.linphone.core.AudioDevice)` or `setDefaultInputAudioDevice(org.linphone.core.AudioDevice)`
  instead.

### isCfgLinesMergingEnabled

boolean isCfgLinesMergingEnabled()
Checks 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.

### setCfgLinesMergingEnabled

void setCfgLinesMergingEnabled(boolean merge)
Defines 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.

### isChatEnabled

boolean isChatEnabled()
Returns whether chat is enabled.

Returns:
  true if chat is enabled, false otherwise

### getChatMessagesAggregationEnabled

boolean getChatMessagesAggregationEnabled()
End of group ldap.
Returns whether chat messages grouping is enabled or not.

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

### setChatMessagesAggregationEnabled

void setChatMessagesAggregationEnabled(boolean enabled)
Sets whether chat messages grouping is enabled or not.
This optimisation is turned on by default. It allows to receive bulks of
incoming message faster, and notify them to the application in a row. 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.

### getChatRooms

ChatRoom[] getChatRooms()
Returns a list of chat rooms.

Returns:
  List of chat rooms. A list of `ChatRoom` objects.

### getConferenceAvailabilityBeforeStart

long getConferenceAvailabilityBeforeStart()
Gets the conference availability before start.

Returns:
  the number of seconds the conference can be joined early
  warning: This setting is only applicable to conference servers

### setConferenceAvailabilityBeforeStart

void setConferenceAvailabilityBeforeStart(long seconds)
Set the conference availability before start.
It is the number of seconds clients can join the conference before its actual
start time.

Parameters:
  `seconds` - number of seconds the conference can be joined early. A negative
  value means always
  warning: This setting is only applicable to conference servers

### getConferenceCleanupPeriod

long getConferenceCleanupPeriod()
Gets the conference cleanup timer period.

Returns:
  the period of the conference cleanup timer

### setConferenceCleanupPeriod

void setConferenceCleanupPeriod(long seconds)
Set the conference cleanup timer period.
This timer helps managing the automatic deletion of ended conferences. In fact,
under normal circumstances a conference is deleted only if it transition from
an active to an inactive state after its end time. Nonetheless a side effect is
that there may be a conference that never became active or it was terminate
before its due date and time. This timer, if setup, therefore periodically
looks for expired conference and cleans then up

Parameters:
  `seconds` - period of the timer. A 0 or negative value stops the timer

### getConferenceExpirePeriod

long getConferenceExpirePeriod()
Gets the conference expire period.

Returns:
  the number of second after which the conference cannot be joined
  warning: This setting is only applicable to conference servers

### setConferenceExpirePeriod

void setConferenceExpirePeriod(long seconds)
Set the conference expire period.
It is the number of seconds after the end time or the last participant joined -
whichever is later - the conference cannot be joined anymore

Parameters:
  `seconds` - number of seconds before the conference expires. A 0 or negative
  value means immediately after the end
  warning: This setting is only applicable to conference servers

### isConferenceIcsInMessageBodyEnabled

boolean isConferenceIcsInMessageBodyEnabled()
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.

### setConferenceIcsInMessageBodyEnabled

void setConferenceIcsInMessageBodyEnabled(boolean 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

### getConferenceInformationList

ConferenceInfo[] getConferenceInformationList()
Retrieve the list of conference information on DB.

Returns:
  The list of conference infos A list of `ConferenceInfo` objects.
  .

### getConferenceLocalInputVolume

@Deprecated float getConferenceLocalInputVolume()
Deprecated.
Returns the input volume of the local participant.

Returns:
  A value inside [0.0 ; 1.0]
  deprecated: 23/01/2025 Use `Conference.getInputVolume()` instead.

### getConferenceMaxThumbnails

int getConferenceMaxThumbnails()
Gets the maximum number of thumbnails requested in the SDP during a conference
call `Account.getCallLogs()`.

Returns:
  the maximum number of thumbnails requested in the SDP during a
  conference call

### setConferenceMaxThumbnails

void setConferenceMaxThumbnails(int max)
Sets the maximum number of thumbnails requested in the SDP during a conference
call.

Parameters:
  `max` - the maximum number of thumbnails requested in the SDP during a
  conference call

### getConferenceParticipantListType

Conference.ParticipantListType getConferenceParticipantListType()
Tells whether the default conference participant list is open or closed.

Returns:
  A
  invalid reference

      Conference#ParticipantListType

  participant list type

### setConferenceParticipantListType

void setConferenceParticipantListType(Conference.ParticipantListType type)
Selects whether the default conference participant list is open or closed.

Parameters:
  `type` - A
  invalid reference

      Conference#ParticipantListType

  participant list type

### isConferenceServerEnabled

boolean isConferenceServerEnabled()
Tells whether the conference server feature is enabled.

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

### setConferenceServerEnabled

void setConferenceServerEnabled(boolean enable)
Enables the conference server mode.
This has the effect to listen of the conference factory uri to create new
conferences when receiving INVITE messages there. Enabling this mode is
required when using liblinphone in a conference server application, but shall
not be be employed in any client application.

Parameters:
  `enable` - A boolean value telling whether to enable or disable the
  conference server feature

### getConfig

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

Returns:
  a `Config` object.

### getConsolidatedPresence

ConsolidatedPresence getConsolidatedPresence()
Gets my consolidated presence.

Returns:
  My `ConsolidatedPresence` presence

### setConsolidatedPresence

void setConsolidatedPresence(ConsolidatedPresence presence)
Sets my consolidated presence.

Parameters:
  `presence` - `ConsolidatedPresence` value

### getCurrentCall

Call getCurrentCall()
Gets the current call.
The current call is defined as follows: If multiple concurrent calls exist, it
is the only one that currelty uses the microphone or speaker, otherwise it is
the unique call that exists unless this call is in
invalid @link

    {@link Call#State#Paused

}
state.

Returns:
  The current call or null if no call is running.

### getCurrentCallRemoteAddress

Address getCurrentCallRemoteAddress()
Gets the remote address of the current call.

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

### getCurrentPreviewVideoDefinition

VideoDefinition getCurrentPreviewVideoDefinition()
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: `setPreviewVideoDefinition(org.linphone.core.VideoDefinition)`

### isDatabaseEnabled

boolean isDatabaseEnabled()
Returns whether the database is enabled.

Returns:
  a boolean indicating the enablement of the database.

### setDatabaseEnabled

void setDatabaseEnabled(boolean value)
Enables or disables database usage.
This function can only be called before starting the core up

Parameters:
  `value` - a boolean to indicate whether the database is to be enabled.

### getDefaultAccount

Account getDefaultAccount()
Returns the default account, that is the one used to determine the current
identity.

Returns:
  The default account.

### setDefaultAccount

void setDefaultAccount(Account account)
Sets the default account.
This default account must be part of the list of already entered
LinphoneAccount. Toggling it as default will make `Core` default to the
identity associated with the account in all incoming and outgoing calls if the
destination SIP uri does not explicitely match any other accounts.

Parameters:
  `account` - The account to use as the default one.

### getDefaultConferenceLayout

Conference.Layout getDefaultConferenceLayout()
Gets the default conference layout.

Returns:
  conference layout

### setDefaultConferenceLayout

void setDefaultConferenceLayout(Conference.Layout value)
Set the default conference layout.

Parameters:
  `value` - layout

### getDefaultEphemeralLifetime

long getDefaultEphemeralLifetime()
Gets the default lifetime of ephemeral messages in seconds once they are read.

Returns:
  lifetime of ephemeral messages in seconds once read

### setDefaultEphemeralLifetime

void setDefaultEphemeralLifetime(long value)
Set the default ephemeral lifetime in seconds once read.

Parameters:
  `value` - lifetime of ephemeral messages in seconds once read

### getDefaultEphemeralMode

ChatRoom.EphemeralMode getDefaultEphemeralMode()
Gets the default ephemeral message mode.

Returns:
  the default ephemeral message mode
  invalid reference

      ChatRoom#EphemeralMode

### setDefaultEphemeralMode

void setDefaultEphemeralMode(ChatRoom.EphemeralMode mode)
Sets the default ephemeral message mode.

Parameters:
  `mode` - default ephemeral message mode
  invalid reference

      ChatRoom#EphemeralMode

### getDefaultEphemeralNotReadLifetime

long getDefaultEphemeralNotReadLifetime()
Gets the default lifetime of ephemeral messages in seconds when they are not
read.
If not set, the default is 0.

Returns:
  lifetime of ephemeral messages in seconds when not read

### setDefaultEphemeralNotReadLifetime

void setDefaultEphemeralNotReadLifetime(long value)
Set the default ephemeral lifetime in seconds when not read.

Parameters:
  `value` - lifetime of ephemeral messages in seconds when not read

### getDefaultFriendList

FriendList getDefaultFriendList()
Retrieves the first list of `Friend` from the core.

Returns:
  the first `FriendList` object or null.

### getDefaultInputAudioDevice

AudioDevice getDefaultInputAudioDevice()
Gets the default input audio device.

Returns:
  The default input audio device

### setDefaultInputAudioDevice

void setDefaultInputAudioDevice(AudioDevice audioDevice)
Sets the given `AudioDevice` as default input for next calls.

Parameters:
  `audioDevice` - The `AudioDevice`

### getDefaultOutputAudioDevice

AudioDevice getDefaultOutputAudioDevice()
Gets the default output audio device.

Returns:
  The default output audio device

### setDefaultOutputAudioDevice

void setDefaultOutputAudioDevice(AudioDevice audioDevice)
Sets the given `AudioDevice` as default output for next calls.

Parameters:
  `audioDevice` - The `AudioDevice`

### getDefaultProxyConfig

@Deprecated ProxyConfig getDefaultProxyConfig()
Deprecated.
Returns the default proxy configuration, that is the one used to determine the
current identity.

Returns:
  The default proxy configuration.
  deprecated: 04/09/2024 Use `getDefaultAccount()`

### setDefaultProxyConfig

@Deprecated void setDefaultProxyConfig(ProxyConfig config)
Deprecated.
Sets the default proxy.
This default proxy must be part of the list of already entered
LinphoneProxyConfig. 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.
  deprecated: 04/09/2024 Use `setDefaultAccount(org.linphone.core.Account)`

### getDefaultVideoDisplayFilter

String getDefaultVideoDisplayFilter()
Gets 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

@Deprecated int getDelayedTimeout()
Deprecated.
Gets the delayed timeout See `setDelayedTimeout(int)` for details.

Returns:
  The current delayed timeout in seconds
  deprecated: 04/09/2024 Obscure.

### setDelayedTimeout

@Deprecated void setDelayedTimeout(int seconds)
Deprecated.
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
  deprecated: 04/09/2024 Obscure.

### getDeviceRotation

int getDeviceRotation()
Gets the current device orientation.

Returns:
  The current device orientation
  see: `setDeviceRotation(int)`

### setDeviceRotation

void 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

### getDigestAuthenticationPolicy

DigestAuthenticationPolicy getDigestAuthenticationPolicy()
Get the current digest authentication policy applicable for SIP and HTTP.

Returns:
  The current digest authentication policy.

### setDigestAuthenticationPolicy

void setDigestAuthenticationPolicy(DigestAuthenticationPolicy policy)
Setup a new digest authentication policy applicable for SIP and HTTP.

Parameters:
  `policy` - a `DigestAuthenticationPolicy`
  see: `Factory.createDigestAuthenticationPolicy()`

### getDisableRecordOnMute

boolean getDisableRecordOnMute()
Get whether the microphone will be completely deactivated when muted.
Please refer to `setDisableRecordOnMute(boolean)`.

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

### setDisableRecordOnMute

void setDisableRecordOnMute(boolean 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.

### isDnsSearchEnabled

boolean isDnsSearchEnabled()
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.

### setDnsSearchEnabled

void setDnsSearchEnabled(boolean 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.

### setDnsServers

void setDnsServers(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. A list of const char * objects. Setting to null restores default
  behaviour, which is to use the DNS server list provided by the system. The list
  is copied internally.

### setDnsServersApp

void setDnsServersApp(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.
see: `getDnsSetByApp()`

Parameters:
  `servers` - A list of strings containing the IP addresses of DNS servers to
  be used. A list of const char * objects. Setting to null restores default
  behaviour, which is to use the DNS server list provided by the system. The list
  is copied internally.

### getDnsSetByApp

boolean getDnsSetByApp()
Tells if the DNS was set by an application.

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

### isDnsSrvEnabled

boolean isDnsSrvEnabled()
Tells whether DNS SRV resolution is enabled.

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

### setDnsSrvEnabled

void setDnsSrvEnabled(boolean enable)
Enable or disable DNS SRV resolution.

Parameters:
  `enable` - true to enable DNS SRV resolution, false to disable it.

### getDownloadBandwidth

int getDownloadBandwidth()
Retrieve the maximum available download bandwidth.
This value was set by `setDownloadBandwidth(int)`.

Returns:
  the download bandiwdth in kbits/s, 0 for unknown.

### setDownloadBandwidth

void setDownloadBandwidth(int bandwidth)
Sets maximum available download bandwidth This is IP bandwidth, in kbit/s.
This information is signaled to other parties during calls (within SDP
messages) so that the remote end can have sufficient knowledge to properly
configure its audio invalid input: '&' video codec output bitrate to not overflow available
bandwidth. By default, the download and upload bandwidth are unknowns (set to
zero), in which case adaptive algorithms are run during calls in order to
detect available bandwidth and adapt audio and video bitrate usage. see:
invalid reference

    #enableAdaptiveRateControl

.

Parameters:
  `bandwidth` - the bandwidth in kbits/s, 0 if unknown.

### getDownloadPtime

int 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

### setDownloadPtime

void 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

### getEchoCancellationCalibration

int getEchoCancellationCalibration()
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()`.

### isEchoCancellationEnabled

boolean isEchoCancellationEnabled()
Returns true if echo cancellation is enabled.

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

### setEchoCancellationEnabled

void setEchoCancellationEnabled(boolean enable)
Enables or disables 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:
-hardware echo cancellation is not available
-an echo calibration procedure was run successfully, which implicitly cause the
software echo canceller to be preferred over hardware one.

### getEchoCancellerFilterName

String getEchoCancellerFilterName()
Gets the name of the mediastreamer2 filter used for echo cancelling.

Returns:
  The name of the mediastreamer2 filter used for echo cancellation.

### setEchoCancellerFilterName

void setEchoCancellerFilterName(String filtername)
Sets the name of the mediastreamer2 filter to be used for echo cancelling.

Parameters:
  `filtername` - The name of the mediastreamer2 filter to be used for echo
  cancellation.

### isEchoLimiterEnabled

boolean isEchoLimiterEnabled()
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.

### setEchoLimiterEnabled

void setEchoLimiterEnabled(boolean 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.

### setEktPluginLoaded

void setEktPluginLoaded(boolean ektPluginLoaded)
sets the state of the EKT plugin in the Linphone core instance.

Parameters:
  `ektPluginLoaded` - whether the EKT plugin is loaded or not

### isEmptyChatroomsDeletionEnabled

boolean isEmptyChatroomsDeletionEnabled()
Tells whether empty chat rooms are deleted or not.

Returns:
  A boolean value telling whether the deletion of empty chatrooms is
  enabled or not (Applicable to servers only)

### setEmptyChatroomsDeletionEnabled

void setEmptyChatroomsDeletionEnabled(boolean enable)
Enable the deletion of empty chatrooms (i.e.
chatrooms with no participants)

Parameters:
  `enable` - A boolean value telling whether to enable or disable the deletion
  of chat rooms with no participants in (Applicable to servers only) it

### setEnableSipUpdate

void setEnableSipUpdate(int value)
Enable or disable the UPDATE method support.

Parameters:
  `value` - Enable or disable it

### getEphemeralChatMessagePolicy

EphemeralChatMessagePolicy getEphemeralChatMessagePolicy()
Gets the current policy for ephemeral chat messages.
See `EphemeralChatMessagePolicy` for more details.

Returns:
  the current `EphemeralChatMessagePolicy`.

### setEphemeralChatMessagePolicy

void setEphemeralChatMessagePolicy(EphemeralChatMessagePolicy policy)
Sets the policy for ephemeral chat messages.
See `EphemeralChatMessagePolicy` for more details.

Parameters:
  `policy` - the `EphemeralChatMessagePolicy` to use.

### setExpectedBandwidth

@Deprecated void setExpectedBandwidth(int bandwidth)
Deprecated.
Do not use, this function does nothing.

Parameters:
  `bandwidth` - the bandwidth in kbits/s, 0 for infinite
  deprecated: 04/09/2024 this function does nothing.

### getExtendedAudioDevices

AudioDevice[] getExtendedAudioDevices()
Returns the list of all audio devices.

Returns:
  A list of `AudioDevice` objects. A list of all `AudioDevice`

### isFecEnabled

boolean isFecEnabled()
Tells whether the flexible FEC feature (RFC8627) is enabled for this `Core`
object.

Returns:
  A boolean value telling whether the flexible FEC feature is enabled or
  not for this `Core` object

### setFecEnabled

void setFecEnabled(boolean enable)
Enables the flexible FEC feature (RFC8627) for video calls to recover RTP
packet loss.

Parameters:
  `enable` - A boolean value telling whether to enable or disable the flexible
  FEC feature

### getFileTransferServer

String getFileTransferServer()
Gets 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.

### setFileTransferServer

void setFileTransferServer(String serverUrl)
Globally sets 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_account_params_set_file_transfer_server.

Parameters:
  `serverUrl` - URL of the file server.

### isForcedIceRelayEnabled

boolean isForcedIceRelayEnabled()
Indicates whether the ICE relay path is forcibly selected.

Returns:
  a boolean value indicating whether forced relay is enabled.
  see:
  invalid reference

      #enableForcedIceRelay

  .

### setForcedIceRelayEnabled

void setForcedIceRelayEnabled(boolean 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

### isFriendListSubscriptionEnabled

boolean isFriendListSubscriptionEnabled()
Returns whether or not friend lists subscription are enabled.

Returns:
  whether or not the feature is enabled

### setFriendListSubscriptionEnabled

void setFriendListSubscriptionEnabled(boolean enable)
Sets whether or not to start friend lists subscription when in foreground.

Parameters:
  `enable` - whether or not to enable the feature

### getFriendsDatabasePath

@Deprecated String getFriendsDatabasePath()
Deprecated.
Gets the database filename where friends will be stored.

Returns:
  filesystem path.
  deprecated: 27/10/2023 Friends are now stored in the main db

### setFriendsDatabasePath

@Deprecated void setFriendsDatabasePath(String path)
Deprecated.
Sets the database filename where friends will be stored.
If the file does not exist, it will be created.

Parameters:
  `path` - filesystem path.
  deprecated: 27/10/2023 Friends are now stored in the main db

### getFriendsLists

FriendList[] getFriendsLists()
Retrieves the list of `FriendList` from the core.

Returns:
  A list of `FriendList`. A list of `FriendList` objects.

### getFutureConferenceInformationList

ConferenceInfo[] getFutureConferenceInformationList()
Retrieve the list of future conference information on DB.

Returns:
  The list of future conference infos A list of `ConferenceInfo`
  objects. .

### isGenericComfortNoiseEnabled

boolean isGenericComfortNoiseEnabled()
Returns enablement of RFC3389 generic comfort noise algorithm.

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

### setGenericComfortNoiseEnabled

void setGenericComfortNoiseEnabled(boolean 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.

### getGlobalState

GlobalState getGlobalState()
Returns the global state of core.

Returns:
  a `GlobalState` enum.

### isGruuInConferenceAddressEnabled

boolean isGruuInConferenceAddressEnabled()
Returns whether the gr parameter is kept in the conference address.

Returns:
  true if the "gr" parameter is kept in the conference address, false
  otherwise.
  see:
  invalid reference

      #enableGruuInConferenceAddress

  for more informations

### setGruuInConferenceAddressEnabled

void setGruuInConferenceAddressEnabled(boolean enabled)
Sets whether to keep GRUU parameter in the conference addresses.

Parameters:
  `enabled` - true if enabled, false otherwise.
  warning: This setting will also remove the GRUU parameter from all conference
  and chat room addresses stored in the database at startup. Setting it to false
  after it being set to true earlier on does not restore the previous state of
  the database

### getGuessHostname

boolean getGuessHostname()
Returns true if hostname part of primary contact is guessed automatically.

Returns:
  true if guess hostname enabled, false otherwise.

### setGuessHostname

void setGuessHostname(boolean enable)
Tells `Core` to guess local hostname automatically in primary contact.

Parameters:
  `enable` - whether to enable the guess hostname feature or not

### getHttpProxyHost

String getHttpProxyHost()
Gets http proxy address to be used for signaling.

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

### setHttpProxyHost

void setHttpProxyHost(String host)
Sets http proxy address to be used for signaling during next channel
connection.
Use `setNetworkReachable(boolean)` FASLE/true to force channel restart.

Parameters:
  `host` - Hostname of IP adress of the http proxy (can be null to disable).

### getHttpProxyPort

int getHttpProxyPort()
Gets http proxy port to be used for signaling.

Returns:
  port of the http proxy.

### setHttpProxyPort

void setHttpProxyPort(int port)
Sets http proxy port to be used for signaling.

Parameters:
  `port` - of the http proxy.

### getIdentity

String 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

ImNotifPolicy getImNotifPolicy()
Gets the `ImNotifPolicy` object controlling the instant messaging
delivery and displayed service notifications.

Returns:
  A `ImNotifPolicy` object.

### getImdnResendPeriod

long getImdnResendPeriod()
Gets the IMDN resend period.

Returns:
  the number of second to resend an failed IMDN message

### setImdnResendPeriod

void setImdnResendPeriod(long seconds)
Set the IMDN resend period.
It is the number of seconds after the first attempt to send, an IMDN message is
sent again on startup if failed earlier on

Parameters:
  `seconds` - number of seconds after the first attempt to send an IMDN, it is
  retried at startup. A negative value means all IMDNs are resent at startup.

### getImdnToEverybodyThreshold

int getImdnToEverybodyThreshold()
Returns the threshold for sending IMDN to all participants to a `ChatRoom`
.

Returns:
  An integer value telling the threshold for sending IMDN to all
  participants to a `ChatRoom`

### setImdnToEverybodyThreshold

void setImdnToEverybodyThreshold(int threshold)
Sets the threshold for sending IMDN to all participants to a `ChatRoom`.

Parameters:
  `threshold` - the threshold for sending IMDN to all participants to a `ChatRoom`

### getInCallTimeout

int getInCallTimeout()
Gets the maximum duration of a call.
See `setInCallTimeout(int)` for details.

Returns:
  The current in call timeout in seconds

### setInCallTimeout

void setInCallTimeout(int seconds)
Sets the maximum duration of a call 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

### getIncTimeout

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

Returns:
  The current incoming call timeout in seconds

### setIncTimeout

void setIncTimeout(int seconds)
Sets 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

### getInputAudioDevice

AudioDevice getInputAudioDevice()
Gets the input audio device for the current call.

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

### setInputAudioDevice

void setInputAudioDevice(AudioDevice audioDevice)
Sets the given `AudioDevice` as input for all active calls.

Parameters:
  `audioDevice` - The `AudioDevice`. null does nothing.

### isIpv6Enabled

boolean isIpv6Enabled()
Tells whether IPv6 is enabled or not.

Returns:
  A boolean value telling whether IPv6 is enabled or not

### setIpv6Enabled

void setIpv6Enabled(boolean enable)
Turns IPv6 support on or off.

Parameters:
  `enable` - A boolean value telling whether to enable IPv6 support

### isEchoCancellerCalibrationRequired

boolean isEchoCancellerCalibrationRequired()
Check whether the device is echo canceller calibration is required.

Returns:
  true if it is required, false otherwise

### isEktPluginLoaded

boolean isEktPluginLoaded()
Gets if the EKT plugin is currently loaded in the Linphone core instance.

Returns:
  true if the EKT plugin is loaded

### isInBackground

boolean isInBackground()
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.

### isInConference

@Deprecated boolean isInConference()
Deprecated.
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(org.linphone.core.Address)`
instead.

Returns:
  true if the local participant is in a conference, false otherwise.
  deprecated: 09/03/2021 Use `Conference.isIn()` instead.

### isIncomingInvitePending

boolean isIncomingInvitePending()
Tells whether there is an incoming invite pending.

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

### isMediaEncryptionMandatory

boolean isMediaEncryptionMandatory()
Checks if the configured media encryption is mandatory or not.

Returns:
  true if media encryption is mandatory; false otherwise.

### isNetworkReachable

boolean isNetworkReachable()
return network state either as positioned by the application or by linphone
itself.

Returns:
  true if network is reachable, false otherwise

### isPushNotificationAvailable

boolean isPushNotificationAvailable()
Gets whether push notifications are available or not (Android invalid input: '&' iOS only).

Returns:
  true if push notifications are available, false otherwise

### isSenderNameHiddenInForwardMessage

boolean isSenderNameHiddenInForwardMessage()
Returns whether or not sender name is hidden in a forwarded message.

Returns:
  whether or not the feature

### isVerifyServerCertificates

boolean 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

boolean 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

### isKeepAliveEnabled

boolean isKeepAliveEnabled()
Is signaling keep alive enabled.

Returns:
  A boolean value telling whether signaling keep alive is enabled

### setKeepAliveEnabled

void setKeepAliveEnabled(boolean 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

### getLabel

String getLabel()
Get the label assigned to the LinphoneCore.
The default value is null (no label).

Returns:
  the assigned label.

### setLabel

void setLabel(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 developer-friendly label.

### getLastOutgoingCallLog

CallLog getLastOutgoingCallLog()
Gets 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

@Deprecated Ldap[] getLdapList()
Deprecated.
Returns a list of entered LDAPs.
Items must be freed with linphone_ldap_unref

Returns:
  A list of `Ldap` objects.
  deprecated: 18/11/2024 use `getRemoteContactDirectories()` instead.

### isLimeX3DhEnabled

boolean isLimeX3DhEnabled()
Tells wether LIME X3DH is enabled or not.

Returns:
  The current lime state

### setLimeX3DhEnabled

void setLimeX3DhEnabled(boolean enable)
Tells to LinphoneCore to use LIME X3DH.

Parameters:
  `enable` - A boolean value telling whether to enable or disable LIME X3DH

### getLimeX3DhServerUrl

@Deprecated String getLimeX3DhServerUrl()
Deprecated.
Get the x3dh server url.

Returns:
  The x3dh server url.
  deprecated: 26/08/2022 Use `AccountParams.getLimeServerUrl()` instead.

### setLimeX3DhServerUrl

@Deprecated void setLimeX3DhServerUrl(String url)
Deprecated.
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(java.lang.String)` instead.

### getLinphoneSpecsList

String[] getLinphoneSpecsList()
Get the list of linphone specs string values representing what functionalities
the linphone client supports.
see: `setLinphoneSpecsList(java.lang.String[])`

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

### setLinphoneSpecsList

void setLinphoneSpecsList(String[] specs)
Sets the linphone specs list value telling what functionalities the linphone
client supports.
The said "specs" (specifications) are pair of keyword/version that helps
advertising the level feature supported by liblinphone. An application usually
does not need to set this information, that is automatically assigned at `Core`
start. Setting this is mainly for internal tests of backward compatibility.

Parameters:
  `specs` - The list of string specs to set. A list of char * objects.

### getLoadedPlugins

String[] getLoadedPlugins()
Return the list of loaded plugins.

Returns:
  the list of loaded plugins A list of char * objects.

### isLocalPermissionEnabled

boolean isLocalPermissionEnabled()
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.

### getLogCollectionUploadServerUrl

String 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.

### setLogCollectionUploadServerUrl

void setLogCollectionUploadServerUrl(String serverUrl)
Sets 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.

### getMaxCallLogs

int getMaxCallLogs()
Gets the maximum number of call logs retrieved when using `getCallLogs()`
or `Account.getCallLogs()`.

Returns:
  the maximum number of call logs that will be returned. -1 will return
  them all.

### setMaxCallLogs

void setMaxCallLogs(int max)
Sets the maximum number of call logs to retrieve when using `getCallLogs()`
or `Account.getCallLogs()`.

Parameters:
  `max` - the maximum number of call logs, use -1 to get them all.

### getMaxCalls

int getMaxCalls()
Gets 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:
  maximum number of simultaneous calls

### setMaxCalls

void setMaxCalls(int max)
Sets 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

### getMaxParticipantsPerChatroom

int getMaxParticipantsPerChatroom()
Returns the maximum number of participants a conference server can support in a
single chatroom.

Returns:
  the maximum allowed participant number per chatroom. A 0 or negative
  value means that there is no upper limit.
  warning: it is only applicable to conference servers

### setMaxParticipantsPerChatroom

void setMaxParticipantsPerChatroom(int maxParticipants)
It sets the maximum number of participants a chatroom on a server can support.

Parameters:
  `maxParticipants` - the maximum number of participants a chatroom is allowed
  to have at any given time. A 0 or negative value means that there is no upper
  limit.
  warning: it is only applicable to conference servers

### getMaxSizeForAutoDownloadIncomingFiles

int 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

### setMaxSizeForAutoDownloadIncomingFiles

void 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

### getMediaDevice

String getMediaDevice()
Gets the name of the currently assigned sound device for media.

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

### setMediaDevice

int setMediaDevice(String devid)
Sets the sound device used for media.

Parameters:
  `devid` - The device name as returned by linphone_core_get_sound_devices
Returns:
  0

### getMediaEncryption

MediaEncryption getMediaEncryption()
Gets the media encryption type being used for RTP packets.

Returns:
  The `MediaEncryption` policy being used.

### setMediaEncryption

int setMediaEncryption(MediaEncryption menc)
Chooses the media encryption type to be used for RTP packets.

Parameters:
  `menc` - The media encryption policy to be used.
Returns:
  0 if successful, any other value otherwise.

### setMediaEncryptionMandatory

void setMediaEncryptionMandatory(boolean mandatory)
Defines 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

void setMediaNetworkReachable(boolean 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(boolean)`.

Parameters:
  `reachable` - true if network is reachable, false otherwise

### getMediaResourceMode

MediaResourceMode getMediaResourceMode()
This function returns the media resource mode for this core.

Returns:
  The media resource mode

### setMediaResourceMode

void setMediaResourceMode(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 accepting 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

### getMessageAutomaticResendingDelay

int getMessageAutomaticResendingDelay()
Returns the duration of the timer that delays the automatic resending of chat
messages.

Returns:
  the duration of the timer in seconds

### setMessageAutomaticResendingDelay

void setMessageAutomaticResendingDelay(int duration)
It sets the duration of the timer to resend a message when the channel is
broken (i.e.
the core gets an NoResponse or IOError response)

Parameters:
  `duration` - the duration of the timer in seconds. A 0 or negative number
  means that the feature is deactivated.

### getMessageSendingDelay

int getMessageSendingDelay()
Returns the duration of the timer that delays the sending of chat messages.

Returns:
  the duration of the timer in seconds

### setMessageSendingDelay

void setMessageSendingDelay(int duration)
It sets the duration of the timer that starts just after the SUBSCRIBE is sent
to delay the sending of chat messages in group chats.

Parameters:
  `duration` - the duration of the timer in seconds. A 0 or negative number
  deactivates the feature.
  warning: it is only useful to set this property if
  linphone_core_send_message_after_notify_enabled returns false

### isMicEnabled

boolean isMicEnabled()
Tells whether the microphone is enabled.

Returns:
  true if the microphone is enabled, false if disabled.

### setMicEnabled

void setMicEnabled(boolean enable)
Enables or disables 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.

### getMicGainDb

float getMicGainDb()
Get microphone gain in db.

Returns:
  The current microphone gain

### setMicGainDb

void setMicGainDb(float level)
Allow to control microphone level: gain in db.

Parameters:
  `level` - The new microphone level

### getMissedCallsCount

int getMissedCallsCount()
Gets the number of missed calls.
Once checked, this counter can be reset with `resetMissedCallsCount()`.

Returns:
  The number of missed calls.

### getMtu

int getMtu()
Returns the maximum transmission unit size in bytes.

### setMtu

void 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

### getNatAddress

@Deprecated String getNatAddress()
Deprecated.
Deprecated.
Get the public IP address of NAT being used.

Returns:
  The public IP address of NAT being used.
  deprecated: 12/10/2022 Use `getNatPolicy()`

### setNatAddress

@Deprecated void setNatAddress(String addr)
Deprecated.
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 .
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 Use `setNatPolicy(org.linphone.core.NatPolicy)`

### getNatPolicy

NatPolicy getNatPolicy()
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: `AccountParams.getNatPolicy()`

### setNatPolicy

void setNatPolicy(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: `AccountParams.setNatPolicy(org.linphone.core.NatPolicy)`

### getNativePreviewWindowId

Object getNativePreviewWindowId()
Get the native window handle of the video preview window.
see `setNativeVideoWindowId(java.lang.Object)` for details about window_id
see `setNativeVideoWindowId(java.lang.Object)` 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.
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.

### setNativePreviewWindowId

void setNativePreviewWindowId(Object windowId)
Set the native window id where the preview video (local camera) is to be
displayed.
This has to be used in conjunction with `usePreviewWindow(boolean)`. see `setNativeVideoWindowId(java.lang.Object)`
for details about window_id. If the window ID has been set to
LINPHONE_VIDEO_DISPLAY_AUTO, it will return the window in use. In automatic
mode, when no call is in progress, a preview will be activated before the
identifier is sent back.
This has to be used in conjunction with `usePreviewWindow(boolean)`. see `setNativeVideoWindowId(java.lang.Object)`
for details about window_id. If the window ID has been set to
LINPHONE_VIDEO_DISPLAY_AUTO, it will return the window in use. In automatic
mode, when no call is in progress, a preview will be activated before the
identifier is sent back.
On Android : org.linphone.mediastream.video.capture.CaptureTextureView is used
for `setNativePreviewWindowId(java.lang.Object)`. It is inherited from TextureView and
takes care of rotating the captured image from the camera and scale it to keep
it's ratio.
On Android : org.linphone.mediastream.video.capture.CaptureTextureView is used
for `setNativePreviewWindowId(java.lang.Object)`. It is inherited from TextureView and
takes care of rotating the captured image from the camera and scale it to keep
it's ratio.
On Android : org.linphone.mediastream.video.capture.CaptureTextureView is used
for `setNativePreviewWindowId(java.lang.Object)`. 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.

### isNativeRingingEnabled

boolean isNativeRingingEnabled()
Returns whether the native ringing is enabled or not.
This property is meaningful for Android platform only. When set to true, the
incoming call's ring tone is played by a Android MediaPlayer object playing the
phone's default ringtone, and manages vibrator as well. When set to false, the
incoming call's ring tone is played using liblinphone's internal ring tone
player, that is generic for all platforms.

Returns:
  True if we use the native ringing, false otherwise

### setNativeRingingEnabled

void setNativeRingingEnabled(boolean enable)
Sets whether to use the platform-dependent ringing.
This property is meaningful for Android platform only. When set to true, the
incoming call's ring tone is played by a Android MediaPlayer object playing the
phone's default ringtone, and manages vibrator as well. When set to false, the
incoming call's ring tone is played using liblinphone's internal ring tone
player, that is generic for all platforms.

Parameters:
  `enable` - True to enable native ringing, false otherwise

### getNativeVideoWindowId

Object getNativeVideoWindowId()
Get the native window handle of the video window.
see linphone_core_set_native_video_window_id for details about window_id If the
window ID has been set to LINPHONE_VIDEO_DISPLAY_AUTO and a call is in
progress, it will return the window in use. 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.
see linphone_core_set_native_video_window_id for details about window_id If the
window ID has been set to LINPHONE_VIDEO_DISPLAY_AUTO and a call is in
progress, it will return the window in use. 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.
see linphone_core_set_native_video_window_id for details about window_id If the
window ID has been set to LINPHONE_VIDEO_DISPLAY_AUTO and a call is in
progress, it will return the window in use. 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.

### setNativeVideoWindowId

void setNativeVideoWindowId(Object windowId)
Set the native video window id where the video is to be displayed.
On Desktop platforms(MacOS, Linux, Windows):
-By default, the value of window_id is set to LINPHONE_VIDEO_DISPLAY_AUTO for
historical reasons.
-By default, the display filter is "MSOGL". That means : If window_id is null
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 Win32 (HWND type).
The C# Wrapper on Windows for UWP takes directly a SwapChainPane 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 `setVideoDisplayFilter(java.lang.String)`. Rendering is stopped
by passing LINPHONE_VIDEO_DISPLAY_NONE or LINPHONE_VIDEO_DISPLAY_AUTO. `getNativeVideoWindowId()`
returns a QQuickFramebufferObject::Renderer and `createNativeVideoWindowId(java.lang.Object)`
creates one. After a creation, `setNativeVideoWindowId(java.lang.Object)` must be called
with the new object.
The C# Wrapper on Windows for UWP takes directly a SwapChainPane 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 `setVideoDisplayFilter(java.lang.String)`. Rendering is stopped
by passing LINPHONE_VIDEO_DISPLAY_NONE or LINPHONE_VIDEO_DISPLAY_AUTO. `getNativeVideoWindowId()`
returns a QQuickFramebufferObject::Renderer and `createNativeVideoWindowId(java.lang.Object)`
creates one. After a creation, `setNativeVideoWindowId(java.lang.Object)` must be called
with the new object.
The C# Wrapper on Windows for UWP takes directly a SwapChainPane 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 `setVideoDisplayFilter(java.lang.String)`. Rendering is stopped
by passing LINPHONE_VIDEO_DISPLAY_NONE or LINPHONE_VIDEO_DISPLAY_AUTO. `getNativeVideoWindowId()`
returns a QQuickFramebufferObject::Renderer and `createNativeVideoWindowId(java.lang.Object)`
creates one. After a creation, `setNativeVideoWindowId(java.lang.Object)` must be called
with the new object.
The C# Wrapper on Windows for UWP takes directly a SwapChainPane 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 `setVideoDisplayFilter(java.lang.String)`. Rendering is stopped
by passing LINPHONE_VIDEO_DISPLAY_NONE or LINPHONE_VIDEO_DISPLAY_AUTO. `getNativeVideoWindowId()`
returns a QQuickFramebufferObject::Renderer and `createNativeVideoWindowId(java.lang.Object)`
creates one. After a creation, `setNativeVideoWindowId(java.lang.Object)` must be called
with the new object.
The C# Wrapper on Windows for UWP takes directly a SwapChainPane 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 `setVideoDisplayFilter(java.lang.String)`. Rendering is stopped
by passing LINPHONE_VIDEO_DISPLAY_NONE or LINPHONE_VIDEO_DISPLAY_AUTO. `getNativeVideoWindowId()`
returns a QQuickFramebufferObject::Renderer and `createNativeVideoWindowId(java.lang.Object)`
creates one. After a creation, `setNativeVideoWindowId(java.lang.Object)` 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.
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.

### setNetworkReachable

void setNetworkReachable(boolean 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

### isNoiseSuppressionEnabled

boolean isNoiseSuppressionEnabled()
Indicates whether software noise suppression is enabled.
This does not provide information about hardware noise suppression.

Returns:
  true if the software noise suppression is enabled, false if disabled.

### setNoiseSuppressionEnabled

void setNoiseSuppressionEnabled(boolean enable)
Enables or disables the noise suppression, if a noise suppression filter can be
used.
This actually controls software noise suppression only. When 'enable' is set to
false, software noise suppression is disabled, but hardware one, if available,
remains activated. When set to true, software noise suppression is enabled and
hardware one, if available, remains activated. The software noise suppression
cannot be enabled on iOS nor Android devices.

Parameters:
  `enable` - true to enable the noise suppression, false to disable it.

### getNortpOnholdTimeout

int getNortpOnholdTimeout()
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

### setNortpOnholdTimeout

void 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: linphone_core_get_nortp_on_hold_timeout() for details.

### getNortpTimeout

int getNortpTimeout()
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

### setNortpTimeout

void setNortpTimeout(int seconds)
Sets the no-rtp timeout value in seconds.

Parameters:
  `seconds` - The no-rtp timeout value to use in seconds
  see: `getNortpTimeout()` for details.

### getOutputAudioDevice

AudioDevice getOutputAudioDevice()
Gets the output audio device for the current call.

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

### setOutputAudioDevice

void setOutputAudioDevice(AudioDevice audioDevice)
Sets the given `AudioDevice` as output for all active calls.

Parameters:
  `audioDevice` - The `AudioDevice`. null does nothing.

### getPlayFile

String getPlayFile()
Get the wav file that is played when files are used instead of soundcards (see
`setUseFiles(boolean)`).
The file is a 16 bit linear wav file.

Returns:
  The path to the file that is played when files are used instead of
  soundcards.

### setPlayFile

void setPlayFile(String file)
Sets a wav file to be played when files are used instead of soundcards (see
`setUseFiles(boolean)`).
The file must be a 16 bit linear wav file.

Parameters:
  `file` - The path to the file to be played when files are used instead of
  soundcards.

### getPlaybackDevice

@Deprecated String getPlaybackDevice()
Deprecated.
Gets the name of the currently assigned sound device for playback.

Returns:
  The name of the currently assigned sound device for playback.
  deprecated: 11/09/2024 use `getOutputAudioDevice()` or `getDefaultOutputAudioDevice()`
  instead.

### setPlaybackDevice

@Deprecated int setPlaybackDevice(String devid)
Deprecated.
Sets the sound device used for playback.

Parameters:
  `devid` - The device name as returned by linphone_core_get_sound_devices
Returns:
  0
  deprecated: 11/09/2024 use `setOutputAudioDevice(org.linphone.core.AudioDevice)` or `setDefaultOutputAudioDevice(org.linphone.core.AudioDevice)`
  instead.

### getPlaybackGainDb

float getPlaybackGainDb()
Gets playback gain in db (before entering sound card).

Returns:
  The current playback gain

### setPlaybackGainDb

void setPlaybackGainDb(float level)
Allow to control play level before entering sound card: gain in db.

Parameters:
  `level` - The new play level

### getPreferredFramerate

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

Returns:
  frame rate in number of frames per seconds.

### setPreferredFramerate

void 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.

### getPreferredVideoDefinition

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

Returns:
  The preferred `VideoDefinition`

### setPreferredVideoDefinition

void setPreferredVideoDefinition(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

void setPreferredVideoDefinitionByName(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

### getPresenceModel

PresenceModel getPresenceModel()
Gets my presence model.

Returns:
  A `PresenceModel` object, or null if no presence model has been
  set.

### setPresenceModel

void setPresenceModel(PresenceModel presence)
Sets my presence model.

Parameters:
  `presence` - `PresenceModel`

### getPreviewVideoDefinition

VideoDefinition getPreviewVideoDefinition()
Get the definition of the captured video.

Returns:
  The captured `VideoDefinition` if it was previously set by `setPreviewVideoDefinition(org.linphone.core.VideoDefinition)`
  , otherwise a 0x0 LinphoneVideoDefinition.
  see: `setPreviewVideoDefinition(org.linphone.core.VideoDefinition)`

### setPreviewVideoDefinition

void setPreviewVideoDefinition(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

void setPreviewVideoDefinitionByName(String name)
-Set the video definition for the captured (preview) video by its name. Call
`Factory.getSupportedVideoDefinitions()` to have a list of supported video
definitions. Video resolution names are: qcif, svga, cif, vga, 4cif, svga ...

Parameters:
  `name` - The name of the definition to set

### getPrimaryContact

String getPrimaryContact()
Returns the default identity when no account is used.
This SIP address usually contains a private ip address, and may not be routable
globally.

Returns:
  the primary contact identity

### setPrimaryContact

int setPrimaryContact(String contact)
Sets the local "from" SIP identity used for calls made out of any configured
`Account`.
Not using a SIP account is not recommended.
This data is used in absence of any proxy configuration or when no account
configuration is set. See `Account`

Parameters:
  `contact` - the contact to set
Returns:
  0 if successful, -1 otherwise

### getPrimaryContactAddress

Address getPrimaryContactAddress()
Same as `getPrimaryContact()` but the result is a `Address` object
instead of a string.

Returns:
  a `Address` object.

### getPrimaryContactParsed

@Deprecated Address getPrimaryContactParsed()
Deprecated.
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

String getProvisioningUri()
Get provisioning URI.

Returns:
  the provisioning URI.

### setProvisioningUri

int setProvisioningUri(String uri)
Sets the URI where to download xml configuration file at startup.
http://, https:// and file:// uris are supported. 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 URI will take
place during next `start()` invocation. The format the xml file is briefly
documented here:
https://wiki.linphone.org/xwiki/wiki/public/view/Lib/Features/Remote%20Provisioning/
http://, https:// and file:// uris are supported. 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 URI will take
place during next `start()` invocation. The format the xml file is briefly
documented here:
https://wiki.linphone.org/xwiki/wiki/public/view/Lib/Features/Remote%20Provisioning/
http://, https:// and file:// uris are supported. 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 URI will take
place during next `start()` invocation. The format the xml file is briefly
documented here:
https://wiki.linphone.org/xwiki/wiki/public/view/Lib/Features/Remote%20Provisioning/
http://, https:// and file:// uris are supported. 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 URI will take
place during next `start()` invocation. The format the xml file is briefly
documented here:
https://wiki.linphone.org/xwiki/wiki/public/view/Lib/Features/Remote%20Provisioning/
http://, https:// and file:// uris are supported. 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 URI will take
place during next `start()` invocation. The format the xml file is briefly
documented here:
https://wiki.linphone.org/xwiki/wiki/public/view/Lib/Features/Remote%20Provisioning/

Parameters:
  `uri` - the uri to use in order to obtain the configuration. Passing null
  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.

### getProxyConfigList

@Deprecated ProxyConfig[] getProxyConfigList()
Deprecated.
Returns an unmodifiable list of entered proxy configurations.

Returns:
  A list of `ProxyConfig`. A list of `ProxyConfig` objects.
  deprecated: 04/09/2024 Use `getAccountList()`

### getPushIncomingCallTimeout

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

Returns:
  The current push incoming call timeout in seconds

### setPushIncomingCallTimeout

void setPushIncomingCallTimeout(int seconds)
Configures 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

### getPushNotificationConfig

PushNotificationConfig getPushNotificationConfig()
Gets the push notification configuration object if it exists.

Returns:
  the `PushNotificationConfig` if it exists, null otherwise.

### isPushNotificationEnabled

boolean isPushNotificationEnabled()
Gets whether push notifications are enabled or not (Android invalid input: '&' 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

### setPushNotificationEnabled

void setPushNotificationEnabled(boolean enable)
Enables or disables push notifications on Android invalid input: '&' 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

### isQrcodeVideoPreviewEnabled

boolean isQrcodeVideoPreviewEnabled()
Tells whether QRCode is enabled in the preview.

Returns:
  A boolean value telling whether QRCode is enabled in the preview.

### setQrcodeVideoPreviewEnabled

void setQrcodeVideoPreviewEnabled(boolean enable)
Controls QRCode scanning enablement.
When enabled, several QRCodes can be decoded. The recognized QR code are
notified through the LinphoneCoreCbs interface (see
linphone_core_cbs_set_qrcode_found)

Parameters:
  `enable` - A boolean value telling whether to enable QRCode in the preview.

### getQueuedMessageResendPeriod

long getQueuedMessageResendPeriod()
Gets the queued message resend period.

Returns:
  the number of second to resend a queued message

### setQueuedMessageResendPeriod

void setQueuedMessageResendPeriod(long seconds)
Set the queued message resend period.
It is the number of seconds after the first attempt to send the message.

Parameters:
  `seconds` - number of seconds after the first attempt to send a message. A
  negative value means all queued messages are resent at startup.

### isRealtimeTextEnabled

boolean isRealtimeTextEnabled()
Gets if realtime text is enabled or not (RFC4103).

Returns:
  true if realtime text is enabled, false otherwise

### getRealtimeTextKeepaliveInterval

int getRealtimeTextKeepaliveInterval()
Gets keep alive interval of real time text (RFC4103).

Returns:
  keep alive interval of real time text.

### setRealtimeTextKeepaliveInterval

void setRealtimeTextKeepaliveInterval(int interval)
Set keep alive interval for real time text (RFC4103).

Parameters:
  `interval` - The keep alive interval of real time text, 25000 by default.

### isRecordAwareEnabled

boolean isRecordAwareEnabled()
Gets if the record aware feature is enabled or not.

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

### setRecordAwareEnabled

void setRecordAwareEnabled(boolean enable)
Enables the record-aware feature that will warn other users when doing
recording during a call.
See `CallListener` for being notified when a call is being recorded.

Parameters:
  `enable` - true to activate the record aware feature, false to disable it.

### getRecordFile

String getRecordFile()
Get the wav file where incoming stream is recorded, when files are used instead
of soundcards (see `setUseFiles(boolean)`).
This feature is different from call recording (`CallParams.setRecordFile(java.lang.String)`
) The file is a 16 bit linear wav file.

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

### setRecordFile

void setRecordFile(String file)
Sets a wav file where incoming stream is to be recorded, when files are used
instead of soundcards (see `setUseFiles(boolean)`).
This feature is different from call recording (`CallParams.setRecordFile(java.lang.String)`
) The file will be a 16 bit linear wav file.

Parameters:
  `file` - The path to the file where incoming stream is to be recorded.

### getRegisterOnlyWhenNetworkIsUp

boolean getRegisterOnlyWhenNetworkIsUp()
Gets if accounts will wait for network to be connected before trying to
REGISTER or not.

Returns:
  true if accounts will wait for internet connection before trying to
  REGISTER, false otherwise.

### setRegisterOnlyWhenNetworkIsUp

void setRegisterOnlyWhenNetworkIsUp(boolean registerOnlyWhenNetworkIsUp)
Sets if accounts will wait for network to be connected before trying to
REGISTER.

Parameters:
  `registerOnlyWhenNetworkIsUp` - true to wait for an internet connection
  before trying to REGISTER, false to do it no matter the network state.

### getRemainingDownloadFileCount

int getRemainingDownloadFileCount()
Returns how many attachments are yet to be downloaded.

Returns:
  how many attachments are yet to be downloaded.

### getRemainingUploadFileCount

int getRemainingUploadFileCount()
Returns how many attachments are yet to be uploaded.

Returns:
  how many attachments are yet to be uploaded.

### getRemoteContactDirectories

RemoteContactDirectory[] getRemoteContactDirectories()
Gets the list of currently configured LDAP or CardDAV remote servers used by
`MagicSearch`.

Returns:
  the list of `RemoteContactDirectory` currently configured, if
  any. A list of `RemoteContactDirectory` objects.

### getRemoteRingbackTone

String getRemoteRingbackTone()
Get the ring back tone played to far end during incoming calls.

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

### setRemoteRingbackTone

void setRemoteRingbackTone(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.

### isRetransmissionOnNackEnabled

boolean isRetransmissionOnNackEnabled()
Gets whether the use RTCP NACK for reliability of video transmission is enabled
or not.
Using RTCP NACK feedback is one of the available techniques to help mitigate
the loss of video RTP packets. It gives good results when round trip time is
low. It is disabled by default.

Returns:
  A boolean value telling whether NACK usage is enabled or not

### setRetransmissionOnNackEnabled

void setRetransmissionOnNackEnabled(boolean enable)
Sets whether the use RTCP NACK for reliability of video transmission is enabled
or not.
Using RTCP NACK feedback is one of the available techniques to help mitigate
the loss of video RTP packets. It gives good results when round trip time is
low. It is disabled by default.

Parameters:
  `enable` - A boolean value telling whether to enable NACK context

### getRing

String getRing()
Returns the path to the wav file used for ringing.

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

### setRing

void setRing(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 [sound]
use_native_ringing is enabled, in which case we use the device ringtone.
The file must be a wav 16bit linear. If null, ringing is disable unless [sound]
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 [sound] use_native_ringing.

### getRingDuringIncomingEarlyMedia

boolean getRingDuringIncomingEarlyMedia()
Tells whether the ring play is enabled during an incoming early media call.

### setRingDuringIncomingEarlyMedia

void setRingDuringIncomingEarlyMedia(boolean 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.

### getRingback

String getRingback()
Returns the path to the wav file used for ringing back.

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

### setRingback

void setRingback(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.

### getRingerDevice

@Deprecated String getRingerDevice()
Deprecated.
Gets the name of the currently assigned sound device for ringing.

Returns:
  The name of the currently assigned sound device for ringing.
  deprecated: 29/08/2025 Use a combination of `getExtendedAudioDevices()`
  and `AudioDevice.getUseForRinging()` instead.

### setRingerDevice

@Deprecated int setRingerDevice(String devid)
Deprecated.
Sets the sound device used for ringing.

Parameters:
  `devid` - The device name as returned by linphone_core_get_sound_devices
Returns:
  0
  deprecated: 29/08/2025 Use a combination of `getExtendedAudioDevices()`
  and `AudioDevice.setUseForRinging(boolean)` instead.

### getRootCa

String 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.

### setRootCa

void setRootCa(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

void setRootCaData(String data)
Sets the trusted root CAs (PEM format)

Parameters:
  `data` - The trusted root CAs as a string

### isRtpBundleEnabled

boolean isRtpBundleEnabled()
Returns whether RTP bundle mode (also known as Media Multiplexing) is enabled.
See https://datatracker.ietf.org/doc/html/rfc8843 for more information.
See https://datatracker.ietf.org/doc/html/rfc8843 for more information.

Returns:
  a boolean indicating the enablement of rtp bundle mode.

### setRtpBundleEnabled

void setRtpBundleEnabled(boolean 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`
. RTP Bundle mode is required for video conferencing.
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`
. RTP Bundle mode is required for video conferencing.

Parameters:
  `value` - a boolean to indicate whether the feature is to be enabled.

### isSdp200AckEnabled

boolean isSdp200AckEnabled()
Media offer control param for SIP INVITE.

Returns:
  true if INVITE has to be sent whitout SDP.

### setSdp200AckEnabled

void setSdp200AckEnabled(boolean enable)
Control when media offer is sent in SIP INVITE.
Enabling this type of SIP call flow is not recommended. This setting is mainly
for internal testing.

Parameters:
  `enable` - true if INVITE has to be sent whitout SDP.

### isSelfViewEnabled

boolean isSelfViewEnabled()
Tells whether video self view during call is enabled or not.

Returns:
  A boolean value telling whether self view is enabled
  see:
  invalid reference

      #enableSelfView

  for details.

### setSelfViewEnabled

@Deprecated void setSelfViewEnabled(boolean enable)
Deprecated.
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.
  deprecated: 04/09/2024 Prefer using `setNativePreviewWindowId(java.lang.Object)` to assign
  a view to render the local image.

### isSendMessageAfterNotifyEnabled

boolean isSendMessageAfterNotifyEnabled()
Returns enablement of sending chat messages on group chats after receiving the
NOTIFY full state.

Returns:
  true if the core waits for the NOTIFY full statet before sending
  messages to group chats, false otherwise.

### setSendMessageAfterNotifyEnabled

void setSendMessageAfterNotifyEnabled(boolean enabled)
Enable sending of chat message on group chats only after receiving the NOTIFY
full state If it is disabled, as it is the default value, message will be sent
after the delay set by linphone_core_get_message_sending_delay
Enable sending of chat message on group chats only after receiving the NOTIFY
full state If it is disabled, as it is the default value, message will be sent
after the delay set by linphone_core_get_message_sending_delay

Parameters:
  `enabled` - true if enabled, false otherwise.

### setSenderNameHiddenInForwardMessageEnabled

void setSenderNameHiddenInForwardMessageEnabled(boolean enable)
Enables whether or not to hide sender name in forwarded message.

Parameters:
  `enable` - whether or not to enable the feature

### isSessionExpiresEnabled

boolean isSessionExpiresEnabled()
Check if the Session Timers feature is enabled.

Returns:
  true if session timers are enabled, false otherwise

### setSessionExpiresEnabled

void setSessionExpiresEnabled(boolean enabled)
Enable the Session Timers support.

Parameters:
  `enabled` - Enable or disable it

### getSessionExpiresMinValue

int getSessionExpiresMinValue()
Returns the session expires min value, 90 by default.

Returns:
  The minSE value

### setSessionExpiresMinValue

void setSessionExpiresMinValue(int min)
Sets the session expires minSE value, forced to a minimum of 90 by default.

Parameters:
  `min` - The minSE value

### getSessionExpiresRefresherValue

SessionExpiresRefresher getSessionExpiresRefresherValue()
Returns the session expires refresher value.

Returns:
  The `SessionExpiresRefresher` configuration refresher value

### setSessionExpiresRefresherValue

void setSessionExpiresRefresherValue(SessionExpiresRefresher refresher)
Sets the session expires refresher value.

Parameters:
  `refresher` - The `SessionExpiresRefresher` configuration value

### getSessionExpiresValue

int getSessionExpiresValue()
Returns the session expires value.

Returns:
  The session timer expire value

### setSessionExpiresValue

void setSessionExpiresValue(int expires)
Sets the session expires value, 0 by default.

Parameters:
  `expires` - The session expires value

### getSipDscp

int getSipDscp()
Gets the DSCP field for SIP signaling channel.
The DSCP defines the quality of service in IP packets.

Returns:
  The current DSCP value

### setSipDscp

void setSipDscp(int dscp)
Sets the DSCP field for SIP signaling channel.
The DSCP defines the quality of service in IP packets. note: It is usually
useless or a bad idea to try to play with DSCP bits unless having full control
on the network.
warning: Setting the DSCP bits is more or less well supported by operating
systems and sometimes requires to disable IPv6.

Parameters:
  `dscp` - The DSCP value to set

### setSipNetworkReachable

void setSipNetworkReachable(boolean 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(boolean)`.

Parameters:
  `reachable` - true if network is reachable, false otherwise

### getSipTransportTimeout

int getSipTransportTimeout()
Gets 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.

### setSipTransportTimeout

void setSipTransportTimeout(int timeoutMs)
Sets 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.

### getSoundDevicesList

@Deprecated String[] getSoundDevicesList()
Deprecated.
Gets the list of the available sound devices.

Returns:
  An unmodifiable array of strings contanining the names of the available
  sound devices that is null terminated. A list of char * objects.
  deprecated: 10/04/2021 Use `getAudioDevices()` instead.

### getSrtpCryptoSuites

String getSrtpCryptoSuites()
Gets the crypto suites available to the core.

Returns:
  a comma separated list of supported suites

### setSrtpCryptoSuites

void setSrtpCryptoSuites(String suites)
Sets the crypto suites available to the core.

Parameters:
  `suites` - comma separated list of supported suites

### getStaticPicture

String 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.

### setStaticPicture

int setStaticPicture(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.

### getStaticPictureFps

float getStaticPictureFps()
Get the frame rate for static picture.

Returns:
  The frame rate used for static picture.

### setStaticPictureFps

int setStaticPictureFps(float fps)
Set the frame rate for static picture.

Parameters:
  `fps` - The new frame rate to use for static picture.

### getStunServer

@Deprecated String getStunServer()
Deprecated.
Get the STUN server address being used.

Returns:
  The STUN server address being used.
  deprecated: 04/09/2024 use `getNatPolicy()` or `AccountParams.getNatPolicy()`
  .

### setStunServer

@Deprecated void setStunServer(String server)
Deprecated.
Set the STUN server address to use when the firewall policy is set to STUN.

Parameters:
  `server` - The STUN server address to use.
  deprecated: 04/09/2024 use `setNatPolicy(org.linphone.core.NatPolicy)` or `AccountParams.setNatPolicy(org.linphone.core.NatPolicy)`
  .

### getSupportedFileFormatsList

String[] getSupportedFileFormatsList()
Returns a list of strings containing the file format types supported for call
recording.

Returns:
  The supported formats, typically 'wav', 'mka', 'mkv', 'smff'. A list of
  char * objects.

### setSupportedTag

void setSupportedTag(String tags)
Set the SIP supported tags.

Parameters:
  `tags` - The SIP feature tags to set

### getTag100RelSupportLevel

SupportLevel getTag100RelSupportLevel()
Gets the support level of the 100rel attribute.

Returns:
  The 100 rel support level

### setTag100RelSupportLevel

void setTag100RelSupportLevel(SupportLevel level)
Defines what level of support is provided to the 100rel attribute.

Parameters:
  `level` - support level of 100rel

### setTcapLineMergingEnabled

void setTcapLineMergingEnabled(boolean merge)
Defines 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.

### isTcapLinesMergingEnabled

boolean isTcapLinesMergingEnabled()
Checks 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.

### getTextPayloadTypes

PayloadType[] getTextPayloadTypes()
Returns the list of the available real-time text payload types.

Returns:
  A freshly allocated list of the available payload types. A list of
  `PayloadType` objects.

### setTextPayloadTypes

void setTextPayloadTypes(PayloadType[] payloadTypes)
Redefines the list of the available payload types for real-time text.

Parameters:
  `payloadTypes` - The new list of payload types. A list of `PayloadType`
  objects.

### getTextPort

int getTextPort()
Gets the UDP port used for text streaming.

Returns:
  The UDP port used for text streaming

### setTextPort

void 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

### getTextPortsRange

Range getTextPortsRange()
Get the text port range from which is randomly chosen the UDP port used for
text streaming.

Returns:
  a `Range` object

### getTlsCert

String getTlsCert()
Gets the TLS certificate.

Returns:
  the TLS certificate or null if not set yet.

### setTlsCert

void setTlsCert(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.

### getTlsCertPath

String getTlsCertPath()
Gets the path to the TLS certificate file.

Returns:
  the TLS certificate path or null if not set yet.

### setTlsCertPath

void setTlsCertPath(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.

### getTlsKey

String getTlsKey()
Gets the TLS key.

Returns:
  the TLS key or null if not set yet.

### setTlsKey

void setTlsKey(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.

### getTlsKeyPath

String getTlsKeyPath()
Gets the path to the TLS key file.

Returns:
  the TLS key path or null if not set yet.

### setTlsKeyPath

void setTlsKeyPath(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.

### getTransports

Transports 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

### setTransports

int setTransports(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 chosen randomly
by the system. A value of LC_SIP_TRANSPORT_DONTBIND (-2) means that the socket
will not be bound explicitly, 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

### getTransportsUsed

Transports 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

Tunnel getTunnel()
Gets tunnel instance if available.

Returns:
  `Tunnel` or null if not available.

### getUnreadChatMessageCount

int getUnreadChatMessageCount()
Returns the global unread chat message count.

Returns:
  The global unread chat message count.

### getUnreadChatMessageCountFromActiveLocals

int getUnreadChatMessageCountFromActiveLocals()
Returns the unread chat message count for all active local address.
(Primary contact + proxy configs.)

Returns:
  The unread chat message count.

### getUploadBandwidth

int getUploadBandwidth()
Retrieve the maximum available upload bandwidth.
This value was set by `setUploadBandwidth(int)`.

Returns:
  the upload bandiwdth in kbits/s, 0 for unknown.

### setUploadBandwidth

void 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 invalid input: '&' video codec's
output bitrate. By default, the download and upload bandwidth are unknowns (set
to zero), in which case adaptive algorithms are run during calls in order to
detect available bandwidth and adapt audio and video bitrate usage. see:
invalid reference

    #enableAdaptiveRateControl

.

Parameters:
  `bandwidth` - the bandwidth in kbits/s, 0 for unknown.

### getUploadPtime

int getUploadPtime()
Gets 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

### setUploadPtime

void setUploadPtime(int ptime)
Sets 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

### getUpnpExternalIpaddress

String getUpnpExternalIpaddress()
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

UpnpState getUpnpState()
Return the internal state of uPnP.

Returns:
  an LinphoneUpnpState.

### getUseFiles

boolean 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.

### setUseFiles

void setUseFiles(boolean 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.

### getUseInfoForDtmf

boolean getUseInfoForDtmf()
Indicates whether SIP INFO can be used to send digits.

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

### setUseInfoForDtmf

void setUseInfoForDtmf(boolean useInfo)
Sets whether SIP INFO method can be used to send digits.
This non-standard but common practice.

Parameters:
  `useInfo` - A boolean value telling whether to use SIP INFO to send digits

### getUseRfc2833ForDtmf

boolean getUseRfc2833ForDtmf()
Indicates whether RFC2833/RFC4633 can be used to send digits.

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

### setUseRfc2833ForDtmf

void setUseRfc2833ForDtmf(boolean useRfc2833)
Sets whether RFC2833 or RFC4633 can be to be used to send digits.
This is preferred method to reliabily transmit DTMFs codes. There are two
settings relevant to dtmf sending: `setUseRfc2833ForDtmf(boolean)` and `setUseInfoForDtmf(boolean)`
; Resulting in 4 cases:
-If neither are enabled, don't send anything.
-If one is enabled but not the other, then send the DTMF using the one the that
is enabled.
-If both are enabled, use RFC2833, then SIP INFO as fallback only if the media
does not support telephone-events. In that last sub-case, note that the DTMF
will also be sent modulated into the audio signal.

Parameters:
  `useRfc2833` - A boolean value telling whether to use RFC2833 to send digits

### getUserAgent

String getUserAgent()
Gets the user-agent as a string.

Returns:
  liblinphone's user agent as a string.

### getUserCertificatesPath

String getUserCertificatesPath()
Get the path to the directory storing the user's certificates.

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

### setUserCertificatesPath

void setUserCertificatesPath(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.

### isVibrationOnIncomingCallEnabled

boolean 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

### setVibrationOnIncomingCallEnabled

void setVibrationOnIncomingCallEnabled(boolean enable)
Enable vibration will incoming call is ringing (Android only).

Parameters:
  `enable` - true to enable the vibration on incoming call, false otherwise

### getVideoActivationPolicy

VideoActivationPolicy getVideoActivationPolicy()
Get the default policy for video.
See `setVideoActivationPolicy(org.linphone.core.VideoActivationPolicy)` for more details.

Returns:
  The currently used video policy

### setVideoActivationPolicy

void setVideoActivationPolicy(VideoActivationPolicy policy)
Sets the default policy for video.
This policy defines whether:
-video shall be initiated by default for outgoing calls
-video shall be accepted by default for incoming calls
-if video shall be accepted by default, what direction do we want
(send/receive, receive only, etc...)

Parameters:
  `policy` - The `VideoActivationPolicy` to use

### isVideoAdaptiveJittcompEnabled

boolean isVideoAdaptiveJittcompEnabled()
Tells whether the video adaptive jitter compensation is enabled.

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

### setVideoAdaptiveJittcompEnabled

void setVideoAdaptiveJittcompEnabled(boolean enable)
Enables or disables the video adaptive jitter compensation.

Parameters:
  `enable` - true to enable the video adaptive jitter compensation, false to
  disable it.

### isVideoCaptureEnabled

boolean isVideoCaptureEnabled()
Tells whether video capture is enabled.

Returns:
  true if video capture is enabled, false if disabled.

### setVideoCaptureEnabled

void setVideoCaptureEnabled(boolean 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.

### getVideoCodecPriorityPolicy

CodecPriorityPolicy getVideoCodecPriorityPolicy()
Gets the current priority policy for video codecs (payload types).
See `CodecPriorityPolicy` for more details.

Returns:
  the current `CodecPriorityPolicy`

### setVideoCodecPriorityPolicy

void setVideoCodecPriorityPolicy(CodecPriorityPolicy policy)
Sets 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

### getVideoDevice

String getVideoDevice()
Returns the name of the currently active video device.

Returns:
  The name of the currently active video device.

### setVideoDevice

int setVideoDevice(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

### getVideoDevicesList

String[] getVideoDevicesList()
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 null terminated. A list of char * objects.

### isVideoDisplayEnabled

boolean isVideoDisplayEnabled()
Tells whether video display is enabled.

Returns:
  true if video display is enabled, false if disabled.

### setVideoDisplayEnabled

void setVideoDisplayEnabled(boolean 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.

### getVideoDisplayFilter

String getVideoDisplayFilter()
Gets the name of the mediastreamer2 engine (filter) used for rendering video.

Returns:
  The currently selected video display filter.

### setVideoDisplayFilter

void setVideoDisplayFilter(String filterName)
Sets the name of the mediastreamer2 engine (filter) to be used for rendering
video.

Parameters:
  `filterName` - the filter name to use or null to use default.

### getVideoDscp

int getVideoDscp()
Gets the DSCP field for outgoing video streams.
The DSCP defines the quality of service in IP packets.

Returns:
  The current DSCP value

### setVideoDscp

void setVideoDscp(int dscp)
Sets the DSCP field for outgoing video streams.
The DSCP defines the quality of service in IP packets. When RTP bundling is
negociated during the call (see
invalid reference

    #enableRtpBundle

), the video packets
are sent through the audio RTP/UDP connection, which leaves the video dscp
setting wihtout effect. note: It is usually useless or a bad idea to try to
play with DSCP bits unless having full control on the network.
warning: Setting the DSCP bits is more or less well supported by operating
systems and sometimes requires to disable IPv6.

Parameters:
  `dscp` - The DSCP value to set

### isVideoEnabled

boolean isVideoEnabled()
Returns true if either capture or display is enabled, false otherwise.
same as (
invalid reference

    #videoCaptureEnabled

|
invalid reference

    #videoDisplayEnabled

)

Returns:
  true if either capture or display is enabled, false otherwise.

### getVideoJittcomp

int getVideoJittcomp()
Returns the nominal video jitter buffer size in milliseconds.

Returns:
  The nominal video jitter buffer size in milliseconds

### setVideoJittcomp

void 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

### getVideoMulticastAddr

String getVideoMulticastAddr()
Use to get multicast address to be used for video stream.

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

### setVideoMulticastAddr

int setVideoMulticastAddr(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

### isVideoMulticastEnabled

boolean isVideoMulticastEnabled()
Use to get multicast state of video stream.

Returns:
  true if subsequent calls will propose multicast ip set by `setVideoMulticastAddr(java.lang.String)`

### setVideoMulticastEnabled

void setVideoMulticastEnabled(boolean 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(java.lang.String)`

### getVideoMulticastTtl

int getVideoMulticastTtl()
Use to get multicast ttl to be used for video stream.

Returns:
  a time to leave value

### setVideoMulticastTtl

int 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

### getVideoPayloadTypes

PayloadType[] getVideoPayloadTypes()
Returns the list of the available video payload types (codecs), in their order
of preference.

Returns:
  A freshly allocated list of the available payload types. A list of
  `PayloadType` objects.

### setVideoPayloadTypes

void setVideoPayloadTypes(PayloadType[] payloadTypes)
Redefines the list of the available video payload types (codecs).
The payload type are listed from higher priority to lowest priority. It is
worth to note that the set of `PayloadType` objects assigned here need to
be the same as the one returned by `getVideoPayloadTypes()`. The purpose
of the setter is to let application modify their order of preference. In
particular, including in the provided list a payload type not supported has no
effect. Removing specific payload types from the original list has no effect
too: missing payload types will be automatically added. In order to disable a
specific codec, applications shall use `PayloadType.enable(boolean)` instead.
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(org.linphone.core.CodecPriorityPolicy)`

Parameters:
  `payloadTypes` - The new list of codecs. The core does not take ownership on
  it. A list of `PayloadType` objects.

### getVideoPort

int getVideoPort()
Gets the UDP port used for video streaming.

Returns:
  The UDP port used for video streaming

### setVideoPort

void 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

### getVideoPortsRange

Range getVideoPortsRange()
Get the video port range from which is randomly chosen the UDP port used for
video streaming.

Returns:
  a `Range` object

### getVideoPreset

String getVideoPreset()
Get the video preset used for video calls.

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

### setVideoPreset

void setVideoPreset(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 null to use the
  default video preset).

### isVideoPreviewEnabled

boolean isVideoPreviewEnabled()
Tells whether video preview is enabled.

Returns:
  A boolean value telling whether video preview is enabled

### setVideoPreviewEnabled

void setVideoPreviewEnabled(boolean 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.

### setVideoSourceReuseEnabled

void setVideoSourceReuseEnabled(boolean 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 during 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.

### isWifiOnlyEnabled

boolean isWifiOnlyEnabled()
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

### setWifiOnlyEnabled

void setWifiOnlyEnabled(boolean 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

### isZeroRtpPortForStreamInactiveEnabled

boolean isZeroRtpPortForStreamInactiveEnabled()
Checks 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.

### setZeroRtpPortForStreamInactiveEnabled

void setZeroRtpPortForStreamInactiveEnabled(boolean enable)
Defines 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.

### getZrtpAvailableKeyAgreementList

ZrtpKeyAgreement[] 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. A list of `ZrtpKeyAgreement` objects.

### isZrtpGoClearEnabled

boolean isZrtpGoClearEnabled()
Checks if the ZRTP go clear is enabled or not.

Returns:
  true if ZTRP go clear is enabled; false otherwise.

### setZrtpGoClearEnabled

void setZrtpGoClearEnabled(boolean enabled)
Defines whether ZRTP go clear is enabled.

Parameters:
  `enabled` - true to enable ZRTP go clear; false otherwise.

### getZrtpKeyAgreementList

ZrtpKeyAgreement[] 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. A list of `ZrtpKeyAgreement` objects.

### setZrtpKeyAgreementSuites

void setZrtpKeyAgreementSuites(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 A list of `ZrtpKeyAgreement` objects.

### getZrtpSecretsFile

String getZrtpSecretsFile()
Gets the path to the file storing the zrtp secrets cache.

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

### setZrtpSecretsFile

void setZrtpSecretsFile(String file)
Sets 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.

### abortAuthentication

void abortAuthentication(AuthInfo info)
This method is used to abort a user authentication request initiated by `Core`
from the authentication_requested callback of `CoreListener`.
note: this function currently does not take into account the 'info' parameter.
All pending authentication requests are aborted.

Parameters:
  `info` - the `AuthInfo` for which to abort authentication

### activateAudioSession

void activateAudioSession(boolean 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.

### addAccount

int addAccount(Account account)
Adds 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

@Deprecated int addAllToConference()
Deprecated.
Adds all 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.
  deprecated: 23/01/2025 Use `Conference.inviteParticipants(org.linphone.core.Address[], org.linphone.core.CallParams)` instead.

### addAuthInfo

void addAuthInfo(AuthInfo info)
Adds authentication information to the `Core`.
These nformation will be used during all SIP or HTTP transactions that require
authentication.

Parameters:
  `info` - The `AuthInfo` to add.

### addContentTypeSupport

void addContentTypeSupport(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

void addFriendList(FriendList list)
Add a friend list.

Parameters:
  `list` - `FriendList` object

### addLdap

@Deprecated void addLdap(Ldap ldap)
Deprecated.
Add or update a LDAP server and save it to the configuration.

Parameters:
  `ldap` - The `Ldap` object to add/update.
  deprecated: 18/11/2024 use `addRemoteContactDirectory(org.linphone.core.RemoteContactDirectory)` instead.

### addLinphoneSpec

void addLinphoneSpec(String spec)
Add the given linphone specs to the list of functionalities the linphone client
supports.
see: `setLinphoneSpecsList(java.lang.String[])`

Parameters:
  `spec` - The spec to add

### addProvisioningHeader

void addProvisioningHeader(String headerName, String value)
Add an extra header for retrieving the remote provisioning (check `setProvisioningUri(java.lang.String)`
).
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

@Deprecated int addProxyConfig(ProxyConfig config)
Deprecated.
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
  deprecated: 04/09/2024 Use `addAccount(org.linphone.core.Account)`

### addRemoteContactDirectory

void addRemoteContactDirectory(RemoteContactDirectory remoteContactDirectory)
Adds a `RemoteContactDirectory` object previously created to the Core, to
be used later by `MagicSearch` to query contacts using either LDAP or
CardDAV.

Parameters:
  `remoteContactDirectory` - the newly created `RemoteContactDirectory`
  to add.

### addSupportedTag

void addSupportedTag(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

@Deprecated int addToConference(Call call)
Deprecated.
Adds 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
  deprecated: 23/01/2025 Use `Conference.addParticipant(org.linphone.core.Call)` instead.

### audioRouteChanged

@Deprecated void audioRouteChanged()
Deprecated.
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

### callRingingDisabled

boolean callRingingDisabled()
Check whether ringing of calls is disabled.

Returns:
  true if call ringing is disabled

### chatRoomGetDefaultEphemeralMode

@Deprecated ChatRoom.EphemeralMode chatRoomGetDefaultEphemeralMode()
Deprecated.
Gets the default ephemeral message mode.

Returns:
  the default ephemeral message mode
  invalid reference

      ChatRoom#EphemeralMode

  deprecated: 21/11/2025 use `getDefaultEphemeralMode()`.

### chatRoomSetDefaultEphemeralMode

@Deprecated void chatRoomSetDefaultEphemeralMode(ChatRoom.EphemeralMode mode)
Deprecated.
Sets the default ephemeral message mode.

Parameters:
  `mode` - default ephemeral message mode
  invalid reference

      ChatRoom#EphemeralMode

  deprecated: 21/11/2025 use `setDefaultEphemeralMode(org.linphone.core.ChatRoom.EphemeralMode)`.

### checkForUpdate

void checkForUpdate(String currentVersion)
Asynchronously checks if a new version of the application is available from a
well-known http server URI given by `Core` 's configuration.
The result of the check is given through the `CoreListener` interface,
see linphone_core_cbs_set_version_update_check_result_received. The http URI
has to be given in [misc] section as key 'version_check_url_root'. The
subdirectory is appended to this root URI, per platform, and a "VERSION" file
is fetched. For example:
-https://download.linphone.org/releases/android/RELEASE
-https://download.linphone.org/releases/windows/RELEASE The RELEASE file is
expected to contain the most recent version number available followed by an
http uri where this version can be retrieved. For example: 5.2.5
https://play.google.com/store/apps/details?id=org.linphone

### clearAccounts

void clearAccounts()
Erases all accounts from config.

### clearAllAuthInfo

void clearAllAuthInfo()
Clears all authentication information.

### clearCallLogs

void clearCallLogs()
Erases the call log list.

### clearLdaps

@Deprecated void clearLdaps()
Deprecated.
Erases all LDAP from the configuration.
deprecated: 18/11/2024 use `removeRemoteContactDirectory(org.linphone.core.RemoteContactDirectory)` instead.

### clearProvisioningHeaders

void clearProvisioningHeaders()
Clear all headers that were added with `addProvisioningHeader(java.lang.String, java.lang.String)`.

### clearProxyConfig

@Deprecated void clearProxyConfig()
Deprecated.
Erase all proxies from config.
deprecated: 04/09/2024 Use `clearAccounts()`

### configSync

int configSync()
Forces a flush of the config to disk.

Returns:
  0 if successful, -1 otherwise

### configureAudioSession

void 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

Account createAccount(AccountParams params)
Creates an account using given parameters, see `createAccountParams()`.
Once created, the account must be added to the `Core` in order to be used
for registration, calls, messages etc. Use `addAccount(org.linphone.core.Account)` to add it to the
`Core`.

Parameters:
  `params` - `AccountParams` object
Returns:
  `Account` with default values set

### createAccountCreator

@Deprecated AccountCreator createAccountCreator(String xmlrpcUrl)
Deprecated.
Create a `AccountCreator` and set Linphone Request callbacks.

Parameters:
  `xmlrpcUrl` - The URL to the XML-RPC server.
Returns:
  The new `AccountCreator` object.
  deprecated: 04/09/2024 : The `AccountCreator` interface is replaced by
  the `AccountManagerServices` interface.

### createAccountManagerServices

AccountManagerServices createAccountManagerServices()
Creates a `AccountManagerServices`.

Returns:
  The new `AccountManagerServices` object.

### createAccountParams

AccountParams createAccountParams()
Create an account params using default values from Linphone core.

Returns:
  `AccountParams` with default values set

### createAddress

@Deprecated Address createAddress(String address)
Deprecated.
Creates a `Address` object by parsing the user supplied address, given as
a string.

Parameters:
  `address` - String containing the user supplied address
Returns:
  The created `Address` object
  deprecated: 04/06/2024 use `Factory.createAddress(java.lang.String)`.

### createCallLog

CallLog createCallLog(Address from, Address to, Call.Dir dir, int duration, long startTime, long connectedTime, Call.Status status, boolean videoEnabled, float quality)
Creates a fake `CallLog`.

Parameters:
  `from` - `Address` of caller
  `to` - `Address` of callee
  `dir` -
  invalid reference

      Call#Dir

  of call
  `duration` - call length in seconds
  `startTime` - timestamp of call start time
  `connectedTime` - timestamp of call connection
  `status` -
  invalid reference

      Call#Status

  of call
  `videoEnabled` - whether video was enabled or not for this call
  `quality` - call quality
Returns:
  a `CallLog` object

### createCallParams

CallParams createCallParams(Call call)
Creates a `CallParams` suitable for `inviteWithParams(java.lang.String, org.linphone.core.CallParams)`, `Call.acceptWithParams(org.linphone.core.CallParams)`
, `Call.acceptEarlyMediaWithParams(org.linphone.core.CallParams)`, `Call.update(org.linphone.core.CallParams)` or
linphone_call_accept_update_with_params().
The parameters are initialized according to the current `Core`
configuration and the current state of the call if any. In order to create a
`CallParams` for an already created call, the call argument must not be
null.

Parameters:
  `call` - `Call` for which the parameters are to be built, or null in
  the case where the parameters are to be used for a new outgoing call.
Returns:
  A new `CallParams` object.

### createCardDavParams

CardDavParams createCardDavParams()
Creates a new CardDAV server params object that may be used later by `MagicSearch`
to query contacts.

Returns:
  a new `CardDavParams` object to configure, and then use it to
  create a `RemoteContactDirectory` using `createCardDavRemoteContactDirectory(org.linphone.core.CardDavParams)`
  .

### createCardDavRemoteContactDirectory

RemoteContactDirectory createCardDavRemoteContactDirectory(CardDavParams params)
Creates a new CardDAV server params object that may be used later by `MagicSearch`
to query contacts.

Parameters:
  `params` - the `CardDavParams` to configure this remote contact
  directory.
Returns:
  a new `RemoteContactDirectory` object to configure, and then add
  using `addRemoteContactDirectory(org.linphone.core.RemoteContactDirectory)`.

### createCcmpConferenceScheduler

ConferenceScheduler createCcmpConferenceScheduler(Account account)
Create a SIP conference scheduler that can be used to create client conferences
for now or later and then send conference info as an ICS through chat.
A CCMPConferenceScheduler creates a conference on a server by using the CCMP
protocol

Parameters:
  `account` - The `Account` to use in the `ConferenceScheduler`.
Returns:
  A pointer on the freshly created `ConferenceScheduler`.

### createChatRoom

ChatRoom createChatRoom(ConferenceParams params, Address[] participants)
Create a chat room.

Parameters:
  `params` - The chat room creation parameters `ConferenceParams`
  `participants` - The initial list of participants of the chat room. A list
  of `Address` objects.
Returns:
  The newly created chat room (can be an existing one if backend is
  Basic) or null.

### createChatRoom

@Deprecated ChatRoom createChatRoom(ChatRoomParams params, Address localAddr, String subject, Address[] participants)
Deprecated.
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 A list of
  `Address` objects.
Returns:
  The newly created chat room.
  deprecated: 02/07/2020, use `createChatRoom(org.linphone.core.ConferenceParams, org.linphone.core.Address[])` instead

### createChatRoom

@Deprecated ChatRoom createChatRoom(ChatRoomParams params, String subject, Address[] participants)
Deprecated.
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. A list
  of `Address` objects.
Returns:
  The newly created chat room.
  deprecated: 02/07/2020, use `createChatRoom(org.linphone.core.ConferenceParams, org.linphone.core.Address[])` instead

### createChatRoom

@Deprecated ChatRoom createChatRoom(String subject, Address[] participants)
Deprecated.

Parameters:
  `subject` - The subject of the group chat room
  `participants` - The initial list of participants of the chat room. A list
  of `Address` objects.
Returns:
  The newly created chat room.
  deprecated: 02/07/2020, use `createChatRoom(org.linphone.core.ConferenceParams, org.linphone.core.Address[])` instead

### createChatRoom

@Deprecated ChatRoom createChatRoom(ChatRoomParams params, Address localAddr, Address participant)
Deprecated.

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(org.linphone.core.ConferenceParams, org.linphone.core.Address[])` instead

### createChatRoom

@Deprecated ChatRoom createChatRoom(Address participant)
Deprecated.

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(org.linphone.core.ConferenceParams, org.linphone.core.Address[])` instead

### createChatRoom

@Deprecated ChatRoom createChatRoom(ChatRoomParams params, Address localAddr, Address[] participants)
Deprecated.
Create a chat room.

Parameters:
  `params` - The chat room creation parameters `ChatRoomParams`
  `localAddr` - `Address` of a local `Account` identity or null
  `participants` - The initial list of participants of the chat room. A list
  of `Address` objects.
Returns:
  The newly created chat room (can be an existing one if backend is
  Basic) or null.
  deprecated: 22/10/2024, use `createChatRoom(org.linphone.core.ConferenceParams, org.linphone.core.Address[])` instead

### createClientGroupChatRoom

@Deprecated ChatRoom createClientGroupChatRoom(String subject, boolean fallback)
Deprecated.
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(org.linphone.core.Address[])` to create at the
server side and add participants to it. Also, the created chat room will not be
a one-on-one chat room even if `ChatRoom.addParticipants(org.linphone.core.Address[])` 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(org.linphone.core.ConferenceParams, org.linphone.core.Address[])` instead

### createClientGroupChatRoom

@Deprecated ChatRoom createClientGroupChatRoom(String subject, boolean fallback, boolean encrypted)
Deprecated.
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(org.linphone.core.Address[])` to create at the
server side and add participants to it. Also, the created chat room will not be
a one-on-one chat room even if `ChatRoom.addParticipants(org.linphone.core.Address[])` 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(org.linphone.core.ConferenceParams, org.linphone.core.Address[])` instead

### createConferenceParams

ConferenceParams createConferenceParams(Conference conference)
Creates some default conference parameters for instanciating a conference with
`createConferenceWithParams(org.linphone.core.ConferenceParams)`.

Parameters:
  `conference` - `Conference` for which the parameters are to be build,
  or null in the case where the parameters are to be used for a new conference.
Returns:
  a `ConferenceParams` object.

### createConferenceScheduler

ConferenceScheduler createConferenceScheduler()
Create a conference scheduler that can be used to schedule conferences on a
client conference service and then send conference information invitation as an
ICS object through chat.
The default account (see `getDefaultAccount()` ) is used to determine
which kind of conference scheduler is created.

Returns:
  A pointer on the freshly created `ConferenceScheduler`.

### createConferenceScheduler

ConferenceScheduler createConferenceScheduler(Account account)
Create a conference scheduler that can be used to create client conferences for
now or later and then send conference info as an ICS through chat.
A SIP-based implementation is created if the `Account` has not defined
the URL of a CCMP server, other it will create a implementation relying on CCMP
protocol.

Parameters:
  `account` - The `Account` to use in the `ConferenceScheduler`.
Returns:
  A pointer on the freshly created `ConferenceScheduler`.

### createConferenceSchedulerWithType

ConferenceScheduler createConferenceSchedulerWithType(Account account, ConferenceScheduler.Type schedulingType)
Create a conference scheduler that can be used to create client conferences for
now or later and then send conference info as an ICS through chat by specifying
its type.

Parameters:
  `account` - The `Account` to use in the `ConferenceScheduler`.
  `schedulingType` - The type of the `ConferenceScheduler`.
Returns:
  A pointer on the freshly created `ConferenceScheduler`.

### createConferenceWithParams

Conference createConferenceWithParams(ConferenceParams params)
Create a conference.
Local or client conference is determinated from the 'conference_type' variable
in the 'misc' section of the configuration, or by the factory address
parameter. See `ConferenceParams.setConferenceFactoryAddress(org.linphone.core.Address)` 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()`
  .
  warning: To guarantee the backward comatibility, this method will assign the
  created conference to the conference context held by the core. Nonetheless
  starting from release 5.4, the conference context will be override at every
  conference created by calling this method

### createConfig

Config createConfig(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

Content createContent()
Creates a content with default values from Linphone core.

Returns:
  `Content` object with default values set

### createDbConferenceScheduler

ConferenceScheduler createDbConferenceScheduler(Account account)
Create a database conference scheduler that can be used to create client
conferences for now or later and then send conference info as an ICS through
chat.
The DBConferenceScheduler only creates a conference info to be stored in the
database of the linphone core

Parameters:
  `account` - The `Account` to use in the `ConferenceScheduler`.
Returns:
  A pointer on the freshly created `ConferenceScheduler`.

### createDefaultChatRoomParams

ChatRoomParams createDefaultChatRoomParams()
Creates and returns the default chat room parameters.

Returns:
  A `ChatRoomParams` object

### createEktInfoFromXml

EktInfo createEktInfoFromXml(String xmlBody)
Gets a `EktInfo` from an XML body.

Parameters:
  `xmlBody` - the string containing the XML body
Returns:
  The `EktInfo`

### createFriend

Friend createFriend()
Creates an empty LinphoneFriend.

Returns:
  The created `Friend` object

### createFriendFromVcard

Friend createFriendFromVcard(Vcard vcard)
Creates a `Friend` from ai `Vcard`.

Parameters:
  `vcard` - a `Vcard` object
Returns:
  A new `Friend` object which has its vCard attribute initialized
  from the given vCard, accessible using `Friend.getVcard()`.

### createFriendList

FriendList createFriendList()
Creates a new empty `FriendList` object.

Returns:
  A new `FriendList` object.

### createFriendWithAddress

Friend createFriendWithAddress(String address)
Creates a `Friend` from the given address.

Parameters:
  `address` - A string containing the address to create the `Friend`
  from
Returns:
  The created `Friend` object.

### createInfoMessage

InfoMessage createInfoMessage()
Creates an empty info message.

Returns:
  a new LinphoneInfoMessage.
  The info message can later be filled with information using `InfoMessage.addHeader(java.lang.String, java.lang.String)`
  or `InfoMessage.setContent(org.linphone.core.Content)`, and finally sent with `Call.sendInfoMessage(org.linphone.core.InfoMessage)`
  .

### createLdap

@Deprecated Ldap createLdap()
Deprecated.
Creates an empty LDAP search.
`Ldap.setParams(org.linphone.core.LdapParams)` must be call to save the parameters in the configuration
file.

Returns:
  `Ldap` with default values set
  deprecated: 18/11/2024 use `createLdapRemoteContactDirectory(org.linphone.core.LdapParams)` instead.

### createLdapParams

LdapParams createLdapParams()
Create a LDAP params using default values from Linphone core.
Check `LdapParams` to update values. In order to add a new LDAP
configuration to `MagicSearch`, these parameters must be passed to
linphone_core_create_ldap_with_params. Or, use `Ldap.setParams(org.linphone.core.LdapParams)`.

Returns:
  `LdapParams` with default values set.

### createLdapRemoteContactDirectory

RemoteContactDirectory createLdapRemoteContactDirectory(LdapParams params)
Creates a new CardDAV server params object that may be used later by `MagicSearch`
to query contacts.

Parameters:
  `params` - the `LdapParams` to configure this remote contact
  directory.
Returns:
  a new `RemoteContactDirectory` object to configure, and then add
  using `addRemoteContactDirectory(org.linphone.core.RemoteContactDirectory)`.

### createLdapWithParams

@Deprecated Ldap createLdapWithParams(LdapParams params)
Deprecated.
Creates a LDAP search using given parameters, adds it to the core list and
stores them in the configuration file.

Parameters:
  `params` - `LdapParams` object
Returns:
  `Ldap` object
  deprecated: 18/11/2024 use `createLdapRemoteContactDirectory(org.linphone.core.LdapParams)` instead.

### createLocalPlayer

Player createLocalPlayer(String soundCardName, String videoDisplayName, Object windowId)
Creates a media file player, that can be used to play audio and video to the
user, outside of any call or conference.
See `getSupportedFileFormatsList()` for supported multimedia file types.

Parameters:
  `soundCardName` - Playback sound card. If null, the ringer sound card set in
  `Core` will be used
  `videoDisplayName` - Video display. If null, the video display set in `Core`
  will be used
  `windowId` - Id of the drawing window. See `setNativeVideoWindowId(java.lang.Object)`
  for a discussion about supported native video window types.
Returns:
  A pointer on the new instance. null if failed.

### createMagicSearch

MagicSearch createMagicSearch()
Creates a `MagicSearch` object.

Returns:
  The created `MagicSearch` object

### createNatPolicy

NatPolicy createNatPolicy()
Create a new `NatPolicy` object with every policies being disabled.

Returns:
  A new `NatPolicy` object.

### createNativePreviewWindowId

Object createNativePreviewWindowId(Object context)
Create a Window ID for the video preview window.
Available for MSQOGL and MSOGL. see `setNativeVideoWindowId(java.lang.Object)` for details
about window_id
Available for MSQOGL and MSOGL. see `setNativeVideoWindowId(java.lang.Object)` for details
about window_id
MSQOgl can be used for the creation. `createNativePreviewWindowId(java.lang.Object)`
returns a QQuickFramebufferObject::Renderer. This object must be returned by
your QQuickFramebufferObject::createRenderer() overload for Qt.
linphone_core_set_native_preview_window_id_2() 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.
MSQOgl can be used for the creation. `createNativePreviewWindowId(java.lang.Object)`
returns a QQuickFramebufferObject::Renderer. This object must be returned by
your QQuickFramebufferObject::createRenderer() overload for Qt.
linphone_core_set_native_preview_window_id_2() 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.
A context can be used to prevent Linphone from allocating the container
(MSOglContextInfo for MSOGL). null if not used.
A context can be used to prevent Linphone from allocating the container
(MSOglContextInfo for MSOGL). null if not used.

Parameters:
  `context` - preallocated Window ID (Used only for MSOGL)
Returns:
  The created Window ID.

### createNativePreviewWindowId

Object createNativePreviewWindowId()
Create a native window handle for the video preview window.
see `createNativePreviewWindowId(java.lang.Object)` for details

Returns:
  The native window handle of the video preview window.

### createNativeVideoWindowId

Object createNativeVideoWindowId(Object context)
Create a Window ID from the current call.
Available for MSQOGL and MSOGL. see `setNativeVideoWindowId(java.lang.Object)` for details
about window_id
Available for MSQOGL and MSOGL. see `setNativeVideoWindowId(java.lang.Object)` for details
about window_id
When MSQOgl can be used for the creation: `createNativeVideoWindowId(java.lang.Object)`
returns a QQuickFramebufferObject::Renderer. This object must be returned by
your QQuickFramebufferObject::createRenderer() overload for Qt. `setNativeVideoWindowId(java.lang.Object)`
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.
When MSQOgl can be used for the creation: `createNativeVideoWindowId(java.lang.Object)`
returns a QQuickFramebufferObject::Renderer. This object must be returned by
your QQuickFramebufferObject::createRenderer() overload for Qt. `setNativeVideoWindowId(java.lang.Object)`
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.
A context can be used to prevent Linphone from allocating the container
(MSOglContextInfo for MSOGL). null if not used.
A context can be used to prevent Linphone from allocating the container
(MSOglContextInfo for MSOGL). null if not used.

Parameters:
  `context` - preallocated Window ID (Used only for MSOGL)
Returns:
  The created Window ID

### createNativeVideoWindowId

Object createNativeVideoWindowId()
Create a native window handle for the video window from the current call.
see `createNativeVideoWindowId(java.lang.Object)` for details

Returns:
  The native window handle of the video window.

### createNotify

Event createNotify(Address resource, String event)
Creates an out-of-dialog notification, specifying the destination resource, the
event name.
The notification can be send with `Event.notify(org.linphone.core.Content)`.

Parameters:
  `resource` - the destination resource
  `event` - the event name
Returns:
  a `Event` holding the context of the notification.

### createOneShotPublish

Event createOneShotPublish(Address resource, String event)
Creates a publish context for a one-shot publish.
After being created, the publish must be sent using `Event.sendPublish(org.linphone.core.Content)`.
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

PresenceActivity createPresenceActivity(PresenceActivity.Type acttype, String description)
Creates a `PresenceActivity` with the given type and description.

Parameters:
  `acttype` - The
  invalid reference

      PresenceActivity#Type

  to set for the activity.
  `description` - An additional description of the activity to set for the
  activity. Can be null if no additional description is to be added.
Returns:
  The created `PresenceActivity` object.

### createPresenceModel

PresenceModel createPresenceModel()
Creates a default LinphonePresenceModel.

Returns:
  The created `PresenceModel` object.

### createPresenceModelWithActivity

PresenceModel createPresenceModelWithActivity(PresenceActivity.Type acttype, String description)
Creates a `PresenceModel` with the given activity type and activity
description.

Parameters:
  `acttype` - The
  invalid reference

      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 null if no additional description is to be added.
Returns:
  The created `PresenceModel` object.

### createPresenceModelWithActivityAndNote

PresenceModel createPresenceModelWithActivityAndNote(PresenceActivity.Type acttype, String description, String note, String lang)
Creates a `PresenceModel` with the given activity type, activity
description, note content and note language.

Parameters:
  `acttype` - The
  invalid reference

      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 null 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

PresenceNote createPresenceNote(String content, String lang)
Creates 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

PresencePerson createPresencePerson(String id)
Creates a `PresencePerson` with the given id.

Parameters:
  `id` - The id of the person to be created.
Returns:
  The created `PresencePerson` object.

### createPresenceService

PresenceService createPresenceService(String id, PresenceBasicStatus basicStatus, String contact)
Creates 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

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

Returns:
  a `Address` object.
  deprecated: prefer using `getPrimaryContactAddress()`

### createProxyConfig

@Deprecated ProxyConfig createProxyConfig()
Deprecated.
Create a proxy config with default values from Linphone core.

Returns:
  `ProxyConfig` with default values set
  deprecated: 04/09/2024 Use `createAccount(org.linphone.core.AccountParams)`

### createPublish

Event createPublish(Address resource, String event, int expires)
Creates a publish context for an event state.
After being created, the publish must be sent using `Event.sendPublish(org.linphone.core.Content)`.
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

Recorder createRecorder(RecorderParams params)
Creates an independant media file recorder, that can be used to record user's
voice or video outside of any call or conference.
See `getSupportedFileFormatsList()` for supported multimedia file types.

Parameters:
  `params` - The `RecorderParams` that will contains all recorder
  parameters.
Returns:
  A pointer on the new instance. null if failed.

### createRecorderParams

RecorderParams createRecorderParams()
Creates an object that holds recording parameters.
see: `createRecorder(org.linphone.core.RecorderParams)`

Returns:
  A pointer on the newly created instance of `RecorderParams`

### createSipConferenceScheduler

ConferenceScheduler createSipConferenceScheduler(Account account)
Create a SIP conference scheduler that can be used to create client conferences
for now or later and then send conference info as an ICS through chat.
A SipConferenceScheduler creates a conference on a server by using a SIP dialog

Parameters:
  `account` - The `Account` to use in the `ConferenceScheduler`.
Returns:
  A pointer on the freshly created `ConferenceScheduler`.

### createSubscribe

Event createSubscribe(Address resource, String event, int expires)
Creates 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(org.linphone.core.Address, java.lang.String, int, org.linphone.core.Content)` the subscription
isn't sent immediately. It will be send when calling `Event.sendSubscribe(org.linphone.core.Content)`
.

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.

### createSubscribe

Event createSubscribe(Address resource, ProxyConfig proxy, String event, int expires)
Creates 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(org.linphone.core.Address, java.lang.String, int, org.linphone.core.Content)` the subscription
isn't sent immediately. It will be send when calling `Event.sendSubscribe(org.linphone.core.Content)`
.

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.

### createVcardFromText

Vcard createVcardFromText(String input)
Creates a vCard from a text, if possible.

Parameters:
  `input` - the vCard raw text to parse.
Returns:
  a new `Vcard` object if the parsing of the input succeeded, null
  otherwise.

### createXmlFromEktInfo

String createXmlFromEktInfo(EktInfo ektInfo, Account account)
Gets an XML body using a specific account.

Parameters:
  `ektInfo` - the `EktInfo`
  `account` - the `Account` associated with the conference
Returns:
  The XML body

### createXmlFromEktInfo

@Deprecated String createXmlFromEktInfo(EktInfo ektInfo)
Deprecated.
Gets an XML body.

Parameters:
  `ektInfo` - the `EktInfo`
Returns:
  The XML body
  deprecated: 06/02/2025 use `createXmlFromEktInfo(org.linphone.core.EktInfo, org.linphone.core.Account)`.

### createXmlRpcSession

XmlRpcSession createXmlRpcSession(String url)
Create a `XmlRpcSession` for a given url.

Parameters:
  `url` - The URL to the XML-RPC server. Must be NON null.
Returns:
  The new `XmlRpcSession` object.

### deleteChatRoom

void deleteChatRoom(ChatRoom chatRoom)
Removes a chatroom including all message history from the LinphoneCore.

Parameters:
  `chatRoom` - A `ChatRoom` object

### deleteConferenceInformation

void deleteConferenceInformation(ConferenceInfo conferenceInfo)
Deletes a conference information from DB.

Parameters:
  `conferenceInfo` - the `ConferenceInfo` to delete.

### didRegisterForRemotePush

void didRegisterForRemotePush(Object deviceToken)
Sets device_token when application
didRegisterForRemoteNotificationsWithDeviceToken (IOS only).

Parameters:
  `deviceToken` - format (NSData *).

### didRegisterForRemotePushWithStringifiedToken

void didRegisterForRemotePushWithStringifiedToken(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..

### disableCallRinging

void disableCallRinging(boolean yesno)
Enables or disables call ringing.
This value is taken into account from next time 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 disabled.

### disableChat

void disableChat(Reason denyReason)
Inconditionnaly disables incoming chat messages.

Parameters:
  `denyReason` - the deny reason (`Reason.None` has no effect).

### enableChat

void enableChat()
Enables reception of incoming chat messages.
By default it is enabled but it can be disabled with `disableChat(org.linphone.core.Reason)`.

### ensureRegistered

@Deprecated void ensureRegistered()
Deprecated.
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(java.lang.String)` instead.

### enterBackground

void enterBackground()
This method is called by the application to notify the linphone core library
when it enters background mode.

### enterConference

@Deprecated int enterConference()
Deprecated.
Joins the local participant to the running conference.

Returns:
  0 if succeeded. Negative number if failed
  deprecated: 09/03/2021 Use `Conference.enter()` instead.

### enterForeground

void enterForeground()
This method is called by the application to notify the linphone core library
when it enters foreground mode.

### fileFormatSupported

boolean fileFormatSupported(String fmt)
Returns whether a specific file format is supported.
see: linphone_core_get_supported_file_formats

Parameters:
  `fmt` - The format extension (wav, mkv).
Returns:
  true if the file format is supported, false otherwise

### findAuthInfo

AuthInfo findAuthInfo(String realm, String username, String sipDomain)
Finds 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

@Deprecated Call findCallFromUri(String uri)
Deprecated.
Search from the list of current calls if a remote address match uri.

Parameters:
  `uri` - which should match call remote uri
Returns:
  `Call` or null if no match is found.
  deprecated: 27/10/2020. Use `getCallByRemoteAddress2(org.linphone.core.Address)` instead.

### findCallLog

CallLog findCallLog(String callId, int limit)
Gets the call log matching the call id, or null 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

CallLog findCallLogFromCallId(String callId)
Gets the call log matching the call id, or null 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

@Deprecated ChatRoom findChatRoom(Address peerAddr, Address localAddr)
Deprecated.
Find a chat room.
No reference is transferred 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(org.linphone.core.ChatRoomParams, org.linphone.core.Address, org.linphone.core.Address, org.linphone.core.Address[])` instead

### findConferenceInformationFromCcmpUri

ConferenceInfo findConferenceInformationFromCcmpUri(String uri)
Retrieve the conference information linked to the provided URI if any.

Parameters:
  `uri` - Uri of the conference as provided by the CCMP server backend.
Returns:
  The `ConferenceInfo` found if any, null otherwise.

### findConferenceInformationFromUri

ConferenceInfo findConferenceInformationFromUri(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, null otherwise.

### findContactsByChar

Address[] findContactsByChar(String filter, boolean 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. A list of `Address` objects.

### findFriend

Friend findFriend(Address address)
Searches 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 null if
  not found.

### findFriendByPhoneNumber

Friend findFriendByPhoneNumber(String phoneNumber)
Searches 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
  null if not found.

### findFriends

Friend[] findFriends(Address address)
Searches 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. A list of
  `Friend` objects.

### findOneToOneChatRoom

@Deprecated ChatRoom findOneToOneChatRoom(Address localAddr, Address participantAddr, boolean encrypted)
Deprecated.
Find a one-on-one chat room.
No reference is transferred 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(org.linphone.core.ChatRoomParams, org.linphone.core.Address, org.linphone.core.Address, org.linphone.core.Address[])` instead

### getAccountByIdkey

Account getAccountByIdkey(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 null if none
  found

### getCallByCallid

Call getCallByCallid(String callId)
Gets the call by its SIP callid.

Parameters:
  `callId` - of call
Returns:
  call `Call`, return null if there is no call find.

### getCallByRemoteAddress

@Deprecated Call getCallByRemoteAddress(String remoteAddress)
Deprecated.
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, null otherwise.
  deprecated: 08/07/2020 use `getCallByRemoteAddress2(org.linphone.core.Address)` instead

### getCallByRemoteAddress2

Call getCallByRemoteAddress2(Address remoteAddress)
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

CallLog[] getCallHistory(Address peerAddress, Address localAddress)
Gets 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`. A list of `CallLog` objects.

### getChatRoom

@Deprecated ChatRoom getChatRoom(Address addr)
Deprecated.
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 transferred to the application. The `Core` keeps a reference on the
chat room. warning: This method is prone to errors, use `searchChatRoom(org.linphone.core.ChatRoomParams, org.linphone.core.Address, org.linphone.core.Address, org.linphone.core.Address[])`
instead

Parameters:
  `addr` - a linphone address.
Returns:
  `ChatRoom` where messaging can take place.
  deprecated: 02/07/2020, use `searchChatRoom(org.linphone.core.ChatRoomParams, org.linphone.core.Address, org.linphone.core.Address, org.linphone.core.Address[])` instead

### getChatRoom

@Deprecated ChatRoom getChatRoom(Address peerAddr, Address localAddr)
Deprecated.
Get a chat room.
If it does not exist yet, it will be created as a basic chat room. No reference
is transferred to the application. The `Core` keeps a reference on the
chat room. warning: This method is prone to errors, use `searchChatRoom(org.linphone.core.ChatRoomParams, org.linphone.core.Address, org.linphone.core.Address, org.linphone.core.Address[])`
instead

Parameters:
  `peerAddr` - a linphone address.
  `localAddr` - a linphone address.
Returns:
  `ChatRoom` where messaging can take place.
  deprecated: 02/07/2020, use `searchChatRoom(org.linphone.core.ChatRoomParams, org.linphone.core.Address, org.linphone.core.Address, org.linphone.core.Address[])` instead

### getChatRoomFromUri

@Deprecated ChatRoom getChatRoomFromUri(String to)
Deprecated.
Get a chat room for messaging from a sip uri like sip:joe@sip.linphone.org.
Get a chat room for messaging from a sip uri like sip:joe@sip.linphone.org.
If it does not exist yet, it will be created as a basic chat room. No reference
is transferred to the application. The `Core` keeps a reference on the
chat room. warning: This method is prone to errors, use `searchChatRoom(org.linphone.core.ChatRoomParams, org.linphone.core.Address, org.linphone.core.Address, org.linphone.core.Address[])`
instead

Parameters:
  `to` - The destination address for messages.
Returns:
  `ChatRoom` where messaging can take place.
  deprecated: 02/07/2020, use `searchChatRoom(org.linphone.core.ChatRoomParams, org.linphone.core.Address, org.linphone.core.Address, org.linphone.core.Address[])` instead

### getConferenceInformationListAfterTime

ConferenceInfo[] getConferenceInformationListAfterTime(long 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 A list of `ConferenceInfo` objects.
  .

### getConferenceInformationsWithParticipant

ConferenceInfo[] getConferenceInformationsWithParticipant(Address uri)
Retrieve the list of conference information on DB where the address passed as
argument is either the organizer or a participant.

Parameters:
  `uri` - `Address` of the participant.
Returns:
  The list of conference infos A list of `ConferenceInfo` objects.
  where the address passed as argument is either the organizer or a
  participant.

### getFriendByRefKey

Friend getFriendByRefKey(String key)
Searches 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

FriendList getFriendListByName(String name)
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 null.

### getPayloadType

PayloadType getPayloadType(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", "h264")
  `rate` - can be LINPHONE_FIND_PAYLOAD_IGNORE_RATE (-1)
  `channels` - number of channels, can be
  LINPHONE_FIND_PAYLOAD_IGNORE_CHANNELS (-1)
Returns:
  Returns null if not found. If a `PayloadType` is returned, it
  must be released with linphone_payload_type_unref after using it.

### getProxyConfigByIdkey

@Deprecated ProxyConfig getProxyConfigByIdkey(String idkey)
Deprecated.
Searches 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 null if
  none found
  deprecated: 04/09/2024 Use `getAccountByIdkey(java.lang.String)`

### getZrtpStatus

ZrtpPeerStatus getZrtpStatus(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

boolean hasBuiltinEchoCanceller()
Check whether the device has a hardware echo canceller.

Returns:
  true if it does, false otherwise

### hasCrappyOpengl

boolean hasCrappyOpengl()
Check whether the device is flagged has crappy opengl.

Returns:
  true if crappy opengl flag is set, false otherwise

### inCall

boolean inCall()
Tells whether there is a call running.

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

### interpretUrl

@Deprecated Address interpretUrl(String url)
Deprecated.
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: `ProxyConfig.normalizeSipUri(java.lang.String)` for documentation.

Parameters:
  `url` - the url to parse
Returns:
  the `Address` matching the url or null in case of failure.
  deprecated: on 18/07/2022, use `interpretUrl(java.lang.String)` instead.

### interpretUrl

Address interpretUrl(String url, boolean 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 the default `Account`
. see: `Account.normalizeSipUri(java.lang.String)` for a similar function.

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 null in case of failure.

### invite

Call invite(String url)
Initiates an outgoing call.
The application doesn't own a reference to the returned LinphoneCall object.
Use linphone_call_ref to safely keep the LinphoneCall pointer valid within your
application.

Parameters:
  `url` - The destination of the call (sip address, or phone number).
Returns:
  A `Call` object or null in case of failure.

### inviteAddress

Call inviteAddress(Address addr)
Initiates an outgoing call given a destination `Address` The `Address`
can be constructed directly using `Factory.createAddress(java.lang.String)`, or created by
`interpretUrl(java.lang.String)`.
In C, 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 null in case of failure.

### inviteAddressWithParams

Call inviteAddressWithParams(Address addr, CallParams params)
Initiates an outgoing call given a destination `Address` The `Address`
can be constructed directly using `Factory.createAddress(java.lang.String)`, or created by
`interpretUrl(java.lang.String)`.
In C, 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 `Account` is not specified in parameters,
the caller's account 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 null in case of failure.

### inviteAddressWithParams

Call inviteAddressWithParams(Address addr, CallParams params, String subject, Content content)
Initiates an outgoing call given a destination `Address` The `Address`
can be constructed directly using `Factory.createAddress(java.lang.String)`, or created by
`interpretUrl(java.lang.String)`.
In C, 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 `Account` is not specified in parameters,
the caller's account 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, UTF-8 encoded
  `content` - Body of the SIP INVITE
Returns:
  A `Call` object or null in case of failure.

### inviteWithParams

Call inviteWithParams(String url, CallParams params)
Initiates an outgoing call according to supplied call parameters In C, 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 null in case of failure.

### isContentTypeSupported

boolean isContentTypeSupported(String contentType)
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.

### isMediaEncryptionSupported

boolean isMediaEncryptionSupported(MediaEncryption menc)
Checks if given media encryption is supported.

Parameters:
  `menc` - The media encryption policy to be used.
Returns:
  true if the media encryption is supported, false otherwise

### isMediaFilterSupported

boolean isMediaFilterSupported(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

### isPluginLoaded

boolean isPluginLoaded(String name)
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

### iterate

void iterate()
Main loop integration.
Unless auto-iterate mode is provided ( see
invalid reference

    #enableAutoIterate

), it is
crucial that your application calls `iterate()` repeatedly.
`iterate()` performs various backgrounds tasks:
-receiving of SIP messages
-handles timers and timeout
-performs registration to proxies
-authentication retries The application must call this function periodically,
from the same thread it uses for calling other liblinphone methods. It may
triggered from the timer in the application's main loop if the application
design is single thread model, or from an application thread if the application
decides to perform all liblinphone invocations from a dedicated thread. If it
is not the case make sure all liblinphone calls are serialized with a mutex. A
recommanded timer value is 20 ms for calling this function.

### ldapAvailable

boolean ldapAvailable()
End of group contacts.
Tells if LDAP is available

Returns:
  true if LDAP is available, false otherwise

### leaveConference

@Deprecated int leaveConference()
Deprecated.
Makes the local participant leave the running conference.

Returns:
  0 if succeeded. Negative number if failed
  deprecated: 09/03/2021 Use `Conference.leave()` instead.

### limeX3DhAvailable

boolean limeX3DhAvailable()
Tells if LIME X3DH is available.

### loadConfigFromXml

void loadConfigFromXml(String xmlUri)
Update current config with the content of a xml config file.

Parameters:
  `xmlUri` - the path to the xml file

### mediaEncryptionSupported

boolean mediaEncryptionSupported(MediaEncryption menc)
Checks if a media encryption type is supported.

Parameters:
  `menc` - `MediaEncryption`
Returns:
  whether a media encryption scheme is supported by the `Core`
  engine

### migrateLogsFromRcToDb

void migrateLogsFromRcToDb()
Migrates the call logs from the linphonerc to the database if not done yet.

### notifyAllFriends

void notifyAllFriends(PresenceModel presence)
Notifies all friends that have subscribed.

Parameters:
  `presence` - `PresenceModel` to notify

### notifyNotifyPresenceReceived

void notifyNotifyPresenceReceived(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

void notifyNotifyPresenceReceivedForUriOrTel(Friend linphoneFriend, String uriOrTel, 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

int pauseAllCalls()
Pauses all currently running calls.

Returns:
  0

### playDtmf

void 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

int playLocal(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

int 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.

### previewOglRender

void previewOglRender()
Call generic OpenGL render for a given core.

### processPushNotification

void processPushNotification(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

Event publish(Address resource, String event, int expires, Content body)
Publishes an event state.
This first create a `Event` with `createPublish(org.linphone.core.Address, java.lang.String, int)` and calls `Event.sendPublish(org.linphone.core.Content)`
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.

### refreshRegisters

void refreshRegisters()
Forces registration refresh to be initiated upon next iterate.

### rejectSubscriber

void rejectSubscriber(Friend linphoneFriend)
Black list a friend.
same as `Friend.setIncSubscribePolicy(org.linphone.core.SubscribePolicy)` with `SubscribePolicy.SPDeny`
policy;

Parameters:
  `linphoneFriend` - `Friend` to reject

### reloadMsPlugins

void reloadMsPlugins(String path)
Reload mediastreamer2 plugins from specified directory.

Parameters:
  `path` - the path from where plugins are to be loaded, pass null to use
  default (compile-time determined) plugin directory.

### reloadSoundDevices

void 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

void 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

void removeAccount(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

### removeAccountWithData

void removeAccountWithData(Account account)
Removes an account and any associated data.
`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

void removeAuthInfo(AuthInfo info)
Removes an authentication information object.

Parameters:
  `info` - The `AuthInfo` to remove.

### removeCallLog

void removeCallLog(CallLog callLog)
Removes 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

void removeContentTypeSupport(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

void removeFriendList(FriendList list)
Removes a friend list.

Parameters:
  `list` - `FriendList` object

### removeFromConference

@Deprecated int removeFromConference(Call call)
Deprecated.
Removes 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.
  deprecated: 23/01/2025 Use `Conference.removeParticipant(org.linphone.core.Address)` instead.

### removeLdap

@Deprecated void removeLdap(Ldap ldap)
Deprecated.
Remove a LDAP from the configuration.

Parameters:
  `ldap` - The `Ldap` object to remove.
  deprecated: 18/11/2024 use `removeRemoteContactDirectory(org.linphone.core.RemoteContactDirectory)` instead.

### removeLinphoneSpec

void removeLinphoneSpec(String spec)
Remove the given linphone specs from the list of functionalities the linphone
client supports.
see: `setLinphoneSpecsList(java.lang.String[])`

Parameters:
  `spec` - The spec to remove

### removeProxyConfig

@Deprecated void removeProxyConfig(ProxyConfig config)
Deprecated.
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
  deprecated: 04/09/2024 Use `removeAccount(org.linphone.core.Account)`

### removeRemoteContactDirectory

void removeRemoteContactDirectory(RemoteContactDirectory remoteContactDirectory)
Removes a `RemoteContactDirectory` object previously added to the Core.

Parameters:
  `remoteContactDirectory` - the `RemoteContactDirectory` to remove.

### removeSupportedTag

void removeSupportedTag(String tag)
Remove a supported tag.

Parameters:
  `tag` - The tag to remove
  see: `addSupportedTag(java.lang.String)`

### resetEchoCancellationCalibration

void resetEchoCancellationCalibration()
Clears all state resulting from a previous echo canceller calibration
procedure, which restores default policy and settings for echo cancellation.
see:
invalid reference

    #enableEchoCancellation

and `startEchoCancellerCalibration()`

### resetMissedCallsCount

void resetMissedCallsCount()
Resets the counter of missed calls.

### searchChatRoom

@Deprecated ChatRoom searchChatRoom(ChatRoomParams params, Address localAddr, Address remoteAddr, Address[] participants)
Deprecated.
Find a chat room.

Parameters:
  `params` - The chat room parameters to match `ChatRoomParams` or null
  `localAddr` - `Address` of a local `Account` identity or null
  `remoteAddr` - `Address` to search for or null
  `participants` - The participants that must be present in the chat room to
  find. A list of `Address` objects.
Returns:
  A matching chat room or null if none matches.
  deprecated: 22/10/2024, use `searchChatRoom(org.linphone.core.ChatRoomParams, org.linphone.core.Address, org.linphone.core.Address, org.linphone.core.Address[])` instead

### searchChatRoom

ChatRoom searchChatRoom(ConferenceParams params, Address localAddr, Address remoteAddr, Address[] participants)
Find a chat room.

Parameters:
  `params` - The chat room parameters to match `ChatRoomParams` or null
  `localAddr` - `Address` of a local `Account` identity or null
  `remoteAddr` - `Address` to search for or null
  `participants` - The participants that must be present in the chat room to
  find. A list of `Address` objects.
Returns:
  A matching chat room or null if none matches.

### searchChatRoomByIdentifier

ChatRoom searchChatRoomByIdentifier(String identifier)
Find a chat room by its identifier.

Parameters:
  `identifier` - The chat room identifier
Returns:
  A matching chat room or null if none matches.

### searchConference

Conference searchConference(ConferenceParams params, Address localAddr, Address remoteAddr, Address[] participants)
Find a conference.

Parameters:
  `params` - The conference parameters to match `ConferenceParams` or
  null
  `localAddr` - `Address` representing the local proxy configuration or
  null
  `remoteAddr` - `Address` to search for or null
  `participants` - The participants that must be present in the chat room to
  find A list of `Address` objects.
Returns:
  A pointer on `Conference` satisfying the non-null function
  arguments or null if none matches

### searchConference

Conference searchConference(Address conferenceAddr)
Finds a conference.

Parameters:
  `conferenceAddr` - `Address` representing the conference address
Returns:
  A pointer on `Conference` whose conference address is the one
  provided as argument or null if none matches

### searchConferenceByIdentifier

Conference searchConferenceByIdentifier(String identifier)
Find a conference by its identifier.

Parameters:
  `identifier` - The conference identifier
Returns:
  A matching conference or null if none matches.

### setAudioPortRange

void 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

### setQrcodeDecodeRect

void setQrcodeDecodeRect(int x, int y, int w, int h)
Set the rectangle where the decoder will search a QRCode.

Parameters:
  `x` - axis
  `y` - axis
  `w` - width
  `h` - height

### setRefreshWindow

void setRefreshWindow(int minValue, 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

### setTextPortRange

void 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

### setTone

void setTone(ToneID toneId, String audiofile)
Assign an audio file to be played as a specific tone id.
This function typically allows to customize telephony tones per country.
If you want to disable a tone, set a path to a non-existent file. To disable
all tones, use
invalid reference

    #enableCallToneIndications

or set the tone_indications
to 0 in the [misc] section of your linphonerc.
If you want to disable a tone, set a path to a non-existent file. To disable
all tones, use
invalid reference

    #enableCallToneIndications

or set the tone_indications
to 0 in the [misc] section of your linphonerc.

Parameters:
  `toneId` - the `ToneID`
  `audiofile` - a wav file to be played or null to use the default (generated)
  one.

### setUserAgent

void setUserAgent(String name, 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 null is given to "version". If null 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.

### setVideoPortRange

void 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

### soundDeviceCanCapture

@Deprecated boolean soundDeviceCanCapture(String device)
Deprecated.
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

@Deprecated boolean soundDeviceCanPlayback(String device)
Deprecated.
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

boolean soundResourcesLocked()
Checks 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

int start()
Starts 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

### startEchoCancellerCalibration

int 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

int startEchoTester(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.

### startHidDevicesDetection

void startHidDevicesDetection()
Start the HID devices detection.

### stop

void stop()
Stops 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. This function may block to perform SIP server unregistration. Using `stopAsync()`
is preferred.
warning: This function must never be called from within an event notification
triggered by Liblinphone.

### stopAsync

void stopAsync()
Asynchronously stops 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()`.
warning: This function must never be called from within an event notification
triggered by Liblinphone.

### stopDtmf

void stopDtmf()
Stops playing a dtmf started by `playDtmf(char, int)`.

### stopEchoTester

int stopEchoTester()
Stop the simulation of call.

### stopHidDevicesDetection

void stopHidDevicesDetection()
Stop the HID devices detection.

### stopRinging

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.
Typical use is to stop ringing when the user requests to ignore the call.

### subscribe

Event subscribe(Address resource, String event, int expires, Content body)
Creates and send 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 null.
Returns:
  a `Event` holding the context of the created subcription.

### takePreviewSnapshot

int takePreviewSnapshot(String file)
Takes 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).

### terminateAllCalls

int terminateAllCalls()
Terminates all the calls.

Returns:
  0

### terminateConference

@Deprecated int terminateConference()
Deprecated.
Terminates 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.
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
  deprecated: 23/01/2025 Use `Conference.terminate()` instead.

### upgradeDatabase

void upgradeDatabase()
Upgrade the database manually to the latest schema.

### uploadLogCollection

void uploadLogCollection()
Uploads the log collection to the configured server url.

### usePreviewWindow

void usePreviewWindow(boolean 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.

### verifyServerCertificates

void verifyServerCertificates(boolean 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

void verifyServerCn(boolean 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

### videoSupported

boolean videoSupported()
Test if video is supported.

Returns:
  true if the library was built with video support, false otherwise

### compressLogCollection

String compressLogCollection()
Compresses the log collection in a single file.

Returns:
  The path of the compressed log collection file.

### enableLogCollection

void enableLogCollection(LogCollectionState state)
Enables the linphone core log collection to upload logs on a server.

Parameters:
  `state` - `LogCollectionState` value telling whether to enable log
  collection or not.

### getLogCollectionMaxFileSize

int getLogCollectionMaxFileSize()
Gets 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

String getLogCollectionPath()
Gets the path where the log files will be written for log collection.

Returns:
  The path where the log files will be written.

### getLogCollectionPrefix

String getLogCollectionPrefix()
Gets the prefix of the filenames that will be used for log collection.

Returns:
  The prefix of the filenames used for log collection.

### getPostQuantumAvailable

boolean getPostQuantumAvailable()
Are PostQuantum algoritms available.

Returns:
  true if Post Quantum algorithms are available false otherwise

### getVersion

String getVersion()
Returns liblinphone's version as a string.

Returns:
  the current version of the `Core`

### logCollectionEnabled

LogCollectionState logCollectionEnabled()
Tells whether the linphone core log collection is enabled.

Returns:
  The `LogCollectionState` of the `Core` log collection.

### resetLogCollection

void resetLogCollection()
Resets the log collection by removing the log files.

### serializeLogs

void serializeLogs()
Enables 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 `Core`.

### setLogCollectionMaxFileSize

void setLogCollectionMaxFileSize(int size)
Sets 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(org.linphone.core.LogCollectionState)`. 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

void setLogCollectionPath(String path)
Sets 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(org.linphone.core.LogCollectionState)`
before doing modifications.

Parameters:
  `path` - The path where the log files will be written.

### setLogCollectionPrefix

void setLogCollectionPrefix(String prefix)
Sets 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(org.linphone.core.LogCollectionState)` before doing modifications.

Parameters:
  `prefix` - The prefix to use for the filenames for log collection.

### tunnelAvailable

boolean tunnelAvailable()
True if tunnel extension was compiled.

Returns:
  true if library was built with tunnel, false otherwise

### upnpAvailable

boolean upnpAvailable()
Return the availability of uPnP.

Returns:
  true if uPnP is available otherwise return false.
  warning: UPNP support has been removed, and proved to be useless.

### vcardSupported

boolean vcardSupported()
Tells whether VCARD support is builtin.

Returns:
  true if VCARD is supported, false otherwise.

### addListener

void addListener(CoreListener listener)

### removeListener

void removeListener(CoreListener listener)

### setUserData

void setUserData(Object data)
Sets the object to store in this object user's data

Parameters:
  `data` - the object to store

### getUserData

Object getUserData()
Gets the object stored in this object user's data

Returns:
  the object store if any, null otherwise

### getNativePointer

long getNativePointer()
Gets the native pointer used by this class to make native method calls.

Returns:
  the nativer pointer, as long

### toString

String toString()

Overrides:
  `toString` in class `Object`