Liblinphone 5.2.0

Classes | Typedefs | Enumerations
linphone Namespace Reference

Namespace that holds all liblinphone's API classes and enumerations. More...

## Classes
class | Account
| Object that represents a Linphone Account. More...
class | AccountCreator
| 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/. More...
class | AccountCreatorListener
class | AccountListener
class | AccountParams
| Object that is used to set the different parameters of a Account. More...
class | Address
| Object that represents a parsed SIP address. More...
class | AudioDevice
| Object holding audio device information. More...
class | AuthInfo
| Object holding authentication information. More...
class | Buffer
| The object representing a data buffer. More...
class | Call
| This object represents a call issued or received by the Core. More...
class | CallListener
class | CallLog
| Object used to keep track of all calls initiated, received or missed. More...
class | CallParams
| An object containing various parameters of a Call. More...
class | CallStats
| This object carry various statistic informations regarding the quality of an audio or video stream for a given Call. More...
class | ChatMessage
| An chat message is the object that is sent or received through a ChatRoom. More...
class | ChatMessageListener
class | ChatRoom
| A chat room is the place where ChatMessage are exchanged. More...
class | ChatRoomListener
class | ChatRoomParams
| Object defining parameters for a ChatRoom. More...
class | Conference
| A conference is the object that allow to make calls when there are 2 or more participants. More...
class | ConferenceInfo
| Object defining all information related to a conference. More...
class | ConferenceListener
class | ConferenceParams
| Object defining parameters for a Conference. More...
class | ConferenceScheduler
| Object used to create remote conferences and send ICS to notify participants. More...
class | ConferenceSchedulerListener
class | Config
| This object is used to manipulate a configuration file. More...
class | Content
| This object holds data that can be embedded in a signaling message. More...
class | Core
| Main object to instanciate and on which to keep a reference. More...
class | CoreListener
class | DialPlan
| Represents a dial plan. More...
class | DigestAuthenticationPolicy
| The LinphoneDigestAuthenticationPolicy holds parameters relative to digest authentication procedures. More...
class | ErrorInfo
| Object representing full details about a signaling error or status. More...
class | Event
| Object representing an event state, which is subcribed or published. More...
class | EventListener
class | EventLog
| Object that represents an event that must be stored in database. More...
class | Factory
| The factory is a singleton object devoted to the creation of all the objects of Liblinphone that cannot be created by Core itself. More...
class | Friend
| This object is used to store a SIP address. More...
class | FriendList
| This object representing a list of Friend. More...
class | FriendListener
class | FriendListListener
class | FriendPhoneNumber
| Object that represents a Friend's phone number. More...
class | Headers
| Object representing a chain of protocol headers. More...
class | ImNotifPolicy
| Policy to use to send/receive instant messaging composing/delivery/display notifications. More...
class | InfoMessage
| Object representing an informational message sent or received by the core. More...
class | Ldap
| Object that represents a Linphone Ldap. More...
class | LdapParams
| Object that is used to set the different parameters of a Ldap. More...
class | LoggingService
| Singleton class giving access to logging features. More...
class | LoggingServiceListener
class | MagicSearch
| A MagicSearch is used to do specifics searchs. More...
class | MagicSearchListener
class | NatPolicy
| Policy to use to pass through NATs/firewalls. More...
class | Participant
| Identifies a member of a Conference or ChatRoom. More...
class | ParticipantDevice
| This object represents a unique device for a member of a Conference or ChatRoom. More...
class | ParticipantDeviceIdentity
| This object is only used on server side for ChatRoom with ChatRoomBackend::FlexisipChat backend. More...
class | ParticipantDeviceListener
class | ParticipantImdnState
| This object represents the delivery/display state of a given chat message for a given participant. More...
class | PayloadType
| Object representing an RTP payload type. More...
class | Player
| Player interface. More...
class | PlayerListener
class | PresenceActivity
| Presence activity type holding information about a presence activity. More...
class | PresenceModel
| Presence model type holding information about the presence of a person. More...
class | PresenceNote
| Presence note type holding information about a presence note. More...
class | PresencePerson
| Presence person holding information about a presence person. More...
class | PresenceService
| Presence service type holding information about a presence service. More...
class | ProxyConfig
| Represents an account configuration to be used by Core. More...
class | PushNotificationConfig
| 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(). More...
class | PushNotificationMessage
| Object holding chat message data received by a push notification on iOS platform only. More...
class | Range
| Structure describing a range of integers. More...
class | Recorder
| Object used to record the audio or video of a call. More...
class | RecorderParams
| Object containing various parameters of a Recorder. More...
class | SearchResult
| The LinphoneSearchResult object represents a result of a search. More...
class | Transports
| SIP transports & ports configuration object. More...
class | Tunnel
| Linphone tunnel object. More...
class | TunnelConfig
| Tunnel settings. More...
class | Vcard
| Object storing contact information using vCard 4.0 format. More...
class | VideoActivationPolicy
| Object describing policy regarding video streams establishments. More...
class | VideoDefinition
| This object represents a video definition, eg. More...
class | VideoSourceDescriptor
| Object that is used to describe a video source. More...
class | XmlRpcRequest
| The XmlRpcRequest object representing a XML-RPC request to be sent. More...
class | XmlRpcRequestListener
class | XmlRpcSession
| The XmlRpcSession object used to send XML-RPC requests and handle their responses. More...

