Call control

Placing and receiving calls. More...

## Typedefs

typedef void(* | LinphonePlayerCbsEofReachedCb) (LinphonePlayer *player)
| Callback for notifying end of play (file).
typedef enum _LinphoneRecorderFileFormat | LinphoneRecorderFileFormat
| Enum representing the file format of a recording.
typedef enum _LinphoneRecorderState | LinphoneRecorderState
| Enum representing the state of a recording.
typedef enum _LinphoneVideoSourceType | LinphoneVideoSourceType
| Enum representing the type of a video source.
typedef enum _LinphoneMediaDirection | LinphoneMediaDirection
| Indicates for a given media the stream direction.
typedef struct _LinphonePlayer | LinphonePlayer
| Player interface.
typedef struct _LinphonePlayerCbs | LinphonePlayerCbs
| An object to handle the callbacks for the handling a LinphonePlayer objects.
typedef enum LinphonePlayerState | LinphonePlayerState
| The state of a LinphonePlayer.
typedef enum _LinphonePrivacy | LinphonePrivacy
| Defines privacy policy to apply as described by rfc3323.
typedef unsigned int | LinphonePrivacyMask
| A mask of LinphonePrivacy values.
typedef void(* | LinphoneCallCbsDtmfReceivedCb) (LinphoneCall *call, int dtmf)
| Callback for being notified of received DTMFs.
typedef void(* | LinphoneCallCbsGoClearAckSentCb) (LinphoneCall *call)
| GoClear ACK sent callback.
typedef void(* | LinphoneCallCbsEncryptionChangedCb) (LinphoneCall *call, bool_t on, const char *authentication_token)
| Call encryption changed callback.
typedef void(* | LinphoneCallCbsSendMasterKeyChangedCb) (LinphoneCall *call, const char *send_master_key)
| Call send master key changed callback.
typedef void(* | LinphoneCallCbsReceiveMasterKeyChangedCb) (LinphoneCall *call, const char *receive_master_key)
| Call receive master key changed callback.
typedef void(* | LinphoneCallCbsInfoMessageReceivedCb) (LinphoneCall *call, const LinphoneInfoMessage *message)
| Callback for receiving info messages.
typedef void(* | LinphoneCallCbsStateChangedCb) (LinphoneCall *call, LinphoneCallState state, const char *message)
| Call state notification callback.
typedef void(* | LinphoneCallCbsStatsUpdatedCb) (LinphoneCall *call, const LinphoneCallStats *stats)
| Callback for receiving quality statistics for calls.
typedef void(* | LinphoneCallCbsTransferStateChangedCb) (LinphoneCall *call, LinphoneCallState state)
| Callback for notifying progresses of transfers.
typedef void(* | LinphoneCallCbsAckProcessingCb) (LinphoneCall *call, LinphoneHeaders *ack, bool_t is_received)
| Callback for notifying the processing SIP ACK messages.
typedef void(* | LinphoneCallCbsTmmbrReceivedCb) (LinphoneCall *call, int stream_index, int tmmbr)
| Callback for notifying a received TMMBR.
typedef void(* | LinphoneCallCbsSnapshotTakenCb) (LinphoneCall *call, const char *file_path)
| Callback for notifying a snapshot taken.
typedef void(* | LinphoneCallCbsNextVideoFrameDecodedCb) (LinphoneCall *call)
| Callback to notify a next video frame has been decoded.
typedef void(* | LinphoneCallCbsCameraNotWorkingCb) (LinphoneCall *call, const char *camera_name)
| Callback to notify that the camera is not working and has been changed to "No Webcam".
typedef void(* | LinphoneCallCbsVideoDisplayErrorOccurredCb) (LinphoneCall *call, int error_code)
| Callback to notify that there are errors from the video rendering.
typedef void(* | LinphoneCallCbsAudioDeviceChangedCb) (LinphoneCall *call, LinphoneAudioDevice *audio_device)
| Callback to notify that the audio device has been changed.
typedef void(* | LinphoneCallCbsRemoteRecordingCb) (LinphoneCall *call, bool_t recording)
| Callback to notify that the call is being recorded by the remote.
typedef struct _LinphoneCall | LinphoneCall
| This object represents a call issued or received by the LinphoneCore.
typedef struct _LinphoneCallCbs | LinphoneCallCbs
| That class holds all the callbacks which are called by LinphoneCall objects.
typedef struct _LinphoneCallParams | LinphoneCallParams
| An object containing various parameters of a LinphoneCall.
typedef struct _LinphoneRecorder | LinphoneRecorder
| Object used to record the audio or video of a call.
typedef struct _LinphoneRecorderParams | LinphoneRecorderParams
| Object containing various parameters of a LinphoneRecorder.
typedef struct _LinphoneVideoSourceDescriptor | LinphoneVideoSourceDescriptor
| Object that is used to describe a video source.
typedef enum _LinphoneCallState | LinphoneCallState
| LinphoneCallState enum represents the different states a call can reach into.

## Enumerations

enum | _LinphoneRecorderFileFormat { LinphoneRecorderFileFormatUnknown , LinphoneRecorderFileFormatWav , LinphoneRecorderFileFormatMkv }
| Enum representing the file format of a recording.
enum | _LinphoneRecorderState { LinphoneRecorderClosed , LinphoneRecorderPaused , LinphoneRecorderRunning }
| Enum representing the state of a recording. More...
enum | _LinphoneVideoSourceType { LinphoneVideoSourceUnknown , LinphoneVideoSourceCall , LinphoneVideoSourceCamera , LinphoneVideoSourceImage }
| Enum representing the type of a video source. More...
enum | _LinphoneMediaDirection { LinphoneMediaDirectionInvalid = -1 , LinphoneMediaDirectionInactive = 0 , LinphoneMediaDirectionSendOnly = 1 , LinphoneMediaDirectionRecvOnly = 2 , LinphoneMediaDirectionSendRecv = 3 }
| Indicates for a given media the stream direction. More...
enum | LinphonePlayerState { LinphonePlayerClosed = 0 , LinphonePlayerPaused = 1 , LinphonePlayerPlaying = 2 }
| The state of a LinphonePlayer. More...
enum | _LinphonePrivacy { LinphonePrivacyNone = 0x0 , LinphonePrivacyUser = 0x1 , LinphonePrivacyHeader = 0x2 , LinphonePrivacySession = 0x4 , LinphonePrivacyId = 0x8 , LinphonePrivacyCritical = 0x10 , LinphonePrivacyDefault = 0x8000 }
| Defines privacy policy to apply as described by rfc3323. More...

enum

_LinphoneCallState {
LinphoneCallStateIdle = 0 ,
LinphoneCallStateIncomingReceived = 1 ,
LinphoneCallStatePushIncomingReceived = 2 ,
LinphoneCallStateOutgoingInit = 3 ,
LinphoneCallStateOutgoingProgress = 4 ,
LinphoneCallStateOutgoingRinging = 5 ,
LinphoneCallStateOutgoingEarlyMedia = 6 ,
LinphoneCallStateConnected = 7 ,
LinphoneCallStateStreamsRunning = 8 ,
LinphoneCallStatePausing = 9 ,
LinphoneCallStatePaused = 10 ,
LinphoneCallStateResuming = 11 ,
LinphoneCallStateReferred = 12 ,
LinphoneCallStateError = 13 ,
LinphoneCallStateEnd = 14 ,
LinphoneCallStatePausedByRemote = 15 ,
LinphoneCallStateUpdatedByRemote ,
LinphoneCallStateIncomingEarlyMedia = 17 ,
LinphoneCallStateUpdating = 18 ,
LinphoneCallStateReleased = 19 ,
LinphoneCallStateEarlyUpdatedByRemote ,
LinphoneCallStateEarlyUpdating
}

| LinphoneCallState enum represents the different states a call can reach into. More...

## Functions

