Core
public class Core : LinphoneObject
Linphone core main object created by function linphone_core_new .
-
Get the native window handle of the video window.
Declaration
Swift
public var NativeVideoWindowIdString: String { get set }
-
Get the native window handle of the video preview window.
Declaration
Swift
public var NativePreviewWindowIdString: String { get set }
-
LinphoneCoreLogCollectionUploadState is used to notify if log collection upload have been succesfully delivered or not.
See moreDeclaration
Swift
public enum LogCollectionUploadState : Int
-
Undocumented
Declaration
Swift
public func addDelegate(delegate: CoreDelegate)
-
Undocumented
Declaration
Swift
public func removeDelegate(delegate: CoreDelegate)
-
Compress the log collection in a single file.
Declaration
Swift
public static func compressLogCollection() -> String
Return Value
The path of the compressed log collection file (to be freed calling ms_free()).
-
Enable the linphone core log collection to upload logs on a server.
Declaration
Swift
public static func enableLogCollection(state: LogCollectionState)
Parameters
state
#LinphoneLogCollectionState value telling whether to enable log collection or not.
-
Get the max file size in bytes of the files used for log collection.
Declaration
Swift
public static var getLogCollectionMaxFileSize: Int { get }
Return Value
The max file size in bytes of the files used for log collection.
-
Get the path where the log files will be written for log collection.
Declaration
Swift
public static var getLogCollectionPath: String { get }
Return Value
The path where the log files will be written.
-
Get the prefix of the filenames that will be used for log collection.
Declaration
Swift
public static var getLogCollectionPrefix: String { get }
Return Value
The prefix of the filenames used for log collection.
-
Returns liblinphone’s version as a string.
Declaration
Swift
public static var getVersion: String { get }
-
Tells whether the linphone core log collection is enabled.
Declaration
Swift
public static func logCollectionEnabled() -> LogCollectionState
Return Value
The state of the linphone core log collection.
-
Reset the log collection by removing the log files.
Declaration
Swift
public static func resetLogCollection()
-
Enable logs serialization (output logs from either the thread that creates the linphone core or the thread that calls iterate()). Must be called before creating the linphone core.
Declaration
Swift
public static func serializeLogs()
-
Set the max file size in bytes of the files used for log collection. Warning: this function should only not be used to change size dynamically but instead only before calling - See also: linphone_core_enable_log_collection. If you increase max size on runtime, logs chronological order COULD be broken.
Declaration
Swift
public static func setLogCollectionMaxFileSize(size: Int)
Parameters
size
The max file size in bytes of the files used for log collection.
-
Set the path of a directory where the log files will be written for log collection.
Declaration
Swift
public static func setLogCollectionPath(path: String)
Parameters
path
The path where the log files will be written.
-
Set the prefix of the filenames that will be used for log collection.
Declaration
Swift
public static func setLogCollectionPrefix(prefix: String)
Parameters
prefix
The prefix to use for the filenames for log collection.
-
True if tunnel support was compiled.
Declaration
Swift
public static func tunnelAvailable() -> Bool
-
Return the availability of uPnP.
Declaration
Swift
public static func upnpAvailable() -> Bool
Return Value
true if uPnP is available otherwise return false.
-
Tells whether VCARD support is builtin.
Declaration
Swift
public static func vcardSupported() -> Bool
Return Value
if VCARD is supported, true otherwise.
-
Returns which adaptive rate algorithm is currently configured for future calls.
See
See also: setAdaptiveRateAlgorithm()Declaration
Swift
public var adaptiveRateAlgorithm: String { get set }
-
Returns whether adaptive rate control is enabled.
See
See also: enableAdaptiveRateControl()Declaration
Swift
public var adaptiveRateControlEnabled: Bool { get set }
-
Tells whether the audio adaptive jitter compensation is enabled.
Declaration
Swift
public var audioAdaptiveJittcompEnabled: Bool { get set }
Return Value
if the audio adaptive jitter compensation is enabled, true otherwise.
-
Get the DSCP field for outgoing audio streams. The DSCP defines the quality of service in IP packets.
Declaration
Swift
public var audioDscp: Int { get set }
Return Value
The current DSCP value
-
Returns the nominal audio jitter buffer size in milliseconds.
Declaration
Swift
public var audioJittcomp: Int { get set }
Return Value
The nominal audio jitter buffer size in milliseconds
-
Use to get multicast address to be used for audio stream.
Declaration
Swift
public var audioMulticastAddr: String { get }
Return Value
an ipv4/6 multicast address or default value
-
Undocumented
Declaration
Swift
public func setAudiomulticastaddr(newValue: String) throws
-
Use to get multicast state of audio stream.
Declaration
Swift
public var audioMulticastEnabled: Bool { get set }
Return Value
true if subsequent calls will propose multicast ip set by linphone_core_set_audio_multicast_addr
-
Use to get multicast ttl to be used for audio stream.
Declaration
Swift
public var audioMulticastTtl: Int { get }
Return Value
a time to leave value
-
Undocumented
Declaration
Swift
public func setAudiomulticastttl(newValue: Int) throws
-
Return the list of the available audio payload types.
Declaration
Swift
public var audioPayloadTypes: [PayloadType] { get set }
Return Value
A list of
PayloadType
objects. LinphonePayloadType A freshly allocated list of the available payload types. The list must be destroyed with bctbx_list_free() after usage. The elements of the list haven’t to be unref. -
Gets the UDP port used for audio streaming.
Declaration
Swift
public var audioPort: Int { get set }
Return Value
The UDP port used for audio streaming
-
Return AVPF enablement. See setAvpfMode() .
Declaration
Swift
public var avpfMode: AVPFMode { get set }
Return Value
The current AVPF mode
-
Return the avpf report interval in seconds.
Declaration
Swift
public var avpfRrInterval: Int { get set }
Return Value
The current AVPF report interval in seconds
-
Gets the database filename where call logs will be stored.
Declaration
Swift
public var callLogsDatabasePath: String { get set }
Return Value
filesystem path
-
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 toCall
object into your program, you must use linphone_call_ref.Declaration
Swift
public var calls: [Call] { get }
Return Value
A list of
Call
objects. LinphoneCall -
Get the number of Call.
Declaration
Swift
public var callsNb: Int { get }
Return Value
The current number of calls
-
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.
Declaration
Swift
public var cameraSensorRotation: Int { get }
Return Value
The camera sensor rotation in degrees (0 to 360) or -1 if it could not be retrieved
-
Gets the name of the currently assigned sound device for capture.
Declaration
Swift
public var captureDevice: String { get }
Return Value
The name of the currently assigned sound device for capture
-
Undocumented
Declaration
Swift
public func setCapturedevice(newValue: String) throws
-
Returns whether chat is enabled.
Declaration
Swift
public var chatEnabled: Bool { get }
-
Get a pointer on the internal conference object.
Declaration
Swift
public var conference: Conference? { get }
Return Value
A pointer on
Conference
or nil if no conference are going on -
Get the set input volume of the local participant.
Declaration
Swift
public var conferenceLocalInputVolume: Float { get }
Return Value
A value inside [0.0 ; 1.0]
-
Tells whether the conference server feature is enabled.
Declaration
Swift
public var conferenceServerEnabled: Bool { get set }
Return Value
A boolean value telling whether the conference server feature is enabled or not
-
Get the number of participant in the running conference. The local participant is included in the count only if it is in the conference.
Declaration
Swift
public var conferenceSize: Int { get }
Return Value
The number of participant
-
Returns the LpConfig object used to manage the storage (config) file.
Declaration
Swift
public var config: Config? { get }
-
Get my consolidated presence.
Declaration
Swift
public var consolidatedPresence: ConsolidatedPresence { get set }
Return Value
My consolidated presence
-
Gets the current call.
Declaration
Swift
public var currentCall: Call? { get }
Return Value
The current call or nil if no call is running
-
Get the remote address of the current call.
Declaration
Swift
public var currentCallRemoteAddress: Address? { get }
Return Value
The remote address of the current call or nil if there is no current call.
-
Gets the current LinphoneCoreCbs. This is meant only to be called from a callback to be able to get the user_data associated with the LinphoneCoreCbs that is calling the callback.
Declaration
Swift
public var currentCallbacks: CoreDelegate? { get }
Return Value
the LinphoneCoreCbs that has called the last callback
-
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.
See
See also: setPreviewVideoDefinition()
Declaration
Swift
public var currentPreviewVideoDefinition: VideoDefinition? { get }
Return Value
The captured
VideoDefinition
-
Retrieves the first list of
Friend
from the core.Declaration
Swift
public var defaultFriendList: FriendList? { get }
Return Value
the first
FriendList
object or nil -
Declaration
Swift
public var defaultProxyConfig: ProxyConfig? { get set }
Return Value
The default proxy configuration.
-
Get the name of the default mediastreamer2 filter used for rendering video on the current platform. This is for advanced users of the library, mainly to expose mediastreamer video filter name and status.
Declaration
Swift
public var defaultVideoDisplayFilter: String { get }
Return Value
The default video display filter
-
Gets the delayed timeout See setDelayedTimeout() for details.
Declaration
Swift
public var delayedTimeout: Int { get set }
Return Value
The current delayed timeout in seconds
-
Gets the current device orientation.
See
See also: setDeviceRotation()
Declaration
Swift
public var deviceRotation: Int { get set }
Return Value
The current device orientation
-
Tells whether DNS search (use of local domain if the fully qualified name did return results) is enabled.
Declaration
Swift
public var dnsSearchEnabled: Bool { get set }
Return Value
if DNS search is enabled, true if disabled.
-
Forces liblinphone to use the supplied list of dns servers, instead of system’s ones.
Declaration
Swift
public var dnsServers: [String] { get set }
Parameters
servers
A list of const char * objects. const char * A list of strings containing the IP addresses of DNS servers to be used. Setting to nil restores default behaviour, which is to use the DNS server list provided by the system. The list is copied internally.
-
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.
Declaration
Swift
public var dnsServersApp: [String] { get set }
Parameters
servers
A list of const char * objects. const char * A list of strings containing the IP addresses of DNS servers to be used. Setting to nil restores default behaviour, which is to use the DNS server list provided by the system. The list is copied internally.
-
Tells if the DNS was set by an application.
Declaration
Swift
public var dnsSetByApp: Bool { get }
Return Value
if DNS was set by app, true otherwise.
-
Tells whether DNS SRV resolution is enabled.
Declaration
Swift
public var dnsSrvEnabled: Bool { get set }
Return Value
if DNS SRV resolution is enabled, true if disabled.
-
Retrieve the maximum available download bandwidth. This value was set by setDownloadBandwidth().
Declaration
Swift
public var downloadBandwidth: Int { get set }
-
Get audio packetization time linphone expects to receive from peer. A value of zero means that ptime is not specified.
Declaration
Swift
public var downloadPtime: Int { get set }
-
Returns true if echo cancellation is enabled.
Declaration
Swift
public var echoCancellationEnabled: Bool { get set }
Return Value
A boolean value telling whether echo cancellation is enabled or disabled
-
Get the name of the mediastreamer2 filter used for echo cancelling.
Declaration
Swift
public var echoCancellerFilterName: String { get set }
Return Value
The name of the mediastreamer2 filter used for echo cancelling
-
Tells whether echo limiter is enabled.
Declaration
Swift
public var echoLimiterEnabled: Bool { get set }
Return Value
if the echo limiter is enabled, true otherwise.
-
Sets expected available upload bandwidth This is IP bandwidth, in kbit/s. This information is used by liblinphone together with remote side available bandwidth signaled in SDP messages to properly configure audio & video codec’s output bitrate.
Declaration
Swift
public var expectedBandwidth: Int { get set }
Parameters
bw
the bandwidth in kbits/s, 0 for infinite
-
Get the globaly set http file transfer server to be used for content type application/vnd.gsma.rcs-ft-http+xml.
Declaration
Swift
public var fileTransferServer: String { get set }
Return Value
URL of the file server like https://file.linphone.org/upload.php
-
Sets whether or not to start friend lists subscription when in foreground.
Declaration
Swift
public var friendListSubscriptionEnabled: Bool? { get set }
Parameters
enable
whether or not to enable the feature
-
Gets the database filename where friends will be stored.
Declaration
Swift
public var friendsDatabasePath: String { get set }
Return Value
filesystem path
-
Retrieves the list of
FriendList
from the core.Declaration
Swift
public var friendsLists: [FriendList] { get }
Return Value
A list of
FriendList
objects. LinphoneFriendList a list ofFriendList
-
Returns true if hostname part of primary contact is guessed automatically.
Declaration
Swift
public var guessHostname: Bool { get set }
-
Get http proxy address to be used for signaling.
Declaration
Swift
public var httpProxyHost: String { get set }
Return Value
hostname of IP adress of the http proxy (can be nil to disable).
-
Get http proxy port to be used for signaling.
Declaration
Swift
public var httpProxyPort: Int { get set }
Return Value
port of the http proxy.
-
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.
Declaration
Swift
public var identity: String { get }
Return Value
The default identity SIP address
-
Get the
ImNotifPolicy
object controlling the instant messaging notifications.Declaration
Swift
public var imNotifPolicy: ImNotifPolicy? { get }
Return Value
A
ImNotifPolicy
object. -
Gets the in call timeout See setInCallTimeout() for details.
Declaration
Swift
public var inCallTimeout: Int { get set }
Return Value
The current in call timeout in seconds
-
Returns the incoming call timeout See setIncTimeout() for details.
Declaration
Swift
public var incTimeout: Int { get set }
Return Value
The current incoming call timeout in seconds
-
Tells whether IPv6 is enabled or not.
See
See also: enableIpv6() for more details on how IPv6 is supported in liblinphone.
Declaration
Swift
public var ipv6Enabled: Bool { get set }
Return Value
A boolean value telling whether IPv6 is enabled or not
-
Check whether the device is echo canceller calibration is required.
Declaration
Swift
public var isEchoCancellerCalibrationRequired: Bool { get }
Return Value
if it is required, true otherwise
-
Returns whether or not friend lists subscription are enabled.
Declaration
Swift
public var isFriendListSubscriptionEnabled: Bool { get }
Return Value
whether or not the feature is enabled
-
Indicates whether the local participant is part of a conference.
Warning
That function automatically fails in the case of conferences using a conferencet server (focus). If you use such a conference, you should use Conference.removeParticipant() instead.
Declaration
Swift
public var isInConference: Bool { get }
Return Value
if the local participant is in a conference, true otherwise.
-
Tells whether there is an incoming invite pending.
Declaration
Swift
public var isIncomingInvitePending: Bool { get }
Return Value
A boolean telling whether an incoming invite is pending or not.
-
Check if the configured media encryption is mandatory or not.
Declaration
Swift
public var isMediaEncryptionMandatory: Bool { get }
Return Value
if media encryption is mandatory; true otherwise.
-
return network state either as positioned by the application or by linphone itself.
Declaration
Swift
public var isNetworkReachable: Bool { get }
-
Is signaling keep alive enabled.
Declaration
Swift
public var keepAliveEnabled: Bool { get set }
Return Value
A boolean value telling whether signaling keep alive is enabled
-
Get the latest outgoing call log.
Declaration
Swift
public var lastOutgoingCallLog: CallLog? { get }
Return Value
{LinphoneCallLog}
-
Tells wether LIME X3DH is enabled or not.
Declaration
Swift
public var limeX3DhEnabled: Bool { get set }
Return Value
The current lime state
-
Get the x3dh server url.
Declaration
Swift
public var limeX3DhServerUrl: String { get set }
-
Get the list of linphone specs string values representing what functionalities the linphone client supports.
Declaration
Swift
public var linphoneSpecsList: [String] { get set }
Return Value
A list of char * objects. char * a list of supported specs. The list must be freed with bctbx_list_free() after usage
-
Gets the url of the server where to upload the collected log files.
Declaration
Swift
public var logCollectionUploadServerUrl: String { get set }
Return Value
The url of the server where to upload the collected log files.
-
Get the maximum number of simultaneous calls Linphone core can manage at a time. All new call above this limit are declined with a busy answer
Declaration
Swift
public var maxCalls: Int { get set }
Return Value
max number of simultaneous calls
-
Gets the size under which incoming files in chat messages will be downloaded automatically.
Declaration
Swift
public var maxSizeForAutoDownloadIncomingFiles: Int { get set }
Return Value
The size in bytes, -1 if autodownload feature is disabled, 0 to download them all no matter the size
-
Gets the name of the currently assigned sound device for media.
Declaration
Swift
public var mediaDevice: String { get }
Return Value
The name of the currently assigned sound device for capture
-
Undocumented
Declaration
Swift
public func setMediadevice(newValue: String) throws
-
Get the media encryption policy being used for RTP packets.
Declaration
Swift
public var mediaEncryption: MediaEncryption { get }
Return Value
The media encryption policy being used.
-
Undocumented
Declaration
Swift
public func setMediaencryption(newValue: MediaEncryption) throws
-
Define whether the configured media encryption is mandatory, if it is and the negotation cannot result in the desired media encryption then the call will fail. If not an INVITE will be resent with encryption disabled.
Declaration
Swift
public var mediaEncryptionMandatory: Bool? { get set }
Parameters
m
to set it mandatory; true otherwise.
-
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().
Declaration
Swift
public var mediaNetworkReachable: Bool? { get set }
-
Tells whether the microphone is enabled.
Declaration
Swift
public var micEnabled: Bool { get set }
Return Value
if the microphone is enabled, true if disabled.
-
Get microphone gain in db.
Declaration
Swift
public var micGainDb: Float { get set }
Return Value
The current microphone gain
-
Get the number of missed calls. Once checked, this counter can be reset with resetMissedCallsCount().
Declaration
Swift
public var missedCallsCount: Int { get }
Return Value
The number of missed calls.
-
Returns the maximum transmission unit size in bytes.
Declaration
Swift
public var mtu: Int { get set }
-
Get the public IP address of NAT being used.
Declaration
Swift
public var natAddress: String { get set }
Return Value
The public IP address of NAT being used.
-
Get the native window handle of the video preview window.
Declaration
Swift
public var nativePreviewWindowId: UnsafeMutableRawPointer? { get set }
Return Value
The native window handle of the video preview window
-
Get the native window handle of the video window.
Declaration
Swift
public var nativeVideoWindowId: UnsafeMutableRawPointer? { get set }
Return Value
The native window handle of the video window
-
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.
Declaration
Swift
public var networkReachable: Bool? { get set }
-
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.Declaration
Swift
public var nortpTimeout: Int { get set }
Return Value
The value of the no-rtp timeout in seconds
-
Get the wav file that is played when putting somebody on hold, or when files are used instead of soundcards (see setUseFiles()). The file is a 16 bit linear wav file.
Declaration
Swift
public var playFile: String { get set }
Return Value
The path to the file that is played when putting somebody on hold.
-
Gets the name of the currently assigned sound device for playback.
Declaration
Swift
public var playbackDevice: String { get }
Return Value
The name of the currently assigned sound device for playback
-
Undocumented
Declaration
Swift
public func setPlaybackdevice(newValue: String) throws
-
Get playback gain in db before entering sound card.
Declaration
Swift
public var playbackGainDb: Float { get set }
Return Value
The current playback gain
-
Returns the preferred video framerate, previously set by setPreferredFramerate().
Declaration
Swift
public var preferredFramerate: Float { get set }
Return Value
frame rate in number of frames per seconds.
-
Get the preferred video definition for the stream that is captured and sent to the remote party.
Declaration
Swift
public var preferredVideoDefinition: VideoDefinition? { get set }
Return Value
The preferred
VideoDefinition
-
Sets the preferred video size by its name. This is identical to linphone_core_set_preferred_video_size except that it takes the name of the video resolution as input. Video resolution names are: qcif, svga, cif, vga, 4cif, svga …
- deprecated: Use Factory.createVideoDefinitionFromName() and setPreferredVideoDefinition() instead
Declaration
Swift
public var preferredVideoSizeByName: String { get set }
-
Get my presence model.
Declaration
Swift
public var presenceModel: PresenceModel? { get set }
Return Value
A
PresenceModel
object, or nil if no presence model has been set. -
Get the definition of the captured video.
See
See also: setPreviewVideoDefinition()
Declaration
Swift
public var previewVideoDefinition: VideoDefinition? { get set }
Return Value
The captured
VideoDefinition
if it was previously set by setPreviewVideoDefinition(), otherwise a 0x0 LinphoneVideoDefinition. -
Sets the preview video size by its name. See linphone_core_set_preview_video_size for more information about this feature.
Video resolution names are: qcif, svga, cif, vga, 4cif, svga …
- deprecated: Use Factory.createVideoDefinitionFromName() and setPreviewVideoDefinition() instead
Declaration
Swift
public var previewVideoSizeByName: String { get set }
-
Returns the default identity when no proxy configuration is used.
Declaration
Swift
public var primaryContact: String { get }
-
Undocumented
Declaration
Swift
public func setPrimarycontact(newValue: String) throws
-
Get provisioning URI.
Declaration
Swift
public var provisioningUri: String { get }
Return Value
the provisioning URI.
-
Undocumented
Declaration
Swift
public func setProvisioninguri(newValue: String) throws
-
Returns an unmodifiable list of entered proxy configurations.
Declaration
Swift
public var proxyConfigList: [ProxyConfig] { get }
Return Value
A list of
ProxyConfig
objects. LinphoneProxyConfig -
Tells whether QRCode is enabled in the preview.
Declaration
Swift
public var qrcodeVideoPreviewEnabled: Bool { get set }
Return Value
A boolean value telling whether QRCode is enabled in the preview.
-
Gets if realtime text is enabled or not.
Declaration
Swift
public var realtimeTextEnabled: Bool { get }
Return Value
true if realtime text is enabled, false otherwise
-
Get the wav file where incoming stream is recorded, when files are used instead of soundcards (see setUseFiles()). This feature is different from call recording (CallParams.setRecordFile()) The file is a 16 bit linear wav file.
Declaration
Swift
public var recordFile: String { get set }
Return Value
The path to the file where incoming stream is recorded.
-
Get the ring back tone played to far end during incoming calls.
Declaration
Swift
public var remoteRingbackTone: String { get set }
-
Tells whether NACK context is enabled or not.
Declaration
Swift
public var retransmissionOnNackEnabled: Bool { get set }
Return Value
A boolean value telling whether NACK context is enabled or not
-
Returns the path to the wav file used for ringing.
Declaration
Swift
public var ring: String { get set }
Return Value
The path to the wav file used for ringing
-
Tells whether the ring play is enabled during an incoming early media call.
Declaration
Swift
public var ringDuringIncomingEarlyMedia: Bool { get set }
-
Returns the path to the wav file used for ringing back.
Declaration
Swift
public var ringback: String { get set }
Return Value
The path to the wav file used for ringing back
-
Gets the name of the currently assigned sound device for ringing.
Declaration
Swift
public var ringerDevice: String { get }
Return Value
The name of the currently assigned sound device for ringing
-
Undocumented
Declaration
Swift
public func setRingerdevice(newValue: String) throws
-
Gets the path to a file or folder containing the trusted root CAs (PEM format)
Declaration
Swift
public var rootCa: String { get set }
Return Value
The path to a file or folder containing the trusted root CAs
-
Sets the trusted root CAs (PEM format)
Declaration
Swift
public var rootCaData: String { get set }
Parameters
data
The trusted root CAs as a string
-
Media offer control param for SIP INVITE.
Declaration
Swift
public var sdp200AckEnabled: Bool { get set }
Return Value
true if INVITE has to be sent whitout SDP.
-
Tells whether video self view during call is enabled or not.
See
See also: enableSelfView() for details.
Declaration
Swift
public var selfViewEnabled: Bool { get set }
Return Value
A boolean value telling whether self view is enabled
-
Returns the session expires value, 0 by default, which means session expires disabled.
Declaration
Swift
public var sessionExpiresValue: Int { get set }
-
Get the DSCP field for SIP signaling channel. The DSCP defines the quality of service in IP packets.
Declaration
Swift
public var sipDscp: Int { get set }
Return Value
The current DSCP value
-
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().
Declaration
Swift
public var sipNetworkReachable: Bool? { get set }
-
Get the SIP transport timeout.
Declaration
Swift
public var sipTransportTimeout: Int { get set }
Return Value
The SIP transport timeout in milliseconds.
-
Gets the list of the available sound devices.
Declaration
Swift
public var soundDevicesList: [String] { get }
Return Value
A list of char * objects. char * An unmodifiable array of strings contanining the names of the available sound devices that is nil terminated
-
Get the path to the image file streamed when “Static picture” is set as the video device.
Declaration
Swift
public var staticPicture: String { get }
Return Value
The path to the image file streamed when “Static picture” is set as the video device.
-
Undocumented
Declaration
Swift
public func setStaticpicture(newValue: String) throws
-
Get the frame rate for static picture.
Declaration
Swift
public var staticPictureFps: Float { get }
Return Value
The frame rate used for static picture.
-
Undocumented
Declaration
Swift
public func setStaticpicturefps(newValue: Float) throws
-
Get the STUN server address being used.
Declaration
Swift
public var stunServer: String { get set }
Return Value
The STUN server address being used.
-
Returns a null terminated table of strings containing the file format extension supported for call recording.
Declaration
Swift
public var supportedFileFormatsList: [String] { get }
Return Value
A list of char * objects. char * the supported formats, typically ‘wav’ and ‘mkv’
-
Return the list of the available text payload types.
Declaration
Swift
public var textPayloadTypes: [PayloadType] { get set }
Return Value
A list of
PayloadType
objects. LinphonePayloadType A freshly allocated list of the available payload types. The list must be destroyed with bctbx_list_free() after usage. The elements of the list haven’t to be unref. -
Gets the UDP port used for text streaming.
Declaration
Swift
public var textPort: Int { get set }
Return Value
The UDP port used for text streaming
-
Gets the TLS certificate.
Declaration
Swift
public var tlsCert: String { get set }
Return Value
the TLS certificate or nil if not set yet
-
Gets the path to the TLS certificate file.
Declaration
Swift
public var tlsCertPath: String { get set }
Return Value
the TLS certificate path or nil if not set yet
-
Gets the TLS key.
Declaration
Swift
public var tlsKey: String { get set }
Return Value
the TLS key or nil if not set yet
-
Gets the path to the TLS key file.
Declaration
Swift
public var tlsKeyPath: String { get set }
Return Value
the TLS key path or nil if not set yet
-
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.
Declaration
Swift
public var transports: Transports? { get }
Return Value
A
Transports
structure with the configured ports -
Undocumented
Declaration
Swift
public func setTransports(newValue: Transports) throws
-
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.
Declaration
Swift
public var transportsUsed: Transports? { get }
Return Value
A
Transports
structure with the ports being used -
Return the global unread chat message count.
Declaration
Swift
public var unreadChatMessageCount: Int { get }
Return Value
The global unread chat message count.
-
Return the unread chat message count for all active local address. (Primary contact + proxy configs.)
Declaration
Swift
public var unreadChatMessageCountFromActiveLocals: Int { get }
Return Value
The unread chat message count.
-
Retrieve the maximum available upload bandwidth. This value was set by setUploadBandwidth().
Declaration
Swift
public var uploadBandwidth: Int { get set }
-
Set audio packetization time linphone will send (in absence of requirement from peer) A value of 0 stands for the current codec default packetization time.
Declaration
Swift
public var uploadPtime: Int { get set }
-
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).
Declaration
Swift
public var upnpExternalIpaddress: String { get }
Return Value
a null terminated string containing the external ip address. If the the external ip address is not available return null.
-
Return the internal state of uPnP.
Declaration
Swift
public var upnpState: UpnpState { get }
Return Value
an LinphoneUpnpState.
-
Gets whether linphone is currently streaming audio from and to files, rather than using the soundcard.
Declaration
Swift
public var useFiles: Bool { get set }
Return Value
A boolean value representing whether linphone is streaming audio from and to files or not.
-
Indicates whether SIP INFO is used to send digits.
Declaration
Swift
public var useInfoForDtmf: Bool { get set }
Return Value
A boolean value telling whether SIP INFO is used to send digits
-
Indicates whether RFC2833 is used to send digits.
Declaration
Swift
public var useRfc2833ForDtmf: Bool { get set }
Return Value
A boolean value telling whether RFC2833 is used to send digits
-
Declaration
Swift
public var userAgent: String { get }
Return Value
liblinphone’s user agent as a string.
-
Get the path to the directory storing the user’s certificates.
Declaration
Swift
public var userCertificatesPath: String { get set }
Return Value
The path to the directory storing the user’s certificates.
-
Get the default policy for video. See setVideoActivationPolicy() for more details.
Declaration
Swift
public var videoActivationPolicy: VideoActivationPolicy? { get set }
Return Value
The video policy being used
-
Tells whether the video adaptive jitter compensation is enabled.
Declaration
Swift
public var videoAdaptiveJittcompEnabled: Bool { get set }
Return Value
if the video adaptive jitter compensation is enabled, true otherwise.
-
Tells whether video capture is enabled.
Declaration
Swift
public var videoCaptureEnabled: Bool { get set }
Return Value
if video capture is enabled, true if disabled.
-
Returns the name of the currently active video device.
Declaration
Swift
public var videoDevice: String { get }
Return Value
The name of the currently active video device
-
Undocumented
Declaration
Swift
public func setVideodevice(newValue: String) throws
-
Gets the list of the available video capture devices.
Declaration
Swift
public var videoDevicesList: [String] { get }
Return Value
A list of char * objects. char * An unmodifiable array of strings contanining the names of the available video capture devices that is nil terminated
-
Tells whether video display is enabled.
Declaration
Swift
public var videoDisplayEnabled: Bool { get set }
Return Value
if video display is enabled, true if disabled.
-
Get the name of the mediastreamer2 filter used for rendering video.
Declaration
Swift
public var videoDisplayFilter: String { get set }
Return Value
The currently selected video display filter
-
Get the DSCP field for outgoing video streams. The DSCP defines the quality of service in IP packets.
Declaration
Swift
public var videoDscp: Int { get set }
Return Value
The current DSCP value
-
Returns true if either capture or display is enabled, true otherwise. same as ( linphone_core_video_capture_enabled | linphone_core_video_display_enabled )
Declaration
Swift
public var videoEnabled: Bool { get }
-
Returns the nominal video jitter buffer size in milliseconds.
Declaration
Swift
public var videoJittcomp: Int { get set }
Return Value
The nominal video jitter buffer size in milliseconds
-
Use to get multicast address to be used for video stream.
Declaration
Swift
public var videoMulticastAddr: String { get }
Return Value
an ipv4/6 multicast address, or default value
-
Undocumented
Declaration
Swift
public func setVideomulticastaddr(newValue: String) throws
-
Use to get multicast state of video stream.
Declaration
Swift
public var videoMulticastEnabled: Bool { get set }
Return Value
true if subsequent calls will propose multicast ip set by linphone_core_set_video_multicast_addr
-
Use to get multicast ttl to be used for video stream.
Declaration
Swift
public var videoMulticastTtl: Int { get }
Return Value
a time to leave value
-
Undocumented
Declaration
Swift
public func setVideomulticastttl(newValue: Int) throws
-
Return the list of the available video payload types.
Declaration
Swift
public var videoPayloadTypes: [PayloadType] { get set }
Return Value
A list of
PayloadType
objects. LinphonePayloadType A freshly allocated list of the available payload types. The list must be destroyed with bctbx_list_free() after usage. The elements of the list haven’t to be unref. -
Gets the UDP port used for video streaming.
Declaration
Swift
public var videoPort: Int { get set }
Return Value
The UDP port used for video streaming
-
Get the video preset used for video calls.
Declaration
Swift
public var videoPreset: String { get set }
Return Value
The name of the video preset used for video calls (can be nil if the default video preset is used).
-
Tells whether video preview is enabled.
Declaration
Swift
public var videoPreviewEnabled: Bool { get set }
Return Value
A boolean value telling whether video preview is enabled
-
Enable or disable video source reuse when switching from preview to actual video call. This source reuse is useful when you always display the preview, even before calls are initiated. By keeping the video source for the transition to a real video call, you will smooth out the source close/reopen cycle.
This function does not have any effect durfing calls. It just indicates the
Core
to initiate future calls with video source reuse or not. Also, at the end of a video call, the source will be closed whatsoever for now.Declaration
Swift
public var videoSourceReuseEnabled: Bool? { get set }
Parameters
enable
to enable video source reuse. true to disable it for subsequent calls.
-
Tells whether Wifi only mode is enabled or not.
Declaration
Swift
public var wifiOnlyEnabled: Bool { get set }
Return Value
A boolean value telling whether Wifi only mode is enabled or not
-
Get the path to the file storing the zrtp secrets cache.
Declaration
Swift
public var zrtpSecretsFile: String { get set }
Return Value
The path to the file storing the zrtp secrets cache.
-
Add all current calls into the conference. If no conference is running a new internal conference context is created and all current calls are added to it.
Declaration
Swift
public func addAllToConference() throws
Return Value
0 if succeeded. Negative number if failed
-
Add a friend list.
Declaration
Swift
public func addFriendList(list: FriendList)
Parameters
list
FriendList
object -
Add the given linphone specs to the list of functionalities the linphone client supports.
Declaration
Swift
public func addLinphoneSpec(spec: String)
Parameters
spec
The spec to add
-
Add a proxy configuration. This will start registration on the proxy, if registration is enabled.
Declaration
Swift
public func addProxyConfig(config: ProxyConfig) throws
-
This function controls signaling features supported by the core. They are typically included in a SIP Supported header.
Declaration
Swift
public func addSupportedTag(tag: String)
Parameters
tag
The feature tag name
-
Add a participant to the conference. If no conference is going on a new internal conference context is created and the participant is added to it.
Declaration
Swift
public func addToConference(call: Call) throws
Parameters
call
The current call with the participant to add
Return Value
0 if succeeded. Negative number if failed
-
Checks if a new version of the application is available.
Declaration
Swift
public func checkForUpdate(currentVersion: String)
Parameters
currentVersion
The current version of the application
-
Clear all authentication information.
Declaration
Swift
public func clearAllAuthInfo()
-
Erase the call log.
Declaration
Swift
public func clearCallLogs()
-
Erase all proxies from config.
Declaration
Swift
public func clearProxyConfig()
-
Create a
AccountCreator
and set Linphone Request callbacks.Declaration
Swift
public func createAccountCreator(xmlrpcUrl: String) throws -> AccountCreator
Parameters
xmlrpcUrl
The URL to the XML-RPC server. Must be NON nil.
Return Value
The new
AccountCreator
object. -
Create an authentication information with default values from Linphone core.
deprecated: use Factory.createAuthInfo() instead.
Declaration
Swift
public func createAuthInfo(username: String, userid: String, passwd: String, ha1: String, realm: String, domain: String) throws -> AuthInfo
Parameters
username
String containing the username part of the authentication credentials
userid
String containing the username to use to calculate the authentication digest (optional)
passwd
String containing the password of the authentication credentials (optional, either passwd or ha1 must be set)
ha1
String containing a ha1 hash of the password (optional, either passwd or ha1 must be set)
realm
String used to discriminate different SIP authentication domains (optional)
domain
String containing the SIP domain for which this authentication information is valid, if it has to be restricted for a single SIP domain.
Return Value
AuthInfo
with default values set -
Creates a fake LinphoneCallLog.
Declaration
Parameters
from
LinphoneAddress of caller
to
LinphoneAddress of callee
dir
LinphoneCallDir of call
duration
call length in seconds
startTime
timestamp of call start time
connectedTime
timestamp of call connection
status
LinphoneCallStatus of call
videoEnabled
whether video was enabled or not for this call
quality
call quality
Return Value
LinphoneCallLog object
-
Create a
CallParams
suitable for inviteWithParams(), linphone_core_accept_call_with_params, linphone_core_accept_early_media_with_params, linphone_core_accept_call_update. The parameters are initialized according to the currentCore
configuration and the current state of the LinphoneCall.Declaration
Swift
public func createCallParams(call: Call?) throws -> CallParams
Parameters
call
Call
for which the parameters are to be build, or nil in the case where the parameters are to be used for a new outgoing call.Return Value
A new
CallParams
object -
Create a chat room.
Declaration
Swift
public func createChatRoom(params: ChatRoomParams, subject: String, participants: [Address]) throws -> ChatRoom
Parameters
params
The chat room creation parameters
ChatRoomParams
participants
A list of
Address
objects. LinphoneAddress The initial list of participants of the chat roomReturn Value
The newly created chat room.
-
Declaration
Parameters
subject
The subject of the group chat room
participants
A list of
Address
objects. LinphoneAddress The initial list of participants of the chat roomReturn Value
The newly created chat room.
-
Declaration
Swift
public func createChatRoom(params: ChatRoomParams, localAddr: Address, participant: Address) throws -> ChatRoom
Parameters
params
The chat room creation parameters
ChatRoomParams
localAddr
Address
representing the local proxy configuration to use for the chat room creationparticipant
Address
representing the initial participant to add to the chat roomReturn Value
The newly created chat room.
-
Create a chat room.
Declaration
Swift
public func createChatRoom(params: ChatRoomParams, localAddr: Address, subject: String, participants: [Address]) throws -> ChatRoom
Parameters
params
The chat room creation parameters
ChatRoomParams
localAddr
Address
representing the local proxy configuration to use for the chat room creationsubject
The subject of the group chat room
participants
A list of
Address
objects. LinphoneAddress The initial list of participants of the chat roomReturn Value
The newly created chat room.
-
Create some default conference parameters for instanciating a a conference with createConferenceWithParams().
Declaration
Swift
public func createConferenceParams() throws -> ConferenceParams
Return Value
conference parameters.
-
Create a conference.
Declaration
Swift
public func createConferenceWithParams(params: ConferenceParams) throws -> Conference
Parameters
params
Parameters of the conference. See
ConferenceParams
.Return Value
A pointer on the freshly created conference. That object will be automatically freed by the core after calling terminateConference().
-
Creates and returns the default chat room parameters.
Declaration
Swift
public func createDefaultChatRoomParams() throws -> ChatRoomParams
Return Value
LinphoneChatRoomParams
-
Create a new empty
FriendList
object.Declaration
Swift
public func createFriendList() throws -> FriendList
Return Value
A new
FriendList
object. -
Creates an empty info message.
The info message can later be filled with information using InfoMessage.addHeader() or InfoMessage.setContent(), and finally sent with linphone_core_send_info_message().
Declaration
Swift
public func createInfoMessage() throws -> InfoMessage
Return Value
a new LinphoneInfoMessage.
-
Create an independent media file player. This player support WAVE and MATROSKA formats.
Declaration
Swift
public func createLocalPlayer(soundCardName: String, videoDisplayName: String, windowId: UnsafeMutableRawPointer?) throws -> Player
Parameters
soundCardName
Playback sound card. If nil, the ringer sound card set in
Core
will be usedvideoDisplayName
Video display. If nil, the video display set in
Core
will be usedwindowId
Id of the drawing window. Depend of video out
Return Value
A pointer on the new instance. nil if faild.
-
Create a
MagicSearch
object.Declaration
Swift
public func createMagicSearch() throws -> MagicSearch
Return Value
The create
MagicSearch
object -
Create an out-of-dialog notification, specifying the destination resource, the event name. The notification can be send with Event.notify().
Parameters
resource
the destination resource
event
the event name
Return Value
a
Event
holding the context of the notification. -
Create a publish context for a one-shot publish. After being created, the publish must be sent using Event.sendPublish(). The
Event
is automatically terminated when the publish transaction is finished, either with success or failure. The application must not call Event.terminate() for such one-shot publish.Declaration
Parameters
resource
the resource uri for the event
event
the event name
Return Value
the
Event
holding the context of the publish. -
Create a
PresenceActivity
with the given type and description.Declaration
Swift
public func createPresenceActivity(acttype: PresenceActivityType, description: String) throws -> PresenceActivity
Parameters
acttype
The LinphonePresenceActivityType to set for the activity.
description
An additional description of the activity to set for the activity. Can be nil if no additional description is to be added.
Return Value
The created
PresenceActivity
object. -
Create a default LinphonePresenceModel.
Declaration
Swift
public func createPresenceModel() throws -> PresenceModel
Return Value
The created
PresenceModel
object. -
Create a
PresenceModel
with the given activity type and activity description.Declaration
Swift
public func createPresenceModelWithActivity(acttype: PresenceActivityType, description: String) throws -> PresenceModel
Parameters
acttype
The LinphonePresenceActivityType to set for the activity of the created model.
description
An additional description of the activity to set for the activity. Can be nil if no additional description is to be added.
Return Value
The created
PresenceModel
object. -
Create a
PresenceModel
with the given activity type, activity description, note content and note language.Declaration
Swift
public func createPresenceModelWithActivityAndNote(acttype: PresenceActivityType, description: String, note: String, lang: String) throws -> PresenceModel
Parameters
acttype
The LinphonePresenceActivityType to set for the activity of the created model.
description
An additional description of the activity to set for the activity. Can be nil 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.
Return Value
The created
PresenceModel
object. -
Create a
PresenceNote
with the given content and language.Declaration
Swift
public func createPresenceNote(content: String, lang: String) throws -> PresenceNote
Parameters
content
The content of the note to be created.
lang
The language of the note to be created.
Return Value
The created
PresenceNote
object. -
Create a
PresencePerson
with the given id.Declaration
Swift
public func createPresencePerson(id: String) throws -> PresencePerson
Parameters
id
The id of the person to be created.
Return Value
The created
PresencePerson
object. -
Create a
PresenceService
with the given id, basic status and contact.Declaration
Swift
public func createPresenceService(id: String, basicStatus: PresenceBasicStatus, contact: String) throws -> PresenceService
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.
Return Value
The created
PresenceService
object. -
Create a proxy config with default values from Linphone core.
Declaration
Swift
public func createProxyConfig() throws -> ProxyConfig
Return Value
ProxyConfig
with default values set -
Create a publish context for an event state. After being created, the publish must be sent using Event.sendPublish(). After expiry, the publication is refreshed unless it is terminated before.
Declaration
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.
Return Value
the
Event
holding the context of the publish. -
Create an outgoing subscription, specifying the destination resource, the event name, and an optional content body. If accepted, the subscription runs for a finite period, but is automatically renewed if not terminated before. Unlike subscribe() the subscription isn’t sent immediately. It will be send when calling Event.sendSubscribe().
Declaration
Swift
public func createSubscribe(resource: Address, proxy: ProxyConfig, event: String, expires: Int) throws -> Event
Parameters
resource
the destination resource
proxy
the proxy configuration to use
event
the event name
expires
the whished duration of the subscription
Return Value
a
Event
holding the context of the created subcription. -
Create an outgoing subscription, specifying the destination resource, the event name, and an optional content body. If accepted, the subscription runs for a finite period, but is automatically renewed if not terminated before. Unlike subscribe() the subscription isn’t sent immediately. It will be send when calling Event.sendSubscribe().
Declaration
Parameters
resource
the destination resource
event
the event name
expires
the whished duration of the subscription
Return Value
a
Event
holding the context of the created subcription. -
Create a
XmlRpcSession
for a given url.Declaration
Swift
public func createXmlRpcSession(url: String) throws -> XmlRpcSession
Parameters
url
The URL to the XML-RPC server. Must be NON nil.
Return Value
The new
XmlRpcSession
object. -
Inconditionnaly disable incoming chat messages.
Declaration
Swift
public func disableChat(denyReason: Reason)
Parameters
denyReason
the deny reason (LinphoneReasonNone has no effect).
-
Enable reception of incoming chat messages. By default it is enabled but it can be disabled with disableChat().
Declaration
Swift
public func enableChat()
-
Call this method when you receive a push notification. It will ensure the proxy configs are correctly registered to the proxy server, so the call or the message will be correctly delivered.
Declaration
Swift
public func ensureRegistered()
-
This method is called by the application to notify the linphone core library when it enters background mode.
Declaration
Swift
public func enterBackground()
-
Join the local participant to the running conference.
Declaration
Swift
public func enterConference() throws
Return Value
0 if succeeded. Negative number if failed
-
This method is called by the application to notify the linphone core library when it enters foreground mode.
Declaration
Swift
public func enterForeground()
-
Returns whether a specific file format is supported.
See
See also: linphone_core_get_supported_file_formats
Declaration
Swift
public func fileFormatSupported(fmt: String) -> Bool
Parameters
fmt
The format extension (wav, mkv).
-
Find authentication info matching realm, username, domain criteria. First of all, (realm,username) pair are searched. If multiple results (which should not happen because realm are supposed to be unique), then domain is added to the search.
Declaration
Swift
public func findAuthInfo(realm: String, username: String, sipDomain: String) -> AuthInfo?
Parameters
realm
the authentication ‘realm’ (optional)
username
the SIP username to be authenticated (mandatory)
sipDomain
the SIP domain name (optional)
Return Value
a
AuthInfo
-
Get the call log matching the call id, or nil if can’t be found.
Declaration
Swift
public func findCallLogFromCallId(callId: String) -> CallLog?
Parameters
callId
Call id of the call log to find
Return Value
{LinphoneCallLog}
-
Find a chat room. No reference is transfered to the application. The
Core
keeps a reference on the chat room.Parameters
peerAddr
a linphone address.
localAddr
a linphone address.
Return Value
ChatRoom
where messaging can take place. -
Find a one to one chat room. No reference is transfered to the application. The
Core
keeps a reference on the chat room.Declaration
Parameters
localAddr
a linphone address.
participantAddr
a linphone address.
encrypted
whether to look for an encrypted chat room or not
Return Value
ChatRoom
where messaging can take place. -
Find a one to one chat room. No reference is transfered to the application. The
Core
keeps a reference on the chat room.deprecated: Use linphone_core_find_one_to_one_chat_room_2 instead
Declaration
Parameters
localAddr
a linphone address.
participantAddr
a linphone address.
Return Value
ChatRoom
where messaging can take place. -
Get the call with the remote_address specified.
Declaration
Swift
public func getCallByRemoteAddress(remoteAddress: String) -> Call?
Parameters
remoteAddress
The remote address of the call that we want to get
Return Value
The call if it has been found, nil otherwise
-
Get the list of call logs (past calls). At the contrary of linphone_core_get_call_logs, it is your responsibility to unref the logs and free this list once you are done using it.
Parameters
peerAddr
A
Address
object.Return Value
A list of
CallLog
objects. LinphoneCallLog The objects inside the list are freshly allocated with a reference counter equal to one, so they need to be freed on list destruction with bctbx_list_free_with_data() for instance. -
Get the list of call logs (past calls) that matches the given
Address
. 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.deprecated: Use linphone_core_get_call_history_2 instead. Deprecated since 2018-10-29.
Parameters
addr
Address
objectReturn Value
A list of
CallLog
objects. LinphoneCallLog The objects inside the list are freshly allocated with a reference counter equal to one, so they need to be freed on list destruction with bctbx_list_free_with_data() for instance. -
Get a basic chat room. If it does not exist yet, it will be created. No reference is transfered to the application. The
Core
keeps a reference on the chat room.Parameters
peerAddr
a linphone address.
localAddr
a linphone address.
Return Value
ChatRoom
where messaging can take place. -
Get a basic chat room whose peer is the supplied address. If it does not exist yet, it will be created. No reference is transfered to the application. The
Core
keeps a reference on the chat room.Parameters
addr
a linphone address.
Return Value
ChatRoom
where messaging can take place. -
Get a basic chat room for messaging from a sip uri like sip:joe@sip.linphone.org. If it does not exist yet, it will be created. No reference is transfered to the application. The
Core
keeps a reference on the chat room.Declaration
Swift
public func getChatRoomFromUri(to: String) -> ChatRoom?
Parameters
to
The destination address for messages.
Return Value
ChatRoom
where messaging can take place. -
Retrieves the list of
Friend
from the core that has the given display name.Declaration
Swift
public func getFriendListByName(name: String) -> FriendList?
Parameters
name
the name of the list
Return Value
the first
FriendList
object or nil -
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.
Warning
The returned payload type is allocated as a floating reference i.e. the reference counter is initialized to 0.
Declaration
Swift
public func getPayloadType(type: String, rate: Int, channels: Int) -> PayloadType?
Parameters
type
payload mime type (I.E SPEEX, PCMU, VP8)
rate
can be LINPHONE_FIND_PAYLOAD_IGNORE_RATE
channels
number of channels, can be LINPHONE_FIND_PAYLOAD_IGNORE_CHANNELS
Return Value
Returns nil if not found. If a
PayloadType
is returned, it must be released with linphone_payload_type_unref after using it. -
Declaration
Swift
public func getProxyConfigByIdkey(idkey: String) -> ProxyConfig?
Parameters
idkey
An arbitrary idkey string associated to a proxy configuration
Return Value
the proxy configuration for the given idkey value, or nil if none found
-
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)
Declaration
Swift
public func getZrtpStatus(addr: String) -> ZrtpPeerStatus
Parameters
addr
the peer uri
Return Value
- LinphoneZrtpPeerStatusUnknown: this uri is not present in cache OR during calls with the active device, SAS never was validated or rejected
-
Check whether the device has a hardware echo canceller.
Declaration
Swift
public func hasBuiltinEchoCanceller() -> Bool
Return Value
if it does, true otherwise
-
Check whether the device is flagged has crappy opengl.
Declaration
Swift
public func hasCrappyOpengl() -> Bool
Return Value
if crappy opengl flag is set, true otherwise
-
Tells whether there is a call running.
Declaration
Swift
public func inCall() -> Bool
Return Value
A boolean value telling whether a call is currently running or not
-
See linphone_proxy_config_normalize_sip_uri for documentation. Default proxy config is used to parse the address.
Declaration
Swift
public func interpretUrl(url: String) -> Address?
-
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.
Declaration
Swift
public func invite(url: String) -> Call?
Parameters
url
The destination of the call (sip address, or phone number).
Return Value
A
Call
object or nil in case of failure -
Initiates an outgoing call given a destination
Address
TheAddress
can be constructed directly using linphone_address_new, or created by interpretUrl(). The application doesn’t own a reference to the returnedCall
object. Use linphone_call_ref to safely keep theCall
pointer valid within your application.Parameters
addr
The destination of the call (sip address).
Return Value
A
Call
object or nil in case of failure -
Initiates an outgoing call given a destination
Address
TheAddress
can be constructed directly using linphone_address_new, or created by interpretUrl(). The application doesn’t own a reference to the returnedCall
object. Use linphone_call_ref to safely keep theCall
pointer valid within your application.Declaration
Swift
public func inviteAddressWithParams(addr: Address, params: CallParams) -> Call?
Parameters
addr
The destination of the call (sip address).
params
Call parameters
Return Value
A
Call
object or nil in case of failure -
Initiates an outgoing call according to supplied call parameters The application doesn’t own a reference to the returned
Call
object. Use linphone_call_ref to safely keep theCall
pointer valid within your application.Declaration
Swift
public func inviteWithParams(url: String, params: CallParams) -> Call?
Parameters
url
The destination of the call (sip address, or phone number).
params
Call parameters
Return Value
A
Call
object or nil in case of failure -
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.
Declaration
Swift
public func isMediaFilterSupported(filtername: String) -> Bool
Parameters
filtername
the filter name
Return Value
true if the filter is loaded and usable, false otherwise
-
Main loop function. It is crucial that your application call it periodically.
iterate() performs various backgrounds tasks:
Declaration
Swift
public func iterate()
-
Make the local participant leave the running conference.
Declaration
Swift
public func leaveConference() throws
Return Value
0 if succeeded. Negative number if failed
-
Tells if LIME X3DH is available.
Declaration
Swift
public func limeX3DhAvailable() -> Bool
-
Update current config with the content of a xml config file.
Declaration
Swift
public func loadConfigFromXml(xmlUri: String)
Parameters
xmlUri
the path to the xml file
-
Check if a media encryption type is supported.
Declaration
Swift
public func mediaEncryptionSupported(menc: MediaEncryption) -> Bool
Parameters
menc
LinphoneMediaEncryption
Return Value
whether a media encryption scheme is supported by the
Core
engine -
Migrates the call logs from the linphonerc to the database if not done yet.
Declaration
Swift
public func migrateLogsFromRcToDb()
-
Migrate configuration so that all SIP transports are enabled. Versions of linphone < 3.7 did not support using multiple SIP transport simultaneously. This function helps application to migrate the configuration so that all transports are enabled. Existing proxy configuration are added a transport parameter so that they continue using the unique transport that was set previously. This function must be used just after creating the core, before any call to iterate()
Declaration
Swift
public func migrateToMultiTransport() throws
Return Value
1 if migration was done, 0 if not done because unnecessary or already done, -1 in case of error.
-
Notify all friends that have subscribed.
Declaration
Swift
public func notifyAllFriends(presence: PresenceModel)
Parameters
presence
PresenceModel
to notify -
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.
Declaration
Swift
public func notifyNotifyPresenceReceived(lf: Friend)
Parameters
lf
the
Friend
whose presence information has been received. -
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.
Declaration
Swift
public func notifyNotifyPresenceReceivedForUriOrTel(lf: Friend, uriOrTel: String, presenceModel: PresenceModel)
Parameters
lf
the
Friend
whose presence information has been received.uriOrTel
telephone number or sip uri
presenceModel
the
PresenceModel
that has been modified -
Pause all currently running calls.
Declaration
Swift
public func pauseAllCalls() throws
Return Value
0
-
Plays a dtmf sound to the local user.
Declaration
Swift
public func playDtmf(dtmf: CChar, durationMs: Int)
Parameters
dtmf
DTMF to play [‘0’..‘16’] | ‘#’ | ‘#’
durationMs
Duration in ms, -1 means play until next further call to stopDtmf()
-
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.
Declaration
Swift
public func playLocal(audiofile: String) throws
Parameters
audiofile
The path to an audio file in wav PCM 16 bit format
Return Value
0 on success, -1 on error
-
Call generic OpenGL render for a given core.
Declaration
Swift
public func previewOglRender()
-
Publish an event state. This first create a
Event
with createPublish() and calls Event.sendPublish() to actually send it. After expiry, the publication is refreshed unless it is terminated before.Declaration
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
Return Value
the
Event
holding the context of the publish. -
force registration refresh to be initiated upon next iterate
Declaration
Swift
public func refreshRegisters()
-
Reload mediastreamer2 plugins from specified directory.
Declaration
Swift
public func reloadMsPlugins(path: String)
Parameters
path
the path from where plugins are to be loaded, pass nil to use default (compile-time determined) plugin directory.
-
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.
Declaration
Swift
public func reloadSoundDevices()
-
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.
Declaration
Swift
public func reloadVideoDevices()
-
Removes a friend list.
Declaration
Swift
public func removeFriendList(list: FriendList)
Parameters
list
FriendList
object -
Remove a call from 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.
Declaration
Swift
public func removeFromConference(call: Call) throws
Parameters
call
a call that has been previously merged into the conference.
Return Value
0 if successful, -1 otherwise.
-
Remove the given linphone specs from the list of functionalities the linphone client supports.
Declaration
Swift
public func removeLinphoneSpec(spec: String)
Parameters
spec
The spec to remove
-
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.Declaration
Swift
public func removeProxyConfig(config: ProxyConfig)
-
Remove a supported tag.
See
See also: addSupportedTag()
Declaration
Swift
public func removeSupportedTag(tag: String)
Parameters
tag
The tag to remove
-
Reset the counter of missed calls.
Declaration
Swift
public func resetMissedCallsCount()
-
Sets the UDP port range from which to randomly select the port used for audio streaming.
Declaration
Swift
public func setAudioPortRange(minPort: Int, maxPort: Int)
Parameters
minPort
The lower bound of the audio port range to use
maxPort
The upper bound of the audio port range to use
-
Assign an audio file to be played locally upon call failure, for a given reason.
Declaration
Swift
public func setCallErrorTone(reason: Reason, audiofile: String)
Parameters
reason
the LinphoneReason representing the failure error code.
audiofile
a wav file to be played when such call failure happens.
-
Set the rectangle where the decoder will search a QRCode.
Declaration
Swift
public func setQrcodeDecodeRect(x: Int, y: Int, w: Int, h: Int)
Parameters
x
axis
y
axis
w
width
h
height
-
Sets the UDP port range from which to randomly select the port used for text streaming.
Declaration
Swift
public func setTextPortRange(minPort: Int, maxPort: Int)
Parameters
minPort
The lower bound of the text port range to use
maxPort
The upper bound of the text port range to use
-
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 nil is given to “version”. If nil 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.
Declaration
Swift
public func setUserAgent(uaName: String, version: String)
Parameters
uaName
Name of the user agent.
version
Version of the user agent.
-
Sets the UDP port range from which to randomly select the port used for video streaming.
Declaration
Swift
public func setVideoPortRange(minPort: Int, maxPort: Int)
Parameters
minPort
The lower bound of the video port range to use
maxPort
The upper bound of the video port range to use
-
Tells whether a specified sound device can capture sound.
Declaration
Swift
public func soundDeviceCanCapture(device: String) -> Bool
Parameters
device
the device name as returned by linphone_core_get_sound_devices
Return Value
A boolean value telling whether the specified sound device can capture sound
-
Tells whether a specified sound device can play sound.
Declaration
Swift
public func soundDeviceCanPlayback(device: String) -> Bool
Parameters
device
the device name as returned by linphone_core_get_sound_devices
Return Value
A boolean value telling whether the specified sound device can play sound
-
Check if a call will need the sound resources in near future (typically an outgoing call that is awaiting response). In liblinphone, it is not possible to have two independant calls using sound device or camera at the same time. In order to prevent this situation, an application can use soundResourcesLocked() to know whether it is possible at a given time to start a new outgoing call. When the function returns true, an application should not allow the user to start an outgoing call.
Declaration
Swift
public func soundResourcesLocked() -> Bool
Return Value
A boolean value telling whether a call will need the sound resources in near future
-
Start a
Core
object after it has been instantiated and not automatically started. Also re-initialize aCore
object that has been stopped using stop(). Must be called only if LinphoneGlobalState is either Ready of Off. State will changed to Startup, Configuring and then On.Declaration
Swift
public func start() throws
Return Value
0: success, -1: global failure, -2: could not connect database
-
Start recording the running conference.
Declaration
Swift
public func startConferenceRecording(path: String) throws
Parameters
path
Path to the file where the recording will be written
Return Value
0 if succeeded. Negative number if failed
-
Special function to warm up dtmf feeback stream. linphone_core_stop_dtmf_stream must() be called before entering FG mode
Declaration
Swift
public func startDtmfStream()
-
Starts an echo calibration of the sound devices, in order to find adequate settings for the echo canceler automatically.
Declaration
Swift
public func startEchoCancellerCalibration() throws
Return Value
LinphoneStatus whether calibration has started or not.
-
Start the simulation of call to test the latency with an external device.
Declaration
Swift
public func startEchoTester(rate: UInt) throws
Parameters
rate
Sound sample rate.
-
Stop a
Core
object after it has been instantiated and started. If stopped, it can be started again using start(). Must be called only if LinphoneGlobalState is either On. State will changed to Shutdown and then Off.Declaration
Swift
public func stop()
-
Stop recording the running conference.
Declaration
Swift
public func stopConferenceRecording() throws
Return Value
0 if succeeded. Negative number if failed
-
Stops playing a dtmf started by playDtmf().
Declaration
Swift
public func stopDtmf()
-
Special function to stop dtmf feed back function. Must be called before entering BG mode
Declaration
Swift
public func stopDtmfStream()
-
Stop the simulation of call.
Declaration
Swift
public func stopEchoTester() throws
-
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.
Declaration
Swift
public func stopRinging()
-
Create an outgoing subscription, specifying the destination resource, the event name, and an optional content body. If accepted, the subscription runs for a finite period, but is automatically renewed if not terminated before.
Declaration
Parameters
resource
the destination resource
event
the event name
expires
the whished duration of the subscription
body
an optional body, may be nil.
Return Value
a
Event
holding the context of the created subcription. -
Take a photo of currently from capture device and write it into a jpeg file. Note that the snapshot is asynchronous, an application shall not assume that the file is created when the function returns.
Declaration
Swift
public func takePreviewSnapshot(file: String) throws
Parameters
file
a path where to write the jpeg content.
Return Value
0 if successfull, -1 otherwise (typically if jpeg format is not supported).
-
Terminates all the calls.
Declaration
Swift
public func terminateAllCalls() throws
Return Value
0
-
Terminate the running conference. If it is a local conference, all calls inside it will become back separate calls and will be put in #LinphoneCallPaused state. If it is a conference involving a focus server, all calls inside the conference will be terminated.
Declaration
Swift
public func terminateConference() throws
Return Value
0 if succeeded. Negative number if failed
-
Upload the log collection to the configured server url.
Declaration
Swift
public func uploadLogCollection()
-
Tells the core to use a separate window for local camera preview video, instead of inserting local view within the remote video window.
Declaration
Swift
public func usePreviewWindow(yesno: Bool)
Parameters
yesno
to use a separate window, true to insert the preview in the remote video window.
-
Specify whether the tls server certificate must be verified when connecting to a SIP/TLS server.
Declaration
Swift
public func verifyServerCertificates(yesno: Bool)
Parameters
yesno
A boolean value telling whether the tls server certificate must be verified
-
Specify whether the tls server certificate common name must be verified when connecting to a SIP/TLS server.
Declaration
Swift
public func verifyServerCn(yesno: Bool)
Parameters
yesno
A boolean value telling whether the tls server certificate common name must be verified
-
Test if video is supported.
Declaration
Swift
public func videoSupported() -> Bool