## Typedefs
typedef int | Status

## Enumerations
enum class | AVPFMode { Default = -1 , Disabled = 0 , Enabled = 1 }
| Enum describing RTP AVPF activation modes. More...
enum class | AccountCreatorAlgoStatus { Ok = 0 , NotSupported = 1 }
| Enum describing algorithm checking, used by the AccountCreator. More...
enum class | AccountCreatorBackend { XMLRPC = 0 , FlexiAPI = 1 }
| Enum describing backend used in the AccountCreator. More...
enum class | AddressFamily { Inet = 0 , Inet6 = 1 , Unspec = 2 }
| Enum describing Ip family. More...
enum class | AuthMethod { HttpDigest = 0 , Tls = 1 }
| Enum describing the authentication methods. More...
enum class | ChatRoomBackend { Basic = 1<<0 , FlexisipChat = 1<<1 }
| ChatRoomBackend is used to indicate the backend implementation of a chat room. More...
enum class | ChatRoomCapabilities { None = 0 , Basic = 1<<0 , RealTimeText = 1<<1 , Conference = 1<<2 , Proxy = 1<<3 , Migratable = 1<<4 , OneToOne = 1<<5 , Encrypted = 1<<6 , Ephemeral = 1<<7 }
| ChatRoomCapabilities is used to indicate the capabilities of a chat room. More...
enum class | ChatRoomEncryptionBackend { None = 0 , Lime = 1<<0 }
| ChatRoomEncryptionBackend is used to indicate the encryption engine used by a chat room. More...
enum class | ChatRoomEphemeralMode { DeviceManaged = 0 , AdminManaged = 1 }
| ChatRoomEphemeralMode is used to the ephemeral message mode used by a chat room. More...
enum class | ChatRoomSecurityLevel { Unsafe = 0 , ClearText = 1 , Encrypted = 2 , Safe = 3 }
| TODO move to encryption engine object when available ChatRoomSecurityLevel is used to indicate the encryption security level of a chat room. More...
enum class | ConferenceJoiningMode { DialIn = 0 , DialOut = 1 }
| Mode of joining conference. More...
enum class | ConferenceLayout { Grid = 0 , ActiveSpeaker = 1 }
| ConferenceLayout is used to indicate the layout used by the conference. More...
enum class | ConferenceParticipantListType { Closed = 0 , Open = 1 }
| Type of conference participant list. More...
enum class | ConfiguringState { Successful = 0 , Failed = 1 , Skipped = 2 }
| Describes the state of the remote configuring process of the Core object, 'Skipped' when the feature is disabled.
enum class | ConsolidatedPresence { Online = 0 , Busy = 1 , DoNotDisturb = 2 , Offline = 3 }
| Consolidated presence information: 'online' means the user is open for communication, 'busy' means the user is open for communication but involved in an other activity, 'do not disturb' means the user is not open for communication, and 'offline' means that no presence information is available.
enum class | EcCalibratorStatus { InProgress = 0 , Done = 1 , Failed = 2 , DoneNoEcho = 3 }
| Enum describing the result of the echo canceller calibration process. More...
enum class | FriendCapability { None = 0 , GroupChat = 1<<0 , LimeX3Dh = 1<<1 , EphemeralMessages = 1<<2 }
| Enum describing the capabilities of a Friend, populated through presence subscribe/notify process. More...
enum class | FriendListType { Default = -1 , CardDAV = 0 , VCard4 = 1 }
| The types of FriendList.
enum class | GlobalState { Off = 0 , Startup = 1 , On = 2 , Shutdown = 3 , Configuring = 4 , Ready = 5 }
| Describes the global state of the Core object. More...
enum class | IceState { NotActivated = 0 , Failed = 1 , InProgress = 2 , HostConnection = 3 , ReflexiveConnection = 4 , RelayConnection = 5 }
| Enum describing ICE states. More...
enum class | LdapAuthMethod { Anonymous = 0 , Simple = 1 }
| Enum describing how the authentification will be made. More...
enum class | LdapCertVerificationMode { Default = -1 , Disabled = 0 , Enabled = 1 }
| Enum describing server certificates verification modes. More...
enum class | LdapCheck { Ok = 0 , ServerEmpty = 1 , ServerNotUrl = 2 , ServerNoScheme = 4 , ServerNotLdap = 8 , ServerLdaps = 16 , BaseObjectEmpty = 32 , MissingFields = 64 }
| Enum describing errors in LDAP parameters. More...
enum class | LdapDebugLevel { Off = 0 , Verbose = 1 }
| Enum Debug verbosity for OpenLdap. More...
enum class | LimeState { Disabled = 0 , Mandatory = 1 , Preferred = 2 }
enum class | LogCollectionState { Disabled = 0 , Enabled = 1 , EnabledWithoutPreviousLogHandler = 2 }
| Whether or not to keep a file with the logs.
enum class | LogLevel { Debug = 1<<0 , Trace = 1<<1 , Message = 1<<2 , Warning = 1<<3 , Error = 1<<4 , Fatal = 1<<5 }
| Verbosity levels of log messages. More...
enum class | MagicSearchAggregation { None = 0 , Friend = 1 }
| Enum describing how to merge SearchResult from MagicSearch. More...
enum class | MagicSearchSource { None = 0 , Friends = 1<<0 , CallLogs = 1<<1 , LdapServers = 1<<2 , ChatRooms = 1<<3 , Request = 1<<4 , FavoriteFriends = 1<<5 , All = -1 }
| Enum describing the search categories for Magic Search. More...
enum class | MediaDirection { Invalid = -1 , Inactive = 0 , SendOnly = 1 , RecvOnly = 2 , SendRecv = 3 }
| Indicates for a given media the stream direction. More...
enum class | MediaEncryption { None = 0 , SRTP = 1 , ZRTP = 2 , DTLS = 3 }
| Enum describing type of media encryption types. More...
enum class | MediaResourceMode { ExclusiveMediaResources = 0 , SharedMediaResources = 1 }
| Media resource usage. More...
enum class | ParticipantDeviceDisconnectionMethod { Booted = 0 , Departed = 1 , Busy = 2 , Failed = 3 }
| ParticipantDeviceDisconnectionMethod is used to indicate how a participant left a conference. More...
enum class | ParticipantDeviceJoiningMethod { DialedIn = 0 , DialedOut = 1 , FocusOwner = 2 }
| ParticipantDeviceJoiningMethod is used to indicate how a participant joined a conference or if it is the focus. More...
enum class | ParticipantDeviceState { Joining = 0 , Present = 1 , Leaving = 2 , Left = 3 , ScheduledForJoining = 4 , ScheduledForLeaving = 5 , OnHold = 6 , Alerting = 7 , MutedByFocus = 8 }
| ParticipantDeviceState is used to list all states a participant device can be in More...
enum class | PresenceBasicStatus { Open = 0 , Closed = 1 }
| Basic status as defined in section 4.1.4 of RFC 3863. More...
enum class | Privacy { None = 0 , User = 1 , Header = 2 , Session = 4 , Id = 8 , Critical = 16 , Default = 32768 }
| Defines privacy policy to apply as described by rfc3323. More...
enum class | PublishState { None = 0 , Progress = 1 , Ok = 2 , Error = 3 , Expiring = 4 , Cleared = 5 }
| Enum for publish states. More...
enum class | Reason { None = 0 , NoResponse = 1 , Forbidden = 2 , Declined = 3 , NotFound = 4 , NotAnswered = 5 , Busy = 6 , UnsupportedContent = 7 , BadEvent = 8 , IOError = 9 , DoNotDisturb = 10 , Unauthorized = 11 , NotAcceptable = 12 , NoMatch = 13 , MovedPermanently = 14 , Gone = 15 , TemporarilyUnavailable = 16 , AddressIncomplete = 17 , NotImplemented = 18 , BadGateway = 19 , SessionIntervalTooSmall = 20 , ServerTimeout = 21 , Unknown = 22 , Transferred = 23 }
| Enum describing various failure reasons or contextual information for some events. More...
enum class | RecorderFileFormat { Unknown , Wav , Mkv }
| Enum representing the file format of a recording.
enum class | RecorderState { Closed , Paused , Running }
| Enum representing the state of a recording. More...
enum class | RegistrationState { None = 0 , Progress = 1 , Ok = 2 , Cleared = 3 , Failed = 4 , Refreshing = 5 }
| Describes proxy registration states. More...
enum class | SessionExpiresRefresher { Unspecified = 0 , UAS = 1 , UAC = 2 }
| Session Timers refresher.
enum class | SrtpSuite { AESCM128HMACSHA180 = 0 , AESCM128HMACSHA132 = 1 , AES192CMHMACSHA180 = 2 , AES192CMHMACSHA132 = 3 , AES256CMHMACSHA180 = 4 , AES256CMHMACSHA132 = 5 , AEADAES128GCM = 6 , AEADAES256GCM = 7 , Invalid = 255 }
| Enum describing type of SRTP encryption suite.
enum class | StreamType { Audio = 0 , Video = 1 , Text = 2 , Unknown = 3 }
| Enum describing the stream types.
enum class | SubscribePolicy { SPWait = 0 , SPDeny = 1 , SPAccept = 2 }
| Enum controlling behavior for incoming subscription request. More...
enum class | SubscriptionDir { Incoming = 0 , Outgoing = 1 , InvalidDir = 2 }
| Enum for subscription direction (incoming or outgoing). More...
enum class | SubscriptionState { None = 0 , OutgoingProgress = 1 , IncomingReceived = 2 , Pending = 3 , Active = 4 , Terminated = 5 , Error = 6 , Expiring = 7 }
| Enum for subscription states. More...
enum class | SupportLevel { NoSupport = 0 , Optional = 1 , Mandatory = 2 }
enum class | ToneID { Undefined = 0 , Busy = 1 , CallWaiting = 2 , CallOnHold = 3 , CallLost = 4 , CallEnd = 5 , CallNotAnswered = 6 }
| Enum listing frequent telephony tones. More...
enum class | TransportType { Udp = 0 , Tcp = 1 , Tls = 2 , Dtls = 3 }
| Enum describing transport type for LinphoneAddress.
enum class | UpnpState { Idle = 0 , Pending = 1 , Adding = 2 , Removing = 3 , NotAvailable = 4 , Ok = 5 , Ko = 6 , Blacklisted = 7 }
| Enum describing uPnP states. More...
enum class | VersionUpdateCheckResult { UpToDate = 0 , NewVersionAvailable = 1 , Error = 2 }
| Enum describing the result of a version update check.
enum class | VideoSourceType { Unknown , Call , Camera , Image }
| Enum representing the type of a video source. More...
enum class | XmlRpcArgType { None = 0 , Int = 1 , String = 2 , StringStruct = 3 }
| Enum describing the types of argument for LinphoneXmlRpcRequest.
enum class | XmlRpcStatus { Pending = 0 , Ok = 1 , Failed = 2 }
| Enum describing the status of a LinphoneXmlRpcRequest.
enum class | ZrtpKeyAgreement { Invalid = 0 , Dh2K = 1 , Dh3K = 2 , Ec25 = 3 , Ec38 = 4 , Ec52 = 5 , X255 = 6 , X448 = 7 , K255 = 8 , K448 = 9 , Kyb1 = 10 , Kyb2 = 11 , Kyb3 = 12 , Hqc1 = 13 , Hqc2 = 14 , Hqc3 = 15 , K255Kyb512 = 16 , K255Hqc128 = 17 , K448Kyb1024 = 18 , K448Hqc256 = 19 , K255Kyb512Hqc128 = 20 , K448Kyb1024Hqc256 = 21 }
| Enum describing the ZRTP key exchange algorithns.
enum class | ZrtpPeerStatus { Unknown = 0 , Invalid = 1 , Valid = 2 }
| Enum describing the ZRTP SAS validation status of a peer URI. More...