void | linphone_call_params_add_custom_header (LinphoneCallParams *call_params, const char *header_name, const char *header_value)
| Add a custom SIP header in the INVITE for a call.
const char * | linphone_call_params_get_custom_header (const LinphoneCallParams *call_params, const char *header_name)
| Get a custom SIP header.
MS2_DEPRECATED LinphoneCallParams * | linphone_call_params_copy (const LinphoneCallParams *call_params)
| Copy an existing LinphoneCallParams object to a new LinphoneCallParams object.
bool_t | linphone_call_params_early_media_sending_enabled (const LinphoneCallParams *call_params)
| Indicate whether sending of early media was enabled.
void | linphone_call_params_enable_early_media_sending (LinphoneCallParams *call_params, bool_t enabled)
| Enable sending of real early media (during outgoing calls).
void | linphone_call_params_enable_low_bandwidth (LinphoneCallParams *call_params, bool_t enabled)
| Indicate low bandwith mode.
void | linphone_call_params_enable_audio (LinphoneCallParams *call_params, bool_t enabled)
| Enable audio stream.
void | linphone_call_params_enable_capability_negotiations (LinphoneCallParams *params, bool_t enabled)
| Enable capability negotiations (RFC5939).
void | linphone_call_params_enable_cfg_lines_merging (LinphoneCallParams *params, bool_t enabled)
| Enable merging of cfg lines with consecutive indexes if capability negotiations (RFC5939) is enabled.
void | linphone_call_params_enable_tcap_line_merging (LinphoneCallParams *params, bool_t enabled)
| Enable merging of tcap lines with consecutive indexes if capability negotiations (RFC5939) is enabled.
void | linphone_call_params_set_supported_encryptions (LinphoneCallParams *params, bctbx_list_t *encs)
| Sets the list of supported encryptions.
void | linphone_call_params_enable_video (LinphoneCallParams *call_params, bool_t enabled)
| Enable video stream.
LinphoneConferenceLayout | linphone_call_params_get_conference_video_layout (const LinphoneCallParams *params)
| Set video layout for conference.
void | linphone_call_params_set_conference_video_layout (LinphoneCallParams *params, LinphoneConferenceLayout layout)
| Set video layout for conference.
bool_t | linphone_call_params_get_local_conference_mode (const LinphoneCallParams *call_params)
| Tell whether the call is part of the locally managed conference.
LinphoneMediaEncryption | linphone_call_params_get_media_encryption (const LinphoneCallParams *call_params)
| Get the kind of media encryption selected for the call.
LinphonePrivacyMask | linphone_call_params_get_privacy (const LinphoneCallParams *call_params)
| Get requested level of privacy for the call.
float | linphone_call_params_get_received_framerate (const LinphoneCallParams *call_params)
| Get the framerate of the video that is received.
const LinphoneVideoDefinition * | linphone_call_params_get_received_video_definition (const LinphoneCallParams *call_params)
| Get the definition of the received video.
const char * | linphone_call_params_get_record_file (const LinphoneCallParams *call_params)
| Get the path for the audio recording of the call.
const char * | linphone_call_params_get_rtp_profile (const LinphoneCallParams *call_params)
| Get the RTP profile being used.
float | linphone_call_params_get_sent_framerate (const LinphoneCallParams *call_params)
| Get the framerate of the video that is sent.
const LinphoneVideoDefinition * | linphone_call_params_get_sent_video_definition (const LinphoneCallParams *call_params)
| Get the definition of the sent video.
const char * | linphone_call_params_get_session_name (const LinphoneCallParams *call_params)
| Get the session name of the media session (ie in SDP).
const LinphonePayloadType * | linphone_call_params_get_used_audio_payload_type (const LinphoneCallParams *call_params)
| Get the audio payload type that has been selected by a call.
const LinphonePayloadType * | linphone_call_params_get_used_video_payload_type (const LinphoneCallParams *call_params)
| Get the video payload type that has been selected by a call.
const LinphonePayloadType * | linphone_call_params_get_used_text_payload_type (const LinphoneCallParams *call_params)
| Get the text payload type that has been selected by a call.
bool_t | linphone_call_params_low_bandwidth_enabled (const LinphoneCallParams *call_params)
| Tell whether the call has been configured in low bandwidth mode or not.
void | linphone_call_params_set_audio_bandwidth_limit (LinphoneCallParams *call_params, int bandwidth)
| Refine bandwidth settings for this call by setting a bandwidth limit for audio streams.
void | linphone_call_params_set_media_encryption (LinphoneCallParams *call_params, LinphoneMediaEncryption encryption)
| Set requested media encryption for a call.
void | linphone_call_params_set_privacy (LinphoneCallParams *call_params, LinphonePrivacyMask privacy)
| Set requested level of privacy for the call.
void | linphone_call_params_set_record_file (LinphoneCallParams *call_params, const char *path)
| Enable recording of the call.
void | linphone_call_params_set_session_name (LinphoneCallParams *call_params, const char *name)
| Set the session name of the media session (ie in SDP).
bool_t | linphone_call_params_audio_enabled (const LinphoneCallParams *call_params)
| Tell whether audio is enabled or not.
bool_t | linphone_call_params_video_enabled (const LinphoneCallParams *call_params)
| Tell whether video is enabled or not.
LinphoneMediaDirection | linphone_call_params_get_audio_direction (const LinphoneCallParams *call_params)
| Get the audio stream direction.
LinphoneMediaDirection | linphone_call_params_get_video_direction (const LinphoneCallParams *call_params)
| Get the video stream direction.
void | linphone_call_params_set_audio_direction (LinphoneCallParams *call_params, LinphoneMediaDirection direction)
| Set the audio stream direction.
void | linphone_call_params_set_video_direction (LinphoneCallParams *call_params, LinphoneMediaDirection direction)
| Set the video stream direction.
void | linphone_call_params_set_account (LinphoneCallParams *params, LinphoneAccount *account)
| Set the LinphoneAccount to use for the call.
LinphoneAccount * | linphone_call_params_get_account (const LinphoneCallParams *params)
| Get the LinphoneAccount that is used for the call.
void | linphone_call_params_enable_avpf (LinphoneCallParams *params, bool_t enable)
| Toggle feedback extension for AVP.
bool_t | linphone_call_params_avpf_enabled (const LinphoneCallParams *params)
| Whether or not the feedback extension will be used for AVP.
bool_t | linphone_call_params_is_recording (const LinphoneCallParams *params)
| Indicates whether the call is being recorded.
void | linphone_call_params_set_from_header (LinphoneCallParams *call_params, const char *from_value)
| Force the from header of a call when instanciating it (if set, it precludes the search in proxy and primary contact)
const char * | linphone_call_params_get_from_header (const LinphoneCallParams *call_params)
| Get the from header in the CallParams.
int | linphone_call_params_get_audio_bandwidth_limit (const LinphoneCallParams *params)
bool_t | linphone_call_params_real_early_media_enabled (const LinphoneCallParams *params)
bool_t | linphone_call_params_has_avpf_enabled_been_set (const LinphoneCallParams *params)
bool_t | linphone_call_params_mandatory_media_encryption_enabled (const LinphoneCallParams *params)
void | linphone_call_params_enable_mandatory_media_encryption (LinphoneCallParams *params, bool_t value)
uint16_t | linphone_call_params_get_avpf_rr_interval (const LinphoneCallParams *params)
void | linphone_call_params_set_avpf_rr_interval (LinphoneCallParams *params, uint16_t value)
void * | linphone_call_params_get_user_data (const LinphoneCallParams *call_params)
| Get the user data associated with the call params.
void | linphone_call_params_set_user_data (LinphoneCallParams *call_params, void *user_data)
| Assign a user data to the call params.
LinphoneCallParams * | linphone_call_params_ref (LinphoneCallParams *call_params)
| Acquire a reference to the call params.
void | linphone_call_params_unref (LinphoneCallParams *call_params)
| Release a reference to the call params.
void | linphone_call_params_set_input_audio_device (LinphoneCallParams *params, LinphoneAudioDevice *audio_device)
| Sets the given LinphoneAudioDevice as default input for a call to be created later.
void | linphone_call_params_set_output_audio_device (LinphoneCallParams *params, LinphoneAudioDevice *audio_device)
| Sets the given LinphoneAudioDevice as default output for a call to be created later.
const LinphoneAudioDevice * | linphone_call_params_get_input_audio_device (const LinphoneCallParams *params)
| Gets the default input audio device for a call that will be created using this call params.
const LinphoneAudioDevice * | linphone_call_params_get_output_audio_device (const LinphoneCallParams *params)
| Gets the default output audio device for a call that will be created using this call params.
MS2_DEPRECATED MSVideoSize | linphone_call_params_get_received_video_size (const LinphoneCallParams *call_params)
| Get the size of the video that is received.
MS2_DEPRECATED MSVideoSize | linphone_call_params_get_sent_video_size (const LinphoneCallParams *call_params)
| Gets the size of the video that is sent.
MS2_DEPRECATED void | linphone_call_params_set_proxy_config (LinphoneCallParams *params, LinphoneProxyConfig *proxy_config)
| Set the LinphoneProxyConfig to use for the call.
MS2_DEPRECATED LinphoneProxyConfig * | linphone_call_params_get_proxy_config (const LinphoneCallParams *params)
| Get the LinphoneProxyConfig that is used for the call.
LinphoneConferenceParams * | linphone_conference_params_new (LinphoneCore *core)
| Create an object of type a LinphoneConferenceParams.
LinphoneConferenceParams * | linphone_conference_params_ref (LinphoneConferenceParams *params)
| Take a reference on a LinphoneConferenceParams.
void | linphone_conference_params_unref (LinphoneConferenceParams *params)
| Release a LinphoneConferenceParams.
MS2_DEPRECATED void | linphone_conference_params_free (LinphoneConferenceParams *params)
| Free a LinphoneConferenceParams.
LinphoneConferenceParams * | linphone_conference_params_clone (const LinphoneConferenceParams *params)
| Clone a LinphoneConferenceParams.
void | linphone_conference_params_set_subject (LinphoneConferenceParams *params, const char *subject)
| Set the conference subject.
const char * | linphone_conference_params_get_subject (const LinphoneConferenceParams *params)
| Get the conference subject.
MS2_DEPRECATED void | linphone_conference_params_set_audio_enabled (LinphoneConferenceParams *params, bool_t enable)
| Enable audio capabilities.
void | linphone_conference_params_enable_audio (LinphoneConferenceParams *params, bool_t enable)
| Enable audio capabilities.
MS2_DEPRECATED bool_t | linphone_conference_params_is_audio_enabled (const LinphoneConferenceParams *params)
| Check whether audio capabilities are enabled.
bool_t | linphone_conference_params_audio_enabled (const LinphoneConferenceParams *params)
| Check whether audio capabilities are enabled.
MS2_DEPRECATED void | linphone_conference_params_set_video_enabled (LinphoneConferenceParams *params, bool_t enable)
| Enable video capabilities.
MS2_DEPRECATED bool_t | linphone_conference_params_is_video_enabled (const LinphoneConferenceParams *params)
| Check whether video capabilities are enabled.
void | linphone_conference_params_enable_video (LinphoneConferenceParams *params, bool_t enable)
| Enable video capabilities.
bool_t | linphone_conference_params_video_enabled (const LinphoneConferenceParams *params)
| Check whether video capabilities are enabled.
MS2_DEPRECATED void | linphone_conference_params_set_chat_enabled (LinphoneConferenceParams *params, bool_t enable)
| Enable chat capabilities.
void | linphone_conference_params_enable_chat (LinphoneConferenceParams *params, bool_t enable)
| Enable chat capabilities.
MS2_DEPRECATED bool_t | linphone_conference_params_is_chat_enabled (const LinphoneConferenceParams *params)
| Check whether chat capabilities are enabled.
bool_t | linphone_conference_params_chat_enabled (const LinphoneConferenceParams *params)
| Check whether chat capabilities are enabled.
void | linphone_conference_params_set_account (LinphoneConferenceParams *params, LinphoneAccount *account)
| Sets the account for the conference.
LinphoneAccount * | linphone_conference_params_get_account (const LinphoneConferenceParams *params)
| Returns the account for the conference.
MS2_DEPRECATED LinphoneProxyConfig * | linphone_conference_params_get_proxy_cfg (const LinphoneConferenceParams *params)
| Returns the proxy configuration for the conference.
MS2_DEPRECATED void | linphone_conference_params_set_local_participant_enabled (LinphoneConferenceParams *params, bool_t enable)
| Enable local participant to enter the conference.
void | linphone_conference_params_enable_local_participant (LinphoneConferenceParams *params, bool_t enable)
| Enable local participant to enter the conference.
MS2_DEPRECATED bool_t | linphone_conference_params_is_local_participant_enabled (const LinphoneConferenceParams *params)
| Returns whether local participant has to enter the conference.
bool_t | linphone_conference_params_local_participant_enabled (const LinphoneConferenceParams *params)
| Returns whether local participant has to enter the conference.
MS2_DEPRECATED void | linphone_conference_params_set_one_participant_conference_enabled (LinphoneConferenceParams *params, bool_t enable)
| Enable conference with one participant.
void | linphone_conference_params_enable_one_participant_conference (LinphoneConferenceParams *params, bool_t enable)
| Enable conference with one participant.
MS2_DEPRECATED bool_t | linphone_conference_params_is_one_participant_conference_enabled (const LinphoneConferenceParams *params)
| Returns whether conference can have only one participant.
bool_t | linphone_conference_params_one_participant_conference_enabled (const LinphoneConferenceParams *params)
| Returns whether conference can have only one participant.
LinphoneConferenceSecurityLevel | linphone_conference_params_get_security_level (const LinphoneConferenceParams *params)
| Retrieve the desired security level of the conference.
void | linphone_conference_params_set_security_level (LinphoneConferenceParams *params, LinphoneConferenceSecurityLevel security_level)
| Set the desired security level of the conference.
LinphoneConference * | linphone_conference_ref (LinphoneConference *conference)
| Take a reference on a LinphoneConference.
void | linphone_conference_unref (LinphoneConference *conference)
| Release a LinphoneConference.
MS2_DEPRECATED bctbx_list_t * | linphone_conference_get_participants (const LinphoneConference *conference)
| Get URIs of all participants of one conference The returned bctbx_list_t contains URIs of all participants.
bctbx_list_t * | linphone_conference_get_participant_list (const LinphoneConference *conference)
| Get list of all participants of a conference.
bctbx_list_t * | linphone_conference_get_participant_device_list (const LinphoneConference *conference)
| Get list of all participant devices of a conference including me if it is in.
MS2_DEPRECATED LinphoneStatus | linphone_conference_remove_participant (LinphoneConference *conference, const LinphoneAddress *uri)
LinphoneStatus | linphone_conference_remove_participant_2 (LinphoneConference *conference, LinphoneParticipant *participant)
MS2_DEPRECATED LinphoneStatus | linphone_conference_remove_participant_3 (LinphoneConference *conference, LinphoneCall *call)
LinphoneParticipant * | linphone_conference_find_participant (LinphoneConference *conference, const LinphoneAddress *uri)
| Find a participant from a conference.
LinphoneStatus | linphone_conference_invite_participants (LinphoneConference *conference, const bctbx_list_t *addresses, const LinphoneCallParams *params)
| Invite participants to the conference, by supplying a list of LinphoneAddress If the conference is in the state LinphoneConferenceStateCreationPending, then the conference will start on the input and output audio devices used for the currently active call, if any.
LinphoneStatus | linphone_conference_add_participants (LinphoneConference *conference, const bctbx_list_t *calls)
| Add participants to the conference, by supplying a list of LinphoneCall.
LinphoneStatus | linphone_conference_add_participants_2 (LinphoneConference *conference, const bctbx_list_t *addresses)
| Add participants to the conference, by supplying a list of LinphoneAddress.
LinphoneStatus | linphone_conference_add_participant (LinphoneConference *conference, LinphoneCall *call)
| Join an existing call to the conference.
LinphoneStatus | linphone_conference_add_participant_2 (LinphoneConference *conference, const LinphoneAddress *uri)
| Join a participant to the conference.
int | linphone_conference_update_params (LinphoneConference *conference, const LinphoneConferenceParams *params)
| Update parameters of the conference.
const LinphoneConferenceParams * | linphone_conference_get_current_params (const LinphoneConference *conference)
| Get current parameters of the conference.
const char * | linphone_conference_get_subject (const LinphoneConference *conference)
| Get the conference subject.
void | linphone_conference_set_subject (LinphoneConference *conference, const char *subject)
| Set the conference subject.
const char * | linphone_conference_get_username (const LinphoneConference *conference)
| Get the conference username.
void | linphone_conference_set_username (LinphoneConference *conference, const char *username)
| Set the conference username.
void | linphone_conference_set_local_participant_stream_capability (LinphoneConference *conference, const LinphoneMediaDirection direction, const LinphoneStreamType type)
| Set stream capability on me device of a local conference.
int | linphone_conference_get_duration (const LinphoneConference *conference)
| Get the conference duration.
time_t | linphone_conference_get_start_time (const LinphoneConference *conference)
| Get the conference start time.
int | linphone_conference_get_participant_count (const LinphoneConference *conference)
| Get number of participants without me.
LinphoneParticipant * | linphone_conference_get_me (const LinphoneConference *conference)
| For a local audio video conference, this function returns the participant hosting the conference For a remote audio video conference, this function returns the local participant of the conference.
int | linphone_conference_terminate (LinphoneConference *conference)
| Terminates conference.
void | linphone_conference_set_participant_admin_status (LinphoneConference *conference, LinphoneParticipant *participant, bool_t is_admin)
| Change the admin status of a participant of a conference (you need to be an admin yourself to do this).
int | linphone_conference_enter (LinphoneConference *conference)
| For a local conference, the local participant joins the conference For a remote conference, the participant rejoins the conference after leaving it earlier on.
int | linphone_conference_leave (LinphoneConference *conference)
| For a local conference, the local participant leaves the conference For a remote conference, the participant leaves the conference after joining it earlier on.
bool_t | linphone_conference_is_me (const LinphoneConference *conference, const LinphoneAddress *uri)
| For a local audio video conference, this function compares the address provided as argument with that of participant hosting the conference For a remote audio video conference, this function compares the address provided as argument with that of the local participant of the conference.
bool_t | linphone_conference_is_in (const LinphoneConference *conference)
| For a local conference, it returns whether the local participant is enabled For a remote conference, it return whether the remote participant has left the conference without bein removed from it.
void | linphone_conference_set_input_audio_device (LinphoneConference *conference, LinphoneAudioDevice *audio_device)
| Sets the given LinphoneAudioDevice as input for this conference only.
void | linphone_conference_set_output_audio_device (LinphoneConference *conference, LinphoneAudioDevice *audio_device)
| Sets the given LinphoneAudioDevice as output for this conference only.
const LinphoneAudioDevice * | linphone_conference_get_input_audio_device (const LinphoneConference *conference)
| Gets the current input device for this conference.
const LinphoneAudioDevice * | linphone_conference_get_output_audio_device (const LinphoneConference *conference)
| Gets the current output device for this conference.
int | linphone_conference_get_participant_device_volume (LinphoneConference *conference, LinphoneParticipantDevice *device)
| Retrieves the volume of a specific participant.
int | linphone_conference_start_recording (LinphoneConference *conference, const char *path)
| Starts recording the conference.
int | linphone_conference_stop_recording (LinphoneConference *conference)
| Stops the conference recording.
bool_t | linphone_conference_is_recording (const LinphoneConference *conference)
| Gets whether the conference is currently being recorded.
LinphoneCall * | linphone_conference_get_call (const LinphoneConference *conference)
| Gets the call that is controlling a conference.
bool_t | linphone_conference_get_microphone_muted (const LinphoneConference *conference)
| Retrieves the volume of a specific participant.
void | linphone_conference_set_microphone_muted (LinphoneConference *conference, bool_t muted)
| Get microphone muted state.
float | linphone_conference_get_input_volume (const LinphoneConference *conference)
| Retrieves the volume of a specific participant.
MS2_DEPRECATED const char * | linphone_conference_get_ID (const LinphoneConference *conference)
| Get the conference id as string.
MS2_DEPRECATED void | linphone_conference_set_ID (LinphoneConference *conference, const char *conference_id)
| Set the conference id as string.
LinphoneConference * | linphone_local_conference_new (LinphoneCore *core, LinphoneAddress *addr)
LinphoneConference * | linphone_local_conference_new_with_params (LinphoneCore *core, LinphoneAddress *addr, const LinphoneConferenceParams *params)
LinphoneConference * | linphone_remote_conference_new (LinphoneCore *core, LinphoneAddress *addr)
LinphoneConference * | linphone_remote_conference_new_with_params (LinphoneCore *core, LinphoneAddress *focus, LinphoneAddress *addr, const LinphoneConferenceParams *params)
AudioStream * | linphone_conference_get_audio_stream (LinphoneConference *conference)
void | linphone_conference_on_call_terminating (LinphoneConference *conference, LinphoneCall *call)
bool_t | linphone_conference_check_class (LinphoneConference *conference, LinphoneConferenceClass _class)
void | linphone_conference_notify_audio_device_changed (LinphoneConference *conference, LinphoneAudioDevice *audio_device)
const LinphoneAddress * | linphone_core_get_current_call_remote_address (LinphoneCore *core)
| Get the remote address of the current call.
LinphoneSupportLevel | linphone_core_get_tag_100rel_support_level (const LinphoneCore *core)
| Get the support level of the 100rel attribute.
void | linphone_core_set_tag_100rel_support_level (LinphoneCore *core, LinphoneSupportLevel level)
| Define what level of support is provided to the 100rel attribute.
LinphoneCall * | linphone_core_invite (LinphoneCore *core, const char *url)
| Initiates an outgoing call.
LinphoneCall * | linphone_core_invite_address (LinphoneCore *core, const LinphoneAddress *addr)
| Initiates an outgoing call given a destination LinphoneAddress The LinphoneAddress can be constructed directly using linphone_factory_create_address(), or created by linphone_core_interpret_url_2().
LinphoneCall * | linphone_core_invite_with_params (LinphoneCore *core, const char *url, const LinphoneCallParams *params)
| Initiates an outgoing call according to supplied call parameters The application doesn't own a reference to the returned LinphoneCall object.
LinphoneCall * | linphone_core_invite_address_with_params (LinphoneCore *core, const LinphoneAddress *addr, const LinphoneCallParams *params)
| Initiates an outgoing call given a destination LinphoneAddress The LinphoneAddress can be constructed directly using linphone_factory_create_address(), or created by linphone_core_interpret_url_2().
LinphoneCall * | linphone_core_invite_address_with_params_2 (LinphoneCore *core, const LinphoneAddress *addr, const LinphoneCallParams *params, const char *subject, const LinphoneContent *content)
| Initiates an outgoing call given a destination LinphoneAddress The LinphoneAddress can be constructed directly using linphone_factory_create_address(), or created by linphone_core_interpret_url_2().
bool_t | linphone_core_is_incoming_invite_pending (LinphoneCore *core)
| Tells whether there is an incoming invite pending.
bool_t | linphone_core_in_call (const LinphoneCore *core)
| Tells whether there is a call running.
LinphoneCall * | linphone_core_get_current_call (const LinphoneCore *core)
| Gets the current call.
LinphoneStatus | linphone_core_terminate_all_calls (LinphoneCore *core)
| Terminates all the calls.
LinphoneStatus | linphone_core_pause_all_calls (LinphoneCore *core)
| Pause all currently running calls.
LinphoneCallParams * | linphone_core_create_call_params (LinphoneCore *core, LinphoneCall *call)
| Create a LinphoneCallParams suitable for linphone_core_invite_with_params(), linphone_core_accept_call_with_params(), linphone_core_accept_early_media_with_params() or linphone_core_accept_call_update().
LinphoneCall * | linphone_core_get_call_by_remote_address2 (const LinphoneCore *core, const LinphoneAddress *remote_address)
| Get the call with the specified LinphoneAddress.
void | linphone_core_set_inc_timeout (LinphoneCore *core, int seconds)
| Set the incoming call timeout in seconds.
int | linphone_core_get_inc_timeout (LinphoneCore *core)
| Returns the incoming call timeout See linphone_core_set_inc_timeout() for details.
void | linphone_core_set_push_incoming_call_timeout (LinphoneCore *core, int seconds)
| Configure the minimum interval between a push notification and the corresponding incoming INVITE.
int | linphone_core_get_push_incoming_call_timeout (const LinphoneCore *core)
| Returns the push incoming call timeout See linphone_core_set_push_incoming_call_timeout() for details.
void | linphone_core_set_in_call_timeout (LinphoneCore *core, int seconds)
| Set the in call timeout in seconds.
int | linphone_core_get_in_call_timeout (LinphoneCore *core)
| Gets the in call timeout See linphone_core_set_in_call_timeout() for details.
void | linphone_core_set_delayed_timeout (LinphoneCore *core, int seconds)
| Set the in delayed timeout in seconds.
int | linphone_core_get_delayed_timeout (LinphoneCore *core)
| Gets the delayed timeout See linphone_core_set_delayed_timeout() for details.
int | linphone_core_get_calls_nb (const LinphoneCore *core)
| Get the number of Call.
const bctbx_list_t * | linphone_core_get_calls (LinphoneCore *core)
| Gets the current list of calls.
LinphoneCall * | linphone_core_get_call_by_callid (const LinphoneCore *core, const char *call_id)
| Get the call by callid.
int | linphone_core_preempt_sound_resources (LinphoneCore *core)
| Empties sound resources to allow a new call to be accepted.
void | linphone_core_set_media_resource_mode (LinphoneCore *core, LinphoneMediaResourceMode mode)
| Sets the media resources mode.
LinphoneMediaResourceMode | linphone_core_get_media_resource_mode (const LinphoneCore *core)
| This function returns the media resource mode for this core.
bool_t | linphone_core_sound_resources_locked (LinphoneCore *core)
| Check if a call will need the sound resources in near future (typically an outgoing call that is awaiting response).
LinphoneCall * | linphone_core_find_call_from_uri (const LinphoneCore *core, const char *uri)
| Search from the list of current calls if a remote address match uri.
MS2_DEPRECATED LinphoneStatus | linphone_core_transfer_call (LinphoneCore *core, LinphoneCall *call, const char *refer_to)
| Performs a simple call transfer to the specified destination.
MS2_DEPRECATED LinphoneStatus | linphone_core_transfer_call_to_another (LinphoneCore *core, LinphoneCall *call, LinphoneCall *dest)
| Transfers a call to destination of another running call.
MS2_DEPRECATED LinphoneStatus | linphone_core_accept_call (LinphoneCore *core, LinphoneCall *call)
| Accept an incoming call.
MS2_DEPRECATED LinphoneStatus | linphone_core_accept_call_with_params (LinphoneCore *core, LinphoneCall *call, const LinphoneCallParams *params)
| Accept an incoming call, with parameters.
MS2_DEPRECATED LinphoneStatus | linphone_core_accept_early_media_with_params (LinphoneCore *core, LinphoneCall *call, const LinphoneCallParams *params)
| When receiving an incoming, accept to start a media session as early-media.
MS2_DEPRECATED LinphoneStatus | linphone_core_accept_early_media (LinphoneCore *core, LinphoneCall *call)
| Accept an early media session for an incoming call.
MS2_DEPRECATED LinphoneStatus | linphone_core_terminate_call (LinphoneCore *core, LinphoneCall *call)
| Terminates a call.
MS2_DEPRECATED LinphoneStatus | linphone_core_redirect_call (LinphoneCore *core, LinphoneCall *call, const char *redirect_uri)
| Redirect the specified call to the given redirect URI.
MS2_DEPRECATED LinphoneStatus | linphone_core_decline_call (LinphoneCore *core, LinphoneCall *call, LinphoneReason reason)
| Decline a pending incoming call, with a reason.
MS2_DEPRECATED LinphoneStatus | linphone_core_pause_call (LinphoneCore *core, LinphoneCall *call)
| Pauses the call.
MS2_DEPRECATED LinphoneStatus | linphone_core_resume_call (LinphoneCore *core, LinphoneCall *call)
| Resumes a call.
MS2_DEPRECATED LinphoneStatus | linphone_core_update_call (LinphoneCore *core, LinphoneCall *call, const LinphoneCallParams *params)
| Updates a running call according to supplied call parameters or parameters changed in the LinphoneCore.
MS2_DEPRECATED LinphoneStatus | linphone_core_defer_call_update (LinphoneCore *core, LinphoneCall *call)
| When receiving a LinphoneCallUpdatedByRemote state notification, prevent LinphoneCore from performing an automatic answer.
MS2_DEPRECATED LinphoneStatus | linphone_core_accept_call_update (LinphoneCore *core, LinphoneCall *call, const LinphoneCallParams *params)
| Accept call modifications initiated by other end.
MS2_DEPRECATED LinphoneCall * | linphone_core_get_call_by_remote_address (const LinphoneCore *core, const char *remote_address)
| Get the call with the remote_address specified.
LinphonePlayer * | linphone_player_ref (LinphonePlayer *player)
| Acquire a reference to the player.
void | linphone_player_unref (LinphonePlayer *player)
| Release reference to the player.
void * | linphone_player_get_user_data (const LinphonePlayer *player)
| Retrieve the user pointer associated with the player.
void | linphone_player_set_user_data (LinphonePlayer *player, void *user_data)
| Assign a user pointer to the player.
void | linphone_player_add_callbacks (LinphonePlayer *player, LinphonePlayerCbs *cbs)
| Adds a LinphonePlayerCbs object associated to the LinphonePlayer.
void | linphone_player_remove_callbacks (LinphonePlayer *player, LinphonePlayerCbs *cbs)
| Removes a LinphonePlayerCbs object associated to the LinphonePlayer.
LinphonePlayerCbs * | linphone_player_get_current_callbacks (const LinphonePlayer *player)
| Returns the current LinphonePlayerCbsCbs object.
LinphoneStatus | linphone_player_open (LinphonePlayer *player, const char *filename)
| Open a file for playing.
LinphoneStatus | linphone_player_start (LinphonePlayer *player)
| Start playing a file that has been opened with linphone_player_open().
LinphoneStatus | linphone_player_pause (LinphonePlayer *player)
| Pause the playing of a file.
LinphoneStatus | linphone_player_seek (LinphonePlayer *player, int time_ms)
| Seek in an opened file.
LinphonePlayerState | linphone_player_get_state (LinphonePlayer *player)
| Get the current state of a player.
int | linphone_player_get_duration (LinphonePlayer *player)
| Get the duration of the opened file.
int | linphone_player_get_current_position (LinphonePlayer *player)
| Get the current position in the opened file.
void | linphone_player_close (LinphonePlayer *player)
| Close the opened file.
void | linphone_player_set_window_id (LinphonePlayer *player, void *window_id)
| Sets a window id to be used to display video if any.
void * | linphone_player_create_window_id (LinphonePlayer *player)
| Create a window id to be used to display video if any.
bool_t | linphone_player_get_is_video_available (LinphonePlayer *player)
| Returns whether the file has video and if it can be displayed.
void | linphone_player_set_volume_gain (LinphonePlayer *player, float gain)
| Set the volume gain of the player.
float | linphone_player_get_volume_gain (LinphonePlayer *player)
| Get the volume gain of the player.
LinphoneCore * | linphone_player_get_core (const LinphonePlayer *player)
| Returns the LinphoneCore object managing this player's call, if any.
LinphonePlayerCbs * | linphone_player_cbs_ref (LinphonePlayerCbs *cbs)
| Acquire a reference to the LinphonePlayerCbs object.
void | linphone_player_cbs_unref (LinphonePlayerCbs *cbs)
| Release reference to the LinphonePlayerCbs object.
void * | linphone_player_cbs_get_user_data (const LinphonePlayerCbs *cbs)
| Retrieve the user pointer associated with the LinphonePlayerCbs object.
void | linphone_player_cbs_set_user_data (LinphonePlayerCbs *cbs, void *user_data)
| Assign a user pointer to the LinphonePlayerCbs object.
LinphonePlayerCbsEofReachedCb | linphone_player_cbs_get_eof_reached (const LinphonePlayerCbs *cbs)
| Get the end-of-file reached callback.
void | linphone_player_cbs_set_eof_reached (LinphonePlayerCbs *cbs, LinphonePlayerCbsEofReachedCb cb)
| Set the end-of-file reached callback.
MS2_DEPRECATED LinphonePlayerCbs * | linphone_player_get_callbacks (const LinphonePlayer *player)
| Get the LinphonePlayerCbs object associated with the LinphonePlayer.
LinphoneCallCbs * | linphone_call_cbs_ref (LinphoneCallCbs *cbs)
| Acquire a reference to the LinphoneCallCbs object.
void | linphone_call_cbs_unref (LinphoneCallCbs *cbs)
| Release reference to the LinphoneCallCbs object.
void * | linphone_call_cbs_get_user_data (const LinphoneCallCbs *cbs)
| Retrieve the user pointer associated with the LinphoneCallCbs object.
void | linphone_call_cbs_set_user_data (LinphoneCallCbs *cbs, void *user_data)
| Assign a user pointer to the LinphoneCallCbs object.
LinphoneCallCbsDtmfReceivedCb | linphone_call_cbs_get_dtmf_received (LinphoneCallCbs *cbs)
| Get the dtmf received callback.
void | linphone_call_cbs_set_dtmf_received (LinphoneCallCbs *cbs, LinphoneCallCbsDtmfReceivedCb cb)
| Set the dtmf received callback.
LinphoneCallCbsGoClearAckSentCb | linphone_call_cbs_get_goclear_ack_sent (LinphoneCallCbs *cbs)
| Get the GoClear Ack sent callback.
void | linphone_call_cbs_set_goclear_ack_sent (LinphoneCallCbs *cbs, LinphoneCallCbsGoClearAckSentCb cb)
| Set the GoClear Ack sent callback.
LinphoneCallCbsEncryptionChangedCb | linphone_call_cbs_get_encryption_changed (LinphoneCallCbs *cbs)
| Get the encryption changed callback.
void | linphone_call_cbs_set_encryption_changed (LinphoneCallCbs *cbs, LinphoneCallCbsEncryptionChangedCb cb)
| Set the encryption changed callback.
LinphoneCallCbsSendMasterKeyChangedCb | linphone_call_cbs_get_send_master_key_changed (LinphoneCallCbs *cbs)
| Get the send master key changed callback.
void | linphone_call_cbs_set_send_master_key_changed (LinphoneCallCbs *cbs, LinphoneCallCbsSendMasterKeyChangedCb cb)
| Set the send master key changed callback.
LinphoneCallCbsReceiveMasterKeyChangedCb | linphone_call_cbs_get_receive_master_key_changed (LinphoneCallCbs *cbs)
| Get the receive master key changed callback.
void | linphone_call_cbs_set_receive_master_key_changed (LinphoneCallCbs *cbs, LinphoneCallCbsReceiveMasterKeyChangedCb cb)
| Set the receive master key changed callback.
LinphoneCallCbsInfoMessageReceivedCb | linphone_call_cbs_get_info_message_received (LinphoneCallCbs *cbs)
| Get the info message received callback.
void | linphone_call_cbs_set_info_message_received (LinphoneCallCbs *cbs, LinphoneCallCbsInfoMessageReceivedCb cb)
| Set the info message received callback.
LinphoneCallCbsStateChangedCb | linphone_call_cbs_get_state_changed (LinphoneCallCbs *cbs)
| Get the state changed callback.
void | linphone_call_cbs_set_state_changed (LinphoneCallCbs *cbs, LinphoneCallCbsStateChangedCb cb)
| Set the state changed callback.
LinphoneCallCbsStatsUpdatedCb | linphone_call_cbs_get_stats_updated (LinphoneCallCbs *cbs)
| Get the stats updated callback.
void | linphone_call_cbs_set_stats_updated (LinphoneCallCbs *cbs, LinphoneCallCbsStatsUpdatedCb cb)
| Set the stats updated callback.
LinphoneCallCbsTransferStateChangedCb | linphone_call_cbs_get_transfer_state_changed (LinphoneCallCbs *cbs)
| Get the transfer state changed callback.
void | linphone_call_cbs_set_transfer_state_changed (LinphoneCallCbs *cbs, LinphoneCallCbsTransferStateChangedCb cb)
| Set the transfer state changed callback.
LinphoneCallCbsAckProcessingCb | linphone_call_cbs_get_ack_processing (LinphoneCallCbs *cbs)
| Get the ACK processing callback.
void | linphone_call_cbs_set_ack_processing (LinphoneCallCbs *cbs, LinphoneCallCbsAckProcessingCb cb)
| Set ACK processing callback.
LinphoneCallCbsTmmbrReceivedCb | linphone_call_cbs_get_tmmbr_received (LinphoneCallCbs *cbs)
| Get the TMMBR received callback.
void | linphone_call_cbs_set_tmmbr_received (LinphoneCallCbs *cbs, LinphoneCallCbsTmmbrReceivedCb cb)
| Set the TMMBR received callback.
LinphoneCallCbsSnapshotTakenCb | linphone_call_cbs_get_snapshot_taken (LinphoneCallCbs *cbs)
| Get the snapshot taken callback.
void | linphone_call_cbs_set_snapshot_taken (LinphoneCallCbs *cbs, LinphoneCallCbsSnapshotTakenCb cb)
| Set the snapshot taken callback.
LinphoneCallCbsNextVideoFrameDecodedCb | linphone_call_cbs_get_next_video_frame_decoded (LinphoneCallCbs *cbs)
| Get the next video frame decoded callback.
void | linphone_call_cbs_set_next_video_frame_decoded (LinphoneCallCbs *cbs, LinphoneCallCbsNextVideoFrameDecodedCb cb)
| Set the next video frame decoded callback.
LinphoneCallCbsCameraNotWorkingCb | linphone_call_cbs_get_camera_not_working (LinphoneCallCbs *cbs)
| Get the camera not working callback.
void | linphone_call_cbs_set_camera_not_working (LinphoneCallCbs *cbs, LinphoneCallCbsCameraNotWorkingCb cb)
| Set the camera not working callback.
LinphoneCallCbsVideoDisplayErrorOccurredCb | linphone_call_cbs_get_video_display_error_occurred (LinphoneCallCbs *cbs)
| Get the callback that will be used to notify that there are errors from the video rendering.
void | linphone_call_cbs_set_video_display_error_occurred (LinphoneCallCbs *cbs, LinphoneCallCbsVideoDisplayErrorOccurredCb cb)
| Set the callback that will be used to notify that there are errors from the video rendering.
LinphoneCallCbsAudioDeviceChangedCb | linphone_call_cbs_get_audio_device_changed (LinphoneCallCbs *cbs)
| Get the audio device changed callback.
void | linphone_call_cbs_set_audio_device_changed (LinphoneCallCbs *cbs, LinphoneCallCbsAudioDeviceChangedCb cb)
| Set the audio device changed callback.
void | linphone_call_cbs_set_remote_recording (LinphoneCallCbs *cbs, LinphoneCallCbsRemoteRecordingCb cb)
| Set the call remote recording callback.
LinphoneCallCbsRemoteRecordingCb | linphone_call_cbs_get_remote_recording (LinphoneCallCbs *cbs)
| Get the call remote recording callback.
LinphoneCall * | linphone_call_ref (LinphoneCall *call)
| Acquire a reference to the call.
void | linphone_call_unref (LinphoneCall *call)
| Release reference to the call.
void * | linphone_call_get_user_data (const LinphoneCall *call)
| Retrieve the user pointer associated with the call.
void | linphone_call_set_user_data (LinphoneCall *call, void *user_data)
| Assign a user pointer to the call.
LinphoneCore * | linphone_call_get_core (const LinphoneCall *call)
| Get the core that has created the specified call.
LinphoneCallState | linphone_call_get_state (const LinphoneCall *call)
| Retrieves the call's current state.
bool_t | linphone_call_asked_to_autoanswer (LinphoneCall *call)
| Tell whether a call has been asked to autoanswer.
const LinphoneAddress * | linphone_call_get_remote_address (const LinphoneCall *call)
| Returns the remote address associated to this call.
const LinphoneAddress * | linphone_call_get_to_address (const LinphoneCall *call)
| Returns the to address with its headers associated to this call.
const LinphoneAddress * | linphone_call_get_request_address (const LinphoneCall *call)
| The address to which the call has been sent, taken directly from the SIP URI of the INVITE.
const char * | linphone_call_get_to_header (const LinphoneCall *call, const char *header_name)
| Returns the value of the header name.
const LinphoneAddress * | linphone_call_get_diversion_address (const LinphoneCall *call)
| Returns the diversion address associated to this call.
LinphoneCallDir | linphone_call_get_dir (const LinphoneCall *call)
| Returns direction of the call (incoming or outgoing).
LinphoneCallLog * | linphone_call_get_call_log (const LinphoneCall *call)
| Gets the call log associated to this call.
const char * | linphone_call_get_refer_to (const LinphoneCall *call)
| Gets the refer-to uri (if the call was transfered).
bool_t | linphone_call_has_transfer_pending (const LinphoneCall *call)
| Returns if this calls has received a transfer that has not been executed yet.
LinphoneCall * | linphone_call_get_transferer_call (const LinphoneCall *call)
| Gets the transferer if this call was started automatically as a result of an incoming transfer request.
LinphoneCall * | linphone_call_get_transfer_target_call (const LinphoneCall *call)
| When this call has received a transfer request, returns the new call that was automatically created as a result of the transfer.
LinphoneCall * | linphone_call_get_replaced_call (LinphoneCall *call)
| Returns the call object this call is replacing, if any.
int | linphone_call_get_duration (const LinphoneCall *call)
| Returns call's duration in seconds.
const LinphoneCallParams * | linphone_call_get_current_params (const LinphoneCall *call)
| Returns current parameters associated to the call.
const LinphoneCallParams * | linphone_call_get_remote_params (const LinphoneCall *call)
| Returns call parameters proposed by remote.
void | linphone_call_enable_camera (LinphoneCall *call, bool_t enabled)
| Indicate whether camera input should be sent to remote end.
bool_t | linphone_call_camera_enabled (const LinphoneCall *call)
| Returns if camera pictures are allowed to be sent to the remote party.
LinphoneStatus | linphone_call_take_video_snapshot (LinphoneCall *call, const char *file_path)
| Take a photo of currently received video and write it into a jpeg file.
LinphoneStatus | linphone_call_take_preview_snapshot (LinphoneCall *call, const char *file_path)
| Take a photo of currently captured video and write it into a jpeg file.
LinphoneReason | linphone_call_get_reason (const LinphoneCall *call)
| Returns the reason for a call termination (either error or normal termination)
const LinphoneErrorInfo * | linphone_call_get_error_info (const LinphoneCall *call)
| Returns full details about call errors or termination reasons.
const char * | linphone_call_get_remote_user_agent (LinphoneCall *call)
| Returns the far end's user agent description string, if available.
const LinphoneAddress * | linphone_call_get_remote_contact_address (LinphoneCall *call)
| Returns the far end's sip contact as an address, if available.
const char * | linphone_call_get_remote_contact (LinphoneCall *call)
| Returns the far end's sip contact as a string, if available.
const char * | linphone_call_get_authentication_token (LinphoneCall *call)
| Returns the ZRTP authentication token to verify.
bool_t | linphone_call_get_authentication_token_verified (const LinphoneCall *call)
| Returns whether ZRTP authentication token is verified.
void | linphone_call_set_authentication_token_verified (LinphoneCall *call, bool_t verified)
| Set the result of ZRTP short code verification by user.
void | linphone_call_send_vfu_request (LinphoneCall *call)
| Request remote side to send us a Video Fast Update.
void | linphone_call_request_notify_next_video_frame_decoded (LinphoneCall *call)
| Request the callback passed to linphone_call_cbs_set_next_video_frame_decoded() to be called the next time the video decoder properly decodes a video frame.
LinphoneCallState | linphone_call_get_transfer_state (LinphoneCall *call)
| Returns the current transfer state, if a transfer has been initiated from this call.
void | linphone_call_zoom (LinphoneCall *call, float zoom_factor, float cx, float cy)
| Perform a zoom of the video displayed during a call.
LinphoneStatus | linphone_call_send_dtmf (LinphoneCall *call, char dtmf)
| Send the specified dtmf.
LinphoneStatus | linphone_call_send_dtmfs (LinphoneCall *call, const char *dtmfs)
| Send a list of dtmf.
void | linphone_call_cancel_dtmfs (LinphoneCall *call)
| Stop current DTMF sequence sending.
LinphoneConference * | linphone_call_get_conference (const LinphoneCall *call)
| Return the associated conference object.
int | linphone_call_get_stream_count (const LinphoneCall *call)
| Returns the number of stream for the given call.
MSFormatType | linphone_call_get_stream_type (const LinphoneCall *call, int stream_index)
| Returns the type of stream for the given stream index.
RtpTransport * | linphone_call_get_meta_rtp_transport (const LinphoneCall *call, int stream_index)
| Returns the meta rtp transport for the given stream index.
RtpTransport * | linphone_call_get_meta_rtcp_transport (const LinphoneCall *call, int stream_index)
| Returns the meta rtcp transport for the given stream index.
LinphoneStatus | linphone_call_pause (LinphoneCall *call)
| Pauses the call.
LinphoneStatus | linphone_call_resume (LinphoneCall *call)
| Resumes a call.
LinphoneStatus | linphone_call_terminate (LinphoneCall *call)
| Terminates a call.
LinphoneStatus | linphone_call_terminate_with_error_info (LinphoneCall *call, const LinphoneErrorInfo *ei)
| Terminates a call.
LinphoneStatus | linphone_call_redirect_to (LinphoneCall *call, LinphoneAddress *redirect_address)
| Redirect the specified call to the given redirect Address.
LinphoneStatus | linphone_call_decline (LinphoneCall *call, LinphoneReason reason)
| Decline a pending incoming call, with a reason.
int | linphone_call_decline_with_error_info (LinphoneCall *call, const LinphoneErrorInfo *ei)
| Decline a pending incoming call, with a LinphoneErrorInfo object.
LinphoneStatus | linphone_call_accept (LinphoneCall *call)
| Accept an incoming call.
LinphoneStatus | linphone_call_accept_with_params (LinphoneCall *call, const LinphoneCallParams *params)
| Accept an incoming call, with parameters.
LinphoneStatus | linphone_call_accept_early_media (LinphoneCall *call)
| Accept an early media session for an incoming call.
LinphoneStatus | linphone_call_accept_early_media_with_params (LinphoneCall *call, const LinphoneCallParams *params)
| When receiving an incoming, accept to start a media session as early-media.
LinphoneStatus | linphone_call_update (LinphoneCall *call, const LinphoneCallParams *params)
| Updates a running call according to supplied call parameters or parameters changed in the LinphoneCore.
LinphoneStatus | linphone_call_defer_update (LinphoneCall *call)
| When receiving a LinphoneCallUpdatedByRemote state notification, prevent LinphoneCore from performing an automatic answer.
LinphoneStatus | linphone_call_accept_update (LinphoneCall *call, const LinphoneCallParams *params)
| Accept call modifications initiated by other end.
LinphoneStatus | linphone_call_transfer_to (LinphoneCall *call, LinphoneAddress *refer_to)
| Performs a simple call transfer to the specified destination.
LinphoneStatus | linphone_call_transfer_to_another (LinphoneCall *call, LinphoneCall *dest)
| Transfers a call to destination of another running call.
LinphoneEventCbs * | linphone_event_cbs_new (void)
LinphoneEventCbs * | linphone_event_cbs_ref (LinphoneEventCbs *cbs)
| Acquire a reference to a LinphoneEventCbs object.
void | linphone_event_cbs_unref (LinphoneEventCbs *cbs)
| Release a reference to a LinphoneEventCbs object.
void * | linphone_event_cbs_get_user_data (const LinphoneEventCbs *cbs)
| Retrieve the user pointer associated with a LinphoneEventCbs object.
void | linphone_event_cbs_set_user_data (LinphoneEventCbs *cbs, void *user_data)
| Assign a user pointer to a LinphoneEventCbs object.
LinphoneEventCbsNotifyResponseCb | linphone_event_cbs_get_notify_response (const LinphoneEventCbs *cbs)
| Get the notify response callback.
void | linphone_event_cbs_set_notify_response (LinphoneEventCbs *cbs, LinphoneEventCbsNotifyResponseCb cb)
| Set the notify response callback.
LinphoneVideoSourceDescriptor * | linphone_video_source_descriptor_new (void)
| Create a new LinphoneVideoSourceDescriptor object.
LinphoneVideoSourceDescriptor * | linphone_video_source_descriptor_clone (const LinphoneVideoSourceDescriptor *descriptor)
| Instantiate a new video source descriptor with values from source.
LinphoneVideoSourceDescriptor * | linphone_video_source_descriptor_ref (LinphoneVideoSourceDescriptor *descriptor)
| Take a reference on a LinphoneVideoSourceDescriptor.
void | linphone_video_source_descriptor_unref (LinphoneVideoSourceDescriptor *descriptor)
| Release a LinphoneVideoSourceDescriptor.
LinphoneVideoSourceType | linphone_video_source_descriptor_get_type (const LinphoneVideoSourceDescriptor *descriptor)
| Gets the type of a LinphoneVideoSourceDescriptor.
LinphoneCall * | linphone_video_source_descriptor_get_call (const LinphoneVideoSourceDescriptor *descriptor)
| Gets the call of a LinphoneVideoSourceDescriptor.
void | linphone_video_source_descriptor_set_call (LinphoneVideoSourceDescriptor *descriptor, LinphoneCall *call)
| Sets the source of a LinphoneVideoSourceDescriptor with a call.
const char * | linphone_video_source_descriptor_get_camera_id (const LinphoneVideoSourceDescriptor *descriptor)
| Gets the camera id of a LinphoneVideoSourceDescriptor.
void | linphone_video_source_descriptor_set_camera_id (LinphoneVideoSourceDescriptor *descriptor, const char *camera_id)
| Sets the source of a LinphoneVideoSourceDescriptor with a camera id.
const char * | linphone_video_source_descriptor_get_image (const LinphoneVideoSourceDescriptor *descriptor)
| Gets the image path of a LinphoneVideoSourceDescriptor.
void | linphone_video_source_descriptor_set_image (LinphoneVideoSourceDescriptor *descriptor, const char *image_path)
| Sets the source of a LinphoneVideoSourceDescriptor with an image path.

