Classes

The following classes are available globally.

  • Class basic linphone class

    Declaration

    Swift

    public class LinphoneObject
  • Undocumented

    See more

    Declaration

    Swift

    public final class AccountCreatorDelegateStub : AccountCreatorDelegate
  • Undocumented

    See more

    Declaration

    Swift

    public final class AccountDelegateStub : AccountDelegate
  • Undocumented

    See more

    Declaration

    Swift

    public final class CallDelegateStub : CallDelegate
  • Undocumented

    See more

    Declaration

    Swift

    public final class ChatMessageDelegateStub : ChatMessageDelegate
  • Undocumented

    See more

    Declaration

    Swift

    public final class ChatRoomDelegateStub : ChatRoomDelegate
  • Undocumented

    See more

    Declaration

    Swift

    public final class ConferenceDelegateStub : ConferenceDelegate
  • Undocumented

    See more

    Declaration

    Swift

    public final class ConferenceSchedulerDelegateStub : ConferenceSchedulerDelegate
  • Undocumented

    See more

    Declaration

    Swift

    public final class CoreDelegateStub : CoreDelegate
  • Undocumented

    See more

    Declaration

    Swift

    public final class EventDelegateStub : EventDelegate
  • Undocumented

    See more

    Declaration

    Swift

    public final class FriendListDelegateStub : FriendListDelegate
  • Undocumented

    See more

    Declaration

    Swift

    public final class LoggingServiceDelegateStub : LoggingServiceDelegate
  • Undocumented

    See more

    Declaration

    Swift

    public final class MagicSearchDelegateStub : MagicSearchDelegate
  • Undocumented

    See more

    Declaration

    Swift

    public final class ParticipantDeviceDelegateStub : ParticipantDeviceDelegate
  • Undocumented

    See more

    Declaration

    Swift

    public final class PlayerDelegateStub : PlayerDelegate
  • Undocumented

    See more

    Declaration

    Swift

    public final class XmlRpcRequestDelegateStub : XmlRpcRequestDelegate
  • Object that represents a Linphone Account. This object replaces the deprecated ProxyConfig. Use a AccountParams object to configure it.

    See more

    Declaration

    Swift

    public class Account : LinphoneObject
  • 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 more

    Declaration

    Swift

    public class AccountCreator : LinphoneObject
  • Object that is used to set the different parameters of a Account. Note that authenticated accounts should have a corresponding AuthInfo added to the Core to register properly.

    See more

    Declaration

    Swift

    public class AccountParams : 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 Address has methods to extract and manipulate all parts of the address.

    See more

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

    See more

    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 AuthInfo must be added to the Core in order to become known and used automatically when needed. Use Core.addAuthInfo() for that purpose. The Core 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.

    See more

    Declaration

    Swift

    public class AuthInfo : LinphoneObject
  • The object representing a data buffer.

    See more

    Declaration

    Swift

    public class Buffer : LinphoneObject
  • This object represents a call issued or received by the Core. Linphone only allows at most one active call at any given time and it will be in StreamsRunning. However, if the core is locally hosting a Conference, you may have some or all the calls in the conference in StreamsRunning as well as an additional active call outside of the conference in StreamsRunning if the local participant of the Conference is not part of it. You can get the State of the call using getState(), it’s current CallParams with getCurrentParams() and the latest statistics by calling getAudioStats() or getVideoStats().

    See more

    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 CallLog using Core.createCallLog(), otherwise use Core.getCallLogs() or even Call.getCallLog() to get the log of an ongoing call.

    See more

    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, three CallParams 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().
    See more

    Declaration

    Swift

    public class CallParams : LinphoneObject
  • This object carry various statistic informations regarding the quality of an/// audio or video stream for a given Call. 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().

    See more

    Declaration

    Swift

    public class CallStats : LinphoneObject
  • An chat message is the object that is sent or received through a ChatRoom. To create a ChatMessage, use ChatRoom.createEmptyMessage(), then either add text using addUtf8TextContent() or a Content with file informations using addFileContent(). A valid Content 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 a ChatMessage, 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 the Core using Core.setMaxSizeForAutoDownloadIncomingFiles(), -1 disabling the feature and 0 always downloading files no matter it’s size. Keep in mind a ChatMessage created by a Basic ChatRoom can only contain one Content, either text or file.

    See more

    Declaration

    Swift

    public class ChatMessage : LinphoneObject
  • A chat room is the place where ChatMessage are exchanged. To create (or find) a ChatRoom, you first need a ChatRoomParams 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 is FlexisipChat). Then you can call Core.searchChatRoom() or Core.createChatRoom(). Be careful as a FlexisipChat backend ChatRoom will be created asynchronously, so make sure you add a LinphoneChatRoomCbs to the returned object to be notified when it will be in state Created. All chat rooms are loaded from database when the Core 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 existing ProxyConfig 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.

    See more

    Declaration

    Swift

    public class ChatRoom : LinphoneObject
  • Object defining parameters for a ChatRoom. Can be created with Core.createDefaultChatRoomParams(). You can use isValid() to check if your configuration is valid or not. If the ChatRoom backend is Basic, then no other parameter is required, but ChatMessage sent and received won’t benefit from all features a FlexisipChat 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.

    See more

    Declaration

    Swift

    public class ChatRoomParams : LinphoneObject
  • A conference is the object that allow to make calls when there are 2 or more/// participants. To create (or find) a Conference, you first need a ConferenceParams object. Core.createConferenceWithParams() allows you to create a conference. A conference is uniquely identified by a conference address, meaning you can have more than one conference between two accounts. As of now, each Core can host only 1 conference but it can be part of many conferences as a remote participant. To find a conference among those a core is part of, you can call Core.searchConference().

    See more

    Declaration

    Swift

    public class Conference : LinphoneObject
  • Object defining all information related to a conference.

    See more

    Declaration

    Swift

    public class ConferenceInfo : LinphoneObject
  • Object defining parameters for a Conference. Can be created by calling function Core.createConferenceParams().

    See more

    Declaration

    Swift

    public class ConferenceParams : LinphoneObject
  • Object used to create remote conferences and send ICS to notify participants.

    See more

    Declaration

    Swift

    public class ConferenceScheduler : 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 Core is initialized using two Config, 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.

    See more

    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 Content 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 a ChatMessage.

    See more

    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 Config for more information about factory and default config. On some platforms like Android or iOS you will need to give it the Context of your application. Once the Core is in state Ready, use start(). It will then go to state On 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 linphone_core_set_auto_iterate_enabled 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.

    See more

    Declaration

    Swift

    public class Core : LinphoneObject
  • Represents a dial plan.

    See more

    Declaration

    Swift

    public class DialPlan : LinphoneObject
  • The LinphoneDigestAuthenticationPolicy holds parameters relative to digest/// authentication procedures.

    See more

    Declaration

    Swift

    public class DigestAuthenticationPolicy : LinphoneObject
  • Object representing full details about a signaling error or status. All ErrorInfo 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.

    See more

    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()
    See more

    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 EventLog, and many callbacks use this kind of type as parameter. Use getType() to get the EventLogType it refers to, and then you can use one of the accessor methods to get the underlying object, for example getChatMessage() for a ChatMessage.

    See more

    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 Core itself. It is also used to configure a few behaviors before creating the Core, like the logs verbosity or collection.

    See more

    Declaration

    Swift

    public class Factory : LinphoneObject
  • This object is used to store a SIP address. Friend is mainly used to implement an adressbook feature, and are used as data for the MagicSearch object. If your proxy supports it, you can also use it to subscribe to presence information. The objects are stored in a FriendList which are in turn stored inside the Core. They can be stored inside a database if the path to it is configured, otherwise they will be lost after the Core is destroyed. Thanks to the vCard plugin, you can also store more information like phone numbers, organization, etc…

    See more

    Declaration

    Swift

    public class Friend : LinphoneObject
  • This object representing a list of Friend. You can use it to store contacts locally or synchronize them through CardDAV protocol.

    See more

    Declaration

    Swift

    public class FriendList : LinphoneObject
  • Object that represents a Friend‘s phone number.

    See more

    Declaration

    Swift

    public class FriendPhoneNumber : LinphoneObject
  • Object representing a chain of protocol headers. It provides read/write access to the headers of the underlying protocol.

    See more

    Declaration

    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 more

    Declaration

    Swift

    public class ImNotifPolicy : LinphoneObject
  • Object representing an informational message sent or received by the core.

    See more

    Declaration

    Swift

    public class InfoMessage : LinphoneObject
  • Object that represents a Linphone Ldap. Use a LdapParams object to configure it.

    See more

    Declaration

    Swift

    public class Ldap : LinphoneObject
  • Object that is used to set the different parameters of a Ldap.

    See more

    Declaration

    Swift

    public class LdapParams : 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 LoggingService is a singleton, use get() to get it.

    See more

    Declaration

    Swift

    public class LoggingService : LinphoneObject
  • A MagicSearch is used to do specifics searchs.

    See more

    Declaration

    Swift

    public class MagicSearch : LinphoneObject
  • Policy to use to pass through NATs/firewalls.

    See more

    Declaration

    Swift

    public class NatPolicy : LinphoneObject
  • Identifies a member of a Conference or ChatRoom. A participant is identified by it’s SIP address. It can have many ParticipantDevice.

    See more

    Declaration

    Swift

    public class Participant : LinphoneObject
  • This object represents a unique device for a member of a Conference or/// ChatRoom. Devices are identified by the gruu parameter inside the Address which can be obtained by getAddress(). It is specially usefull to know the security level of each device inside an end-to-end encrypted ChatRoom. You can get a list of all ParticipantDevice using Participant.getDevices().

    See more

    Declaration

    Swift

    public class ParticipantDevice : LinphoneObject
  • This object is only used on server side for ChatRoom with FlexisipChat/// backend.

    See more

    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 ParticipantImdnState for a given state. From there use getParticipant() to get the Participant object if you need it.

    See more

    Declaration

    Swift

    public class ParticipantImdnState : LinphoneObject
  • Object representing an RTP payload type.

    See more

    Declaration

    Swift

    public class PayloadType : LinphoneObject
  • Player interface.

    See more

    Declaration

    Swift

    public class Player : LinphoneObject
  • Presence activity type holding information about a presence activity.

    See more

    Declaration

    Swift

    public class PresenceActivity : LinphoneObject
  • Presence model type holding information about the presence of a person.

    See more

    Declaration

    Swift

    public class PresenceModel : LinphoneObject
  • Presence note type holding information about a presence note.

    See more

    Declaration

    Swift

    public class PresenceNote : LinphoneObject
  • Presence person holding information about a presence person.

    See more

    Declaration

    Swift

    public class PresencePerson : LinphoneObject
  • Presence service type holding information about a presence service.

    See more

    Declaration

    Swift

    public class PresenceService : LinphoneObject
  • Represents an account configuration to be used by Core. In addition to the AuthInfo that stores the credentials, you need to configure a ProxyConfig 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 the Core 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.

    • deprecated: 06/04/2020 Use Account object instead
    See more

    Declaration

    Swift

    public class ProxyConfig : LinphoneObject
  • Object holding push notification config that will be set in the contact URI/// parameters of the Contact header in the REGISTER, if the AccountParams is/// configured to allow push notifications, see/// AccountParams.setPushNotificationAllowed(). This object can be accessed through the AccountParams object, which can be obtained from your Account object.

    See more

    Declaration

    Swift

    public class PushNotificationConfig : LinphoneObject
  • Object holding chat message data received by a push notification on iOS/// platform only. This object is a subset of ChatMessage, 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.

    See more

    Declaration

    Swift

    public class PushNotificationMessage : LinphoneObject
  • Structure describing a range of integers.

    See more

    Declaration

    Swift

    public class Range : LinphoneObject
  • Object used to record the audio or video of a call.

    See more

    Declaration

    Swift

    public class Recorder : LinphoneObject
  • Object containing various parameters of a Recorder.

    See more

    Declaration

    Swift

    public class RecorderParams : LinphoneObject
  • The LinphoneSearchResult object represents a result of a search.

    See more

    Declaration

    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 Core starts.

    See more

    Declaration

    Swift

    public class Transports : LinphoneObject
  • Linphone tunnel object.

    See more

    Declaration

    Swift

    public class Tunnel : LinphoneObject
  • Tunnel settings.

    See more

    Declaration

    Swift

    public class TunnelConfig : LinphoneObject
  • Object storing contact information using vCard 4.0 format.

    See more

    Declaration

    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 more

    Declaration

    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 more

    Declaration

    Swift

    public class VideoDefinition : LinphoneObject
  • The XmlRpcRequest object representing a XML-RPC request to be sent.

    See more

    Declaration

    Swift

    public class XmlRpcRequest : LinphoneObject
  • The XmlRpcSession object used to send XML-RPC requests and handle their/// responses.

    See more

    Declaration

    Swift

    public class XmlRpcSession : LinphoneObject