## Detailed Description

Namespace that holds all liblinphone's API classes and enumerations.

## Enumeration Type Documentation

## ◆ AccountCreatorAlgoStatus

enum class linphone::AccountCreatorAlgoStatus
| strong

Enum describing algorithm checking, used by the AccountCreator.

Enumerator
Ok | Algorithm ok.
NotSupported | Algorithm not supported.

## ◆ AccountCreatorBackend

enum class linphone::AccountCreatorBackend
| strong

Enum describing backend used in the AccountCreator.

Enumerator
XMLRPC | XMLRPC Backend.
FlexiAPI | FlexiAPI Backend.

## ◆ AddressFamily

enum class linphone::AddressFamily
| strong

Enum describing Ip family.

Enumerator
Inet | IpV4.
Inet6 | IpV6.
Unspec | Unknown.

## ◆ AuthMethod

enum class linphone::AuthMethod
| strong

Enum describing the authentication methods.

Enumerator
HttpDigest | Digest authentication requested.
Tls | Client certificate requested.

## ◆ AVPFMode

enum class linphone::AVPFMode
| strong

Enum describing RTP AVPF activation modes.

Enumerator
Default | Use default value defined at upper level.
Disabled | AVPF is disabled.
Enabled | AVPF is enabled.

## ◆ ChatRoomBackend