## Detailed Description

Placing and receiving calls.

The LinphoneCall object represents an incoming or outgoing call managed by the LinphoneCore.

## Typedef Documentation

## LinphoneCall

typedef struct _LinphoneCall LinphoneCall

This object represents a call issued or received by the LinphoneCore.

Linphone only allows at most one active call at any given time and it will be in LinphoneCallStateStreamsRunning. However, if the core is locally hosting a LinphoneConference, you may have some or all the calls in the conference in LinphoneCallStateStreamsRunning as well as an additional active call outside of the conference in LinphoneCallStateStreamsRunning if the local participant of the LinphoneConference is not part of it.

You can get the LinphoneCallState of the call using linphone_call_get_state(), it's current LinphoneCallParams with linphone_call_get_current_params() and the latest statistics by calling linphone_call_get_audio_stats() or linphone_call_get_video_stats().

## LinphoneCallCbs

typedef struct _LinphoneCallCbs LinphoneCallCbs

That class holds all the callbacks which are called by LinphoneCall objects.

Use linphone_factory_create_call_cbs() to create an instance. Then, call the callback setters on the events you need to monitor and pass the object to a LinphoneCall instance through linphone_call_add_callbacks().

## LinphoneCallCbsAckProcessingCb

typedef void(* LinphoneCallCbsAckProcessingCb) (LinphoneCall *call, LinphoneHeaders *ack, bool_t is_received)

Callback for notifying the processing SIP ACK messages.

Parameters

  call | LinphoneCall for which an ACK is being received or sent
  ack | the ACK LinphoneHeaders
  is_received | if TRUE this ACK is an incoming one, otherwise it is an ACK about to be sent.

## LinphoneCallCbsAudioDeviceChangedCb

typedef void(* LinphoneCallCbsAudioDeviceChangedCb) (LinphoneCall *call, LinphoneAudioDevice *audio_device)

Callback to notify that the audio device has been changed.

Parameters

  call | LinphoneCall for which the audio device has changed
  audio_device | the new audio device used for this call

## LinphoneCallCbsCameraNotWorkingCb

typedef void(* LinphoneCallCbsCameraNotWorkingCb) (LinphoneCall *call, const char *camera_name)

Callback to notify that the camera is not working and has been changed to "No Webcam".

A camera is detected as mis-functionning as soon as it outputs no frames at all during a period of 5 seconds. This check is only performed on desktop platforms, in the purpose of notifying camera failures, for example if when a usb cable gets disconnected.

Parameters

  call | LinphoneCall for which the next video frame has been decoded
  camera_name | the name of the non-working camera

## LinphoneCallCbsDtmfReceivedCb

typedef void(* LinphoneCallCbsDtmfReceivedCb) (LinphoneCall *call, int dtmf)

Callback for being notified of received DTMFs.

Parameters

  call | LinphoneCall object that received the dtmf
  dtmf | The ascii code of the dtmf

## LinphoneCallCbsEncryptionChangedCb

typedef void(* LinphoneCallCbsEncryptionChangedCb) (LinphoneCall *call, bool_t on, const char *authentication_token)

Call encryption changed callback.

Parameters

  call | LinphoneCall object whose encryption is changed.
  on | Whether encryption is activated.
  authentication_token | An authentication_token, currently set for ZRTP kind of encryption only.

## LinphoneCallCbsGoClearAckSentCb

typedef void(* LinphoneCallCbsGoClearAckSentCb) (LinphoneCall *call)

GoClear ACK sent callback.

Parameters

  call | the LinphoneCall on which the GoClear ACK was sent.

## LinphoneCallCbsInfoMessageReceivedCb

typedef void(* LinphoneCallCbsInfoMessageReceivedCb) (LinphoneCall *call, const LinphoneInfoMessage *message)

Callback for receiving info messages.

Parameters

  call | LinphoneCall whose info message belongs to.
  message | LinphoneInfoMessage object.

## LinphoneCallCbsNextVideoFrameDecodedCb

typedef void(* LinphoneCallCbsNextVideoFrameDecodedCb) (LinphoneCall *call)

Callback to notify a next video frame has been decoded.

Parameters

  call | LinphoneCall for which the next video frame has been decoded

## LinphoneCallCbsReceiveMasterKeyChangedCb

typedef void(* LinphoneCallCbsReceiveMasterKeyChangedCb) (LinphoneCall *call, const char *receive_master_key)

Call receive master key changed callback.

Parameters

  call | LinphoneCall object whose encryption is changed.
  receive_master_key | The receive master key of the SRTP session.

## LinphoneCallCbsRemoteRecordingCb

typedef void(* LinphoneCallCbsRemoteRecordingCb) (LinphoneCall *call, bool_t recording)

Callback to notify that the call is being recorded by the remote.

Parameters

  call | LinphoneCall for which the audio is recorded
  recording | TRUE if the call is being recorded by the remote, FALSE otherwise

## LinphoneCallCbsSendMasterKeyChangedCb

typedef void(* LinphoneCallCbsSendMasterKeyChangedCb) (LinphoneCall *call, const char *send_master_key)

Call send master key changed callback.

Parameters

  call | LinphoneCall object whose encryption is changed.
  send_master_key | The send master key of the SRTP session.

## LinphoneCallCbsSnapshotTakenCb

typedef void(* LinphoneCallCbsSnapshotTakenCb) (LinphoneCall *call, const char *file_path)

Callback for notifying a snapshot taken.

Parameters

  call | LinphoneCall for which the snapshot was taken
  file_path | the name of the saved file

## LinphoneCallCbsStateChangedCb

typedef void(* LinphoneCallCbsStateChangedCb) (LinphoneCall *call, LinphoneCallState state, const char *message)

Call state notification callback.

Parameters

  call | LinphoneCall whose state is changed.
  state | The new LinphoneCallState of the call
  message | An informational message about the state.

## LinphoneCallCbsStatsUpdatedCb

typedef void(* LinphoneCallCbsStatsUpdatedCb) (LinphoneCall *call, const LinphoneCallStats *stats)

Callback for receiving quality statistics for calls.

Parameters

  call | LinphoneCall object whose statistics are notified
  stats | LinphoneCallStats object

## LinphoneCallCbsTmmbrReceivedCb

typedef void(* LinphoneCallCbsTmmbrReceivedCb) (LinphoneCall *call, int stream_index, int tmmbr)

Callback for notifying a received TMMBR.

Parameters

  call | LinphoneCall for which the TMMBR has changed
  stream_index | the index of the current stream
  tmmbr | the value of the received TMMBR

## LinphoneCallCbsTransferStateChangedCb

typedef void(* LinphoneCallCbsTransferStateChangedCb) (LinphoneCall *call, LinphoneCallState state)

Callback for notifying progresses of transfers.

Parameters

  call | LinphoneCall that was transfered
  state | The LinphoneCallState of the call to transfer target at the far end.

## LinphoneCallCbsVideoDisplayErrorOccurredCb

typedef void(* LinphoneCallCbsVideoDisplayErrorOccurredCb) (LinphoneCall *call, int error_code)

Callback to notify that there are errors from the video rendering.

The error code depends of the implementation.

- If using OpenGL then the errors comes from eglGetError() : https://registry.khronos.org/EGL/sdk/docs/man/html/eglGetError.xhtml On `EGL_CONTEXT_LOST`, it is recommanded to restart the Window ID with **_create_native_**_video_window_id() and **_set_native_**_video_window_id() functions.

Parameters

  call | LinphoneCall
  error_code | error code from render. It depends of the renderer.

## LinphoneCallParams

typedef struct _LinphoneCallParams LinphoneCallParams

An object containing various parameters of a LinphoneCall.

You can specify your params while answering an incoming call using linphone_call_accept_with_params() or while initiating an outgoing call with linphone_core_invite_address_with_params().

This object can be created using linphone_core_create_call_params(), using NULL for the call pointer if you plan to use it for an outgoing call.

For each call, three LinphoneCallParams 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 also
  linphone_call_get_current_params(), linphone_call_get_remote_params() and linphone_call_get_params().

## LinphoneCallState

typedef enum _LinphoneCallState LinphoneCallState

LinphoneCallState enum represents the different states a call can reach into.

The application is notified of a state change through the LinphoneCoreVTable::call_state_changed callback.

## LinphonePlayerCbsEofReachedCb

typedef void(* LinphonePlayerCbsEofReachedCb) (LinphonePlayer *player)

Callback for notifying end of play (file).

Parameters

  player | The LinphonePlayer object

## Enumeration Type Documentation

## _LinphoneCallState

enum _LinphoneCallState

LinphoneCallState enum represents the different states a call can reach into.

The application is notified of a state change through the LinphoneCoreVTable::call_state_changed callback.

Enumerator
LinphoneCallStateIdle | Initial state.
LinphoneCallStateIncomingReceived | Incoming call received.
LinphoneCallStatePushIncomingReceived | PushIncoming call received.
LinphoneCallStateOutgoingInit | Outgoing call initialized.
LinphoneCallStateOutgoingProgress | Outgoing call in progress.
LinphoneCallStateOutgoingRinging | Outgoing call ringing.
LinphoneCallStateOutgoingEarlyMedia | Outgoing call early media.
LinphoneCallStateConnected | Connected.
LinphoneCallStateStreamsRunning | Streams running.
LinphoneCallStatePausing | Pausing.
LinphoneCallStatePaused | Paused.
LinphoneCallStateResuming | Resuming.
LinphoneCallStateReferred | Referred.
LinphoneCallStateError | Error.
LinphoneCallStateEnd | Call end.
LinphoneCallStatePausedByRemote | Paused by remote.
LinphoneCallStateUpdatedByRemote | The call's parameters are updated for example when video is asked by remote.
LinphoneCallStateIncomingEarlyMedia | We are proposing early media to an incoming call.
LinphoneCallStateUpdating | We have initiated a call update.
LinphoneCallStateReleased | The call object is now released.
LinphoneCallStateEarlyUpdatedByRemote | The call is updated by remote while not yet answered (SIP UPDATE in early dialog received)
LinphoneCallStateEarlyUpdating | We are updating the call while not yet answered (SIP UPDATE in early dialog sent)

## _LinphoneMediaDirection

enum _LinphoneMediaDirection

Indicates for a given media the stream direction.

Enumerator
LinphoneMediaDirectionInvalid | Default value, shouldn't be used.
LinphoneMediaDirectionInactive | No active media not supported yet.
LinphoneMediaDirectionSendOnly | Media is only being sent, it won't be received.
LinphoneMediaDirectionRecvOnly | Media will only be received, nothing will be sent.
LinphoneMediaDirectionSendRecv | Media will be sent and received.

## _LinphonePrivacy

enum _LinphonePrivacy

Defines privacy policy to apply as described by rfc3323.

Enumerator
LinphonePrivacyNone | Privacy services must not perform any privacy function.
LinphonePrivacyUser | Request that privacy services provide a user-level privacy function. With this mode, "from" header is hidden, usually replaced by From: "Anonymous" <sip:anony.nosp@m.mous.nosp@m.@anon.nosp@m.ymou.nosp@m.s.inv.nosp@m.alid>
LinphonePrivacyHeader | Request that privacy services modify headers that cannot be set arbitrarily by the user (Contact/Via).
LinphonePrivacySession | Request that privacy services provide privacy for session media.
LinphonePrivacyId | 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. Note that a user requesting multiple types of privacy MUST include all of the requested privacy types in its Privacy header field value
LinphonePrivacyCritical | Privacy service must perform the specified services or fail the request.
LinphonePrivacyDefault | Special keyword to use privacy as defined either globally or by proxy using linphone_proxy_config_set_privacy()

## _LinphoneRecorderState

enum _LinphoneRecorderState

Enum representing the state of a recording.

Enumerator
LinphoneRecorderClosed | No file is opened for recording.
LinphoneRecorderPaused | The recorder is paused.
LinphoneRecorderRunning | The recorder is running.

## _LinphoneVideoSourceType

enum _LinphoneVideoSourceType

Enum representing the type of a video source.

Enumerator
LinphoneVideoSourceCall | The video source is another call.
LinphoneVideoSourceCamera | The video source is a camera.
LinphoneVideoSourceImage | The video source is an image.

## LinphonePlayerState

enum LinphonePlayerState

The state of a LinphonePlayer.

Enumerator
LinphonePlayerClosed | No file is opened for playing.
LinphonePlayerPaused | The player is paused.
LinphonePlayerPlaying | The player is playing.

## Function Documentation

## linphone_call_accept()

LinphoneStatus linphone_call_accept | ( | LinphoneCall * | call | ) |

Accept an incoming call.

Basically the application is notified of incoming calls within the call_state_changed callback of the LinphoneCoreVTable structure, where it will receive a LinphoneCallIncoming event with the associated LinphoneCall object. The application can later accept the call using this method.

Parameters

  call | The LinphoneCall object

Returns
  0 on success, -1 on failure

## linphone_call_accept_early_media()

LinphoneStatus linphone_call_accept_early_media | ( | LinphoneCall * | call | ) |

Accept an early media session for an incoming call.

This is identical as calling linphone_call_accept_early_media_with_params() with NULL parameters.

Parameters

  call | A LinphoneCall object

Returns
  0 if successful, -1 otherwise

See also
  linphone_call_accept_early_media_with_params()

## linphone_call_accept_early_media_with_params()

LinphoneStatus linphone_call_accept_early_media_with_params | ( | LinphoneCall * | call,
|  | const LinphoneCallParams * | params )

When receiving an incoming, accept to start a media session as early-media.

This means the call is not accepted but audio & video streams can be established if the remote party supports early media. However, unlike after call acceptance, mic and camera input are not sent during early-media, though received audio & video are played normally. The call can then later be fully accepted using linphone_call_accept() or linphone_call_accept_with_params().

Parameters

  call | A LinphoneCall object
  params | The call parameters to use (can be NULL).

Returns
  0 if successful, -1 otherwise

## linphone_call_accept_update()

LinphoneStatus linphone_call_accept_update | ( | LinphoneCall * | call,
|  | const LinphoneCallParams * | params )

Accept call modifications initiated by other end.

This call may be performed in response to a LinphoneCallUpdatedByRemote state notification. When such notification arrives, the application can decide to call linphone_call_defer_update() so that it can have the time to prompt the user. linphone_call_get_remote_params() can be used to get information about the call parameters requested by the other party, such as whether a video stream is requested.

When the user accepts or refuse the change, linphone_call_accept_update() can be done to answer to the other party. If params is NULL, then the same call parameters established before the update request will continue to be used (no change). If params is not NULL, then the update will be accepted according to the parameters passed. Typical example is when a user accepts to start video, then params should indicate that video stream should be used (see linphone_call_params_enable_video()).

