Classes
The following classes are available globally.
-
Class basic linphone class
Declaration
Swift
public class LinphoneObject
-
Undocumented
See moreDeclaration
Swift
public final class AccountCreatorDelegateStub : AccountCreatorDelegate
-
Undocumented
See moreDeclaration
Swift
public final class CallDelegateStub : CallDelegate
-
Undocumented
See moreDeclaration
Swift
public final class ChatMessageDelegateStub : ChatMessageDelegate
-
Undocumented
See moreDeclaration
Swift
public final class ChatRoomDelegateStub : ChatRoomDelegate
-
Undocumented
See moreDeclaration
Swift
public final class ConferenceDelegateStub : ConferenceDelegate
-
Undocumented
See moreDeclaration
Swift
public final class CoreDelegateStub : CoreDelegate
-
Undocumented
See moreDeclaration
Swift
public final class EventDelegateStub : EventDelegate
-
Undocumented
See moreDeclaration
Swift
public final class FriendListDelegateStub : FriendListDelegate
-
Undocumented
See moreDeclaration
Swift
public final class LoggingServiceDelegateStub : LoggingServiceDelegate
-
Undocumented
See moreDeclaration
Swift
public final class PlayerDelegateStub : PlayerDelegate
-
Undocumented
See moreDeclaration
Swift
public final class XmlRpcRequestDelegateStub : XmlRpcRequestDelegate
-
The object used to configure an account on a server via XML-RPC, see https://wiki.linphone.org/xwiki/wiki/public/view/Lib/Features/Override%20account%20creator%20request/.
See moreDeclaration
Swift
public class AccountCreator : LinphoneObject
-
Object that represents a parsed SIP address. A SIP address is made of display name, username, domain name, port, and various uri headers (such as tags). It looks like ‘Alice sip:alice@example.net’. You can create an address using Factory.createAddress() or Core.interpretUrl() and both will return a nil object if it doesn’t match the grammar defined by the standard. This object is used in almost every other major objects to identity people (including yourself) & servers. The
See moreAddress
has methods to extract and manipulate all parts of the address.Declaration
Swift
public class Address : LinphoneObject
-
Object holding audio device information. It contains the name of the device, it’s type if available (Earpiece, Speaker, Bluetooth, etc..) and capabilities (input, output or both) the name of the driver that created it (filter in mediastreamer). You can use the
See moreAudioDevice
objects to configure default input/output devices or do it dynamically during a call. To get the list of available devices, use Core.getAudioDevices(). This list will be limited to one device of each type. Use Core.getExtendedAudioDevices() for a complete list.Declaration
Swift
public class AudioDevice : LinphoneObject
-
Object holding authentication information. In most case, authentication information consists of a username and password. If realm isn’t set, it will be deduced automatically from the first authentication challenge as for the hash algorithm. Sometimes, a userid is required by the proxy and then domain can be useful to discriminate different credentials. You can also use this object if you need to use a client certificate. Once created and filled, a
See moreAuthInfo
must be added to theCore
in order to become known and used automatically when needed. Use Core.addAuthInfo() for that purpose. TheCore
object can take the initiative to request authentication information when needed to the application through the authentication_requested() callback of it’s LinphoneCoreCbs. The application can respond to this information request later using Core.addAuthInfo(). This will unblock all pending authentication transactions and retry them with authentication headers.Declaration
Swift
public class AuthInfo : LinphoneObject
-
The object representing a data buffer.
See moreDeclaration
Swift
public class Buffer : LinphoneObject
-
This object represents a call issued or received by the
See moreCore
. You may have multiple calls at the same time, but only one will be inStreamsRunning
at any time unless they are merged into aConference
, others will be paused. You can get theState
of the call using getState(), it’s currentCallParams
with getCurrentParams() and the latest statistics by calling getAudioStats() or getVideoStats().Declaration
Swift
public class Call : LinphoneObject
-
Object used to keep track of all calls initiated, received or missed. It contains the call ID, date & time at which the call took place and it’s duration (0 if it wasn’t answered). You can also know if video was enabled or not or if it was a conference, as well as it’s average quality. If needed, you can also create a fake
See moreCallLog
using Core.createCallLog(), otherwise use Core.getCallLogs() or even Call.getCallLog() to get the log of an ongoing call.Declaration
Swift
public class CallLog : LinphoneObject
-
An object containing various parameters of a
Call
. You can specify your params while answering an incoming call using Call.acceptWithParams() or while initiating an outgoing call with Core.inviteAddressWithParams(). This object can be created using Core.createCallParams(), using nil for the call pointer if you plan to use it for an outgoing call. For each call, threeCallParams
are available: yours, your correspondent’s and the one that describe the current state of the call that is the result of the negociation between the previous two. For example, you might enable a certain feature in your call param but this feature can be denied in the remote’s configuration, hence the difference.See
See also: Call.getCurrentParams(), Call.getRemoteParams() and Call.getParams().Declaration
Swift
public class CallParams : LinphoneObject
-
This object carry various statistic informations regarding the quality of an audio or video stream for a given
See moreCall
. To receive these informations periodically and as soon as they are computed, implement the call_stats_updated() callback inside a LinphoneCoreCbs. At any time, the application can access latest computed statistics using Call.getAudioStats() and Call.getVideoStats().Declaration
Swift
public class CallStats : LinphoneObject
-
An chat message is the object that is sent or received through a
See moreChatRoom
. To create aChatMessage
, use ChatRoom.createEmptyMessage(), then either add text using addUtf8TextContent() or aContent
with file informations using addFileContent(). A validContent
for file transfer must contain a type and subtype, the name of the file and it’s size. Finally call send() to send it. To send files through aChatMessage
, you need to have configured a file transfer server URL with Core.setFileTransferServer(). On the receiving side, either use downloadContent() to download received files or enable auto-download in theCore
using Core.setMaxSizeForAutoDownloadIncomingFiles(), -1 disabling the feature and 0 always downloading files no matter it’s size. Keep in mind aChatMessage
created by aBasic
ChatRoom
can only contain oneContent
, either text or file.Declaration
Swift
public class ChatMessage : LinphoneObject
-
A chat room is the place where
See moreChatMessage
are exchanged. To create (or find) aChatRoom
, you first need aChatRoomParams
object. A chat room is uniquely identified by it’s local and remote SIP addresses, meaning you can only have one chat room between two accounts (unless the backend isFlexisipChat
). Then you can call Core.searchChatRoom() or Core.createChatRoom(). Be careful as aFlexisipChat
backendChatRoom
will be created asynchronously, so make sure you add a LinphoneChatRoomCbs to the returned object to be notified when it will be in stateCreated
. All chat rooms are loaded from database when theCore
starts, and you can get them using Core.getChatRooms(). This method doesn’t return empty chat rooms nor ones for which the local address doesn’t match an existingProxyConfig
identity, unless you specify otherwise in the [misc] section of your configuration file by setting hide_empty_chat_rooms=0 and/or hide_chat_rooms_from_removed_proxies=0.Declaration
Swift
public class ChatRoom : LinphoneObject
-
Object defining parameters for a
See moreChatRoom
. Can be created with Core.createDefaultChatRoomParams(). You can use isValid() to check if your configuration is valid or not. If theChatRoom
backend isBasic
, then no other parameter is required, butChatMessage
sent and received won’t benefit from all features aFlexisipChat
can offer like conversation with multiple participants and a subject, end-to-end encryption, ephemeral messages, etc… but this type is the only one that can interoperate with other SIP clients or with non-flexisip SIP proxies.Declaration
Swift
public class ChatRoomParams : LinphoneObject
-
TODO.
See moreDeclaration
Swift
public class Conference : LinphoneObject
-
TODO.
See moreDeclaration
Swift
public class ConferenceParams : LinphoneObject
-
This object is used to manipulate a configuration file. The format of the configuration file is a .ini like format: Various types can be used: strings and lists of strings, integers, floats, booleans (written as 0 or 1) and range of integers. Usually a
See moreCore
is initialized using twoConfig
, one default (where configuration changes through API calls will be saved) and one named ‘factory’ which is read-only and overwrites any setting that may exists in the default one. It is also possible to use only one (either default or factory) or even none.Declaration
Swift
public class Config : LinphoneObject
-
This object holds data that can be embedded in a signaling message. Use Core.createContent() to create it, and then you should set at least it’s type and subtype and fill the buffer with your data. A
See moreContent
can be multipart (contain other contents), have file information (name, path, size), be encrypted, have custom headers, etc… It is mainly used to send information through aChatMessage
.Declaration
Swift
public class Content : LinphoneObject
-
Main object to instanciate and on which to keep a reference. This object is the first object to instanciante, and will allow you to perform all kind of tasks. To create it, use either Factory.createCore() or Factory.createCoreWithConfig(), see
See moreConfig
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 theCore
is in stateReady
, use start(). It will then go to stateOn
and from that you can start using it for calls and chat messages. It is recommended to add a LinphoneCoreCbs listener using linphone_core_add_listener to it to monitor different events. To be able to receive events from the network, you must schedule a call iterate() often, like every 20ms. On Android & iOS isAutoIterateEnabled() is enabled by default so you don’t have to worry about that unless you disable it using setAutoIterateEnabled() 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.Declaration
Swift
public class Core : LinphoneObject
-
Represents a dial plan.
See moreDeclaration
Swift
public class DialPlan : LinphoneObject
-
Object representing full details about a signaling error or status. All
See moreErrorInfo
object returned by the liblinphone API are readonly and transcients. For safety they must be used immediately after obtaining them. Any other function call to the liblinphone may change their content or invalidate the pointer.Declaration
Swift
public class ErrorInfo : LinphoneObject
-
Object representing an event state, which is subcribed or published.
See
See also: Core.publish()See
See also: Core.subscribe()Declaration
Swift
public class Event : LinphoneObject
-
Object that represents an event that must be stored in database. For example, all chat related events are wrapped in an
See moreEventLog
, and many callbacks use this kind of type as parameter. Use getType() to get theEventLogType
it refers to, and then you can use one of the accessor methods to get the underlying object, for example getChatMessage() for aChatMessage
.Declaration
Swift
public class EventLog : LinphoneObject
-
The factory is a singleton object devoted to the creation of all the objects of Liblinphone that cannot be created by
See moreCore
itself. It is also used to configure a few behaviors before creating theCore
, like the logs verbosity or collection.Declaration
Swift
public class Factory : LinphoneObject
-
This object is used to store a SIP address.
See moreFriend
is mainly used to implement an adressbook feature, and are used as data for theMagicSearch
object. If your proxy supports it, you can also use it to subscribe to presence information. The objects are stored in aFriendList
which are in turn stored inside theCore
. They can be stored inside a database if the path to it is configured, otherwise they will be lost after theCore
is destroyed. Thanks to the vCard plugin, you can also store more information like phone numbers, organization, etc…Declaration
Swift
public class Friend : LinphoneObject
-
This object representing a list of
See moreFriend
. You can use it to store contacts locally or synchronize them through CardDAV protocol.Declaration
Swift
public class FriendList : LinphoneObject
-
Object representing a chain of protocol headers. It provides read/write access to the headers of the underlying protocol.
See moreDeclaration
Swift
public class Headers : LinphoneObject
-
Policy to use to send/receive instant messaging composing/delivery/display notifications. The sending of this information is done as in the RFCs 3994 (is_composing) and 5438 (imdn delivered/displayed).
See moreDeclaration
Swift
public class ImNotifPolicy : LinphoneObject
-
Object representing an informational message sent or received by the core.
See moreDeclaration
Swift
public class InfoMessage : LinphoneObject
-
Singleton class giving access to logging features. It supports custom domain, writing into a file as well as several verbosity levels. The LinphoneLoggingServiceCbs listener allows you to be notified each time a log is printed. As the
See moreLoggingService
is a singleton, use get() to get it.Declaration
Swift
public class LoggingService : LinphoneObject
-
A
See moreMagicSearch
is used to do specifics searchs.Declaration
Swift
public class MagicSearch : LinphoneObject
-
Policy to use to pass through NATs/firewalls.
See moreDeclaration
Swift
public class NatPolicy : LinphoneObject
-
Identifies a member of a
See moreConference
orChatRoom
. A participant is identified by it’s SIP address. It can have manyParticipantDevice
.Declaration
Swift
public class Participant : LinphoneObject
-
This object represents a unique device for a member of a
See moreConference
orChatRoom
. Devices are identified by the gruu parameter inside theAddress
which can be obtained by getAddress(). It is specially usefull to know the security level of each device inside an end-to-end encryptedChatRoom
. You can get a list of allParticipantDevice
using Participant.getDevices().Declaration
Swift
public class ParticipantDevice : LinphoneObject
-
Declaration
Swift
public class ParticipantDeviceIdentity : LinphoneObject
-
This object represents the delivery/display state of a given chat message for a given participant. It also contains a timestamp at which this participant state has changed. Use ChatMessage.getParticipantsByImdnState() to get all
See moreParticipantImdnState
for a given state. From there use getParticipant() to get theParticipant
object if you need it.Declaration
Swift
public class ParticipantImdnState : LinphoneObject
-
Object representing an RTP payload type.
See moreDeclaration
Swift
public class PayloadType : LinphoneObject
-
Player interface.
See moreDeclaration
Swift
public class Player : LinphoneObject
-
Presence activity type holding information about a presence activity.
See moreDeclaration
Swift
public class PresenceActivity : LinphoneObject
-
Presence model type holding information about the presence of a person.
See moreDeclaration
Swift
public class PresenceModel : LinphoneObject
-
Presence note type holding information about a presence note.
See moreDeclaration
Swift
public class PresenceNote : LinphoneObject
-
Presence person holding information about a presence person.
See moreDeclaration
Swift
public class PresencePerson : LinphoneObject
-
Presence service type holding information about a presence service.
See moreDeclaration
Swift
public class PresenceService : LinphoneObject
-
Represents an account configuration to be used by
See moreCore
. In addition to theAuthInfo
that stores the credentials, you need to configure aProxyConfig
as well to be able to connect to a proxy server. A minimal proxy config consists of an identity address (sip:username@domain.tld) and the proxy server address, - See also: setServerAddr(). If any, it will be stored inside the default configuration file, so it will survive the destruction of theCore
and be available at the next start. The account set with Core.setDefaultProxyConfig() will be used as default for outgoing calls & chat messages unless specified otherwise.Declaration
Swift
public class ProxyConfig : LinphoneObject
-
Object holding chat message data received by a push notification on iOS platform only. This object is a subset of
See moreChatMessage
, so only a few methods of it’s parent are available, like getTextContent() and getSubject(), just enough to be able to build a notification to show the user.Declaration
Swift
public class PushNotificationMessage : LinphoneObject
-
Structure describing a range of integers.
See moreDeclaration
Swift
public class Range : LinphoneObject
-
The LinphoneSearchResult object represents a result of a search.
See moreDeclaration
Swift
public class SearchResult : LinphoneObject
-
SIP transports & ports configuration object. Indicates which transport among UDP, TCP, TLS and DTLS should be enabled and if so on which port to listen. You can use special values like LC_SIP_TRANSPORT_DISABLED (0), LC_SIP_TRANSPORT_RANDOM (-1) and LC_SIP_TRANSPORT_DONTBIND (-2). Once configuration is complete, use Core.setTransports() to apply it. This will be saved in configuration file so you don’t have to do it each time the
See moreCore
starts.Declaration
Swift
public class Transports : LinphoneObject
-
Linphone tunnel object.
See moreDeclaration
Swift
public class Tunnel : LinphoneObject
-
Tunnel settings.
See moreDeclaration
Swift
public class TunnelConfig : LinphoneObject
-
Object storing contact information using vCard 4.0 format.
See moreDeclaration
Swift
public class Vcard : LinphoneObject
-
Object describing policy regarding video streams establishments. Use setAutomaticallyAccept() and setAutomaticallyInitiate() to tell the Core to automatically accept or initiate video during calls. Even if disabled, you’ll still be able to add it later while the call is running.
See moreDeclaration
Swift
public class VideoActivationPolicy : LinphoneObject
-
This object represents a video definition, eg. it’s width, it’s height and possibly it’s name. It is mostly used to configure the default video size sent by your camera during a video call with Core.setPreferredVideoDefinition() method.
See moreDeclaration
Swift
public class VideoDefinition : LinphoneObject
-
The
See moreXmlRpcRequest
object representing a XML-RPC request to be sent.Declaration
Swift
public class XmlRpcRequest : LinphoneObject
-
The
See moreXmlRpcSession
object used to send XML-RPC requests and handle their responses.Declaration
Swift
public class XmlRpcSession : LinphoneObject