enum class linphone::ChatRoomBackend
| strong

ChatRoomBackend is used to indicate the backend implementation of a chat room.

Enumerator
Basic | Basic (client-to-client) chat room.
FlexisipChat | Server-based chat room.

## ◆ ChatRoomCapabilities

enum class linphone::ChatRoomCapabilities
| strong

ChatRoomCapabilities is used to indicate the capabilities of a chat room.

Enumerator
None | No capabilities.
Basic | No server.
RealTimeText | Supports RTT.
Conference | Use server (supports group chat)
Proxy | Special proxy chat room flag.
Migratable | Chat room migratable from Basic to Conference.
OneToOne | A communication between two participants (can be Basic or Conference)
Encrypted | Chat room is encrypted.
Ephemeral | Chat room can enable ephemeral messages.

## ◆ ChatRoomEncryptionBackend

enum class linphone::ChatRoomEncryptionBackend
| strong

ChatRoomEncryptionBackend is used to indicate the encryption engine used by a chat room.

Enumerator
None | No encryption.
Lime | Lime x3dh encryption.

## ◆ ChatRoomEphemeralMode

enum class linphone::ChatRoomEphemeralMode
| strong

ChatRoomEphemeralMode is used to the ephemeral message mode used by a chat room.

Enumerator
DeviceManaged | Each device manages its own ephemeral settings.
AdminManaged | Ephemeral settings are chatroom wide and only admins can change them.