Parameters

  call | A LinphoneCall object
  params | A LinphoneCallParams object describing the call parameters to accept.

Returns
  0 if successful, -1 otherwise (actually when this function call is performed outside ot LinphoneCallUpdatedByRemote state)

## linphone_call_accept_with_params()

LinphoneStatus linphone_call_accept_with_params | ( | LinphoneCall * | call,
|  | const LinphoneCallParams * | params )

Accept an incoming call, with parameters.

Basically the application is notified of incoming calls within the call_state_changed callback of the LinphoneCoreVTable structure, where it will receive a LinphoneCallIncoming event with the associated LinphoneCall object. The application can later accept the call using this method.

Parameters

  call | A LinphoneCall object
  params | The specific parameters for this call, for example whether video is accepted or not. Use NULL to use default parameters.

Returns
  0 on success, -1 on failure

## linphone_call_asked_to_autoanswer()

bool_t linphone_call_asked_to_autoanswer | ( | LinphoneCall * | call | ) |

Tell whether a call has been asked to autoanswer.

Parameters

  call | LinphoneCall object.

Returns
  A boolean value telling whether the call has been asked to autoanswer

## linphone_call_camera_enabled()

bool_t linphone_call_camera_enabled | ( | const LinphoneCall * | call | ) |

Returns if camera pictures are allowed to be sent to the remote party.

Parameters

  call | LinphoneCall object.

Returns
  TRUE if local video stream is being sent, FALSE otherwise.

## linphone_call_cancel_dtmfs()

void linphone_call_cancel_dtmfs | ( | LinphoneCall * | call | ) |

Stop current DTMF sequence sending.

Please note that some DTMF could be already sent, depending on when this function call is delayed from linphone_call_send_dtmfs(). This function will be automatically called if call state change to anything but LinphoneCallStreamsRunning.

Parameters

  call | The LinphoneCall object

## linphone_call_cbs_get_ack_processing()

LinphoneCallCbsAckProcessingCb linphone_call_cbs_get_ack_processing | ( | LinphoneCallCbs * | cbs | ) |

Get the ACK processing callback.

Parameters

  cbs | LinphoneCallCbs object.

Returns
  The current ack processing callback.

## linphone_call_cbs_get_audio_device_changed()

LinphoneCallCbsAudioDeviceChangedCb linphone_call_cbs_get_audio_device_changed | ( | LinphoneCallCbs * | cbs | ) |

Get the audio device changed callback.

Parameters

  cbs | The LinphoneCallCbs object.

Returns
  The audio device changed callback.

## linphone_call_cbs_get_camera_not_working()

LinphoneCallCbsCameraNotWorkingCb linphone_call_cbs_get_camera_not_working | ( | LinphoneCallCbs * | cbs | ) |

Get the camera not working callback.

Parameters

  cbs | The LinphoneCallCbs object.

Returns
  The camera not working callback.

## linphone_call_cbs_get_dtmf_received()

LinphoneCallCbsDtmfReceivedCb linphone_call_cbs_get_dtmf_received | ( | LinphoneCallCbs * | cbs | ) |

Get the dtmf received callback.

Parameters

  cbs | LinphoneCallCbs object.

Returns
  The current dtmf received callback.

## linphone_call_cbs_get_encryption_changed()

LinphoneCallCbsEncryptionChangedCb linphone_call_cbs_get_encryption_changed | ( | LinphoneCallCbs * | cbs | ) |

Get the encryption changed callback.

Parameters

  cbs | LinphoneCallCbs object.

Returns
  The current encryption changed callback.

## linphone_call_cbs_get_goclear_ack_sent()

LinphoneCallCbsGoClearAckSentCb linphone_call_cbs_get_goclear_ack_sent | ( | LinphoneCallCbs * | cbs | ) |

Get the GoClear Ack sent callback.

Parameters

  cbs | LinphoneCallCbs object.

Returns
  The GoClear Ack sent callback.

## linphone_call_cbs_get_info_message_received()

LinphoneCallCbsInfoMessageReceivedCb linphone_call_cbs_get_info_message_received | ( | LinphoneCallCbs * | cbs | ) |

Get the info message received callback.

Parameters

  cbs | LinphoneCallCbs object.

Returns
  The current info message received callback.

## linphone_call_cbs_get_next_video_frame_decoded()

LinphoneCallCbsNextVideoFrameDecodedCb linphone_call_cbs_get_next_video_frame_decoded | ( | LinphoneCallCbs * | cbs | ) |

Get the next video frame decoded callback.

Parameters

  cbs | The LinphoneCallCbs object.

Returns
  The current next video frame decoded callback.

## linphone_call_cbs_get_receive_master_key_changed()

LinphoneCallCbsReceiveMasterKeyChangedCb linphone_call_cbs_get_receive_master_key_changed | ( | LinphoneCallCbs * | cbs | ) |

Get the receive master key changed callback.

Parameters

  cbs | LinphoneCallCbs object.

Returns
  The current receive master key changed callback.

## linphone_call_cbs_get_remote_recording()

LinphoneCallCbsRemoteRecordingCb linphone_call_cbs_get_remote_recording | ( | LinphoneCallCbs * | cbs | ) |

Get the call remote recording callback.

Parameters

  cbs | The LinphoneCallCbs object.

Returns
  The call remote recording callback.

## linphone_call_cbs_get_send_master_key_changed()

LinphoneCallCbsSendMasterKeyChangedCb linphone_call_cbs_get_send_master_key_changed | ( | LinphoneCallCbs * | cbs | ) |

Get the send master key changed callback.

Parameters

  cbs | LinphoneCallCbs object.

Returns
  The current send master key changed callback.

## linphone_call_cbs_get_snapshot_taken()

LinphoneCallCbsSnapshotTakenCb linphone_call_cbs_get_snapshot_taken | ( | LinphoneCallCbs * | cbs | ) |

Get the snapshot taken callback.

Parameters

  cbs | The LinphoneCallCbs object.

Returns
  The current snapshot taken callback.

## linphone_call_cbs_get_state_changed()

LinphoneCallCbsStateChangedCb linphone_call_cbs_get_state_changed | ( | LinphoneCallCbs * | cbs | ) |

Get the state changed callback.

Parameters

  cbs | LinphoneCallCbs object.

Returns
  The current state changed callback.

## linphone_call_cbs_get_stats_updated()

LinphoneCallCbsStatsUpdatedCb linphone_call_cbs_get_stats_updated | ( | LinphoneCallCbs * | cbs | ) |

Get the stats updated callback.

Parameters

  cbs | LinphoneCallCbs object.

Returns
  The current stats updated callback.

## linphone_call_cbs_get_tmmbr_received()

LinphoneCallCbsTmmbrReceivedCb linphone_call_cbs_get_tmmbr_received | ( | LinphoneCallCbs * | cbs | ) |

Get the TMMBR received callback.

Parameters

  cbs | The LinphoneCallCbs object.

Returns
  The current TMMBR received callback.

## linphone_call_cbs_get_transfer_state_changed()

LinphoneCallCbsTransferStateChangedCb linphone_call_cbs_get_transfer_state_changed | ( | LinphoneCallCbs * | cbs | ) |

Get the transfer state changed callback.

Parameters

  cbs | LinphoneCallCbs object.

Returns
  The current transfer state changed callback.

## linphone_call_cbs_get_user_data()

void * linphone_call_cbs_get_user_data | ( | const LinphoneCallCbs * | cbs | ) |

Retrieve the user pointer associated with the LinphoneCallCbs object.

Parameters

  cbs | LinphoneCallCbs object.

Returns
  The user pointer associated with the LinphoneCallCbs object or NULL.

## linphone_call_cbs_get_video_display_error_occurred()

LinphoneCallCbsVideoDisplayErrorOccurredCb linphone_call_cbs_get_video_display_error_occurred | ( | LinphoneCallCbs * | cbs | ) |

Get the callback that will be used to notify that there are errors from the video rendering.

Check LinphoneCallCbsVideoDisplayErrorOccurredCb for more details.

Parameters

  cbs | The LinphoneCallCbs object.

Returns
  The failing rendering callback.

## linphone_call_cbs_ref()

LinphoneCallCbs * linphone_call_cbs_ref | ( | LinphoneCallCbs * | cbs | ) |

Acquire a reference to the LinphoneCallCbs object.

Parameters

  cbs | LinphoneCallCbs object.

Returns
  The same LinphoneCallCbs object.

## linphone_call_cbs_set_ack_processing()

void linphone_call_cbs_set_ack_processing | ( | LinphoneCallCbs * | cbs,
|  | LinphoneCallCbsAckProcessingCb | cb )

Set ACK processing callback.

Parameters

  | cbs | LinphoneCallCbs object.
  [in] | cb | The ack processing callback to be used.

## linphone_call_cbs_set_audio_device_changed()

void linphone_call_cbs_set_audio_device_changed | ( | LinphoneCallCbs * | cbs,
|  | LinphoneCallCbsAudioDeviceChangedCb | cb )

Set the audio device changed callback.

Parameters

  | cbs | The LinphoneCallCbs object.
  [in] | cb | The audio device changedcallback to be used.

## linphone_call_cbs_set_camera_not_working()

void linphone_call_cbs_set_camera_not_working | ( | LinphoneCallCbs * | cbs,
|  | LinphoneCallCbsCameraNotWorkingCb | cb )

Set the camera not working callback.

Parameters

  | cbs | The LinphoneCallCbs object.
  [in] | cb | The camera not working callback to be used.

## linphone_call_cbs_set_dtmf_received()

void linphone_call_cbs_set_dtmf_received | ( | LinphoneCallCbs * | cbs,
|  | LinphoneCallCbsDtmfReceivedCb | cb )

Set the dtmf received callback.

Parameters

  | cbs | LinphoneCallCbs object.
  [in] | cb | The dtmf received callback to be used.

## linphone_call_cbs_set_encryption_changed()

void linphone_call_cbs_set_encryption_changed | ( | LinphoneCallCbs * | cbs,
|  | LinphoneCallCbsEncryptionChangedCb | cb )

Set the encryption changed callback.

Parameters

  | cbs | LinphoneCallCbs object.
  [in] | cb | The encryption changed callback to be used.

## linphone_call_cbs_set_goclear_ack_sent()

void linphone_call_cbs_set_goclear_ack_sent | ( | LinphoneCallCbs * | cbs,
|  | LinphoneCallCbsGoClearAckSentCb | cb )

Set the GoClear Ack sent callback.

Parameters

  | cbs | LinphoneCallCbs object.
  [in] | cb | The GoClear Ack sent callback to be used.

## linphone_call_cbs_set_info_message_received()

void linphone_call_cbs_set_info_message_received | ( | LinphoneCallCbs * | cbs,
|  | LinphoneCallCbsInfoMessageReceivedCb | cb )

Set the info message received callback.

Parameters

  | cbs | LinphoneCallCbs object.
  [in] | cb | The info message received callback to be used.

## linphone_call_cbs_set_next_video_frame_decoded()

void linphone_call_cbs_set_next_video_frame_decoded | ( | LinphoneCallCbs * | cbs,
|  | LinphoneCallCbsNextVideoFrameDecodedCb | cb )

Set the next video frame decoded callback.

Parameters

  | cbs | The LinphoneCallCbs object.
  [in] | cb | The next video frame decoded callback to be used.

## linphone_call_cbs_set_receive_master_key_changed()

void linphone_call_cbs_set_receive_master_key_changed | ( | LinphoneCallCbs * | cbs,
|  | LinphoneCallCbsReceiveMasterKeyChangedCb | cb )

Set the receive master key changed callback.

Parameters

  | cbs | LinphoneCallCbs object.
  [in] | cb | The receive master key changed callback to be used.

## linphone_call_cbs_set_remote_recording()

void linphone_call_cbs_set_remote_recording | ( | LinphoneCallCbs * | cbs,
|  | LinphoneCallCbsRemoteRecordingCb | cb )

Set the call remote recording callback.

Parameters

  | cbs | The LinphoneCallCbs object.
  [in] | cb | The call remote recording callback to be used.

## linphone_call_cbs_set_send_master_key_changed()

void linphone_call_cbs_set_send_master_key_changed | ( | LinphoneCallCbs * | cbs,
|  | LinphoneCallCbsSendMasterKeyChangedCb | cb )

Set the send master key changed callback.

Parameters

  | cbs | LinphoneCallCbs object.
  [in] | cb | The send master key changed callback to be used.

## linphone_call_cbs_set_snapshot_taken()

void linphone_call_cbs_set_snapshot_taken | ( | LinphoneCallCbs * | cbs,
|  | LinphoneCallCbsSnapshotTakenCb | cb )

Set the snapshot taken callback.

Parameters

  | cbs | The LinphoneCallCbs object.
  [in] | cb | The snapshot taken callback to be used.

## linphone_call_cbs_set_state_changed()

void linphone_call_cbs_set_state_changed | ( | LinphoneCallCbs * | cbs,
|  | LinphoneCallCbsStateChangedCb | cb )

Set the state changed callback.

Parameters

  | cbs | LinphoneCallCbs object.
  [in] | cb | The state changed callback to be used.

## linphone_call_cbs_set_stats_updated()

void linphone_call_cbs_set_stats_updated | ( | LinphoneCallCbs * | cbs,
|  | LinphoneCallCbsStatsUpdatedCb | cb )

Set the stats updated callback.

Parameters

  | cbs | LinphoneCallCbs object.
  [in] | cb | The stats updated callback to be used.

## linphone_call_cbs_set_tmmbr_received()

void linphone_call_cbs_set_tmmbr_received | ( | LinphoneCallCbs * | cbs,
|  | LinphoneCallCbsTmmbrReceivedCb | cb )

Set the TMMBR received callback.

Parameters

  | cbs | The LinphoneCallCbs object.
  [in] | cb | The TMMBR received callback to be used.

## linphone_call_cbs_set_transfer_state_changed()

void linphone_call_cbs_set_transfer_state_changed | ( | LinphoneCallCbs * | cbs,
|  | LinphoneCallCbsTransferStateChangedCb | cb )

Set the transfer state changed callback.

Parameters

  | cbs | LinphoneCallCbs object.
  [in] | cb | The transfer state changed callback to be used.

## linphone_call_cbs_set_user_data()

void linphone_call_cbs_set_user_data | ( | LinphoneCallCbs * | cbs,
|  | void * | user_data )

Assign a user pointer to the LinphoneCallCbs object.

Parameters

  | cbs | LinphoneCallCbs object.
  [in] | user_data | The user pointer to associate with the LinphoneCallCbs object.

## linphone_call_cbs_set_video_display_error_occurred()

void linphone_call_cbs_set_video_display_error_occurred | ( | LinphoneCallCbs * | cbs,
|  | LinphoneCallCbsVideoDisplayErrorOccurredCb | cb )

Set the callback that will be used to notify that there are errors from the video rendering.

Check LinphoneCallCbsVideoDisplayErrorOccurredCb for more details.

Parameters

  | cbs | The LinphoneCallCbs object.
  [in] | cb | The failing rendering callback to be used.

## linphone_call_cbs_unref()

void linphone_call_cbs_unref | ( | LinphoneCallCbs * | cbs | ) |

Release reference to the LinphoneCallCbs object.

Parameters

  cbs | LinphoneCallCbs object.

## linphone_call_decline()

LinphoneStatus linphone_call_decline | ( | LinphoneCall * | call,
|  | LinphoneReason | reason )

Decline a pending incoming call, with a reason.

Parameters

  call | A LinphoneCall object that must be in the IncomingReceived state
  reason | The reason for rejecting the call: LinphoneReasonDeclined or LinphoneReasonBusy

Returns
  0 on success, -1 on failure

## linphone_call_decline_with_error_info()

int linphone_call_decline_with_error_info | ( | LinphoneCall * | call,
|  | const LinphoneErrorInfo * | ei )

Decline a pending incoming call, with a LinphoneErrorInfo object.

Parameters

  call | A LinphoneCall object that must be in the IncomingReceived state
  ei | LinphoneErrorInfo containing more information on the call rejection.

Returns
  0 on success, -1 on failure

## linphone_call_defer_update()

LinphoneStatus linphone_call_defer_update | ( | LinphoneCall * | call | ) |

When receiving a LinphoneCallUpdatedByRemote state notification, prevent LinphoneCore from performing an automatic answer.

When receiving a LinphoneCallUpdatedByRemote state notification (ie an incoming reINVITE), the default behaviour of LinphoneCore is defined by the "defer_update_default" option of the "sip" section of the config. If this option is 0 (the default) then the LinphoneCore automatically answers the reINIVTE with call parameters unchanged. However when for example when the remote party updated the call to propose a video stream, it can be useful to prompt the user before answering. This can be achieved by calling linphone_core_defer_call_update() during the call state notification, to deactivate the automatic answer that would just confirm the audio but reject the video. Then, when the user responds to dialog prompt, it becomes possible to call linphone_call_accept_update() to answer the reINVITE, with eventually video enabled in the LinphoneCallParams argument.

The LinphoneCallUpdatedByRemote notification can also arrive when receiving an INVITE without SDP. In such case, an unchanged offer is made in the 200Ok, and when the ACK containing the SDP answer is received, LinphoneCallUpdatedByRemote is triggered to notify the application of possible changes in the media session. However in such case defering the update has no meaning since we just generating an offer.

Parameters

  call | A LinphoneCall object

Returns
  0 if successful, -1 if the linphone_call_defer_update() was done outside a valid LinphoneCallUpdatedByRemote notification

## linphone_call_enable_camera()

void linphone_call_enable_camera | ( | LinphoneCall * | call,
|  | bool_t | enabled )

Indicate whether camera input should be sent to remote end.

Parameters

  call | LinphoneCall object.
  enabled | wether or not to send local video stream.

## linphone_call_get_authentication_token()

const char * linphone_call_get_authentication_token | ( | LinphoneCall * | call | ) |

Returns the ZRTP authentication token to verify.

Parameters

  call | The LinphoneCall object

Returns
  the authentication token to verify or NULL if ZRTP isn't enabled.

## linphone_call_get_authentication_token_verified()

bool_t linphone_call_get_authentication_token_verified | ( | const LinphoneCall * | call | ) |

Returns whether ZRTP authentication token is verified.

If not, it must be verified by users as described in ZRTP procedure. Once done, the application must inform of the results with linphone_call_set_authentication_token_verified().

Parameters

  call | The LinphoneCall object

Returns
  TRUE if authentication token is verifed, false otherwise.

## linphone_call_get_call_log()

LinphoneCallLog * linphone_call_get_call_log | ( | const LinphoneCall * | call | ) |

Gets the call log associated to this call.

Parameters

  call | LinphoneCall object.

Returns
  The LinphoneCallLog associated with the specified LinphoneCall.

## linphone_call_get_conference()

LinphoneConference * linphone_call_get_conference | ( | const LinphoneCall * | call | ) |

Return the associated conference object.

Parameters

  call | The LinphoneCall object

Returns
  A pointer on LinphoneConference or NULL if the call is not part of any conference.

## linphone_call_get_core()

LinphoneCore * linphone_call_get_core | ( | const LinphoneCall * | call | ) |

Get the core that has created the specified call.

Parameters

  call | LinphoneCall object.

Returns
  The LinphoneCore object that has created the specified call.

## linphone_call_get_current_params()

const LinphoneCallParams * linphone_call_get_current_params | ( | const LinphoneCall * | call | ) |

Returns current parameters associated to the call.

Parameters

  call | LinphoneCall object.

Returns
  the current LinphoneCallParams of this call.

## linphone_call_get_dir()

LinphoneCallDir linphone_call_get_dir | ( | const LinphoneCall * | call | ) |

Returns direction of the call (incoming or outgoing).

Parameters

  call | LinphoneCall object.

Returns
  the LinphoneCallDir

## linphone_call_get_diversion_address()

const LinphoneAddress * linphone_call_get_diversion_address | ( | const LinphoneCall * | call | ) |

Returns the diversion address associated to this call.

Parameters

  call | LinphoneCall object.

Returns
  the diversion address as LinphoneAddress or NULL.

## linphone_call_get_duration()

int linphone_call_get_duration | ( | const LinphoneCall * | call | ) |

Returns call's duration in seconds.

Parameters

  call | LinphoneCall object.

Returns
  the call's duration in seconds.

## linphone_call_get_error_info()

const LinphoneErrorInfo * linphone_call_get_error_info | ( | const LinphoneCall * | call | ) |

Returns full details about call errors or termination reasons.

Parameters

  call | LinphoneCall object. on which we want the information error

Returns
  LinphoneErrorInfo object holding the reason error.

## linphone_call_get_meta_rtcp_transport()

RtpTransport * linphone_call_get_meta_rtcp_transport | ( | const LinphoneCall * | call,
|  | int | stream_index )

Returns the meta rtcp transport for the given stream index.

Returns
  a pointer to the meta rtcp transport if it exists, NULL otherwise.

## linphone_call_get_meta_rtp_transport()

RtpTransport * linphone_call_get_meta_rtp_transport | ( | const LinphoneCall * | call,
|  | int | stream_index )

Returns the meta rtp transport for the given stream index.

Returns
  a pointer to the meta rtp transport if it exists, NULL otherwise.

## linphone_call_get_reason()

LinphoneReason linphone_call_get_reason | ( | const LinphoneCall * | call | ) |

Returns the reason for a call termination (either error or normal termination)

Parameters

  call | LinphoneCall object.

Returns
  the LinphoneReason of the call termination.

## linphone_call_get_refer_to()

const char * linphone_call_get_refer_to | ( | const LinphoneCall * | call | ) |

Gets the refer-to uri (if the call was transfered).

Parameters

  call | LinphoneCall object.

Returns
  The refer-to uri of the call (if it was transfered).

## linphone_call_get_remote_address()

const LinphoneAddress * linphone_call_get_remote_address | ( | const LinphoneCall * | call | ) |

Returns the remote address associated to this call.

Parameters

  call | LinphoneCall object.

Returns
  The LinphoneAddress of the remote end of the call.

## linphone_call_get_remote_contact()

const char * linphone_call_get_remote_contact | ( | LinphoneCall * | call | ) |

Returns the far end's sip contact as a string, if available.

Parameters

  call | LinphoneCall object.

Returns
  the remote contact or NULL.

## linphone_call_get_remote_contact_address()

const LinphoneAddress * linphone_call_get_remote_contact_address | ( | LinphoneCall * | call | ) |

Returns the far end's sip contact as an address, if available.

Parameters

  call | LinphoneCall object.

Returns
  the remote contact as a LinphoneAddress or NULL.

## linphone_call_get_remote_params()

const LinphoneCallParams * linphone_call_get_remote_params | ( | const LinphoneCall * | call | ) |

Returns call parameters proposed by remote.

This is useful when receiving an incoming call, to know whether the remote party supports video, encryption or whatever.

Parameters

  call | LinphoneCall object.

Returns
  the LinphoneCallParams suggested by the remote or NULL.

## linphone_call_get_remote_user_agent()

const char * linphone_call_get_remote_user_agent | ( | LinphoneCall * | call | ) |

Returns the far end's user agent description string, if available.

Parameters

  call | LinphoneCall object.

Returns
  the remote user agent or NULL.

## linphone_call_get_replaced_call()

LinphoneCall * linphone_call_get_replaced_call | ( | LinphoneCall * | call | ) |

Returns the call object this call is replacing, if any.

Call replacement can occur during call transfers. By default, the core automatically terminates the replaced call and accept the new one. This function allows the application to know whether a new incoming call is a one that replaces another one.

Parameters

  call | LinphoneCall object.

Returns
  the LinphoneCall object this call is replacing or NULL.

## linphone_call_get_request_address()

const LinphoneAddress * linphone_call_get_request_address | ( | const LinphoneCall * | call | ) |

The address to which the call has been sent, taken directly from the SIP URI of the INVITE.

Usually equal to the `To` field, except when e.g. using a fallback contact address. You should probably use getToAddress() instead, unless you know what you're doing.

Parameters

  call | LinphoneCall object.

Returns
  the LinphoneAddress matching the URI of the INVITE request.

## linphone_call_get_state()

LinphoneCallState linphone_call_get_state | ( | const LinphoneCall * | call | ) |

Retrieves the call's current state.

Parameters

  call | LinphoneCall object.