## ◆ ChatRoomSecurityLevel

enum class linphone::ChatRoomSecurityLevel
| strong

TODO move to encryption engine object when available ChatRoomSecurityLevel is used to indicate the encryption security level of a chat room.

Enumerator
Unsafe | Security failure.
ClearText | No encryption.
Encrypted | Encrypted.
Safe | Encrypted and verified.

## ◆ ConferenceJoiningMode

enum class linphone::ConferenceJoiningMode
| strong

Mode of joining conference.

Enumerator
DialIn | Participants must dial the conference server.
DialOut | Conference server dials participants.

## ◆ ConferenceLayout

enum class linphone::ConferenceLayout
| strong

ConferenceLayout is used to indicate the layout used by the conference.

Enumerator
Grid | Grid - each participant is given an equal sized image size.
ActiveSpeaker | Active speaker - participant who speaks is prominently displayed in the center of the screen and other participants are minimized.

## ◆ ConferenceParticipantListType

enum class linphone::ConferenceParticipantListType
| strong

Type of conference participant list.

Enumerator
Closed | Only participants in the initiating INVITE are allowed to join the conference.
Open | All devices calling the conference URI are allowed to join the conference.

## ◆ EcCalibratorStatus

enum class linphone::EcCalibratorStatus
| strong

Enum describing the result of the echo canceller calibration process.

Enumerator
InProgress | The echo canceller calibration process is on going.
Done | The echo canceller calibration has been performed and produced an echo delay measure.
Failed | The echo canceller calibration process has failed.
DoneNoEcho | The echo canceller calibration has been performed and no echo has been detected.

## ◆ FriendCapability

enum class linphone::FriendCapability
| strong

Enum describing the capabilities of a Friend, populated through presence subscribe/notify process.

Enumerator
None | No capabilities populated.
GroupChat | This friend can be invited in a Flexisip backend ChatRoom.
LimeX3Dh | This friend can be invited in a Flexisip backend end-to-end encrypted ChatRoom.
EphemeralMessages | This friend is able to delete ephemeral messages once they have expired.

## ◆ GlobalState

enum class linphone::GlobalState
| strong

Describes the global state of the Core object.

Enumerator
Off | State in which we're in after Core::stop().
Startup | Transient state for when we call Core::start()
On | Indicates Core has been started and is up and running.
Shutdown | Transient state for when we call Core::stop()
Configuring | Transient state between Startup and On if there is a remote provisionning URI configured.
Ready | Core state after being created by linphone_factory_create_core, generally followed by a call to Core::start()

## ◆ IceState

enum class linphone::IceState
| strong

Enum describing ICE states.

Enumerator
NotActivated | ICE has not been activated for this call or stream.
Failed | ICE processing has failed.
InProgress | ICE process is in progress.
HostConnection | ICE has established a direct connection to the remote host.
ReflexiveConnection | ICE has established a connection to the remote host through one or several NATs.
RelayConnection | ICE has established a connection through a relay.

## ◆ LdapAuthMethod

enum class linphone::LdapAuthMethod
| strong

Enum describing how the authentification will be made.

Enumerator
Anonymous | Connection without passwords.
Simple | Connection with username/password.

## ◆ LdapCertVerificationMode

enum class linphone::LdapCertVerificationMode
| strong

Enum describing server certificates verification modes.

Enumerator
Default | Use default value defined on core.
Disabled | Verification is disabled.
Enabled | Verification is enabled.

## ◆ LdapCheck

enum class linphone::LdapCheck
| strong

Enum describing errors in LDAP parameters.

Enumerator
Ok | No error.
ServerEmpty | Server field is empty.
ServerNotUrl | The server is not an url.
ServerNoScheme | The server doesn't contain a scheme.
ServerNotLdap | The server is not a LDAP scheme.
ServerLdaps | LDAP over SSL is non-standardized and deprecated: ldaps has been specified.
BaseObjectEmpty | Base Object has been specified.
MissingFields | Some required fields are missing.

## ◆ LdapDebugLevel

enum class linphone::LdapDebugLevel
| strong

Enum Debug verbosity for OpenLdap.

Enumerator
Off | Set OpenLdap verbosity to none.
Verbose | Set OpenLdap verbosity to debug level.

## ◆ LimeState

enum class linphone::LimeState
| strong

Enumerator
Disabled | Lime is not used at all.
Mandatory | Lime is always used.
Preferred | Lime is used only if we already shared a secret with remote.

## ◆ LogLevel

enum class linphone::LogLevel
| strong

Verbosity levels of log messages.

Enumerator
Debug | Level for debug messages.
Trace | Level for traces.
Message | Level for information messages.
Warning | Level for warning messages.
Error | Level for error messages.
Fatal | Level for fatal error messages.

## ◆ MagicSearchAggregation

enum class linphone::MagicSearchAggregation
| strong

Enum describing how to merge SearchResult from MagicSearch.

Enumerator
None | No aggregation is done, you can have multiple SearchResult with the same Friend.
Friend | Aggregation is done by friend, you will have at most a SearchResult per Friend.

## ◆ MagicSearchSource

enum class linphone::MagicSearchSource
| strong

Enum describing the search categories for Magic Search.