Returns
  the current LinphoneCallState of this call.

## linphone_call_get_stream_count()

int linphone_call_get_stream_count | ( | const LinphoneCall * | call | ) |

Returns the number of stream for the given call.

Parameters

  call | The LinphoneCall object

Returns
  the amount of streams for this call.

## linphone_call_get_stream_type()

MSFormatType linphone_call_get_stream_type | ( | const LinphoneCall * | call,
|  | int | stream_index )

Returns the type of stream for the given stream index.

Returns
  the type (MSAudio, MSVideo, MSText) of the stream of given index.

## linphone_call_get_to_address()

const LinphoneAddress * linphone_call_get_to_address | ( | const LinphoneCall * | call | ) |

Returns the to address with its headers associated to this call.

Parameters

  call | LinphoneCall object.

Returns
  the LinphoneAddress matching the TO of the call.

## linphone_call_get_to_header()

const char * linphone_call_get_to_header | ( | const LinphoneCall * | call,
|  | const char * | header_name )

Returns the value of the header name.

Parameters

  call | LinphoneCall object.
  header_name | the name of the header to check.

Returns
  the value of the header if exists.

Deprecated
  27/10/2020. Use linphone_call_params_get_custom_header() on linphone_call_get_remote_params() instead.

## linphone_call_get_transfer_state()

LinphoneCallState linphone_call_get_transfer_state | ( | LinphoneCall * | call | ) |

Returns the current transfer state, if a transfer has been initiated from this call.

See also
  linphone_core_transfer_call() , linphone_core_transfer_call_to_another()

Parameters

  call | LinphoneCall object.

Returns
  the LinphoneCallState.

## linphone_call_get_transfer_target_call()

LinphoneCall * linphone_call_get_transfer_target_call | ( | const LinphoneCall * | call | ) |

When this call has received a transfer request, returns the new call that was automatically created as a result of the transfer.

Parameters

  call | LinphoneCall object.

Returns
  the transfer LinphoneCall created.

## linphone_call_get_transferer_call()

LinphoneCall * linphone_call_get_transferer_call | ( | const LinphoneCall * | call | ) |

Gets the transferer if this call was started automatically as a result of an incoming transfer request.

The call in which the transfer request was received is returned in this case.

Parameters

  call | LinphoneCall object.

Returns
  The transferer LinphoneCall if the specified call was started automatically as a result of an incoming transfer request, NULL otherwise.

## linphone_call_get_user_data()

void * linphone_call_get_user_data | ( | const LinphoneCall * | call | ) |

Retrieve the user pointer associated with the call.

Parameters

  call | The LinphoneCall object.

Returns
  The user pointer associated with the call.

## linphone_call_has_transfer_pending()

bool_t linphone_call_has_transfer_pending | ( | const LinphoneCall * | call | ) |

Returns if this calls has received a transfer that has not been executed yet.

Pending transfers are executed when this call is being paused or closed, locally or by remote endpoint. If the call is already paused while receiving the transfer request, the transfer immediately occurs.

Parameters

  call | LinphoneCall object.

Returns
  TRUE if transfer is pending, FALSE otherwise.

## linphone_call_params_add_custom_header()

void linphone_call_params_add_custom_header | ( | LinphoneCallParams * | call_params,
|  | const char * | header_name,
|  | const char * | header_value )

Add a custom SIP header in the INVITE for a call.

Parameters

  call_params | The LinphoneCallParams to add a custom SIP header to.
  header_name | The name of the header to add.
  header_value | The content of the header to add.

## linphone_call_params_audio_enabled()

bool_t linphone_call_params_audio_enabled | ( | const LinphoneCallParams * | call_params | ) |

Tell whether audio is enabled or not.

Parameters

  call_params | LinphoneCallParams object

Returns
  A boolean value telling whether audio is enabled or not.

## linphone_call_params_avpf_enabled()

bool_t linphone_call_params_avpf_enabled | ( | const LinphoneCallParams * | params | ) |

Whether or not the feedback extension will be used for AVP.

Parameters

  [in] | params | LinphoneCallParams object

Returns
  true if AVPF is enabled, false otherwise

## linphone_call_params_copy()

MS2_DEPRECATED LinphoneCallParams * linphone_call_params_copy | ( | const LinphoneCallParams * | call_params | ) |

Copy an existing LinphoneCallParams object to a new LinphoneCallParams object.

linphone_call_params_copy() is error-prone, leading to inconsistent parameters being passed to linphone_core_invite_address_with_params() or linphone_call_accept_with_params().

Deprecated
  use exclusively linphone_core_create_call_params() to create LinphoneCallParams object.

Parameters

  call_params | The LinphoneCallParams object to copy.

Returns
  A copy of the LinphoneCallParams object.

## linphone_call_params_early_media_sending_enabled()

bool_t linphone_call_params_early_media_sending_enabled | ( | const LinphoneCallParams * | call_params | ) |

Indicate whether sending of early media was enabled.

Parameters

  call_params | LinphoneCallParams object

Returns
  A boolean value telling whether sending of early media was enabled.

## linphone_call_params_enable_audio()

void linphone_call_params_enable_audio | ( | LinphoneCallParams * | call_params,
|  | bool_t | enabled )

Enable audio stream.

Parameters

  call_params | LinphoneCallParams object
  enabled | A boolean value telling whether to enable audio or not.

## linphone_call_params_enable_avpf()

void linphone_call_params_enable_avpf | ( | LinphoneCallParams * | params,
|  | bool_t | enable )

Toggle feedback extension for AVP.

Parameters

  [in] | params | LinphoneCallParams object
  [in] | enable | wether or not AVPF should be enabled

## linphone_call_params_enable_capability_negotiations()

void linphone_call_params_enable_capability_negotiations | ( | LinphoneCallParams * | params,
|  | bool_t | enabled )

Enable capability negotiations (RFC5939).

Parameters

  params | LinphoneCallParams object
  enabled | A boolean value telling whether to enable capability negotiations or not.

## linphone_call_params_enable_cfg_lines_merging()

void linphone_call_params_enable_cfg_lines_merging | ( | LinphoneCallParams * | params,
|  | bool_t | enabled )

Enable merging of cfg lines with consecutive indexes if capability negotiations (RFC5939) is enabled.

Parameters

  params | LinphoneCallParams object
  enabled | A boolean value telling whether to merge pcfg and acfg lines

## linphone_call_params_enable_early_media_sending()

void linphone_call_params_enable_early_media_sending | ( | LinphoneCallParams * | call_params,
|  | bool_t | enabled )

Enable sending of real early media (during outgoing calls).

Parameters

  call_params | LinphoneCallParams object
  enabled | A boolean value telling whether to enable early media sending or not.

## linphone_call_params_enable_low_bandwidth()

void linphone_call_params_enable_low_bandwidth | ( | LinphoneCallParams * | call_params,
|  | bool_t | enabled )

Indicate low bandwith mode.

Configuring a call to low bandwidth mode will result in the core to activate several settings for the call in order to ensure that bitrate usage is lowered to the minimum possible. Typically, ptime (packetization time) will be increased, audio codec's output bitrate will be targetted to 20kbit/s provided that it is achievable by the codec selected after SDP handshake. Video is automatically disabled.

Parameters

  call_params | LinphoneCallParams object
  enabled | A boolean value telling whether to activate the low bandwidth mode or not.

## linphone_call_params_enable_tcap_line_merging()

void linphone_call_params_enable_tcap_line_merging | ( | LinphoneCallParams * | params,
|  | bool_t | enabled )

Enable merging of tcap lines with consecutive indexes if capability negotiations (RFC5939) is enabled.

Parameters

  params | LinphoneCallParams object
  enabled | A boolean value telling whether to merge tcap lines

## linphone_call_params_enable_video()

void linphone_call_params_enable_video | ( | LinphoneCallParams * | call_params,
|  | bool_t | enabled )

Enable video stream.

Parameters

  call_params | LinphoneCallParams object
  enabled | A boolean value telling whether to enable video or not.

## linphone_call_params_get_account()

LinphoneAccount * linphone_call_params_get_account | ( | const LinphoneCallParams * | params | ) |

Get the LinphoneAccount that is used for the call.

Parameters

  params | the LinphoneCallParams

Returns
  The selected LinphoneAccount for the call, or NULL if none has been selected.

## linphone_call_params_get_audio_direction()

LinphoneMediaDirection linphone_call_params_get_audio_direction | ( | const LinphoneCallParams * | call_params | ) |

Get the audio stream direction.

Parameters

  call_params | LinphoneCallParams object

Returns
  The audio stream LinphoneMediaDirection associated with the call params.

## linphone_call_params_get_conference_video_layout()

LinphoneConferenceLayout linphone_call_params_get_conference_video_layout | ( | const LinphoneCallParams * | params | ) |

Set video layout for conference.

Parameters

  params | The LinphoneCallParams to get the custom SIP header from.

Returns
  Preferred LinphoneConferenceLayout to use at the start of a conference

## linphone_call_params_get_custom_header()

const char * linphone_call_params_get_custom_header | ( | const LinphoneCallParams * | call_params,
|  | const char * | header_name )

Get a custom SIP header.

Parameters

  call_params | The LinphoneCallParams to get the custom SIP header from.
  header_name | The name of the header to get.

Returns
  The content of the header or NULL if not found.

## linphone_call_params_get_from_header()

const char * linphone_call_params_get_from_header | ( | const LinphoneCallParams * | call_params | ) |

Get the from header in the CallParams.

Parameters

  call_params | The LinphoneCallParams to get the from header from.

Returns
  The content of the from header, may be null.

## linphone_call_params_get_input_audio_device()

const LinphoneAudioDevice * linphone_call_params_get_input_audio_device | ( | const LinphoneCallParams * | params | ) |

Gets the default input audio device for a call that will be created using this call params.

Warning
  This method only concerns the call creation, it doesn't reflect the currently used input audio device of the call. Instead use linphone_call_get_input_audio_device() when call has been created.

Parameters

  params | The LinphoneCallParams

Returns
  the LinphoneAudioDevice that will be used by default as input when the call will be created

## linphone_call_params_get_local_conference_mode()

bool_t linphone_call_params_get_local_conference_mode | ( | const LinphoneCallParams * | call_params | ) |

Tell whether the call is part of the locally managed conference.

Warning
  If a conference server is used to manage conferences, that function does not return TRUE even if the conference is running.
  If you want to test whether the conference is running, you should test whether linphone_core_get_conference() return a non-null pointer.

Parameters

  call_params | LinphoneCallParams object

Returns
  A boolean value telling whether the call is part of the locally managed conference.

## linphone_call_params_get_media_encryption()

LinphoneMediaEncryption linphone_call_params_get_media_encryption | ( | const LinphoneCallParams * | call_params | ) |

Get the kind of media encryption selected for the call.

Parameters

  call_params | LinphoneCallParams object

Returns
  The kind of LinphoneMediaEncryption selected for the call.

## linphone_call_params_get_output_audio_device()

const LinphoneAudioDevice * linphone_call_params_get_output_audio_device | ( | const LinphoneCallParams * | params | ) |

Gets the default output audio device for a call that will be created using this call params.

Warning
  This method only concerns the call creation, it doesn't reflect the currently used output audio device of the call. Instead use linphone_call_get_output_audio_device() when call has been created.

Parameters

  params | The LinphoneCallParams

Returns
  the LinphoneAudioDevice that will be used by default as output when the call will be created

## linphone_call_params_get_privacy()

LinphonePrivacyMask linphone_call_params_get_privacy | ( | const LinphoneCallParams * | call_params | ) |

Get requested level of privacy for the call.

Parameters

  call_params | LinphoneCallParams object

Returns
  The LinphonePrivacyMask used for the call.

## linphone_call_params_get_proxy_config()

MS2_DEPRECATED LinphoneProxyConfig * linphone_call_params_get_proxy_config | ( | const LinphoneCallParams * | params | ) |

Get the LinphoneProxyConfig that is used for the call.

Parameters

  params | the LinphoneCallParams

Returns
  The selected LinphoneProxyConfig for the call, or NULL if none has been selected.

Deprecated
  28/02/2021 Use linphone_call_params_get_account() instead.

## linphone_call_params_get_received_framerate()

float linphone_call_params_get_received_framerate | ( | const LinphoneCallParams * | call_params | ) |

Get the framerate of the video that is received.

Parameters

  call_params | LinphoneCallParams object

Returns
  The actual received framerate in frames per seconds, 0 if not available.

## linphone_call_params_get_received_video_definition()

const LinphoneVideoDefinition * linphone_call_params_get_received_video_definition | ( | const LinphoneCallParams * | call_params | ) |

Get the definition of the received video.

Parameters

  call_params | LinphoneCallParams object

Returns
  The received LinphoneVideoDefinition or NULL.

## linphone_call_params_get_received_video_size()

MS2_DEPRECATED MSVideoSize linphone_call_params_get_received_video_size | ( | const LinphoneCallParams * | call_params | ) |

Get the size of the video that is received.

Parameters

  call_params | LinphoneCallParams object

Returns
  The received video size or MS_VIDEO_SIZE_UNKNOWN if not available.

Deprecated
  22/11/2017 Use linphone_call_params_get_received_video_definition() instead.

## linphone_call_params_get_record_file()

const char * linphone_call_params_get_record_file | ( | const LinphoneCallParams * | call_params | ) |

Get the path for the audio recording of the call.

Parameters

  call_params | LinphoneCallParams object

Returns
  The path to the audio recording of the call or NULL.

## linphone_call_params_get_rtp_profile()

const char * linphone_call_params_get_rtp_profile | ( | const LinphoneCallParams * | call_params | ) |

Get the RTP profile being used.

Parameters

  call_params | LinphoneCallParams object

Returns
  The RTP profile.

## linphone_call_params_get_sent_framerate()

float linphone_call_params_get_sent_framerate | ( | const LinphoneCallParams * | call_params | ) |

Get the framerate of the video that is sent.

Parameters

  call_params | LinphoneCallParams object

Returns
  The actual sent framerate in frames per seconds, 0 if not available.

## linphone_call_params_get_sent_video_definition()

const LinphoneVideoDefinition * linphone_call_params_get_sent_video_definition | ( | const LinphoneCallParams * | call_params | ) |

Get the definition of the sent video.

Parameters

  call_params | LinphoneCallParams object

Returns
  The sent LinphoneVideoDefinition or NULL.

## linphone_call_params_get_sent_video_size()

MS2_DEPRECATED MSVideoSize linphone_call_params_get_sent_video_size | ( | const LinphoneCallParams * | call_params | ) |

Gets the size of the video that is sent.

Parameters

  call_params | LinphoneCallParams object

Returns
  The sent video size or MS_VIDEO_SIZE_UNKNOWN if not available.

Deprecated
  22/11/2017 Use linphone_call_params_get_sent_video_definition() instead.

## linphone_call_params_get_session_name()

const char * linphone_call_params_get_session_name | ( | const LinphoneCallParams * | call_params | ) |

Get the session name of the media session (ie in SDP).

Subject from the SIP message can be retrieved using linphone_call_params_get_custom_header() and is different.

Parameters

  call_params | LinphoneCallParams object

Returns
  The session name of the media session or NULL.

## linphone_call_params_get_used_audio_payload_type()

const LinphonePayloadType * linphone_call_params_get_used_audio_payload_type | ( | const LinphoneCallParams * | call_params | ) |

Get the audio payload type that has been selected by a call.

Parameters

  call_params | The LinphoneCallParams object.

Returns
  The selected LinphonePayloadType. NULL is returned if no audio payload type has been selected by the call.

## linphone_call_params_get_used_text_payload_type()

const LinphonePayloadType * linphone_call_params_get_used_text_payload_type | ( | const LinphoneCallParams * | call_params | ) |

Get the text payload type that has been selected by a call.

Parameters

  call_params | The LinphoneCallParams object.

Returns
  The selected LinphonePayloadType. NULL is returned if no text payload type has been selected by the call.

## linphone_call_params_get_used_video_payload_type()

const LinphonePayloadType * linphone_call_params_get_used_video_payload_type | ( | const LinphoneCallParams * | call_params | ) |

Get the video payload type that has been selected by a call.

Parameters

  call_params | The LinphoneCallParams object.

Returns
  The selected LinphonePayloadType. NULL is returned if no video payload type has been selected by the call.

## linphone_call_params_get_user_data()

void * linphone_call_params_get_user_data | ( | const LinphoneCallParams * | call_params | ) |

Get the user data associated with the call params.

Parameters

  call_params | LinphoneCallParams object

Returns
  The user data associated with the call params.

## linphone_call_params_get_video_direction()

LinphoneMediaDirection linphone_call_params_get_video_direction | ( | const LinphoneCallParams * | call_params | ) |

Get the video stream direction.

Parameters

  call_params | LinphoneCallParams object

Returns
  The video stream LinphoneMediaDirection associated with the call params.

## linphone_call_params_is_recording()

bool_t linphone_call_params_is_recording | ( | const LinphoneCallParams * | params | ) |

Indicates whether the call is being recorded.

Parameters

  params | the LinphoneCallParams

Returns
  TRUE if the call is being recorded, FALSE otherwise.

## linphone_call_params_low_bandwidth_enabled()

bool_t linphone_call_params_low_bandwidth_enabled | ( | const LinphoneCallParams * | call_params | ) |

Tell whether the call has been configured in low bandwidth mode or not.

This mode can be automatically discovered thanks to a stun server when activate_edge_workarounds=1 in section [net] of configuration file. An application that would have reliable way to know network capacity may not use activate_edge_workarounds=1 but instead manually configure low bandwidth mode with linphone_call_params_enable_low_bandwidth(). When enabled, this param may transform a call request with video in audio only mode.

Parameters

  call_params | LinphoneCallParams object

Returns
  A boolean value telling whether the low bandwidth mode has been configured/detected.

## linphone_call_params_ref()

LinphoneCallParams * linphone_call_params_ref | ( | LinphoneCallParams * | call_params | ) |

Acquire a reference to the call params.

Parameters

  call_params | LinphoneCallParams object

Returns
  The same LinphoneCallParams object

## linphone_call_params_set_account()

void linphone_call_params_set_account | ( | LinphoneCallParams * | params,
|  | LinphoneAccount * | account )

Set the LinphoneAccount to use for the call.

Parameters

  params | the LinphoneCallParams
  account | The LinphoneAccount to use, or NULL if none has been selected. The LinphoneCallParams keeps a reference to it and removes the previous one, if any.

## linphone_call_params_set_audio_bandwidth_limit()

void linphone_call_params_set_audio_bandwidth_limit | ( | LinphoneCallParams * | call_params,
|  | int | bandwidth )

Refine bandwidth settings for this call by setting a bandwidth limit for audio streams.

As a consequence, codecs whose bitrates are not compatible with this limit won't be used.

Parameters

  call_params | LinphoneCallParams object
  bandwidth | The audio bandwidth limit to set in kbit/s.

## linphone_call_params_set_audio_direction()

void linphone_call_params_set_audio_direction | ( | LinphoneCallParams * | call_params,
|  | LinphoneMediaDirection | direction )

Set the audio stream direction.

Parameters

  call_params | LinphoneCallParams object
  direction | The audio stream LinphoneMediaDirection associated with this call params.

## linphone_call_params_set_conference_video_layout()

void linphone_call_params_set_conference_video_layout | ( | LinphoneCallParams * | params,
|  | LinphoneConferenceLayout | layout )

Set video layout for conference.

Parameters

  params | The LinphoneCallParams to get the custom SIP header from.
  layout | LinphoneConferenceLayout to use as default when creating a conference

## linphone_call_params_set_from_header()

void linphone_call_params_set_from_header | ( | LinphoneCallParams * | call_params,
|  | const char * | from_value )

Force the from header of a call when instanciating it (if set, it precludes the search in proxy and primary contact)

Parameters

  call_params | The LinphoneCallParams to add the forced from to.
  from_value | The value of the forced from, null to delete it.

## linphone_call_params_set_input_audio_device()

void linphone_call_params_set_input_audio_device | ( | LinphoneCallParams * | params,
|  | LinphoneAudioDevice * | audio_device )

Sets the given LinphoneAudioDevice as default input for a call to be created later.

Warning
  This method won't have any effect once the call has been created! Instead use linphone_call_set_input_audio_device() when call has been created.

Parameters

  params | The LinphoneCallParams
  audio_device | The LinphoneAudioDevice. NULL does nothing.

## linphone_call_params_set_media_encryption()

void linphone_call_params_set_media_encryption | ( | LinphoneCallParams * | call_params,
|  | LinphoneMediaEncryption | encryption )

Set requested media encryption for a call.

Parameters

  call_params | LinphoneCallParams object
  encryption | The LinphoneMediaEncryption to use for the call.

## linphone_call_params_set_output_audio_device()

void linphone_call_params_set_output_audio_device | ( | LinphoneCallParams * | params,
|  | LinphoneAudioDevice * | audio_device )

Sets the given LinphoneAudioDevice as default output for a call to be created later.

Warning
  This method won't have any effect once the call has been created! Instead use linphone_call_set_output_audio_device() when call has been created.

Parameters

  params | The LinphoneCallParams
  audio_device | The LinphoneAudioDevice. NULL does nothing.

## linphone_call_params_set_privacy()

void linphone_call_params_set_privacy | ( | LinphoneCallParams * | call_params,
|  | LinphonePrivacyMask | privacy )

Set requested level of privacy for the call.

Parameters

  call_params | LinphoneCallParams object
  privacy | The LinphonePrivacyMask to used for the call.

## linphone_call_params_set_proxy_config()

MS2_DEPRECATED void linphone_call_params_set_proxy_config | ( | LinphoneCallParams * | params,
|  | LinphoneProxyConfig * | proxy_config )

Set the LinphoneProxyConfig to use for the call.

Parameters

  params | the LinphoneCallParams
  proxy_config | The LinphoneProxyConfig to use, or NULL if none has been selected. The LinphoneCallParams keep a reference on it and remove the older if it exists.

Deprecated
  28/02/2021 Use linphone_call_params_set_account() instead.

## linphone_call_params_set_record_file()

void linphone_call_params_set_record_file | ( | LinphoneCallParams * | call_params,
|  | const char * | path )

Enable recording of the call.

This function must be used before the call parameters are assigned to the call. The call recording can be started and paused after the call is established with linphone_call_start_recording() and linphone_call_pause_recording().

Parameters

  call_params | LinphoneCallParams object
  path | A string containing the path and filename of the file where audio/video streams are to be written. The filename must have either .mkv or .wav extention. The video stream will be written only if a MKV file is given.

## linphone_call_params_set_session_name()

void linphone_call_params_set_session_name | ( | LinphoneCallParams * | call_params,
|  | const char * | name )

Set the session name of the media session (ie in SDP).

Subject from the SIP message (which is different) can be set using linphone_call_params_set_custom_header().

Parameters

  call_params | LinphoneCallParams object
  name | The session name to be used.

## linphone_call_params_set_supported_encryptions()

void linphone_call_params_set_supported_encryptions | ( | LinphoneCallParams * | params,
|  | bctbx_list_t * | encs )

Sets the list of supported encryptions.

Parameters

  params | LinphoneCallParams object
  encs | list with the list of encryptions supported in a given call

## linphone_call_params_set_user_data()

void linphone_call_params_set_user_data | ( | LinphoneCallParams * | call_params,
|  | void * | user_data )

Assign a user data to the call params.

Parameters

  call_params | LinphoneCallParams object
  user_data | The user data to associate with the call params.

## linphone_call_params_set_video_direction()

void linphone_call_params_set_video_direction | ( | LinphoneCallParams * | call_params,
|  | LinphoneMediaDirection | direction )

Set the video stream direction.

Parameters

  call_params | LinphoneCallParams object
  direction | The video stream LinphoneMediaDirection associated with this call params.

## linphone_call_params_unref()

void linphone_call_params_unref | ( | LinphoneCallParams * | call_params | ) |

Release a reference to the call params.

Parameters

  call_params | LinphoneCallParams object

## linphone_call_params_video_enabled()

bool_t linphone_call_params_video_enabled | ( | const LinphoneCallParams * | call_params | ) |

Tell whether video is enabled or not.

Parameters

  call_params | LinphoneCallParams object

Returns
  A boolean value telling whether video is enabled or not.

## linphone_call_pause()