Enumerator
None | no Source specified.
Friends | Search in friends only.
CallLogs | Search in Call Logs.
LdapServers | Search in LDAP servers.
ChatRooms | Search in Chat rooms participants.
Request | Search from request : it is usually an address built from the request.
FavoriteFriends | Search in "starred" friends only.
All | Search in all sources.

## ◆ MediaDirection

enum class linphone::MediaDirection
| strong

Indicates for a given media the stream direction.

Enumerator
Invalid | Default value, shouldn't be used.
Inactive | No active media not supported yet.
SendOnly | Media is only being sent, it won't be received.
RecvOnly | Media will only be received, nothing will be sent.
SendRecv | Media will be sent and received.

## ◆ MediaEncryption

enum class linphone::MediaEncryption
| strong

Enum describing type of media encryption types.

Enumerator
None | No media encryption is used.
SRTP | Use SRTP media encryption.
ZRTP | Use ZRTP media encryption.
DTLS | Use DTLS media encryption.

## ◆ MediaResourceMode

enum class linphone::MediaResourceMode
| strong

Media resource usage.

Enumerator
ExclusiveMediaResources | Media resources are not shared.
SharedMediaResources | Media resources are shared.

## ◆ ParticipantDeviceDisconnectionMethod

enum class linphone::ParticipantDeviceDisconnectionMethod
| strong

ParticipantDeviceDisconnectionMethod is used to indicate how a participant left a conference.

Enumerator
Booted | an admin removes the device from a conference
Departed | the device disconnects from the conference
Busy | device is busy
Failed | an error occurred while the device is leaving the conference or he declined a call from the server

## ◆ ParticipantDeviceJoiningMethod

enum class linphone::ParticipantDeviceJoiningMethod
| strong

ParticipantDeviceJoiningMethod is used to indicate how a participant joined a conference or if it is the focus.

Enumerator
DialedIn | device called the conference
DialedOut | device is called the conference
FocusOwner | device is the focus

## ◆ ParticipantDeviceState

enum class linphone::ParticipantDeviceState
| strong

ParticipantDeviceState is used to list all states a participant device can be in

Enumerator
Joining | an INVITE has been sent
Present | the SIP session has been concluded, participant is part of the conference
Leaving | A BYE is pending.
Left | The Session is terminated.
ScheduledForJoining | Initial state for the server group chatroom, when the participant has not yet been INVITEd.
ScheduledForLeaving | Transitional state for a participant that will receive a BYE shortly.
OnHold | the SIP session has been concluded, participant is not media mixed
Alerting | 180 Ringing
MutedByFocus | Some medias have been muted by the focus.

## ◆ PresenceBasicStatus

enum class linphone::PresenceBasicStatus
| strong

Basic status as defined in section 4.1.4 of RFC 3863.

Enumerator
Open | This value means that the associated contact element, if any, is ready to accept communication.
Closed | This value means that the associated contact element, if any, is unable to accept communication.

## ◆ Privacy

enum class linphone::Privacy
| strong

Defines privacy policy to apply as described by rfc3323.

Enumerator
None | Privacy services must not perform any privacy function.
User | Request that privacy services provide a user-level privacy function.
Header | Request that privacy services modify headers that cannot be set arbitrarily by the user (Contact/Via).
Session | Request that privacy services provide privacy for session media.
Id | rfc3325 The presence of this privacy type in a Privacy header field indicates that the user would like the Network Asserted Identity to be kept private with respect to SIP entities outside the Trust Domain with which the user authenticated.
Critical | Privacy service must perform the specified services or fail the request.
Default | Special keyword to use privacy as defined either globally or by proxy using ProxyConfig::setPrivacy()

## ◆ PublishState

enum class linphone::PublishState
| strong

Enum for publish states.

Enumerator
None | Initial state, do not use.
Progress | An outgoing publish was created and submitted.
Ok | Publish is accepted.
Error | Publish encoutered an error, Event::getReason() gives reason code.
Expiring | Publish is about to expire, only sent if [sip]->refresh_generic_publish property is set to 0.
Cleared | Event has been un published.

## ◆ Reason

enum class linphone::Reason
| strong

Enum describing various failure reasons or contextual information for some events.