LinphoneStatus linphone_call_pause | ( | LinphoneCall * | call | ) |

Pauses the call.

If a music file has been setup using linphone_core_set_play_file(), this file will be played to the remote user. The only way to resume a paused call is to call linphone_call_resume().

Parameters

  call | LinphoneCall object.

Returns
  0 on success, -1 on failure

See also
  linphone_call_resume()

## linphone_call_redirect_to()

LinphoneStatus linphone_call_redirect_to | ( | LinphoneCall * | call,
|  | LinphoneAddress * | redirect_address )

Redirect the specified call to the given redirect Address.

Parameters

  call | The LinphoneCall object
  redirect_address | The LinphoneAddress to redirect the call to

Returns
  0 if successful, -1 on error.

## linphone_call_ref()

LinphoneCall * linphone_call_ref | ( | LinphoneCall * | call | ) |

Acquire a reference to the call.

An application that wishes to retain a pointer to call object must use this function to unsure the pointer remains valid. Once the application no more needs this pointer, it must call linphone_call_unref().

Parameters

  call | The LinphoneCall object.

Returns
  The same LinphoneCall object.

## linphone_call_request_notify_next_video_frame_decoded()

void linphone_call_request_notify_next_video_frame_decoded | ( | LinphoneCall * | call | ) |

Request the callback passed to linphone_call_cbs_set_next_video_frame_decoded() to be called the next time the video decoder properly decodes a video frame.

Parameters

  call | the LinphoneCall

## linphone_call_resume()

LinphoneStatus linphone_call_resume | ( | LinphoneCall * | call | ) |

Resumes a call.

The call needs to have been paused previously with linphone_call_pause().

Parameters

  call | LinphoneCall object.

Returns
  0 on success, -1 on failure

See also
  linphone_call_pause()

## linphone_call_send_dtmf()

LinphoneStatus linphone_call_send_dtmf | ( | LinphoneCall * | call,
|  | char | dtmf )

Send the specified dtmf.

The dtmf is automatically played to the user.

Parameters

  call | The LinphoneCall object
  dtmf | The dtmf name specified as a char, such as '0', '#' etc...

Returns
  0 if successful, -1 on error.

## linphone_call_send_dtmfs()

LinphoneStatus linphone_call_send_dtmfs | ( | LinphoneCall * | call,
|  | const char * | dtmfs )

Send a list of dtmf.

The dtmfs are automatically sent to remote, separated by some needed customizable delay. Sending is canceled if the call state changes to something not LinphoneCallStreamsRunning.

Parameters

  call | The LinphoneCall object
  dtmfs | A dtmf sequence such as '123#123123'

Returns
  -2 if there is already a DTMF sequence, -1 if call is not ready, 0 otherwise.

## linphone_call_send_vfu_request()

void linphone_call_send_vfu_request | ( | LinphoneCall * | call | ) |

Request remote side to send us a Video Fast Update.

Parameters

  call | LinphoneCall object.

## linphone_call_set_authentication_token_verified()

void linphone_call_set_authentication_token_verified | ( | LinphoneCall * | call,
|  | bool_t | verified )

Set the result of ZRTP short code verification by user.

If remote party also does the same, it will update the ZRTP cache so that user's verification will not be required for the two users.

Parameters

  call | The LinphoneCall object
  verified | whether the ZRTP SAS is verified.

## linphone_call_set_user_data()

void linphone_call_set_user_data | ( | LinphoneCall * | call,
|  | void * | user_data )

Assign a user pointer to the call.

Parameters

  call | The LinphoneCall object.
  user_data | The user pointer to associate with the call.

## linphone_call_take_preview_snapshot()

LinphoneStatus linphone_call_take_preview_snapshot | ( | LinphoneCall * | call,
|  | const char * | file_path )

Take a photo of currently captured video and write it into a jpeg file.

Note that the snapshot is asynchronous, an application shall not assume that the file is created when the function returns.

Parameters

  call | LinphoneCall object.
  file_path | a path where to write the jpeg content.

Returns
  0 if successful, -1 otherwise (typically if jpeg format is not supported).

## linphone_call_take_video_snapshot()

LinphoneStatus linphone_call_take_video_snapshot | ( | LinphoneCall * | call,
|  | const char * | file_path )

Take a photo of currently received video and write it into a jpeg file.

Note that the snapshot is asynchronous, an application shall not assume that the file is created when the function returns.

Parameters

  call | LinphoneCall object.
  file_path | a path where to write the jpeg content.

Returns
  0 if successful, -1 otherwise (typically if jpeg format is not supported).

## linphone_call_terminate()

LinphoneStatus linphone_call_terminate | ( | LinphoneCall * | call | ) |

Terminates a call.

Parameters

  call | LinphoneCall object.

Returns
  0 on success, -1 on failure

## linphone_call_terminate_with_error_info()

LinphoneStatus linphone_call_terminate_with_error_info | ( | LinphoneCall * | call,
|  | const LinphoneErrorInfo * | ei )

Terminates a call.

Parameters

  call | The LinphoneCall object
  ei | LinphoneErrorInfo

Returns
  0 on success, -1 on failure

## linphone_call_transfer_to()

LinphoneStatus linphone_call_transfer_to | ( | LinphoneCall * | call,
|  | LinphoneAddress * | refer_to )

Performs a simple call transfer to the specified destination.

The remote endpoint is expected to issue a new call to the specified destination. The current call remains active and thus can be later paused or terminated. It is possible to follow the progress of the transfer provided that transferee sends notification about it. In this case, the transfer_state_changed callback of the LinphoneCoreVTable is invoked to notify of the state of the new call at the other party. The notified states are LinphoneCallOutgoingInit , LinphoneCallOutgoingProgress, LinphoneCallOutgoingRinging and LinphoneCallConnected.

Parameters

  call | The call to be transfered
  refer_to | The LinphoneAddress the call is to be refered to.

Returns
  0 on success, -1 on failure

## linphone_call_transfer_to_another()

LinphoneStatus linphone_call_transfer_to_another | ( | LinphoneCall * | call,
|  | LinphoneCall * | dest )

Transfers a call to destination of another running call.

This is used for "attended transfer" scenarios. The transfered call is supposed to be in paused state, so that it is able to accept the transfer immediately. The destination call is a call previously established to introduce the transfered person. This method will send a transfer request to the transfered person. The phone of the transfered is then expected to automatically call to the destination of the transfer. The receiver of the transfer will then automatically close the call with us (the 'dest' call). It is possible to follow the progress of the transfer provided that transferee sends notification about it. In this case, the transfer_state_changed callback of the LinphoneCoreVTable is invoked to notify of the state of the new call at the other party. The notified states are LinphoneCallOutgoingInit , LinphoneCallOutgoingProgress, LinphoneCallOutgoingRinging and LinphoneCallConnected.

Parameters

  call | A running call you want to transfer
  dest | A running call whose remote person will receive the transfer

Returns
  0 on success, -1 on failure

## linphone_call_unref()

void linphone_call_unref | ( | LinphoneCall * | call | ) |

Release reference to the call.

Parameters

  call | The LinphoneCall object.

## linphone_call_update()

LinphoneStatus linphone_call_update | ( | LinphoneCall * | call,
|  | const LinphoneCallParams * | params )

Updates a running call according to supplied call parameters or parameters changed in the LinphoneCore.

It triggers a SIP reINVITE in order to perform a new offer/answer of media capabilities. Changing the size of the transmitted video after calling linphone_core_set_preferred_video_size() can be used by passing NULL as params argument. In case no changes are requested through the LinphoneCallParams argument, then this argument can be omitted and set to NULL. WARNING: Updating a call in the LinphoneCallPaused state will still result in a paused call even if the media directions set in the params are sendrecv. To resume a paused call, you need to call linphone_call_resume().

Parameters

  call | A LinphoneCall object
  params | The new call parameters to use (may be NULL).

Returns
  0 if successful, -1 otherwise.

## linphone_call_zoom()

void linphone_call_zoom | ( | LinphoneCall * | call,
|  | float | zoom_factor,
|  | float | cx,
|  | float | cy )

Perform a zoom of the video displayed during a call.

The zoom ensures that all the screen is fullfilled with the video.

Parameters

  call | The LinphoneCall object
  zoom_factor | a floating point number describing the zoom factor. A value 1.0 corresponds to no zoom applied.
  cx | a floating point number pointing the horizontal center of the zoom to be applied. This value should be between 0.0 and 1.0.
  cy | a floating point number pointing the vertical center of the zoom to be applied. This value should be between 0.0 and 1.0.

## linphone_conference_add_participant()

LinphoneStatus linphone_conference_add_participant | ( | LinphoneConference * | conference,
|  | LinphoneCall * | call )

Join an existing call to the conference.

If the conference is in the state LinphoneConferenceStateCreationPending, then the conference will start on the input and output audio devices used for the currently active call, if any

Parameters

  conference | The LinphoneConference object.
  call | a LinphoneCall that has to be added to the conference.

Warning
  This function guarantees that the local endpoint is added to the conference only if one of calls added is in state StreamsRunning. It is highly recommended to call linphone_confererence_enter() to guarantee that the local endpoint is added to the conference.

## linphone_conference_add_participant_2()

LinphoneStatus linphone_conference_add_participant_2 | ( | LinphoneConference * | conference,
|  | const LinphoneAddress * | uri )

Join a participant to the conference.

Parameters

  conference | The LinphoneConference object.
  uri | a LinphoneAddress that has to be added to the conference.

Warning
  This function guarantees that the local endpoint is added to the conference only if there is a call state StreamsRunning towards one of the addresses. It is highly recommended to call linphone_confererence_enter() to guarantee that the local endpoint is added to the conference.

## linphone_conference_add_participants()

LinphoneStatus linphone_conference_add_participants | ( | LinphoneConference * | conference,
|  | const bctbx_list_t * | calls )

Add participants to the conference, by supplying a list of LinphoneCall.

If the conference is in the state LinphoneConferenceStateCreationPending, then the conference will start on the input and output audio devices used for the currently active call, if any

Parameters

  conference | The LinphoneConference object.
  calls | A list of calls to add to the conference.

## linphone_conference_add_participants_2()

LinphoneStatus linphone_conference_add_participants_2 | ( | LinphoneConference * | conference,
|  | const bctbx_list_t * | addresses )

Add participants to the conference, by supplying a list of LinphoneAddress.

Parameters

  conference | The LinphoneConference object.
  addresses | A list of calls to add to the conference.

## linphone_conference_enter()

int linphone_conference_enter | ( | LinphoneConference * | conference | ) |

For a local conference, the local participant joins the conference For a remote conference, the participant rejoins the conference after leaving it earlier on.

Parameters

  conference | A LinphoneConference object

Returns
  0 if succeeded. Negative number if failed

## linphone_conference_find_participant()

LinphoneParticipant * linphone_conference_find_participant | ( | LinphoneConference * | conference,
|  | const LinphoneAddress * | uri )

Find a participant from a conference.

Parameters

  conference | A LinphoneConference.
  uri | SIP URI of the participant to search.

Returns
  a pointer to the participant found or nullptr.

## linphone_conference_get_call()

LinphoneCall * linphone_conference_get_call | ( | const LinphoneConference * | conference | ) |

Gets the call that is controlling a conference.

- for the local conference, it will return NULL
- for the remote conference, it will return call associated to the conference

Parameters

  conference | The LinphoneConference

Returns
  the LinphoneCall controlling the conference or NULL if none or local conference

## linphone_conference_get_current_params()

const LinphoneConferenceParams * linphone_conference_get_current_params | ( | const LinphoneConference * | conference | ) |

Get current parameters of the conference.

Parameters

  conference | The LinphoneConference object.

Returns
  a LinphoneConferenceParams .

## linphone_conference_get_duration()

int linphone_conference_get_duration | ( | const LinphoneConference * | conference | ) |

Get the conference duration.

Parameters

  conference | The LinphoneConference object.

Returns
  conference duration.

## linphone_conference_get_ID()

MS2_DEPRECATED const char * linphone_conference_get_ID | ( | const LinphoneConference * | conference | ) |

Get the conference id as string.

Parameters

  conference | The LinphoneConference object.

Returns
  the conference id

Deprecated
  10/07/2020 Use linphone_conference_get_conference_address() instead.

## linphone_conference_get_input_audio_device()

const LinphoneAudioDevice * linphone_conference_get_input_audio_device | ( | const LinphoneConference * | conference | ) |

Gets the current input device for this conference.

Parameters

  conference | The LinphoneConference

Returns
  the LinphoneAudioDevice used by this conference as input or NULL if there is currently no soundcard configured (depending on the state of the conference)

## linphone_conference_get_input_volume()

float linphone_conference_get_input_volume | ( | const LinphoneConference * | conference | ) |

Retrieves the volume of a specific participant.

Parameters

  conference | A LinphoneConference object

Returns
  The volume of the participant expressed in dbm0.

## linphone_conference_get_me()

LinphoneParticipant * linphone_conference_get_me | ( | const LinphoneConference * | conference | ) |

For a local audio video conference, this function returns the participant hosting the conference For a remote audio video conference, this function returns the local participant of the conference.

Parameters

  conference | The LinphoneConference object.

Returns
  a LinphoneParticipant .

## linphone_conference_get_microphone_muted()

bool_t linphone_conference_get_microphone_muted | ( | const LinphoneConference * | conference | ) |

Retrieves the volume of a specific participant.

Parameters

  conference | A LinphoneConference object

Returns
  TRUE if the microphone is muted, FALSE otherwise

## linphone_conference_get_output_audio_device()

const LinphoneAudioDevice * linphone_conference_get_output_audio_device | ( | const LinphoneConference * | conference | ) |

Gets the current output device for this conference.

Parameters

  conference | The LinphoneConference

Returns
  the LinphoneAudioDevice used by this conference as output or NULL if there is currently no soundcard configured (depending on the state of the conference)

## linphone_conference_get_participant_count()

int linphone_conference_get_participant_count | ( | const LinphoneConference * | conference | ) |

Get number of participants without me.

Parameters

  conference | The LinphoneConference object.

Returns
  the number of participants excluding me in a LinphoneConference

## linphone_conference_get_participant_device_list()

bctbx_list_t * linphone_conference_get_participant_device_list | ( | const LinphoneConference * | conference | ) |

Get list of all participant devices of a conference including me if it is in.

Parameters

  conference | A LinphoneConference

Returns
  The list of participant devices of the conference.

## linphone_conference_get_participant_device_volume()

int linphone_conference_get_participant_device_volume | ( | LinphoneConference * | conference,
|  | LinphoneParticipantDevice * | device )

Retrieves the volume of a specific participant.

Parameters

  conference | A LinphoneConference object
  device | The Participant

Returns
  The volume of the participant expressed in dbm0.

## linphone_conference_get_participant_list()

bctbx_list_t * linphone_conference_get_participant_list | ( | const LinphoneConference * | conference | ) |

Get list of all participants of a conference.

Warning
  The returned list does not include me.

Parameters

  conference | A LinphoneConference

Returns
  The list of participants of the conference.

## linphone_conference_get_participants()

MS2_DEPRECATED bctbx_list_t * linphone_conference_get_participants | ( | const LinphoneConference * | conference | ) |

Get URIs of all participants of one conference The returned bctbx_list_t contains URIs of all participants.

That list must be freed after use and each URI must be unref with linphone_address_unref()

Warning
  The returned list does not include me.

Parameters

  conference | A LinphoneConference

Returns
  The list of the participants' address active in the conference.

Deprecated
  10/07/2020 Use linphone_conference_get_participant_list() instead.

## linphone_conference_get_start_time()

time_t linphone_conference_get_start_time | ( | const LinphoneConference * | conference | ) |

Get the conference start time.

Parameters

  conference | The LinphoneConference object.

Returns
  conference start time.

## linphone_conference_get_subject()

const char * linphone_conference_get_subject | ( | const LinphoneConference * | conference | ) |

Get the conference subject.

Parameters

  conference | The LinphoneConference object.

Returns
  conference subject.

## linphone_conference_get_username()

const char * linphone_conference_get_username | ( | const LinphoneConference * | conference | ) |

Get the conference username.

Parameters

  conference | The LinphoneConference object.

Returns
  conference subject.

## linphone_conference_invite_participants()

LinphoneStatus linphone_conference_invite_participants | ( | LinphoneConference * | conference,
|  | const bctbx_list_t * | addresses,
|  | const LinphoneCallParams * | params )

Invite participants to the conference, by supplying a list of LinphoneAddress If the conference is in the state LinphoneConferenceStateCreationPending, then the conference will start on the input and output audio devices used for the currently active call, if any.

Parameters

  conference | The LinphoneConference object.
  addresses | A list of SIP addresses to invite.
  params | LinphoneCallParams to use for inviting the participants.

## linphone_conference_is_in()

bool_t linphone_conference_is_in | ( | const LinphoneConference * | conference | ) |

For a local conference, it returns whether the local participant is enabled For a remote conference, it return whether the remote participant has left the conference without bein removed from it.

Parameters

  conference | A LinphoneConference object

Returns
  TRUE if the local participant is in a conference, FALSE otherwise.

## linphone_conference_is_me()

bool_t linphone_conference_is_me | ( | const LinphoneConference * | conference,
|  | const LinphoneAddress * | uri )

For a local audio video conference, this function compares the address provided as argument with that of participant hosting the conference For a remote audio video conference, this function compares the address provided as argument with that of the local participant of the conference.

Parameters

  conference | A LinphoneConference object
  uri | A LinphoneAddress object

Returns
  TRUE if the participant is me, FALSE otherwise.

## linphone_conference_is_recording()

bool_t linphone_conference_is_recording | ( | const LinphoneConference * | conference | ) |

Gets whether the conference is currently being recorded.

Parameters

  conference | A LinphoneConference object

Returns
  TRUE if conference is being recorded, FALSE otherwise.

## linphone_conference_leave()

int linphone_conference_leave | ( | LinphoneConference * | conference | ) |

For a local conference, the local participant leaves the conference For a remote conference, the participant leaves the conference after joining it earlier on.

Parameters

  conference | A LinphoneConference object

Returns
  0 if succeeded. Negative number if failed

## linphone_conference_params_audio_enabled()

bool_t linphone_conference_params_audio_enabled | ( | const LinphoneConferenceParams * | params | ) |

Check whether audio capabilities are enabled.

Parameters

  params | A LinphoneConferenceParams

Returns
  TRUE if the conference supports audio capabilities, FALSE otherwise

## linphone_conference_params_chat_enabled()

bool_t linphone_conference_params_chat_enabled | ( | const LinphoneConferenceParams * | params | ) |

Check whether chat capabilities are enabled.

Parameters

  params | A LinphoneConferenceParams

Returns
  TRUE if the conference supports chat capabilities, FALSE otherwise

## linphone_conference_params_clone()

LinphoneConferenceParams * linphone_conference_params_clone | ( | const LinphoneConferenceParams * | params | ) |

Clone a LinphoneConferenceParams.

Parameters

  params | The LinphoneConferenceParams to clone

Returns
  An allocated LinphoneConferenceParams with the same parameters than params

## linphone_conference_params_enable_audio()

void linphone_conference_params_enable_audio | ( | LinphoneConferenceParams * | params,
|  | bool_t | enable )

Enable audio capabilities.

Parameters

  params | A LinphoneConferenceParams
  enable | If TRUE, audio will be enabled during conference

## linphone_conference_params_enable_chat()

void linphone_conference_params_enable_chat | ( | LinphoneConferenceParams * | params,
|  | bool_t | enable )

Enable chat capabilities.

Parameters

  params | A LinphoneConferenceParams
  enable | If TRUE, chat is enabled during conference

## linphone_conference_params_enable_local_participant()

void linphone_conference_params_enable_local_participant | ( | LinphoneConferenceParams * | params,
|  | bool_t | enable )

Enable local participant to enter the conference.

The local participant is the one driving the local LinphoneCore. It uses the local sound devices. The default value is TRUE. Setting to FALSE is mostly helpful when using liblinphone on a server application.

Parameters

  params | A LinphoneConferenceParams
  enable | TRUE if local participant is automatically added to the conference, FALSE otherwise

## linphone_conference_params_enable_one_participant_conference()

void linphone_conference_params_enable_one_participant_conference | ( | LinphoneConferenceParams * | params,
|  | bool_t | enable )

Enable conference with one participant.

Parameters

  params | A LinphoneConferenceParams
  enable | TRUE if conference can have only one participant, FALSE otherwise

## linphone_conference_params_enable_video()

void linphone_conference_params_enable_video | ( | LinphoneConferenceParams * | params,
|  | bool_t | enable )

Enable video capabilities.

Parameters

  params | A LinphoneConferenceParams
  enable | If TRUE, video will be enabled during conference

## linphone_conference_params_free()

MS2_DEPRECATED void linphone_conference_params_free | ( | LinphoneConferenceParams * | params | ) |

Free a LinphoneConferenceParams.

Parameters

  params | LinphoneConferenceParams to free

Deprecated
  17/03/2017 Use linphone_conference_params_unref() instead.

## linphone_conference_params_get_account()

LinphoneAccount * linphone_conference_params_get_account | ( | const LinphoneConferenceParams * | params | ) |

Returns the account for the conference.

Parameters

  params | A LinphoneConferenceParams

Returns
  a pointer to the account or NULL if it is not set.

## linphone_conference_params_get_proxy_cfg()

MS2_DEPRECATED LinphoneProxyConfig * linphone_conference_params_get_proxy_cfg | ( | const LinphoneConferenceParams * | params | ) |

Returns the proxy configuration for the conference.

Parameters

  params | A LinphoneConferenceParams

Returns
  a pointer to the proxy configuration or NULL if it is not set.

Deprecated
  11/01/2022 Use linphone_conference_params_get_account() instead.

## linphone_conference_params_get_security_level()

LinphoneConferenceSecurityLevel linphone_conference_params_get_security_level | ( | const LinphoneConferenceParams * | params | ) |

Retrieve the desired security level of the conference.

Parameters

  params | The LinphoneConferenceParams object.

Returns
  The desired security level of the conference.

## linphone_conference_params_get_subject()

const char * linphone_conference_params_get_subject | ( | const LinphoneConferenceParams * | params | ) |

Get the conference subject.

Parameters

  params | A LinphoneConferenceParams

Returns
  conference subject.

## linphone_conference_params_is_audio_enabled()

MS2_DEPRECATED bool_t linphone_conference_params_is_audio_enabled | ( | const LinphoneConferenceParams * | params | ) |

Check whether audio capabilities are enabled.

Parameters

  params | A LinphoneConferenceParams

Returns
  TRUE if the conference supports audio capabilities, FALSE otherwise

Deprecated
  16/12/2021 Use linphone_conference_params_audio_enabled() instead.

## linphone_conference_params_is_chat_enabled()

MS2_DEPRECATED bool_t linphone_conference_params_is_chat_enabled | ( | const LinphoneConferenceParams * | params | ) |

Check whether chat capabilities are enabled.

Parameters

  params | A LinphoneConferenceParams

Returns
  TRUE if the conference supports chat capabilities, FALSE otherwise

Deprecated
  16/12/2021 Use linphone_conference_params_chat_enabled() instead.

## linphone_conference_params_is_local_participant_enabled()

MS2_DEPRECATED bool_t linphone_conference_params_is_local_participant_enabled | ( | const LinphoneConferenceParams * | params | ) |

Returns whether local participant has to enter the conference.

Parameters

  params | A LinphoneConferenceParams

Returns
  TRUE if local participant is by default part of the conference, FALSE otherwise

Deprecated
  16/12/2021 Use linphone_conference_params_local_participant_enabled() instead.

## linphone_conference_params_is_one_participant_conference_enabled()

MS2_DEPRECATED bool_t linphone_conference_params_is_one_participant_conference_enabled | ( | const LinphoneConferenceParams * | params | ) |

Returns whether conference can have only one participant.

Parameters

  params | A LinphoneConferenceParams

Returns
  TRUE if the conference can have only one participant, FALSE otherwise

Deprecated
  16/12/2021 Use linphone_conference_params_one_participant_conference_enabled() instead.

## linphone_conference_params_is_video_enabled()

MS2_DEPRECATED bool_t linphone_conference_params_is_video_enabled | ( | const LinphoneConferenceParams * | params | ) |

Check whether video capabilities are enabled.