Enumerator
None | No reason has been set by the core.
NoResponse | No response received from remote.
Forbidden | Authentication failed due to bad credentials or resource forbidden.
Declined | The call has been declined.
NotFound | Destination of the call was not found.
NotAnswered | The call was not answered in time (request timeout)
Busy | Phone line was busy.
UnsupportedContent | Unsupported content.
BadEvent | Bad event.
IOError | Transport error: connection failures, disconnections etc...
DoNotDisturb | Do not disturb reason.
Unauthorized | Operation is unauthorized because missing credential.
NotAcceptable | Operation is rejected due to incompatible or unsupported media parameters.
NoMatch | Operation could not be executed by server or remote client because it didn't have any context for it.
MovedPermanently | Resource moved permanently.
Gone | Resource no longer exists.
TemporarilyUnavailable | Temporarily unavailable.
AddressIncomplete | Address incomplete.
NotImplemented | Not implemented.
BadGateway | Bad gateway.
SessionIntervalTooSmall | The received request contains a Session-Expires header field with a duration below the minimum timer.
ServerTimeout | Server timeout.
Unknown | Unknown reason.
Transferred | The call has been transferred.

## ◆ RecorderState

enum class linphone::RecorderState
| strong

Enum representing the state of a recording.

Enumerator
Closed | No file is opened for recording.
Paused | The recorder is paused.
Running | The recorder is running.

## ◆ RegistrationState

enum class linphone::RegistrationState
| strong

Describes proxy registration states.

Enumerator
None | Initial state for registrations.
Progress | Registration is in progress.
Ok | Registration is successful.
Cleared | Unregistration succeeded.
Failed | Registration failed.
Refreshing | Registration refreshing.

## ◆ SubscribePolicy

enum class linphone::SubscribePolicy
| strong

Enum controlling behavior for incoming subscription request.

Enumerator
SPWait | Does not automatically accept an incoming subscription request.
SPDeny | Rejects incoming subscription request.
SPAccept | Automatically accepts a subscription request.

## ◆ SubscriptionDir

enum class linphone::SubscriptionDir
| strong

Enum for subscription direction (incoming or outgoing).

Enumerator
Incoming | Incoming subscription.
Outgoing | Outgoing subscription.
InvalidDir | Invalid subscription direction.

## ◆ SubscriptionState

enum class linphone::SubscriptionState
| strong

Enum for subscription states.

Enumerator
None | Initial state, should not be used.
OutgoingProgress | An outgoing subcription was sent.
IncomingReceived | An incoming subcription is received.
Pending | Subscription is pending, waiting for user approval.
Active | Subscription is accepted.
Terminated | Subscription is terminated normally.
Error | Subscription was terminated by an error, indicated by Event::getReason()
Expiring | Subscription is about to expire, only sent if [sip]->refresh_generic_subscribe property is set to 0.

## ◆ SupportLevel

enum class linphone::SupportLevel
| strong

Enumerator
NoSupport | No support for the feature.
Optional | Optional support for the feature.
Mandatory | Mandatory support for the feature.

## ◆ ToneID

enum class linphone::ToneID
| strong

Enum listing frequent telephony tones.

Enumerator
Undefined | Not a tone.
Busy | Busy tone.
CallWaiting | Call waiting tone.
CallOnHold | Call on hold tone.
CallLost | Tone played when call is abruptly disconnected (media lost)
CallEnd | When the call end for any reason but lost.
CallNotAnswered | When the call is not answered.

## ◆ UpnpState

enum class linphone::UpnpState
| strong

Enum describing uPnP states.

Enumerator
Idle | uPnP is not activate
Pending | uPnP process is in progress
Adding | Internal use: Only used by port binding.
Removing | Internal use: Only used by port binding.
NotAvailable | uPnP is not available
Ok | uPnP is enabled
Ko | uPnP processing has failed
Blacklisted | IGD router is blacklisted.

## ◆ VideoSourceType

enum class linphone::VideoSourceType
| strong

Enum representing the type of a video source.

Enumerator
Call | The video source is another call.
Camera | The video source is a camera.
Image | The video source is an image.

## ◆ ZrtpPeerStatus

enum class linphone::ZrtpPeerStatus
| strong

Enum describing the ZRTP SAS validation status of a peer URI.

Enumerator
Unknown | Peer URI unkown or never validated/invalidated the SAS.
Invalid | Peer URI SAS rejected in database.
Valid | Peer URI SAS validated in database.