Parameters

  params | A LinphoneConferenceParams

Returns
  TRUE if the conference supports video capabilities, FALSE otherwise

Deprecated
  16/12/2021 Use linphone_conference_params_video_enabled() instead.

## linphone_conference_params_local_participant_enabled()

bool_t linphone_conference_params_local_participant_enabled | ( | const LinphoneConferenceParams * | params | ) |

Returns whether local participant has to enter the conference.

Parameters

  params | A LinphoneConferenceParams

Returns
  TRUE if local participant is by default part of the conference, FALSE otherwise

## linphone_conference_params_new()

LinphoneConferenceParams * linphone_conference_params_new | ( | LinphoneCore * | core | ) |

Create an object of type a LinphoneConferenceParams.

Parameters

  core | The LinphoneCore to pass to the constructor.

Returns
  The created LinphoneConferenceParams.

## linphone_conference_params_one_participant_conference_enabled()

bool_t linphone_conference_params_one_participant_conference_enabled | ( | const LinphoneConferenceParams * | params | ) |

Returns whether conference can have only one participant.

Parameters

  params | A LinphoneConferenceParams

Returns
  TRUE if the conference can have only one participant, FALSE otherwise

## linphone_conference_params_ref()

LinphoneConferenceParams * linphone_conference_params_ref | ( | LinphoneConferenceParams * | params | ) |

Take a reference on a LinphoneConferenceParams.

Parameters

  params | The LinphoneConferenceParams to ref.

Returns
  The freshly refed LinphoneConferenceParams.

## linphone_conference_params_set_account()

void linphone_conference_params_set_account | ( | LinphoneConferenceParams * | params,
|  | LinphoneAccount * | account )

Sets the account for the conference.

Parameters

  params | A LinphoneConferenceParams
  account | a pointer to the account.

Warning
  The account can only be changed upon creation of a conference when calling linphone_core_create_conference_with_params

## linphone_conference_params_set_audio_enabled()

MS2_DEPRECATED void linphone_conference_params_set_audio_enabled | ( | LinphoneConferenceParams * | params,
|  | bool_t | enable )

Enable audio capabilities.

Parameters

  params | A LinphoneConferenceParams
  enable | If TRUE, audio will be enabled during conference

Deprecated
  16/12/2021 Use linphone_conference_params_enable_audio() instead.

## linphone_conference_params_set_chat_enabled()

MS2_DEPRECATED void linphone_conference_params_set_chat_enabled | ( | LinphoneConferenceParams * | params,
|  | bool_t | enable )

Enable chat capabilities.

Parameters

  params | A LinphoneConferenceParams
  enable | If TRUE, chat is enabled during conference

Deprecated
  16/12/2021 Use linphone_conference_params_enable_chat() instead.

## linphone_conference_params_set_local_participant_enabled()

MS2_DEPRECATED void linphone_conference_params_set_local_participant_enabled | ( | LinphoneConferenceParams * | params,
|  | bool_t | enable )

Enable local participant to enter the conference.

The local participant is the one driving the local LinphoneCore. It uses the local sound devices. The default value is TRUE. Setting to FALSE is mostly helpful when using liblinphone on a server application.

Parameters

  params | A LinphoneConferenceParams
  enable | TRUE if local participant is automatically added to the conference, FALSE otherwise

Deprecated
  16/12/2021 Use linphone_conference_params_enable_local_participant() instead.

## linphone_conference_params_set_one_participant_conference_enabled()

MS2_DEPRECATED void linphone_conference_params_set_one_participant_conference_enabled | ( | LinphoneConferenceParams * | params,
|  | bool_t | enable )

Enable conference with one participant.

Parameters

  params | A LinphoneConferenceParams
  enable | TRUE if conference can have only one participant, FALSE otherwise

Deprecated
  16/12/2021 Use linphone_conference_params_enable_one_participant_conference() instead.

## linphone_conference_params_set_security_level()

void linphone_conference_params_set_security_level | ( | LinphoneConferenceParams * | params,
|  | LinphoneConferenceSecurityLevel | security_level )

Set the desired security level of the conference.

Parameters

  params | The LinphoneConferenceParams object.
  security_level | The desired security level of the conference.

## linphone_conference_params_set_subject()

void linphone_conference_params_set_subject | ( | LinphoneConferenceParams * | params,
|  | const char * | subject )

Set the conference subject.

Parameters

  params | A LinphoneConferenceParams
  subject | conference subject

## linphone_conference_params_set_video_enabled()

MS2_DEPRECATED void linphone_conference_params_set_video_enabled | ( | LinphoneConferenceParams * | params,
|  | bool_t | enable )

Enable video capabilities.

Parameters

  params | A LinphoneConferenceParams
  enable | If TRUE, video will be enabled during conference

Deprecated
  16/12/2021 Use linphone_conference_params_enable_video() instead.

## linphone_conference_params_unref()

void linphone_conference_params_unref | ( | LinphoneConferenceParams * | params | ) |

Release a LinphoneConferenceParams.

Parameters

  params | The LinphoneConferenceParams to release.

## linphone_conference_params_video_enabled()

bool_t linphone_conference_params_video_enabled | ( | const LinphoneConferenceParams * | params | ) |

Check whether video capabilities are enabled.

Parameters

  params | A LinphoneConferenceParams

Returns
  TRUE if the conference supports video capabilities, FALSE otherwise

## linphone_conference_ref()

LinphoneConference * linphone_conference_ref | ( | LinphoneConference * | conference | ) |

Take a reference on a LinphoneConference.

Parameters

  conference | The LinphoneConference to ref.

Returns
  The same LinphoneConference object.

## linphone_conference_remove_participant()

MS2_DEPRECATED LinphoneStatus linphone_conference_remove_participant | ( | LinphoneConference * | conference,
|  | const LinphoneAddress * | uri )

Parameters

  conference | A LinphoneConference
  uri | URI of the participant to remove

Warning
  The passed participant uri must be one of those returned by linphone_conference_get_participants()

Returns
  0 if succeeded, -1 if failed

Deprecated
  10/07/2020 Use linphone_conference_remove_participant_2() instead.

## linphone_conference_remove_participant_2()

LinphoneStatus linphone_conference_remove_participant_2 | ( | LinphoneConference * | conference,
|  | LinphoneParticipant * | participant )

Parameters

  conference | A LinphoneConference
  participant | participant to remove

Warning
  The passed participant must be one of those returned by linphone_conference_get_participant_list()
  This method may destroy the conference if the only remaining participant had an existing call to the local participant before the conference was created

Returns
  0 if succeeded, -1 if failed

## linphone_conference_remove_participant_3()

MS2_DEPRECATED LinphoneStatus linphone_conference_remove_participant_3 | ( | LinphoneConference * | conference,
|  | LinphoneCall * | call )

Parameters

  conference | A LinphoneConference
  call | call to remove

Returns
  0 if succeeded, -1 if failed

Deprecated
  10/07/2020 Use linphone_conference_remove_participant_2() instead.

## linphone_conference_set_ID()

MS2_DEPRECATED void linphone_conference_set_ID | ( | LinphoneConference * | conference,
|  | const char * | conference_id )

Set the conference id as string.

Parameters

  conference | The LinphoneConference object.
  conference_id | the conference id to set.

Deprecated
  10/07/2020 Use linphone_conference_set_conference_address() instead.

## linphone_conference_set_input_audio_device()

void linphone_conference_set_input_audio_device | ( | LinphoneConference * | conference,
|  | LinphoneAudioDevice * | audio_device )

Sets the given LinphoneAudioDevice as input for this conference only.

Parameters

  conference | The LinphoneConference
  audio_device | The LinphoneAudioDevice. NULL does nothing.

## linphone_conference_set_local_participant_stream_capability()

void linphone_conference_set_local_participant_stream_capability | ( | LinphoneConference * | conference,
|  | const LinphoneMediaDirection | direction,
|  | const LinphoneStreamType | type )

Set stream capability on me device of a local conference.

Parameters

  conference | The LinphoneConference object.
  direction | the direction of stream of type stream_type
  type | The LinphoneStreamType

## linphone_conference_set_microphone_muted()

void linphone_conference_set_microphone_muted | ( | LinphoneConference * | conference,
|  | bool_t | muted )

Get microphone muted state.

Note that the microphone may be disabled globally if FALSE was given to linphone_core_enable_mic().

Parameters

  conference | A LinphoneConference object
  muted | The microphone muted state.

## linphone_conference_set_output_audio_device()

void linphone_conference_set_output_audio_device | ( | LinphoneConference * | conference,
|  | LinphoneAudioDevice * | audio_device )

Sets the given LinphoneAudioDevice as output for this conference only.

Parameters

  conference | The LinphoneConference
  audio_device | The LinphoneAudioDevice. NULL does nothing.

## linphone_conference_set_participant_admin_status()

void linphone_conference_set_participant_admin_status | ( | LinphoneConference * | conference,
|  | LinphoneParticipant * | participant,
|  | bool_t | is_admin )

Change the admin status of a participant of a conference (you need to be an admin yourself to do this).

Parameters

  conference | A LinphoneConference object
  participant | The Participant for which to change the admin status
  is_admin | A boolean value telling whether the participant should now be an admin or not

## linphone_conference_set_subject()

void linphone_conference_set_subject | ( | LinphoneConference * | conference,
|  | const char * | subject )

Set the conference subject.

Parameters

  conference | The LinphoneConference object.
  subject | conference subject

## linphone_conference_set_username()

void linphone_conference_set_username | ( | LinphoneConference * | conference,
|  | const char * | username )

Set the conference username.

Parameters

  conference | The LinphoneConference object.
  username | conference subject

## linphone_conference_start_recording()

int linphone_conference_start_recording | ( | LinphoneConference * | conference,
|  | const char * | path )

Starts recording the conference.

Parameters

  conference | A LinphoneConference object
  path | Where to record the conference

Returns
  0 if succeeded. Negative number in case of failure.

## linphone_conference_stop_recording()

int linphone_conference_stop_recording | ( | LinphoneConference * | conference | ) |

Stops the conference recording.

Parameters

  conference | A LinphoneConference object

Returns
  0 if succeeded. Negative number in case of failure.

## linphone_conference_terminate()

int linphone_conference_terminate | ( | LinphoneConference * | conference | ) |

Terminates conference.

Parameters

  conference | The LinphoneConference object.

Returns
  0 if the termination is successful, -1 otherwise.

## linphone_conference_unref()

void linphone_conference_unref | ( | LinphoneConference * | conference | ) |

Release a LinphoneConference.

Parameters

  conference | The LinphoneConference to release.

## linphone_conference_update_params()

int linphone_conference_update_params | ( | LinphoneConference * | conference,
|  | const LinphoneConferenceParams * | params )

Update parameters of the conference.

This is typically used enable or disable the video stream in the conference.

Parameters

  conference | The LinphoneConference object.
  params | the new parameters to apply.

## linphone_core_accept_call()

MS2_DEPRECATED LinphoneStatus linphone_core_accept_call | ( | LinphoneCore * | core,
|  | LinphoneCall * | call )

Accept an incoming call.

Basically the application is notified of incoming calls within the call_state_changed callback of the LinphoneCoreVTable structure, where it will receive a LinphoneCallIncoming event with the associated LinphoneCall object. The application can later accept the call using this method.

Parameters

  core | LinphoneCore object
  call | The LinphoneCall object representing the call to be answered

Returns
  0 on success, -1 on failure

Deprecated
  13/02/2017 Use linphone_call_accept() instead.

## linphone_core_accept_call_update()

MS2_DEPRECATED LinphoneStatus linphone_core_accept_call_update | ( | LinphoneCore * | core,
|  | LinphoneCall * | call,
|  | const LinphoneCallParams * | params )

Accept call modifications initiated by other end.

This call may be performed in response to a LinphoneCallUpdatedByRemote state notification. When such notification arrives, the application can decide to call linphone_core_defer_update_call() so that it can have the time to prompt the user. linphone_call_get_remote_params() can be used to get information about the call parameters requested by the other party, such as whether a video stream is requested.

When the user accepts or refuse the change, linphone_core_accept_call_update() can be done to answer to the other party. If params is NULL, then the same call parameters established before the update request will continue to be used (no change). If params is not NULL, then the update will be accepted according to the parameters passed. Typical example is when a user accepts to start video, then params should indicate that video stream should be used (see linphone_call_params_enable_video()).

Parameters

  core | LinphoneCore object
  call | The call for which to accept an update
  params | A LinphoneCallParams object describing the call parameters to accept

Returns
  0 if successful, -1 otherwise (actually when this function call is performed outside ot LinphoneCallUpdatedByRemote state)

Deprecated
  13/02/2017 Use linphone_call_accept_update() instead.

## linphone_core_accept_call_with_params()

MS2_DEPRECATED LinphoneStatus linphone_core_accept_call_with_params | ( | LinphoneCore * | core,
|  | LinphoneCall * | call,
|  | const LinphoneCallParams * | params )

Accept an incoming call, with parameters.

Basically the application is notified of incoming calls within the call_state_changed callback of the LinphoneCoreVTable structure, where it will receive a LinphoneCallIncoming event with the associated LinphoneCall object. The application can later accept the call using this method.

Parameters

  core | LinphoneCore object
  call | The LinphoneCall object representing the call to be answered
  params | The specific parameters for this call, for example whether video is accepted or not. Use NULL to use default parameters

Returns
  0 on success, -1 on failure

Deprecated
  13/02/2017 Use linphone_call_accept_with_params() instead.

## linphone_core_accept_early_media()

MS2_DEPRECATED LinphoneStatus linphone_core_accept_early_media | ( | LinphoneCore * | core,
|  | LinphoneCall * | call )

Accept an early media session for an incoming call.

This is identical as calling linphone_core_accept_early_media_with_params() with NULL call parameters.

Parameters

  core | LinphoneCore object
  call | The incoming call to accept

Returns
  0 if successful, -1 otherwise

See also
  linphone_core_accept_early_media_with_params()

Deprecated
  13/02/2017 Use linphone_call_accept_early_media() instead.

## linphone_core_accept_early_media_with_params()

MS2_DEPRECATED LinphoneStatus linphone_core_accept_early_media_with_params | ( | LinphoneCore * | core,
|  | LinphoneCall * | call,
|  | const LinphoneCallParams * | params )

When receiving an incoming, accept to start a media session as early-media.

This means the call is not accepted but audio & video streams can be established if the remote party supports early media. However, unlike after call acceptance, mic and camera input are not sent during early-media, though received audio & video are played normally. The call can then later be fully accepted using linphone_core_accept_call() or linphone_core_accept_call_with_params().

Parameters

  core | LinphoneCore object
  call | The call to accept
  params | The call parameters to use (can be NULL)

Returns
  0 if successful, -1 otherwise

Deprecated
  10/10/2017 Use linphone_call_accept_early_media_with_params() instead.

## linphone_core_create_call_params()

LinphoneCallParams * linphone_core_create_call_params | ( | LinphoneCore * | core,
|  | LinphoneCall * | call )

Create a LinphoneCallParams suitable for linphone_core_invite_with_params(), linphone_core_accept_call_with_params(), linphone_core_accept_early_media_with_params() or linphone_core_accept_call_update().

The parameters are initialized according to the current LinphoneCore configuration and the last used local LinphoneCallParams, the ones passed through linphone_call_update(), linphone_call_accept_with_params() or linphone_call_accept_update_with_params().

Parameters

  core | LinphoneCore object
  call | LinphoneCall for which the parameters are to be build, or NULL in the case where the parameters are to be used for a new outgoing call.

Returns
  A new LinphoneCallParams object.

## linphone_core_decline_call()

MS2_DEPRECATED LinphoneStatus linphone_core_decline_call | ( | LinphoneCore * | core,
|  | LinphoneCall * | call,
|  | LinphoneReason | reason )

Decline a pending incoming call, with a reason.

Parameters

  core | LinphoneCore object
  call | The LinphoneCall to decline, must be in the IncomingReceived state
  reason | The reason for rejecting the call: LinphoneReasonDeclined or LinphoneReasonBusy

Returns
  0 on success, -1 on failure

Deprecated
  13/02/2017 Use linphone_call_decline() instead.

## linphone_core_defer_call_update()

MS2_DEPRECATED LinphoneStatus linphone_core_defer_call_update | ( | LinphoneCore * | core,
|  | LinphoneCall * | call )

When receiving a LinphoneCallUpdatedByRemote state notification, prevent LinphoneCore from performing an automatic answer.

When receiving a LinphoneCallUpdatedByRemote state notification (ie an incoming reINVITE), the default behaviour of LinphoneCore is defined by the "defer_update_default" option of the "sip" section of the config. If this option is 0 (the default) then the LinphoneCore automatically answers the reINIVTE with call parameters unchanged. However when for example when the remote party updated the call to propose a video stream, it can be useful to prompt the user before answering. This can be achieved by calling linphone_core_defer_call_update() during the call state notification, to deactivate the automatic answer that would just confirm the audio but reject the video. Then, when the user responds to dialog prompt, it becomes possible to call linphone_core_accept_call_update() to answer the reINVITE, with eventually video enabled in the LinphoneCallParams argument.

The LinphoneCallUpdatedByRemote notification can also arrive when receiving an INVITE without SDP. In such case, an unchanged offer is made in the 200Ok, and when the ACK containing the SDP answer is received, LinphoneCallUpdatedByRemote is triggered to notify the application of possible changes in the media session. However in such case defering the update has no meaning since we just generating an offer.

Parameters

  core | LinphoneCore object
  call | The call for which to defer the update

Returns
  0 if successful, -1 if the linphone_core_defer_call_update() was done outside a valid LinphoneCallUpdatedByRemote notification

Deprecated
  13/02/2017 Use linphone_call_defer_update() instead

## linphone_core_find_call_from_uri()

LinphoneCall * linphone_core_find_call_from_uri | ( | const LinphoneCore * | core,
|  | const char * | uri )

Search from the list of current calls if a remote address match uri.

Parameters

  core | the LinphoneCore object.
  uri | which should match call remote uri

Returns
  LinphoneCall or NULL if no match is found.

Deprecated
  27/10/2020. Use linphone_core_get_call_by_remote_address2() instead.

## linphone_core_get_call_by_callid()

LinphoneCall * linphone_core_get_call_by_callid | ( | const LinphoneCore * | core,
|  | const char * | call_id )

Get the call by callid.

Parameters

  core | The LinphoneCore object
  call_id | of call

Returns
  call LinphoneCall, return null if there is no call find.

## linphone_core_get_call_by_remote_address()

MS2_DEPRECATED LinphoneCall * linphone_core_get_call_by_remote_address | ( | const LinphoneCore * | core,
|  | const char * | remote_address )

Get the call with the remote_address specified.

Parameters

  core | LinphoneCore object
  remote_address | The remote address of the call that we want to get

Returns
  The call if it has been found, NULL otherwise.

Deprecated
  08/07/2020 use linphone_core_get_call_by_remote_address2() instead

## linphone_core_get_call_by_remote_address2()

LinphoneCall * linphone_core_get_call_by_remote_address2 | ( | const LinphoneCore * | core,
|  | const LinphoneAddress * | remote_address )

Get the call with the specified LinphoneAddress.

Parameters

  core | the LinphoneCore
  remote_address | the LinphoneAddress for which the call remote address must match

Returns
  the LinphoneCall of the call if found.

## linphone_core_get_calls()

const bctbx_list_t * linphone_core_get_calls | ( | LinphoneCore * | core | ) |

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 linphone_core_iterate(). Similarly the LinphoneCall objects inside it might be destroyed without prior notice. To hold references to LinphoneCall object into your program, you must use linphone_call_ref().

Parameters

  core | The LinphoneCore object

Returns
  A list of LinphoneCall

## linphone_core_get_calls_nb()

int linphone_core_get_calls_nb | ( | const LinphoneCore * | core | ) |

Get the number of Call.

Parameters

  core | LinphoneCore object

Returns
  The current number of calls

## linphone_core_get_current_call()

LinphoneCall * linphone_core_get_current_call | ( | const LinphoneCore * | core | ) |

Gets the current call.

Parameters

  core | LinphoneCore object

Returns
  The current call or NULL if no call is running.

## linphone_core_get_current_call_remote_address()

const LinphoneAddress * linphone_core_get_current_call_remote_address | ( | LinphoneCore * | core | ) |

Get the remote address of the current call.

Parameters

  core | LinphoneCore object.

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

## linphone_core_get_delayed_timeout()

int linphone_core_get_delayed_timeout | ( | LinphoneCore * | core | ) |

Gets the delayed timeout See linphone_core_set_delayed_timeout() for details.

Parameters

  core | LinphoneCore object

Returns
  The current delayed timeout in seconds

## linphone_core_get_in_call_timeout()

int linphone_core_get_in_call_timeout | ( | LinphoneCore * | core | ) |

Gets the in call timeout See linphone_core_set_in_call_timeout() for details.

Parameters

  core | LinphoneCore object

Returns
  The current in call timeout in seconds

## linphone_core_get_inc_timeout()

int linphone_core_get_inc_timeout | ( | LinphoneCore * | core | ) |

Returns the incoming call timeout See linphone_core_set_inc_timeout() for details.

Parameters

  core | LinphoneCore object

Returns
  The current incoming call timeout in seconds

## linphone_core_get_media_resource_mode()

LinphoneMediaResourceMode linphone_core_get_media_resource_mode | ( | const LinphoneCore * | core | ) |

This function returns the media resource mode for this core.

Parameters

  core | A LinphoneCore object

Returns
  The media resource mode

## linphone_core_get_push_incoming_call_timeout()

int linphone_core_get_push_incoming_call_timeout | ( | const LinphoneCore * | core | ) |

Returns the push incoming call timeout See linphone_core_set_push_incoming_call_timeout() for details.

Parameters

  core | LinphoneCore object

Returns
  The current push incoming call timeout in seconds

## linphone_core_get_tag_100rel_support_level()

LinphoneSupportLevel linphone_core_get_tag_100rel_support_level | ( | const LinphoneCore * | core | ) |

Get the support level of the 100rel attribute.

Parameters

  core | LinphoneCore object.

Returns
  The 100 rel support level

## linphone_core_in_call()

bool_t linphone_core_in_call | ( | const LinphoneCore * | core | ) |

Tells whether there is a call running.

Parameters

  core | LinphoneCore object

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

## linphone_core_invite()

LinphoneCall * linphone_core_invite | ( | LinphoneCore * | core,
|  | const char * | url )

Initiates an outgoing call.

The application doesn't own a reference to the returned LinphoneCall object. Use linphone_call_ref() to safely keep the LinphoneCall pointer valid within your application.

Parameters

  core | LinphoneCore object
  url | The destination of the call (sip address, or phone number).

Returns
  A LinphoneCall object or NULL in case of failure.

## linphone_core_invite_address()

LinphoneCall * linphone_core_invite_address | ( | LinphoneCore * | core,
|  | const LinphoneAddress * | addr )

Initiates an outgoing call given a destination LinphoneAddress The LinphoneAddress can be constructed directly using linphone_factory_create_address(), or created by linphone_core_interpret_url_2().

The application doesn't own a reference to the returned LinphoneCall object. Use linphone_call_ref() to safely keep the LinphoneCall pointer valid within your application.

Parameters

  core | LinphoneCore object
  addr | The destination of the call (sip address).

Returns
  A LinphoneCall object or NULL in case of failure.

## linphone_core_invite_address_with_params()

LinphoneCall * linphone_core_invite_address_with_params | ( | LinphoneCore * | core,
|  | const LinphoneAddress * | addr,
|  | const LinphoneCallParams * | params )

Initiates an outgoing call given a destination LinphoneAddress The LinphoneAddress can be constructed directly using linphone_factory_create_address(), or created by linphone_core_interpret_url_2().

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. If the proxy is not specified in parameters, the caller proxy will be automatically selected by finding what is the best to reach the destination of the call.

Parameters

  core | LinphoneCore object
  addr | The destination of the call (sip address).
  params | Call parameters

Returns
  A LinphoneCall object or NULL in case of failure.

## linphone_core_invite_address_with_params_2()

LinphoneCall * linphone_core_invite_address_with_params_2 | ( | LinphoneCore * | core,
|  | const LinphoneAddress * | addr,
|  | const LinphoneCallParams * | params,
|  | const char * | subject,
|  | const LinphoneContent * | content )

Initiates an outgoing call given a destination LinphoneAddress The LinphoneAddress can be constructed directly using linphone_factory_create_address(), or created by linphone_core_interpret_url_2().

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. If the proxy is not specified in parameters, the caller proxy will be automatically selected by finding what is the best to reach the destination of the call.

Parameters

  core | LinphoneCore object
  addr | The destination of the call (sip address).
  params | Call parameters
  subject | Subject of the call
  content | Body of the SIP INVITE

Returns
  A LinphoneCall object or NULL in case of failure.

## linphone_core_invite_with_params()

LinphoneCall * linphone_core_invite_with_params | ( | LinphoneCore * | core,
|  | const char * | url,
|  | const LinphoneCallParams * | params )

Initiates an outgoing call according to supplied call parameters The application doesn't own a reference to the returned LinphoneCall object.

Use linphone_call_ref() to safely keep the LinphoneCall pointer valid within your application.

Parameters

  core | LinphoneCore object
  url | The destination of the call (sip address, or phone number).
  params | the LinphoneCallParams call parameters

Returns
  A LinphoneCall object or NULL in case of failure.

## linphone_core_is_incoming_invite_pending()

bool_t linphone_core_is_incoming_invite_pending | ( | LinphoneCore * | core | ) |

Tells whether there is an incoming invite pending.

Parameters

  core | LinphoneCore object

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

## linphone_core_pause_all_calls()

LinphoneStatus linphone_core_pause_all_calls | ( | LinphoneCore * | core | ) |

Pause all currently running calls.

Parameters

  core | LinphoneCore object

Returns
  0

## linphone_core_pause_call()

MS2_DEPRECATED LinphoneStatus linphone_core_pause_call | ( | LinphoneCore * | core,
|  | LinphoneCall * | call )

Pauses the call.

If a music file has been setup using linphone_core_set_play_file(), this file will be played to the remote user.

The only way to resume a paused call is to call linphone_core_resume_call().

Parameters

  core | LinphoneCore object
  call | The call to pause

Returns
  0 on success, -1 on failure

See also
  linphone_core_resume_call()

Deprecated
  13/02/2017 Use linphone_call_pause() instead.

## linphone_core_preempt_sound_resources()

int linphone_core_preempt_sound_resources | ( | LinphoneCore * | core | ) |

Empties sound resources to allow a new call to be accepted.

This function is autyomatically called by the core if the media resource mode is set to unique.

Parameters

  core | A LinphoneCore object

Returns
  An integer returning the exit value. If it is 0, sound resources have been emptied. Otherwise, sound resources are busy and cannot be freed immediately.

## linphone_core_redirect_call()

MS2_DEPRECATED LinphoneStatus linphone_core_redirect_call | ( | LinphoneCore * | core,
|  | LinphoneCall * | call,
|  | const char * | redirect_uri )

Redirect the specified call to the given redirect URI.

Parameters

  core | LinphoneCore object
  call | The LinphoneCall to redirect
  redirect_uri | The URI to redirect the call to

Returns
  0 if successful, -1 on error.

Deprecated
  13/02/2017 Use linphone_call_redirect() instead.

## linphone_core_resume_call()

MS2_DEPRECATED LinphoneStatus linphone_core_resume_call | ( | LinphoneCore * | core,
|  | LinphoneCall * | call )

Resumes a call.

The call needs to have been paused previously with linphone_core_pause_call().

Parameters

  core | LinphoneCore object
  call | The call to resume

Returns
  0 on success, -1 on failure

See also
  linphone_core_pause_call()

Deprecated
  13/02/2017 Use linphone_call_resume() instead.

## linphone_core_set_delayed_timeout()

void linphone_core_set_delayed_timeout | ( | LinphoneCore * | core,
|  | int | seconds )

Set the in delayed timeout in seconds.

After this timeout period, a delayed call (internal call initialisation or resolution) is resumed.

Parameters

  core | LinphoneCore object
  seconds | The new delayed timeout

## linphone_core_set_in_call_timeout()

void linphone_core_set_in_call_timeout | ( | LinphoneCore * | core,
|  | int | seconds )

Set the in call timeout in seconds.

After this timeout period, the call is automatically hangup. A value of 0 disables this feature.

Parameters

  core | LinphoneCore object
  seconds | The new timeout in seconds

## linphone_core_set_inc_timeout()

void linphone_core_set_inc_timeout | ( | LinphoneCore * | core,
|  | int | seconds )

Set the incoming call timeout in seconds.

If an incoming call isn't answered for this timeout period, it is automatically declined.

Parameters

  core | LinphoneCore object
  seconds | The new timeout in seconds

## linphone_core_set_media_resource_mode()

void linphone_core_set_media_resource_mode | ( | LinphoneCore * | core,
|  | LinphoneMediaResourceMode | mode )

Sets the media resources mode.

Value values are: unique and shared. When the mode is set to unique, then only one call in the state StreamsRunning is allowed. While acepting a call, the core will try to free media resource used by the current call. If it is unsuccessful, then the call is not accepted. If mode is set to shared, then the media resources of the current call (if any) are not emptied when taking a new call. If the user whishes to free them, he/she is responsible to call linphone_core_preempt_sound_resources himself/herself

Parameters

  core | A LinphoneCore object
  mode | the chosen mode

## linphone_core_set_push_incoming_call_timeout()

void linphone_core_set_push_incoming_call_timeout | ( | LinphoneCore * | core,
|  | int | seconds )

Configure the minimum interval between a push notification and the corresponding incoming INVITE.

If exceeded, Linphone Call is transitioned to CallError and further incoming invite associated to this push is declined if any.

Parameters

  core | LinphoneCore object
  seconds | The new timeout in seconds

## linphone_core_set_tag_100rel_support_level()

void linphone_core_set_tag_100rel_support_level | ( | LinphoneCore * | core,
|  | LinphoneSupportLevel | level )

Define what level of support is provided to the 100rel attribute.

Parameters

  core | LinphoneCore object.
  level | support level of 100rel

## linphone_core_sound_resources_locked()

bool_t linphone_core_sound_resources_locked | ( | LinphoneCore * | core | ) |

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 linphone_core_sound_resources_locked() 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.

Parameters

  core | LinphoneCore object

Returns
  A boolean value telling whether a call will need the sound resources in near future

## linphone_core_terminate_all_calls()

LinphoneStatus linphone_core_terminate_all_calls | ( | LinphoneCore * | core | ) |

Terminates all the calls.

Parameters

  core | LinphoneCore object

Returns
  0

## linphone_core_terminate_call()

MS2_DEPRECATED LinphoneStatus linphone_core_terminate_call | ( | LinphoneCore * | core,
|  | LinphoneCall * | call )

Terminates a call.

Parameters

  core | LinphoneCore object
  call | The LinphoneCall object representing the call to be terminated

Returns
  0 on success, -1 on failure

Deprecated
  13/02/2017 Use linphone_call_terminate() instead.

## linphone_core_transfer_call()

MS2_DEPRECATED LinphoneStatus linphone_core_transfer_call | ( | LinphoneCore * | core,
|  | LinphoneCall * | call,
|  | const char * | refer_to )

Performs a simple call transfer to the specified destination.

The remote endpoint is expected to issue a new call to the specified destination. The current call remains active and thus can be later paused or terminated. It is possible to follow the progress of the transfer provided that transferee sends notification about it. In this case, the transfer_state_changed callback of the LinphoneCoreVTable is invoked to notify of the state of the new call at the other party. The notified states are LinphoneCallOutgoingInit , LinphoneCallOutgoingProgress, LinphoneCallOutgoingRinging and LinphoneCallConnected.

Parameters

  core | LinphoneCore object
  call | The call to be transfered
  refer_to | The destination the call is to be refered to

Returns
  0 on success, -1 on failure

Deprecated
  12/01/2017 Use linphone_call_transfer() instead.

## linphone_core_transfer_call_to_another()

MS2_DEPRECATED LinphoneStatus linphone_core_transfer_call_to_another | ( | LinphoneCore * | core,
|  | LinphoneCall * | call,
|  | LinphoneCall * | dest )

Transfers a call to destination of another running call.

This is used for "attended transfer" scenarios.

The transfered call is supposed to be in paused state, so that it is able to accept the transfer immediately. The destination call is a call previously established to introduce the transfered person. This method will send a transfer request to the transfered person. The phone of the transfered is then expected to automatically call to the destination of the transfer. The receiver of the transfer will then automatically close the call with us (the 'dest' call). It is possible to follow the progress of the transfer provided that transferee sends notification about it. In this case, the transfer_state_changed callback of the LinphoneCoreVTable is invoked to notify of the state of the new call at the other party. The notified states are LinphoneCallOutgoingInit , LinphoneCallOutgoingProgress, LinphoneCallOutgoingRinging and LinphoneCallConnected.

Parameters

  core | LinphoneCore object
  call | A running call you want to transfer
  dest | A running call whose remote person will receive the transfer

Returns
  0 on success, -1 on failure

Deprecated
  12/01/2017 Use linphone_call_transfer_to_another() instead.

## linphone_core_update_call()

MS2_DEPRECATED LinphoneStatus linphone_core_update_call | ( | LinphoneCore * | core,
|  | LinphoneCall * | call,
|  | const LinphoneCallParams * | params )

Updates a running call according to supplied call parameters or parameters changed in the LinphoneCore.

In this version this is limited to the following use cases:

- setting up/down the video stream according to the video parameter of the LinphoneCallParams (see linphone_call_params_enable_video() ).
- changing the size of the transmitted video after calling linphone_core_set_preferred_video_size() In case no changes are requested through the LinphoneCallParams argument, then this argument can be omitted and set to NULL. WARNING: Updating a call in the LinphoneCallPaused state will still result in a paused call even if the media directions set in the params are sendrecv. To resume a paused call, you need to call linphone_core_resume_call().

Parameters

  core | LinphoneCore object
  call | The call to be updated
  params | The new call parameters to use (may be NULL)

Returns
  0 if successful, -1 otherwise.

Deprecated
  13/02/2017 Use linphone_call_update() instead.

## linphone_event_cbs_get_notify_response()

LinphoneEventCbsNotifyResponseCb linphone_event_cbs_get_notify_response | ( | const LinphoneEventCbs * | cbs | ) |

Get the notify response callback.

Parameters

  cbs | LinphoneEventCbs object.

Returns
  The current notify response callback.

## linphone_event_cbs_get_user_data()

void * linphone_event_cbs_get_user_data | ( | const LinphoneEventCbs * | cbs | ) |

Retrieve the user pointer associated with a LinphoneEventCbs object.

Parameters

  cbs | LinphoneEventCbs object.

Returns
  The user pointer associated with the LinphoneEventCbs object.

## linphone_event_cbs_ref()

LinphoneEventCbs * linphone_event_cbs_ref | ( | LinphoneEventCbs * | cbs | ) |

Acquire a reference to a LinphoneEventCbs object.

Returns
  The same LinphoneEventCbs object.

## linphone_event_cbs_set_notify_response()

void linphone_event_cbs_set_notify_response | ( | LinphoneEventCbs * | cbs,
|  | LinphoneEventCbsNotifyResponseCb | cb )

Set the notify response callback.

Parameters

  cbs | LinphoneEventCbs object.
  cb | The notify response callback to be used.

## linphone_event_cbs_set_user_data()

void linphone_event_cbs_set_user_data | ( | LinphoneEventCbs * | cbs,
|  | void * | user_data )

Assign a user pointer to a LinphoneEventCbs object.

Parameters

  cbs | LinphoneEventCbs object.
  user_data | The user pointer to associate with the LinphoneEventCbs object.

## linphone_event_cbs_unref()

void linphone_event_cbs_unref | ( | LinphoneEventCbs * | cbs | ) |

Release a reference to a LinphoneEventCbs object.

Parameters

  cbs | LinphoneEventCbs object.

## linphone_player_add_callbacks()

void linphone_player_add_callbacks | ( | LinphonePlayer * | player,
|  | LinphonePlayerCbs * | cbs )

Adds a LinphonePlayerCbs object associated to the LinphonePlayer.

Parameters

  player | LinphonePlayer object
  cbs | The LinphonePlayerCbs object to be added to the LinphonePlayer.

## linphone_player_cbs_get_eof_reached()

LinphonePlayerCbsEofReachedCb linphone_player_cbs_get_eof_reached | ( | const LinphonePlayerCbs * | cbs | ) |

Get the end-of-file reached callback.

Parameters

  cbs | LinphonePlayerCbs object.

Returns
  The current end-of-file reached callback.

## linphone_player_cbs_get_user_data()

void * linphone_player_cbs_get_user_data | ( | const LinphonePlayerCbs * | cbs | ) |

Retrieve the user pointer associated with the LinphonePlayerCbs object.

Parameters

  cbs | LinphonePlayerCbs object.

Returns
  The user pointer associated with the LinphonePlayerCbs object.

## linphone_player_cbs_ref()

LinphonePlayerCbs * linphone_player_cbs_ref | ( | LinphonePlayerCbs * | cbs | ) |

Acquire a reference to the LinphonePlayerCbs object.

Parameters

  cbs | LinphonePlayerCbs object.

Returns
  The same LinphonePlayerCbs object.

## linphone_player_cbs_set_eof_reached()

void linphone_player_cbs_set_eof_reached | ( | LinphonePlayerCbs * | cbs,
|  | LinphonePlayerCbsEofReachedCb | cb )

Set the end-of-file reached callback.

Parameters

  cbs | LinphonePlayerCbs object.
  cb | The end-of-file reached callback to be used.

## linphone_player_cbs_set_user_data()

void linphone_player_cbs_set_user_data | ( | LinphonePlayerCbs * | cbs,
|  | void * | user_data )

Assign a user pointer to the LinphonePlayerCbs object.

Parameters

  cbs | LinphonePlayerCbs object.
  user_data | The user pointer to associate with the LinphonePlayerCbs object.

## linphone_player_cbs_unref()

void linphone_player_cbs_unref | ( | LinphonePlayerCbs * | cbs | ) |

Release reference to the LinphonePlayerCbs object.

Parameters

  cbs | LinphonePlayerCbs object.

## linphone_player_close()

void linphone_player_close | ( | LinphonePlayer * | player | ) |

Close the opened file.

Parameters

  player | LinphonePlayer object

## linphone_player_create_window_id()

void * linphone_player_create_window_id | ( | LinphonePlayer * | player | ) |

Create a window id to be used to display video if any.

Parameters

  player | LinphonePlayer object

Returns
  window_id The window id pointer to use.

## linphone_player_get_callbacks()

MS2_DEPRECATED LinphonePlayerCbs * linphone_player_get_callbacks | ( | const LinphonePlayer * | player | ) |

Get the LinphonePlayerCbs object associated with the LinphonePlayer.

Parameters

  player | LinphonePlayer object

Returns
  The LinphonePlayerCbs object associated with the LinphonePlayer.

Deprecated
  19/02/2019 use add_callbacks / remove_callbacks instead

## linphone_player_get_core()

LinphoneCore * linphone_player_get_core | ( | const LinphonePlayer * | player | ) |

Returns the LinphoneCore object managing this player's call, if any.

Parameters

  player | LinphonePlayer object

Returns
  the LinphoneCore object associated

## linphone_player_get_current_callbacks()

LinphonePlayerCbs * linphone_player_get_current_callbacks | ( | const LinphonePlayer * | player | ) |

Returns the current LinphonePlayerCbsCbs object.

Parameters

  player | LinphonePlayer object

Returns
  The current LinphonePlayerCbs object

## linphone_player_get_current_position()

int linphone_player_get_current_position | ( | LinphonePlayer * | player | ) |

Get the current position in the opened file.

Parameters

  player | LinphonePlayer object

Returns
  The current position in the opened file

## linphone_player_get_duration()

int linphone_player_get_duration | ( | LinphonePlayer * | player | ) |

Get the duration of the opened file.

Parameters

  player | LinphonePlayer object

Returns
  The duration of the opened file

## linphone_player_get_is_video_available()

bool_t linphone_player_get_is_video_available | ( | LinphonePlayer * | player | ) |

Returns whether the file has video and if it can be displayed.

Parameters

  player | LinphonePlayer object

Returns
  TRUE if file has video and it can be displayed, FALSE otherwise

## linphone_player_get_state()

LinphonePlayerState linphone_player_get_state | ( | LinphonePlayer * | player | ) |

Get the current state of a player.

Parameters

  player | LinphonePlayer object

Returns
  The current LinphonePlayerState of the player.

## linphone_player_get_user_data()

void * linphone_player_get_user_data | ( | const LinphonePlayer * | player | ) |

Retrieve the user pointer associated with the player.

Parameters

  player | LinphonePlayer object.

Returns
  The user pointer associated with the player.

## linphone_player_get_volume_gain()

float linphone_player_get_volume_gain | ( | LinphonePlayer * | player | ) |

Get the volume gain of the player.

Parameters

  player | LinphonePlayer object

Returns
  Percentage of the gain. Valid values are in [ 0.0 : 1.0 ].

## linphone_player_open()

LinphoneStatus linphone_player_open | ( | LinphonePlayer * | player,
|  | const char * | filename )

Open a file for playing.

Actually, only WAVE and MKV/MKA file formats are supported and a limited set of codecs depending of the selected format. Here are the list of working combinations:

- WAVE format: only PCM s16le codec is supported.
- MKV/MKA format:
  - Supported audo codecs: Opus, PCMU, PCM s16le.
  - Supported video codecs: VP8, H264.

Parameters

  player | LinphonePlayer object
  filename | The path to the file to open

## linphone_player_pause()

LinphoneStatus linphone_player_pause | ( | LinphonePlayer * | player | ) |

Pause the playing of a file.

Parameters

  player | LinphonePlayer object

Returns
  0 on success, a negative value otherwise

## linphone_player_ref()

LinphonePlayer * linphone_player_ref | ( | LinphonePlayer * | player | ) |

Acquire a reference to the player.

Parameters

  player | LinphonePlayer object.

Returns
  The same LinphonePlayer object.

## linphone_player_remove_callbacks()

void linphone_player_remove_callbacks | ( | LinphonePlayer * | player,
|  | LinphonePlayerCbs * | cbs )

Removes a LinphonePlayerCbs object associated to the LinphonePlayer.

Parameters

  player | LinphonePlayer object
  cbs | The LinphonePlayerCbs object to be removed from the LinphonePlayer.

## linphone_player_seek()

LinphoneStatus linphone_player_seek | ( | LinphonePlayer * | player,
|  | int | time_ms )

Seek in an opened file.

Parameters

  player | LinphonePlayer object
  time_ms | The time we want to go to in the file (in milliseconds).

Returns
  0 on success, a negative value otherwise.

## linphone_player_set_user_data()

void linphone_player_set_user_data | ( | LinphonePlayer * | player,
|  | void * | user_data )

Assign a user pointer to the player.

Parameters

  player | LinphonePlayer object.
  user_data | The user pointer to associate with the player.

## linphone_player_set_volume_gain()

void linphone_player_set_volume_gain | ( | LinphonePlayer * | player,
|  | float | gain )

Set the volume gain of the player.

Parameters

  player | LinphonePlayer object
  gain | Percentage of the gain. Valid values are in [ 0.0 : 1.0 ].

## linphone_player_set_window_id()

void linphone_player_set_window_id | ( | LinphonePlayer * | player,
|  | void * | window_id )

Sets a window id to be used to display video if any.

Parameters

  player | LinphonePlayer object
  window_id | The window id pointer to use.

## linphone_player_start()

LinphoneStatus linphone_player_start | ( | LinphonePlayer * | player | ) |

Start playing a file that has been opened with linphone_player_open().

Parameters

  player | LinphonePlayer object

Returns
  0 on success, a negative value otherwise

## linphone_player_unref()

void linphone_player_unref | ( | LinphonePlayer * | player | ) |

Release reference to the player.

Parameters

  player | LinphonePlayer object.

## linphone_video_source_descriptor_clone()

LinphoneVideoSourceDescriptor * linphone_video_source_descriptor_clone | ( | const LinphoneVideoSourceDescriptor * | descriptor | ) |

Instantiate a new video source descriptor with values from source.

Parameters

  descriptor | The LinphoneVideoSourceDescriptor object to be cloned.

Returns
  The newly created LinphoneVideoSourceDescriptor object.

## linphone_video_source_descriptor_get_call()

LinphoneCall * linphone_video_source_descriptor_get_call | ( | const LinphoneVideoSourceDescriptor * | descriptor | ) |

Gets the call of a LinphoneVideoSourceDescriptor.

Parameters

  descriptor | The LinphoneVideoSourceDescriptor object.

Returns
  The LinphoneCall of the video source descriptor if it's type is LinphoneVideoSourceCall, NULL otherwise.

## linphone_video_source_descriptor_get_camera_id()

const char * linphone_video_source_descriptor_get_camera_id | ( | const LinphoneVideoSourceDescriptor * | descriptor | ) |

Gets the camera id of a LinphoneVideoSourceDescriptor.

Parameters

  descriptor | The LinphoneVideoSourceDescriptor object.

Returns
  The camera id of the video source descriptor if it's type is LinphoneVideoSourceCamera, NULL otherwise.

## linphone_video_source_descriptor_get_image()

const char * linphone_video_source_descriptor_get_image | ( | const LinphoneVideoSourceDescriptor * | descriptor | ) |

Gets the image path of a LinphoneVideoSourceDescriptor.

Parameters

  descriptor | The LinphoneVideoSourceDescriptor object.

Returns
  The image path of the video source descriptor if it's type is LinphoneVideoSourceImage, NULL otherwise.

## linphone_video_source_descriptor_get_type()

LinphoneVideoSourceType linphone_video_source_descriptor_get_type | ( | const LinphoneVideoSourceDescriptor * | descriptor | ) |

Gets the type of a LinphoneVideoSourceDescriptor.

Parameters

  descriptor | The LinphoneVideoSourceDescriptor object.

Returns
  The LinphoneVideoSourceType corresponding to this video source descriptor.

## linphone_video_source_descriptor_new()

LinphoneVideoSourceDescriptor * linphone_video_source_descriptor_new | ( | void |  | ) |

Create a new LinphoneVideoSourceDescriptor object.

Returns
  The newly created LinphoneVideoSourceDescriptor object.

## linphone_video_source_descriptor_ref()

LinphoneVideoSourceDescriptor * linphone_video_source_descriptor_ref | ( | LinphoneVideoSourceDescriptor * | descriptor | ) |

Take a reference on a LinphoneVideoSourceDescriptor.

Parameters

  descriptor | The LinphoneVideoSourceDescriptor object.

Returns
  The same LinphoneVideoSourceDescriptor object.

## linphone_video_source_descriptor_set_call()

void linphone_video_source_descriptor_set_call | ( | LinphoneVideoSourceDescriptor * | descriptor,
|  | LinphoneCall * | call )

Sets the source of a LinphoneVideoSourceDescriptor with a call.

Setting a LinphoneVideoSourceDescriptor with a call will require the lib to have two calls running at the same time. To do so the media resource mode has to be set to LinphoneSharedMediaResources with linphone_core_set_media_resource_mode().

Parameters

  descriptor | The LinphoneVideoSourceDescriptor object.
  call | The LinphoneCall that will be used as a video source.

## linphone_video_source_descriptor_set_camera_id()

void linphone_video_source_descriptor_set_camera_id | ( | LinphoneVideoSourceDescriptor * | descriptor,
|  | const char * | camera_id )

Sets the source of a LinphoneVideoSourceDescriptor with a camera id.

Parameters

  descriptor | The LinphoneVideoSourceDescriptor object.
  camera_id | The camera id that will be used as a video source.

## linphone_video_source_descriptor_set_image()

void linphone_video_source_descriptor_set_image | ( | LinphoneVideoSourceDescriptor * | descriptor,
|  | const char * | image_path )

Sets the source of a LinphoneVideoSourceDescriptor with an image path.

Parameters

  descriptor | The LinphoneVideoSourceDescriptor object.
  image_path | The image path that will be used as a video source.

## linphone_video_source_descriptor_unref()

void linphone_video_source_descriptor_unref | ( | LinphoneVideoSourceDescriptor * | descriptor | ) |

Release a LinphoneVideoSourceDescriptor.

Parameters

  descriptor | The LinphoneVideoSourceDescriptor object.